From 1fdae73761cb9eaebf2e0c735c5febee028e746a Mon Sep 17 00:00:00 2001 From: AllanZhengYP Date: Fri, 10 Sep 2021 18:44:16 +0000 Subject: [PATCH 1/3] chore: update endpoints as of 09/10/2021 --- .../aws/typescript/codegen/endpoints.json | 303 ++++++++++++++++++ 1 file changed, 303 insertions(+) diff --git a/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json b/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json index 68618b7cbba0..df6b64acae19 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json +++ b/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json @@ -252,11 +252,17 @@ "airflow": { "endpoints": { "ap-northeast-1": {}, + "ap-northeast-2": {}, + "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": {}, + "sa-east-1": {}, "us-east-1": {}, "us-east-2": {}, "us-west-2": {} @@ -621,6 +627,7 @@ "ap-east-1": {}, "ap-northeast-1": {}, "ap-northeast-2": {}, + "ap-northeast-3": {}, "ap-south-1": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, @@ -831,6 +838,18 @@ "us-west-2": {} } }, + "aps": { + "defaults": { + "protocols": ["https"] + }, + "endpoints": { + "eu-central-1": {}, + "eu-west-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-2": {} + } + }, "athena": { "endpoints": { "af-south-1": {}, @@ -1010,6 +1029,13 @@ "us-west-2": {} } }, + "braket": { + "endpoints": { + "us-east-1": {}, + "us-west-1": {}, + "us-west-2": {} + } + }, "budgets": { "endpoints": { "aws-global": { @@ -1052,9 +1078,11 @@ }, "cloud9": { "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": {}, @@ -1801,6 +1829,58 @@ "us-west-2": {} } }, + "data.jobs.iot": { + "endpoints": { + "ap-east-1": {}, + "ap-northeast-1": {}, + "ap-northeast-2": {}, + "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-ca-central-1": { + "credentialScope": { + "region": "ca-central-1" + }, + "hostname": "data.jobs.iot-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1": { + "credentialScope": { + "region": "us-east-1" + }, + "hostname": "data.jobs.iot-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2": { + "credentialScope": { + "region": "us-east-2" + }, + "hostname": "data.jobs.iot-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1": { + "credentialScope": { + "region": "us-west-1" + }, + "hostname": "data.jobs.iot-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2": { + "credentialScope": { + "region": "us-west-2" + }, + "hostname": "data.jobs.iot-fips.us-west-2.amazonaws.com" + }, + "me-south-1": {}, + "sa-east-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, + "us-west-2": {} + } + }, "data.mediastore": { "endpoints": { "ap-northeast-1": {}, @@ -3209,6 +3289,16 @@ "us-west-2": {} } }, + "frauddetector": { + "endpoints": { + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "eu-west-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-2": {} + } + }, "fsx": { "endpoints": { "af-south-1": {}, @@ -3684,6 +3774,7 @@ "iotanalytics": { "endpoints": { "ap-northeast-1": {}, + "ap-south-1": {}, "ap-southeast-2": {}, "eu-central-1": {}, "eu-west-1": {}, @@ -3784,6 +3875,36 @@ "eu-west-1": {}, "eu-west-2": {}, "eu-west-3": {}, + "fips-ca-central-1": { + "credentialScope": { + "region": "ca-central-1" + }, + "hostname": "api.tunneling.iot-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1": { + "credentialScope": { + "region": "us-east-1" + }, + "hostname": "api.tunneling.iot-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2": { + "credentialScope": { + "region": "us-east-2" + }, + "hostname": "api.tunneling.iot-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1": { + "credentialScope": { + "region": "us-west-1" + }, + "hostname": "api.tunneling.iot-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2": { + "credentialScope": { + "region": "us-west-2" + }, + "hostname": "api.tunneling.iot-fips.us-west-2.amazonaws.com" + }, "me-south-1": {}, "sa-east-1": {}, "us-east-1": {}, @@ -3841,6 +3962,13 @@ } } }, + "ivs": { + "endpoints": { + "eu-west-1": {}, + "us-east-1": {}, + "us-west-2": {} + } + }, "kafka": { "endpoints": { "ap-east-1": {}, @@ -4424,6 +4552,25 @@ "us-west-2": {} } }, + "mediapackage-vod": { + "endpoints": { + "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-south-1": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "eu-central-1": {}, + "eu-north-1": {}, + "eu-west-1": {}, + "eu-west-2": {}, + "eu-west-3": {}, + "sa-east-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, + "us-west-2": {} + } + }, "mediastore": { "endpoints": { "ap-northeast-1": {}, @@ -4744,6 +4891,61 @@ } } }, + "network-firewall": { + "endpoints": { + "af-south-1": {}, + "ap-east-1": {}, + "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-northeast-3": {}, + "ap-south-1": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "ca-central-1": {}, + "eu-central-1": {}, + "eu-north-1": {}, + "eu-south-1": {}, + "eu-west-1": {}, + "eu-west-2": {}, + "eu-west-3": {}, + "fips-ca-central-1": { + "credentialScope": { + "region": "ca-central-1" + }, + "hostname": "network-firewall-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1": { + "credentialScope": { + "region": "us-east-1" + }, + "hostname": "network-firewall-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2": { + "credentialScope": { + "region": "us-east-2" + }, + "hostname": "network-firewall-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1": { + "credentialScope": { + "region": "us-west-1" + }, + "hostname": "network-firewall-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2": { + "credentialScope": { + "region": "us-west-2" + }, + "hostname": "network-firewall-fips.us-west-2.amazonaws.com" + }, + "me-south-1": {}, + "sa-east-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, + "us-west-2": {} + } + }, "oidc": { "endpoints": { "ap-northeast-1": { @@ -4996,6 +5198,7 @@ }, "polly": { "endpoints": { + "af-south-1": {}, "ap-east-1": {}, "ap-northeast-1": {}, "ap-northeast-2": {}, @@ -5523,6 +5726,7 @@ "ap-east-1": {}, "ap-northeast-1": {}, "ap-northeast-2": {}, + "ap-northeast-3": {}, "ap-south-1": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, @@ -6655,6 +6859,19 @@ "us-west-2": {} } }, + "ssm-incidents": { + "endpoints": { + "ap-northeast-1": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "eu-central-1": {}, + "eu-north-1": {}, + "eu-west-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-2": {} + } + }, "states": { "endpoints": { "af-south-1": {}, @@ -7688,6 +7905,12 @@ "cn-northwest-1": {} } }, + "data.jobs.iot": { + "endpoints": { + "cn-north-1": {}, + "cn-northwest-1": {} + } + }, "dax": { "endpoints": { "cn-north-1": {}, @@ -7809,6 +8032,12 @@ "cn-northwest-1": {} } }, + "emr-containers": { + "endpoints": { + "cn-north-1": {}, + "cn-northwest-1": {} + } + }, "es": { "endpoints": { "cn-north-1": {}, @@ -7827,6 +8056,15 @@ "cn-northwest-1": {} } }, + "fms": { + "defaults": { + "protocols": ["https"] + }, + "endpoints": { + "cn-north-1": {}, + "cn-northwest-1": {} + } + }, "fsx": { "endpoints": { "cn-north-1": {}, @@ -8798,6 +9036,24 @@ "us-gov-west-1": {} } }, + "data.jobs.iot": { + "endpoints": { + "fips-us-gov-east-1": { + "credentialScope": { + "region": "us-gov-east-1" + }, + "hostname": "data.jobs.iot-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1": { + "credentialScope": { + "region": "us-gov-west-1" + }, + "hostname": "data.jobs.iot-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1": {}, + "us-gov-west-1": {} + } + }, "datasync": { "endpoints": { "fips-us-gov-east-1": { @@ -9299,6 +9555,18 @@ }, "iotsecuredtunneling": { "endpoints": { + "fips-us-gov-east-1": { + "credentialScope": { + "region": "us-gov-east-1" + }, + "hostname": "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1": { + "credentialScope": { + "region": "us-gov-west-1" + }, + "hostname": "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com" + }, "us-gov-east-1": {}, "us-gov-west-1": {} } @@ -9495,6 +9763,24 @@ } } }, + "network-firewall": { + "endpoints": { + "fips-us-gov-east-1": { + "credentialScope": { + "region": "us-gov-east-1" + }, + "hostname": "network-firewall-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1": { + "credentialScope": { + "region": "us-gov-west-1" + }, + "hostname": "network-firewall-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1": {}, + "us-gov-west-1": {} + } + }, "organizations": { "endpoints": { "aws-us-gov-global": { @@ -9857,6 +10143,18 @@ "us-gov-west-1": {} } }, + "servicediscovery": { + "endpoints": { + "servicediscovery-fips": { + "credentialScope": { + "region": "us-gov-west-1" + }, + "hostname": "servicediscovery-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1": {}, + "us-gov-west-1": {} + } + }, "servicequotas": { "defaults": { "protocols": ["https"] @@ -10458,6 +10756,11 @@ "isRegionalized": false, "partitionEndpoint": "aws-iso-global" }, + "route53resolver": { + "endpoints": { + "us-iso-east-1": {} + } + }, "runtime.sagemaker": { "endpoints": { "us-iso-east-1": {} From 890e918991fcfa9ef16ef380ca6a8a6e4bf67382 Mon Sep 17 00:00:00 2001 From: AllanZhengYP Date: Fri, 10 Sep 2021 18:47:06 +0000 Subject: [PATCH 2/3] chore(models): update api models as of 09/10/2021 --- .../aws-models/amp.2020-08-01.json | 258 +- .../chime-sdk-identity.2021-04-20.json | 2 +- .../chime-sdk-messaging.2021-05-15.json | 2 +- .../aws-models/cloudformation.2010-05-15.json | 8 +- .../codeguru-reviewer.2019-09-19.json | 195 +- .../aws-models/ecr.2015-09-21.json | 102 +- .../aws-models/eks.2017-11-01.json | 269 +- .../aws-models/elasticache.2015-02-02.json | 18 +- .../aws-models/emr.2009-03-31.json | 65 +- .../aws-models/forecast.2018-06-26.json | 93 +- .../aws-models/frauddetector.2019-11-15.json | 61 + .../aws-models/kafka.2018-11-14.json | 138 + .../lookoutequipment.2020-12-15.json | 73 +- .../aws-models/mediapackage.2017-10-12.json | 2 +- .../aws-models/opensearch.2021-01-01.json | 7058 +++++++++++++++++ .../aws-models/outposts.2019-12-03.json | 346 +- .../aws-models/quicksight.2018-04-01.json | 18 + .../aws-models/ram.2018-01-04.json | 206 +- .../aws-models/rds.2014-10-31.json | 28 +- .../aws-models/sagemaker.2017-07-24.json | 419 +- .../aws-models/ssm-contacts.2021-05-03.json | 28 +- .../aws-models/transcribe.2017-10-26.json | 29 +- .../aws-models/xray.2016-04-12.json | 66 +- 23 files changed, 9205 insertions(+), 279 deletions(-) create mode 100644 codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json diff --git a/codegen/sdk-codegen/aws-models/amp.2020-08-01.json b/codegen/sdk-codegen/aws-models/amp.2020-08-01.json index 3b1e36f3e530..4763423ddaa4 100644 --- a/codegen/sdk-codegen/aws-models/amp.2020-08-01.json +++ b/codegen/sdk-codegen/aws-models/amp.2020-08-01.json @@ -21,6 +21,17 @@ "com.amazonaws.amp#AmazonPrometheusService": { "type": "service", "version": "2020-08-01", + "operations": [ + { + "target": "com.amazonaws.amp#ListTagsForResource" + }, + { + "target": "com.amazonaws.amp#TagResource" + }, + { + "target": "com.amazonaws.amp#UntagResource" + } + ], "resources": [ { "target": "com.amazonaws.amp#Workspace" @@ -31,7 +42,8 @@ "sdkId": "amp", "arnNamespace": "aps", "cloudFormationName": "AmazonPrometheusService", - "cloudTrailEventSource": "CLOUDTRAIL_PLACEHOLDER_REPLACED_BY_CDK" + "cloudTrailEventSource": "CLOUDTRAIL_PLACEHOLDER_REPLACED_BY_CDK", + "endpointPrefix": "aps" }, "aws.auth#sigv4": { "name": "aps" @@ -148,6 +160,12 @@ "smithy.api#documentation": "Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.", "smithy.api#idempotencyToken": {} } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "Optional, user-provided tags for this workspace." + } } }, "traits": { @@ -177,6 +195,12 @@ "smithy.api#documentation": "The status of the workspace that was just created (usually CREATING).", "smithy.api#required": {} } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "The tags of this workspace." + } } }, "traits": { @@ -341,6 +365,62 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.amp#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.amp#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Lists the tags you have assigned to the resource.", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.amp#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The ARN of the resource.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.amp#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.amp#TagMap" + } + } + }, "com.amazonaws.amp#ListWorkspaces": { "type": "operation", "input": { @@ -515,6 +595,110 @@ "smithy.api#httpError": 402 } }, + "com.amazonaws.amp#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.amp#TagKeys": { + "type": "list", + "member": { + "target": "com.amazonaws.amp#TagKey" + } + }, + "com.amazonaws.amp#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.amp#TagKey", + "traits": { + "smithy.api#documentation": "The key of the tag.\n\nConstraints: Tag keys are case-sensitive and accept a maximum of 128 Unicode characters.\nValid characters are Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @\nMay not begin with `aws:`.\n" + } + }, + "value": { + "target": "com.amazonaws.amp#TagValue", + "traits": { + "smithy.api#documentation": "The value of the tag.\n\nConstraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.\nValid characters are Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @\n" + } + }, + "traits": { + "smithy.api#documentation": "The list of tags assigned to the resource.", + "smithy.api#length": { + "max": 50 + } + } + }, + "com.amazonaws.amp#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.amp#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Creates tags for the specified resource.", + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{resourceArn}", + "code": 200 + } + } + }, + "com.amazonaws.amp#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The ARN of the resource.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.amp#TagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.amp#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, "com.amazonaws.amp#ThrottlingException": { "type": "structure", "members": { @@ -552,6 +736,66 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.amp#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.amp#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Deletes tags from the specified resource.", + "smithy.api#http": { + "method": "DELETE", + "uri": "/tags/{resourceArn}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.amp#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The ARN of the resource.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.amp#TagKeys", + "traits": { + "smithy.api#documentation": "One or more tag keys", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.amp#UntagResourceResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.amp#UpdateWorkspaceAlias": { "type": "operation", "input": { @@ -808,6 +1052,12 @@ "smithy.api#documentation": "The time when the workspace was created.", "smithy.api#required": {} } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "The tags of this workspace." + } } }, "traits": { @@ -914,6 +1164,12 @@ "smithy.api#documentation": "The time when the workspace was created.", "smithy.api#required": {} } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "The tags of this workspace." + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-identity.2021-04-20.json b/codegen/sdk-codegen/aws-models/chime-sdk-identity.2021-04-20.json index 50286d795f43..7df596bf92f6 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-identity.2021-04-20.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-identity.2021-04-20.json @@ -334,7 +334,7 @@ "name": "chime" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to .

", + "smithy.api#documentation": "

The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to Amazon Chime SDK identity.

", "smithy.api#title": "Amazon Chime SDK Identity" } }, diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-messaging.2021-05-15.json b/codegen/sdk-codegen/aws-models/chime-sdk-messaging.2021-05-15.json index 84fca7d577fe..a0f991959753 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-messaging.2021-05-15.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-messaging.2021-05-15.json @@ -877,7 +877,7 @@ "name": "chime" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

The Amazon Chime SDK Messaging APIs in this section allow software developers to send\n and receive messages in custom messaging applications. These APIs depend on the frameworks\n provided by the Amazon Chime SDK Identity APIs. For more information about the messaging\n APIs, see .

", + "smithy.api#documentation": "

The Amazon Chime SDK Messaging APIs in this section allow software developers to send\n and receive messages in custom messaging applications. These APIs depend on the frameworks\n provided by the Amazon Chime SDK Identity APIs. For more information about the messaging\n APIs, see Amazon Chime SDK messaging\n

", "smithy.api#title": "Amazon Chime SDK Messaging" } }, diff --git a/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json b/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json index e83c1ff07708..54f91396d1cd 100644 --- a/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json +++ b/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json @@ -58,7 +58,7 @@ } }, "traits": { - "smithy.api#documentation": "

Structure that contains the results of the account gate function which\n CloudFormation invokes, if present, before proceeding with a stack set operation in an\n account and Region.

\n

For each account and Region, CloudFormation lets you specify a Lamdba function\n that encapsulates any requirements that must be met before CloudFormation can proceed with\n a stack set operation in that account and Region. CloudFormation invokes the function each\n time a stack set operation is requested for that account and Region; if the function\n returns FAILED, CloudFormation cancels the operation in that account and\n Region, and sets the stack set operation result status for that account and Region to\n FAILED.

\n

For more information, see Configuring a\n target account gate.

" + "smithy.api#documentation": "

Structure that contains the results of the account gate function which CloudFormation invokes, if present, before proceeding with a stack set operation in an\n account and Region.

\n

For each account and Region, CloudFormation lets you specify a Lambda\n function that encapsulates any requirements that must be met before CloudFormation\n can proceed with a stack set operation in that account and Region. CloudFormation\n invokes the function each time a stack set operation is requested for that account and\n Region; if the function returns FAILED, CloudFormation cancels the\n operation in that account and Region, and sets the stack set operation result status for\n that account and Region to FAILED.

\n

For more information, see Configuring a\n target account gate.

" } }, "com.amazonaws.cloudformation#AccountGateStatus": { @@ -2553,7 +2553,7 @@ "target": "com.amazonaws.cloudformation#DescribeStackResourceDriftsOutput" }, "traits": { - "smithy.api#documentation": "

Returns drift information for the resources that have been checked for drift in the\n specified stack. This includes actual and expected configuration values for resources where\n CloudFormation detects configuration drift.

\n

For a given stack, there will be one StackResourceDrift for each stack\n resource that has been checked for drift. Resources that have not yet been checked for\n drift are not included. Resources that do not currently support drift detection are not\n checked, and so not included. For a list of resources that support drift detection, see\n Resources that Support Drift Detection.

\n

Use DetectStackResourceDrift to detect drift on individual\n resources, or DetectStackDrift to detect drift on all supported resources\n for a given stack.

", + "smithy.api#documentation": "

Returns drift information for the resources that have been checked for drift in the\n specified stack. This includes actual and expected configuration values for resources where\n CloudFormation detects configuration drift.

\n

For a given stack, there will be one StackResourceDrift for each stack\n resource that has been checked for drift. Resources that haven't yet been checked for drift\n are not included. Resources that do not currently support drift detection are not checked,\n and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

\n

Use DetectStackResourceDrift to detect drift on individual\n resources, or DetectStackDrift to detect drift on all supported resources\n for a given stack.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2808,7 +2808,7 @@ "target": "com.amazonaws.cloudformation#DescribeStacksOutput" }, "traits": { - "smithy.api#documentation": "

Returns the description for the specified stack; if no stack name was specified, then\n it returns the description for all the stacks created.

\n \n

If the stack does not exist, an AmazonCloudFormationException is\n returned.

\n
", + "smithy.api#documentation": "

Returns the description for the specified stack; if no stack name was specified, then\n it returns the description for all the stacks created.

\n \n

If the stack does not exist, an ValidationError is\n returned.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4154,7 +4154,7 @@ "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

The capabilities found within the template. If your template contains IAM resources,\n you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when\n you use the CreateStack or UpdateStack actions with\n your template; otherwise, those actions return an InsufficientCapabilities error.

\n

For more information, see Acknowledging IAM Resources in CloudFormation Templates.

" + "smithy.api#documentation": "

The capabilities found within the template. If your template contains IAM resources,\n you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when\n you use the CreateStack or UpdateStack actions with\n your template; otherwise, those actions return an InsufficientCapabilities error.

\n

For more information, see Acknowledging IAM Resources in CloudFormation Templates.

" } }, "CapabilitiesReason": { diff --git a/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json b/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json index 693eeca31540..ce548348ba75 100644 --- a/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json +++ b/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json @@ -88,7 +88,7 @@ "name": "codeguru-reviewer" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

This section provides documentation for the Amazon CodeGuru Reviewer API operations. CodeGuru Reviewer is a service\n that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommends\n fixes in your Java and Python code.

\n \n

By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer\n improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the \n \n Amazon CodeGuru Reviewer User Guide.\n

\n \n

\n To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by \n creating an interface VPC endpoint. For more information, see \n CodeGuru Reviewer and interface \n VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide.\n

", + "smithy.api#documentation": "

This section provides documentation for the Amazon CodeGuru Reviewer API operations. CodeGuru Reviewer is a service\n that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommends\n fixes in your Java and Python code.

\n \n

By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer\n improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the \n \n Amazon CodeGuru Reviewer User Guide.\n

\n \n

\n To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by \n creating an interface VPC endpoint. For more information, see \n CodeGuru Reviewer and interface \n VPC endpoints (Amazon Web Services PrivateLink) in the Amazon CodeGuru Reviewer User Guide.\n

", "smithy.api#title": "Amazon CodeGuru Reviewer" } }, @@ -162,7 +162,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Use to associate an AWS CodeCommit repository or a repostory managed by \n AWS CodeStar Connections with Amazon CodeGuru Reviewer. When you associate a \n repository, CodeGuru Reviewer reviews source code changes in the repository's pull requests and provides \n automatic recommendations. You can view recommendations using the CodeGuru Reviewer console. For more information, see \n Recommendations in \n Amazon CodeGuru Reviewer in the Amazon CodeGuru Reviewer User Guide. \n

\n \n

If you associate a CodeCommit or S3 repository, it must be in the same \n AWS Region and AWS account where its CodeGuru Reviewer code reviews are configured.

\n \n

Bitbucket and GitHub Enterprise Server repositories are managed by AWS CodeStar\n Connections to connect to CodeGuru Reviewer. For more information, see Associate a repository in\n the Amazon CodeGuru Reviewer User Guide.\n

\n \n \n

\n You cannot use the CodeGuru Reviewer SDK or the AWS CLI to associate a GitHub repository with Amazon CodeGuru Reviewer. To associate \n a GitHub repository, use the console. For more information, see \n Getting \n started with CodeGuru Reviewer in the CodeGuru Reviewer User Guide.\n

\n
", + "smithy.api#documentation": "

\n Use to associate an Amazon Web Services CodeCommit repository or a repostory managed by \n Amazon Web Services CodeStar Connections with Amazon CodeGuru Reviewer. When you associate a \n repository, CodeGuru Reviewer reviews source code changes in the repository's pull requests and provides \n automatic recommendations. You can view recommendations using the CodeGuru Reviewer console. For more information, see \n Recommendations in \n Amazon CodeGuru Reviewer in the Amazon CodeGuru Reviewer User Guide. \n

\n \n

If you associate a CodeCommit or S3 repository, it must be in the same \n Amazon Web Services Region and Amazon Web Services account where its CodeGuru Reviewer code reviews are configured.

\n \n

Bitbucket and GitHub Enterprise Server repositories are managed by Amazon Web Services CodeStar\n Connections to connect to CodeGuru Reviewer. For more information, see Associate a repository in\n the Amazon CodeGuru Reviewer User Guide.\n

\n \n \n

\n You cannot use the CodeGuru Reviewer SDK or the Amazon Web Services CLI to associate a GitHub repository with Amazon CodeGuru Reviewer. To associate \n a GitHub repository, use the console. For more information, see \n Getting \n started with CodeGuru Reviewer in the CodeGuru Reviewer User Guide.\n

\n
", "smithy.api#http": { "method": "POST", "uri": "/associations", @@ -196,7 +196,7 @@ "KMSKeyDetails": { "target": "com.amazonaws.codegurureviewer#KMSKeyDetails", "traits": { - "smithy.api#documentation": "

A KMSKeyDetails object that contains:

\n " + "smithy.api#documentation": "

A KMSKeyDetails object that contains:

\n " } } } @@ -315,13 +315,13 @@ "Name": { "target": "com.amazonaws.codegurureviewer#Name", "traits": { - "smithy.api#documentation": "

The name of the AWS CodeCommit repository. For more information, see \n repositoryName \n in the AWS CodeCommit API Reference.

", + "smithy.api#documentation": "

The name of the Amazon Web Services CodeCommit repository. For more information, see \n repositoryName \n in the Amazon Web Services CodeCommit API Reference.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about an AWS CodeCommit repository. The CodeCommit repository must be in the same \n AWS Region and AWS account where its CodeGuru Reviewer code reviews are configured.

" + "smithy.api#documentation": "

Information about an Amazon Web Services CodeCommit repository. The CodeCommit repository must be in the same \n Amazon Web Services Region and Amazon Web Services account where its CodeGuru Reviewer code reviews are configured.

" } }, "com.amazonaws.codegurureviewer#CodeReview": { @@ -348,7 +348,7 @@ "Owner": { "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or AWS account ID.

" + "smithy.api#documentation": "

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or Amazon Web Services account ID.

" } }, "ProviderType": { @@ -462,7 +462,7 @@ "Owner": { "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or AWS account ID.

" + "smithy.api#documentation": "

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or Amazon Web Services account ID.

" } }, "ProviderType": { @@ -637,7 +637,7 @@ "Name": { "target": "com.amazonaws.codegurureviewer#CodeReviewName", "traits": { - "smithy.api#documentation": "

\n The name of the code review. The name of each code review in your AWS account must be unique.\n

", + "smithy.api#documentation": "

\n The name of the code review. The name of each code review in your Amazon Web Services account must be unique.\n

", "smithy.api#required": {} } }, @@ -814,7 +814,7 @@ "UserId": { "target": "com.amazonaws.codegurureviewer#UserId", "traits": { - "smithy.api#documentation": "

\n Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request.\n

\n

\n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

", + "smithy.api#documentation": "

\n Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request.\n

\n

\n The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide.\n

", "smithy.api#httpQuery": "UserId" } } @@ -1117,18 +1117,18 @@ "KMSKeyId": { "target": "com.amazonaws.codegurureviewer#KMSKeyId", "traits": { - "smithy.api#documentation": "

The ID of the AWS KMS key that is associated with a respository association.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services KMS key that is associated with a respository association.

" } }, "EncryptionOption": { "target": "com.amazonaws.codegurureviewer#EncryptionOption", "traits": { - "smithy.api#documentation": "

The encryption option for a repository association. It is either owned by AWS \n Key Management Service (KMS) (AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK).

" + "smithy.api#documentation": "

The encryption option for a repository association. It is either owned by Amazon Web Services \n Key Management Service (KMS) (AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK).

" } } }, "traits": { - "smithy.api#documentation": "

An object that contains:

\n " + "smithy.api#documentation": "

An object that contains:

\n " } }, "com.amazonaws.codegurureviewer#KMSKeyId": { @@ -1325,7 +1325,7 @@ "UserIds": { "target": "com.amazonaws.codegurureviewer#UserIds", "traits": { - "smithy.api#documentation": "

\n An AWS user's account ID or Amazon Resource Name (ARN). Use this ID to query the recommendation feedback for a code review from that user.\n

\n

\n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

", + "smithy.api#documentation": "

\n An Amazon Web Services user's account ID or Amazon Resource Name (ARN). Use this ID to query the recommendation feedback for a code review from that user.\n

\n

\n The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide.\n

", "smithy.api#httpQuery": "UserIds" } }, @@ -1498,7 +1498,7 @@ "Owners": { "target": "com.amazonaws.codegurureviewer#Owners", "traits": { - "smithy.api#documentation": "

List of owners to use as a filter. \n For AWS CodeCommit, it is the name of the CodeCommit account that was\n used to associate the repository. For other repository source providers, such as Bitbucket and GitHub Enterprise Server, this is name of the account \n that was used to associate the repository.

", + "smithy.api#documentation": "

List of owners to use as a filter. \n For Amazon Web Services CodeCommit, it is the name of the CodeCommit account that was\n used to associate the repository. For other repository source providers, such as Bitbucket and GitHub Enterprise Server, this is name of the account \n that was used to associate the repository.

", "smithy.api#httpQuery": "Owner" } }, @@ -1587,6 +1587,16 @@ } } }, + "com.amazonaws.codegurureviewer#LongDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": "^\\S(.*\\S)?$" + } + }, "com.amazonaws.codegurureviewer#MaxResults": { "type": "integer", "traits": { @@ -1609,7 +1619,7 @@ "MeteredLinesOfCodeCount": { "target": "com.amazonaws.codegurureviewer#MeteredLinesOfCodeCount", "traits": { - "smithy.api#documentation": "

\n Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, \n this includes all lines of code in the files added to the pull request. In subsequent revisions, for files that already \n existed in the pull request, this includes only the changed lines of code. In both cases, this does not include non-code lines such as comments \n and import statements. For example, if you submit a pull request containing 5 files, each with 500 lines of code, and in \n a subsequent revision you added a new file with 200 lines of code, and also modified a total of 25 lines across the initial 5 files, \n MeteredLinesOfCodeCount includes the first 5 files (5 * 500 = 2,500 lines), the new file (200 lines) and the 25 changed lines of\n code for a total of 2,725 lines of code.\n

" + "smithy.api#documentation": "

\n MeteredLinesOfCode is the number of lines of code in the repository where the code review happened. \n This does not include non-code lines such as comments and blank lines.\n

" } }, "FindingsCount": { @@ -1891,6 +1901,10 @@ { "value": "SecurityIssues", "name": "SECURITY_ISSUES" + }, + { + "value": "CodeInconsistencies", + "name": "CODE_INCONSISTENCIES" } ] } @@ -1919,7 +1933,7 @@ "UserId": { "target": "com.amazonaws.codegurureviewer#UserId", "traits": { - "smithy.api#documentation": "

\n The ID of the user that made the API call.\n

\n

\n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

" + "smithy.api#documentation": "

\n The ID of the user that made the API call.\n

\n

\n The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide.\n

" } }, "CreatedTimeStamp": { @@ -1963,7 +1977,7 @@ "UserId": { "target": "com.amazonaws.codegurureviewer#UserId", "traits": { - "smithy.api#documentation": "

\n The ID of the user that gave the feedback.\n

\n

\n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

" + "smithy.api#documentation": "

\n The ID of the user that gave the feedback.\n

\n

\n The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide.\n

" } } }, @@ -2036,6 +2050,18 @@ "traits": { "smithy.api#documentation": "

The type of a recommendation.

" } + }, + "RuleMetadata": { + "target": "com.amazonaws.codegurureviewer#RuleMetadata", + "traits": { + "smithy.api#documentation": "

Metadata about a rule. Rule metadata includes an ID, a name, a list of tags, and a \n short and long description. CodeGuru Reviewer uses rules to analyze code. A rule's recommendation is \n included in analysis results if code is detected that violates the rule.

" + } + }, + "Severity": { + "target": "com.amazonaws.codegurureviewer#Severity", + "traits": { + "smithy.api#documentation": "

The severity of the issue in the code that generated this recommendation.

" + } } }, "traits": { @@ -2048,7 +2074,7 @@ "CodeCommit": { "target": "com.amazonaws.codegurureviewer#CodeCommitRepository", "traits": { - "smithy.api#documentation": "

Information about an AWS CodeCommit repository.

" + "smithy.api#documentation": "

Information about an Amazon Web Services CodeCommit repository.

" } }, "Bitbucket": { @@ -2068,7 +2094,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n Information about an associated AWS CodeCommit repository or an associated repository that is managed \n by AWS CodeStar Connections (for example, Bitbucket). This Repository object \n is not used if your source code is in an associated GitHub repository.\n

" + "smithy.api#documentation": "

\n Information about an associated Amazon Web Services CodeCommit repository or an associated repository that is managed \n by Amazon Web Services CodeStar Connections (for example, Bitbucket). This Repository object \n is not used if your source code is in an associated GitHub repository.\n

" } }, "com.amazonaws.codegurureviewer#RepositoryAnalysis": { @@ -2106,7 +2132,7 @@ "ConnectionArn": { "target": "com.amazonaws.codegurureviewer#ConnectionArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the AWS CodeStar Connections API Reference.\n

" + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the Amazon Web Services CodeStar Connections API Reference.\n

" } }, "Name": { @@ -2118,7 +2144,7 @@ "Owner": { "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or AWS account ID.

" + "smithy.api#documentation": "

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or Amazon Web Services account ID.

" } }, "ProviderType": { @@ -2154,7 +2180,7 @@ "KMSKeyDetails": { "target": "com.amazonaws.codegurureviewer#KMSKeyDetails", "traits": { - "smithy.api#documentation": "

A KMSKeyDetails object that contains:

\n " + "smithy.api#documentation": "

A KMSKeyDetails object that contains:

\n " } }, "S3RepositoryDetails": { @@ -2222,7 +2248,7 @@ "ConnectionArn": { "target": "com.amazonaws.codegurureviewer#ConnectionArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the AWS CodeStar Connections API Reference.\n

" + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the Amazon Web Services CodeStar Connections API Reference.\n

" } }, "LastUpdatedTimeStamp": { @@ -2246,7 +2272,7 @@ "Owner": { "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or AWS account ID.

" + "smithy.api#documentation": "

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.\n For an S3 repository, it can be the username or Amazon Web Services account ID.

" } }, "ProviderType": { @@ -2357,6 +2383,86 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.codegurureviewer#RuleId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^\\S+\\/[a-zA-Z0-9-]+@v\\d+\\.\\d+$" + } + }, + "com.amazonaws.codegurureviewer#RuleMetadata": { + "type": "structure", + "members": { + "RuleId": { + "target": "com.amazonaws.codegurureviewer#RuleId", + "traits": { + "smithy.api#documentation": "

The ID of the rule.

" + } + }, + "RuleName": { + "target": "com.amazonaws.codegurureviewer#RuleName", + "traits": { + "smithy.api#documentation": "

The name of the rule.

" + } + }, + "ShortDescription": { + "target": "com.amazonaws.codegurureviewer#ShortDescription", + "traits": { + "smithy.api#documentation": "

A short description of the rule.

" + } + }, + "LongDescription": { + "target": "com.amazonaws.codegurureviewer#LongDescription", + "traits": { + "smithy.api#documentation": "

A long description of the rule.

" + } + }, + "RuleTags": { + "target": "com.amazonaws.codegurureviewer#RuleTags", + "traits": { + "smithy.api#documentation": "

Tags that are associated with the rule.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Metadata about a rule. Rule metadata includes an ID, a name, a list of tags, and a \n short and long description. CodeGuru Reviewer uses rules to analyze code. A rule's recommendation is \n included in analysis results if code is detected that violates the rule.

" + } + }, + "com.amazonaws.codegurureviewer#RuleName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^\\S(.*\\S)?$" + } + }, + "com.amazonaws.codegurureviewer#RuleTag": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "^\\S(.*\\S)?$" + } + }, + "com.amazonaws.codegurureviewer#RuleTags": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurureviewer#RuleTag" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.codegurureviewer#S3BucketName": { "type": "string", "traits": { @@ -2430,6 +2536,43 @@ "smithy.api#documentation": "

\n Specifies the name of an S3 bucket and a CodeArtifacts object that contains the S3 \n object keys for a source code .zip file and for a build artifacts .zip file that contains .jar or .class files.\n

" } }, + "com.amazonaws.codegurureviewer#Severity": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Info", + "name": "INFO" + }, + { + "value": "Low", + "name": "LOW" + }, + { + "value": "Medium", + "name": "MEDIUM" + }, + { + "value": "High", + "name": "HIGH" + }, + { + "value": "Critical", + "name": "CRITICAL" + } + ] + } + }, + "com.amazonaws.codegurureviewer#ShortDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^\\S(.*\\S)?$" + } + }, "com.amazonaws.codegurureviewer#SourceCodeArtifactsObjectKey": { "type": "string", "traits": { @@ -2603,14 +2746,14 @@ "ConnectionArn": { "target": "com.amazonaws.codegurureviewer#ConnectionArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the AWS CodeStar Connections API Reference.\n

", + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the Amazon Web Services CodeStar Connections API Reference.\n

", "smithy.api#required": {} } }, "Owner": { "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

\n The owner of the repository. For a GitHub, GitHub Enterprise, or Bitbucket repository, \n this is the username for the account that owns the repository. For an S3 repository, \n this can be the username or AWS account ID.\n

", + "smithy.api#documentation": "

\n The owner of the repository. For a GitHub, GitHub Enterprise, or Bitbucket repository, \n this is the username for the account that owns the repository. For an S3 repository, \n this can be the username or Amazon Web Services account ID.\n

", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/ecr.2015-09-21.json b/codegen/sdk-codegen/aws-models/ecr.2015-09-21.json index e213f7f7b76a..30562c04a6e3 100644 --- a/codegen/sdk-codegen/aws-models/ecr.2015-09-21.json +++ b/codegen/sdk-codegen/aws-models/ecr.2015-09-21.json @@ -148,7 +148,7 @@ "name": "ecr" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Elastic Container Registry\n

Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Customers can use the\n familiar Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR\n provides a secure, scalable, and reliable registry for your Docker or Open Container\n Initiative (OCI) images. Amazon ECR supports private repositories with resource-based\n permissions using IAM so that specific users or Amazon EC2 instances can access\n repositories and images.

", + "smithy.api#documentation": "Amazon Elastic Container Registry\n

Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Customers can use the\n familiar Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR\n provides a secure, scalable, and reliable registry for your Docker or Open Container\n Initiative (OCI) images. Amazon ECR supports private repositories with resource-based\n permissions using IAM so that specific users or Amazon EC2 instances can access\n repositories and images.

\n

Amazon ECR has service endpoints in each supported Region. For more information, see Amazon ECR endpoints in the\n Amazon Web Services General Reference.

", "smithy.api#title": "Amazon EC2 Container Registry", "smithy.api#xmlNamespace": { "uri": "http://ecr.amazonaws.com/doc/2015-09-21/" @@ -276,7 +276,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the image layers to\n check. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the image layers to\n check. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -341,7 +341,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the image to delete.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the image to delete.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -409,7 +409,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the images to describe.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the images to\n describe. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -519,7 +519,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry to which to upload layers.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry to which to upload layers.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -606,7 +606,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a repository. For more information, see Amazon ECR Repositories in the\n Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

Creates a repository. For more information, see Amazon ECR repositories in the\n Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#CreateRepositoryRequest": { @@ -691,7 +691,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -837,7 +837,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository policy to\n delete. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository policy\n to delete. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -878,7 +878,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository to\n delete. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository to\n delete. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -976,7 +976,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in\n which to describe the image scan findings for. If you do not specify a registry, the\n default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to describe the image scan findings for. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -1096,7 +1096,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in which\n to describe images. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to describe images. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -1228,7 +1228,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repositories to be\n described. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repositories to be\n described. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryNames": { @@ -1289,19 +1289,19 @@ "encryptionType": { "target": "com.amazonaws.ecr#EncryptionType", "traits": { - "smithy.api#documentation": "

The encryption type to use.

\n

If you use the KMS encryption type, the contents of the repository will\n be encrypted using server-side encryption with customer master keys (CMKs) stored in\n AWS KMS. When you use AWS KMS to encrypt your data, you can either use the default AWS\n managed CMK for Amazon ECR, or specify your own CMK, which you already created. For more\n information, see Protecting Data Using Server-Side\n Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS) in the\n Amazon Simple Storage Service Console Developer Guide..

\n

If you use the AES256 encryption type, Amazon ECR uses server-side encryption\n with Amazon S3-managed encryption keys which encrypts the images in the repository using an\n AES-256 encryption algorithm. For more information, see Protecting Data Using\n Server-Side Encryption with Amazon S3-Managed Encryption Keys (SSE-S3) in\n the Amazon Simple Storage Service Console Developer Guide..

", + "smithy.api#documentation": "

The encryption type to use.

\n

If you use the KMS encryption type, the contents of the repository will\n be encrypted using server-side encryption with Key Management Service key stored in KMS. When you\n use KMS to encrypt your data, you can either use the default Amazon Web Services managed KMS key\n for Amazon ECR, or specify your own KMS key, which you already created. For more\n information, see Protecting data using server-side\n encryption with an KMS key stored in Key Management Service (SSE-KMS) in the\n Amazon Simple Storage Service Console Developer Guide..

\n

If you use the AES256 encryption type, Amazon ECR uses server-side encryption\n with Amazon S3-managed encryption keys which encrypts the images in the repository using an\n AES-256 encryption algorithm. For more information, see Protecting data using\n server-side encryption with Amazon S3-managed encryption keys (SSE-S3) in the\n Amazon Simple Storage Service Console Developer Guide..

", "smithy.api#required": {} } }, "kmsKey": { "target": "com.amazonaws.ecr#KmsKey", "traits": { - "smithy.api#documentation": "

If you use the KMS encryption type, specify the CMK to use for\n encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must\n exist in the same Region as the repository. If no key is specified, the default AWS\n managed CMK for Amazon ECR will be used.

" + "smithy.api#documentation": "

If you use the KMS encryption type, specify the KMS key to use for\n encryption. The alias, key ID, or full ARN of the KMS key can be specified. The key\n must exist in the same Region as the repository. If no key is specified, the default\n Amazon Web Services managed KMS key for Amazon ECR will be used.

" } } }, "traits": { - "smithy.api#documentation": "

The encryption configuration for the repository. This determines how the contents of\n your repository are encrypted at rest.

\n

By default, when no encryption configuration is set or the AES256\n encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption\n keys which encrypts your data at rest using an AES-256 encryption algorithm. This does\n not require any action on your part.

\n

For more control over the encryption of the contents of your repository, you can use\n server-side encryption with customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS) to\n encrypt your images. For more information, see Amazon ECR encryption at\n rest in the Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

The encryption configuration for the repository. This determines how the contents of\n your repository are encrypted at rest.

\n

By default, when no encryption configuration is set or the AES256\n encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption\n keys which encrypts your data at rest using an AES-256 encryption algorithm. This does\n not require any action on your part.

\n

For more control over the encryption of the contents of your repository, you can use\n server-side encryption with Key Management Service key stored in Key Management Service (KMS) to encrypt your\n images. For more information, see Amazon ECR encryption at\n rest in the Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#EncryptionType": { @@ -1394,7 +1394,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves an authorization token. An authorization token represents your IAM\n authentication credentials and can be used to access any Amazon ECR registry that your IAM\n principal has access to. The authorization token is valid for 12 hours.

\n

The authorizationToken returned is a base64 encoded string that can be\n decoded and used in a docker login command to authenticate to a registry.\n The AWS CLI offers an get-login-password command that simplifies the login\n process. For more information, see Registry\n Authentication in the Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

Retrieves an authorization token. An authorization token represents your IAM\n authentication credentials and can be used to access any Amazon ECR registry that your IAM\n principal has access to. The authorization token is valid for 12 hours.

\n

The authorizationToken returned is a base64 encoded string that can be\n decoded and used in a docker login command to authenticate to a registry.\n The CLI offers an get-login-password command that simplifies the login\n process. For more information, see Registry\n authentication in the Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#GetAuthorizationTokenRegistryIdList": { @@ -1418,7 +1418,7 @@ "smithy.api#deprecated": { "message": "This field is deprecated. The returned authorization token can be used to access any Amazon ECR registry that the IAM principal has access to, specifying a registry ID doesn't change the permissions scope of the authorization token." }, - "smithy.api#documentation": "

A list of AWS account IDs that are associated with the registries for which to get\n AuthorizationData objects. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

A list of Amazon Web Services account IDs that are associated with the registries for which to get\n AuthorizationData objects. If you do not specify a registry, the default registry is assumed.

" } } } @@ -1460,7 +1460,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You\n can only get URLs for image layers that are referenced in an image.

\n

When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer\n that is not already cached.

\n \n

This operation is used by the Amazon ECR proxy and is not generally used by\n customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

\n
" + "smithy.api#documentation": "

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can\n only get URLs for image layers that are referenced in an image.

\n

When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer\n that is not already cached.

\n \n

This operation is used by the Amazon ECR proxy and is not generally used by\n customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

\n
" } }, "com.amazonaws.ecr#GetDownloadUrlForLayerRequest": { @@ -1469,7 +1469,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the image layer to\n download. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the image layer to\n download. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -1597,7 +1597,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -1686,7 +1686,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -1803,7 +1803,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -1844,7 +1844,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry containing the image.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry containing the image.

" } }, "repositoryName": { @@ -1917,7 +1917,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry to which this image belongs.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry to which this image belongs.

" } }, "repositoryName": { @@ -2257,7 +2257,7 @@ "scanOnPush": { "target": "com.amazonaws.ecr#ScanOnPushFlag", "traits": { - "smithy.api#documentation": "

The setting that determines whether images are scanned after being pushed to a\n repository. If set to true, images will be scanned after being pushed. If\n this parameter is not specified, it will default to false and images will\n not be scanned unless a scan is manually started with the StartImageScan API.

" + "smithy.api#documentation": "

The setting that determines whether images are scanned after being pushed to a\n repository. If set to true, images will be scanned after being pushed. If\n this parameter is not specified, it will default to false and images will\n not be scanned unless a scan is manually started with the API_StartImageScan API.

" } } }, @@ -2345,7 +2345,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry to which you intend to upload layers.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry to which you intend to upload\n layers. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -2467,7 +2467,7 @@ "kmsError": { "target": "com.amazonaws.ecr#KmsError", "traits": { - "smithy.api#documentation": "

The error code returned by AWS KMS.

" + "smithy.api#documentation": "

The error code returned by KMS.

" } } }, @@ -2550,7 +2550,7 @@ "com.amazonaws.ecr#LayerDigest": { "type": "string", "traits": { - "smithy.api#pattern": "[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+" + "smithy.api#pattern": "^[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+$" } }, "com.amazonaws.ecr#LayerDigestList": { @@ -2865,7 +2865,7 @@ } }, "traits": { - "smithy.api#documentation": "

The operation did not succeed because it would have exceeded a service limit for your\n account. For more information, see Amazon ECR Service Quotas in\n the Amazon Elastic Container Registry User Guide.

", + "smithy.api#documentation": "

The operation did not succeed because it would have exceeded a service limit for your\n account. For more information, see Amazon ECR service quotas in\n the Amazon Elastic Container Registry User Guide.

", "smithy.api#error": "client" } }, @@ -2918,7 +2918,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in which\n to list images. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to list images. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3104,7 +3104,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in which\n to put the image. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to put the image. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3181,7 +3181,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in\n which to update the image scanning configuration setting.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to update the image scanning configuration setting.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3243,7 +3243,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the image tag mutability settings for the specified repository. For more\n information, see Image Tag\n Mutability in the Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

Updates the image tag mutability settings for the specified repository. For more\n information, see Image tag\n mutability in the Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#PutImageTagMutabilityRequest": { @@ -3252,7 +3252,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in which\n to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3314,7 +3314,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates the lifecycle policy for the specified repository. For more\n information, see Lifecycle Policy\n Template.

" + "smithy.api#documentation": "

Creates or updates the lifecycle policy for the specified repository. For more\n information, see Lifecycle policy\n template.

" } }, "com.amazonaws.ecr#PutLifecyclePolicyRequest": { @@ -3323,7 +3323,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository. If you\n do\u2028 not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository. If you\n do\u2028 not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3382,7 +3382,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates the permissions policy for your registry.

\n

A registry policy is used to specify permissions for another AWS account and is used\n when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

Creates or updates the permissions policy for your registry.

\n

A registry policy is used to specify permissions for another Amazon Web Services account and is used\n when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#PutRegistryPolicyRequest": { @@ -3434,7 +3434,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates the replication configuration for a registry. The existing\n replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the\n PutReplicationConfiguration API is called, a service-linked IAM role is created in\n your account for the replication process. For more information, see Using\n Service-Linked Roles for Amazon ECR in the\n Amazon Elastic Container Registry User Guide.

\n \n

When configuring cross-account replication, the destination account must grant the\n source account permission to replicate. This permission is controlled using a\n registry permissions policy. For more information, see PutRegistryPolicy.

\n
" + "smithy.api#documentation": "

Creates or updates the replication configuration for a registry. The existing\n replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the\n PutReplicationConfiguration API is called, a service-linked IAM role is created in\n your account for the replication process. For more information, see Using\n service-linked roles for Amazon ECR in the\n Amazon Elastic Container Registry User Guide.

\n \n

When configuring cross-account replication, the destination account must grant the\n source account permission to replicate. This permission is controlled using a\n registry permissions policy. For more information, see PutRegistryPolicy.

\n
" } }, "com.amazonaws.ecr#PutReplicationConfigurationRequest": { @@ -3479,13 +3479,13 @@ "min": 2, "max": 25 }, - "smithy.api#pattern": "[0-9a-z-]{2,25}" + "smithy.api#pattern": "^[0-9a-z-]{2,25}$" } }, "com.amazonaws.ecr#RegistryId": { "type": "string", "traits": { - "smithy.api#pattern": "[0-9]{12}" + "smithy.api#pattern": "^[0-9]{12}$" } }, "com.amazonaws.ecr#RegistryPolicyNotFoundException": { @@ -3591,13 +3591,13 @@ "repositoryArn": { "target": "com.amazonaws.ecr#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the\n repository, AWS account ID of the repository owner, repository namespace, and repository name.\n For example, arn:aws:ecr:region:012345678910:repository/test.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the\n repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name.\n For example, arn:aws:ecr:region:012345678910:repository/test.

" } }, "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.

" } }, "repositoryName": { @@ -3666,7 +3666,7 @@ "min": 2, "max": 256 }, - "smithy.api#pattern": "(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*" + "smithy.api#pattern": "^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*$" } }, "com.amazonaws.ecr#RepositoryNameList": { @@ -3810,7 +3810,7 @@ } ], "traits": { - "smithy.api#documentation": "

Applies a repository policy to the specified repository to control access permissions.\n For more information, see Amazon ECR Repository\n Policies in the Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

Applies a repository policy to the specified repository to control access permissions.\n For more information, see Amazon ECR Repository\n policies in the Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#SetRepositoryPolicyRequest": { @@ -3819,7 +3819,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3832,7 +3832,7 @@ "policyText": { "target": "com.amazonaws.ecr#RepositoryPolicyText", "traits": { - "smithy.api#documentation": "

The JSON repository policy text to apply to the repository. For more information, see\n Amazon ECR Repository\n Policies in the Amazon Elastic Container Registry User Guide.

", + "smithy.api#documentation": "

The JSON repository policy text to apply to the repository. For more information, see\n Amazon ECR repository\n policies in the Amazon Elastic Container Registry User Guide.

", "smithy.api#required": {} } }, @@ -3905,7 +3905,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts an image vulnerability scan. An image scan can only be started once per day on\n an individual image. This limit includes if an image was scanned on initial push. For\n more information, see Image Scanning in the\n Amazon Elastic Container Registry User Guide.

" + "smithy.api#documentation": "

Starts an image vulnerability scan. An image scan can only be started once per 24\n hours on an individual image. This limit includes if an image was scanned on initial\n push. For more information, see Image scanning in the\n Amazon Elastic Container Registry User Guide.

" } }, "com.amazonaws.ecr#StartImageScanRequest": { @@ -3914,7 +3914,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository in\n which to start an image scan request. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository in\n which to start an image scan request. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -3993,7 +3993,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry that contains the repository.\n If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { @@ -4228,7 +4228,7 @@ "com.amazonaws.ecr#UploadId": { "type": "string", "traits": { - "smithy.api#pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + "smithy.api#pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" } }, "com.amazonaws.ecr#UploadLayerPart": { @@ -4272,7 +4272,7 @@ "registryId": { "target": "com.amazonaws.ecr#RegistryId", "traits": { - "smithy.api#documentation": "

The AWS account ID associated with the registry to which you are uploading layer\n parts. If you do not specify a registry, the default registry is assumed.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the registry to which you are uploading layer\n parts. If you do not specify a registry, the default registry is assumed.

" } }, "repositoryName": { diff --git a/codegen/sdk-codegen/aws-models/eks.2017-11-01.json b/codegen/sdk-codegen/aws-models/eks.2017-11-01.json index 0523190aa00f..7374d46b950b 100644 --- a/codegen/sdk-codegen/aws-models/eks.2017-11-01.json +++ b/codegen/sdk-codegen/aws-models/eks.2017-11-01.json @@ -86,6 +86,9 @@ { "target": "com.amazonaws.eks#DeleteNodegroup" }, + { + "target": "com.amazonaws.eks#DeregisterCluster" + }, { "target": "com.amazonaws.eks#DescribeAddon" }, @@ -131,6 +134,9 @@ { "target": "com.amazonaws.eks#ListUpdates" }, + { + "target": "com.amazonaws.eks#RegisterCluster" + }, { "target": "com.amazonaws.eks#TagResource" }, @@ -781,7 +787,7 @@ "tags": { "target": "com.amazonaws.eks#TagMap", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the cluster to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you\n define. Cluster tags do not propagate to any other resources associated with the\n cluster.

" + "smithy.api#documentation": "

The metadata that you apply to the cluster to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you\n define. Cluster tags do not propagate to any other resources associated with the\n cluster.

" } }, "encryptionConfig": { @@ -789,6 +795,12 @@ "traits": { "smithy.api#documentation": "

The encryption configuration for the cluster.

" } + }, + "connectorConfig": { + "target": "com.amazonaws.eks#ConnectorConfigResponse", + "traits": { + "smithy.api#documentation": "

The configuration used to connect to a cluster for registration.

" + } } }, "traits": { @@ -828,6 +840,10 @@ { "value": "UPDATING", "name": "UPDATING" + }, + { + "value": "PENDING", + "name": "PENDING" } ] } @@ -864,6 +880,109 @@ "smithy.api#documentation": "

Compatibility information.

" } }, + "com.amazonaws.eks#ConnectorConfigProvider": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EKS_ANYWHERE", + "name": "EKS_ANYWHERE" + }, + { + "value": "ANTHOS", + "name": "ANTHOS" + }, + { + "value": "GKE", + "name": "GKE" + }, + { + "value": "AKS", + "name": "AKS" + }, + { + "value": "OPENSHIFT", + "name": "OPENSHIFT" + }, + { + "value": "TANZU", + "name": "TANZU" + }, + { + "value": "RANCHER", + "name": "RANCHER" + }, + { + "value": "EC2", + "name": "EC2" + }, + { + "value": "OTHER", + "name": "OTHER" + } + ] + } + }, + "com.amazonaws.eks#ConnectorConfigRequest": { + "type": "structure", + "members": { + "roleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role that is authorized to request the connector configuration.

", + "smithy.api#required": {} + } + }, + "provider": { + "target": "com.amazonaws.eks#ConnectorConfigProvider", + "traits": { + "smithy.api#documentation": "

The cloud provider for the target cluster to connect.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration sent to a cluster for configuration.

" + } + }, + "com.amazonaws.eks#ConnectorConfigResponse": { + "type": "structure", + "members": { + "activationId": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

A unique ID associated with the cluster for registration purposes.

" + } + }, + "activationCode": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

A unique code associated with the cluster for registration purposes.

" + } + }, + "activationExpiry": { + "target": "com.amazonaws.eks#Timestamp", + "traits": { + "smithy.api#documentation": "

The expiration time of the connected cluster. The cluster's YAML file must be applied through the native \n provider.

" + } + }, + "provider": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The cluster's cloud service provider.

" + } + }, + "roleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role that is used by the EKS connector to communicate with AWS services from the connected Kubernetes cluster.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The full description of your connected cluster.

" + } + }, "com.amazonaws.eks#CreateAddon": { "type": "operation", "input": { @@ -1604,6 +1723,61 @@ } } }, + "com.amazonaws.eks#DeregisterCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#DeregisterClusterRequest" + }, + "output": { + "target": "com.amazonaws.eks#DeregisterClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#ClientException" + }, + { + "target": "com.amazonaws.eks#ResourceInUseException" + }, + { + "target": "com.amazonaws.eks#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eks#ServerException" + }, + { + "target": "com.amazonaws.eks#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Deregisters a connected cluster to remove it from the Amazon EKS control plane.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/cluster-registrations/{name}", + "code": 200 + } + } + }, + "com.amazonaws.eks#DeregisterClusterRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the connected cluster to deregister.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.eks#DeregisterClusterResponse": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.eks#Cluster" + } + } + }, "com.amazonaws.eks#DescribeAddon": { "type": "operation", "input": { @@ -1906,6 +2080,16 @@ } } }, + { + "state": "failure", + "matcher": { + "output": { + "path": "cluster.status", + "expected": "PENDING", + "comparator": "stringEquals" + } + } + }, { "state": "success", "matcher": { @@ -2701,7 +2885,7 @@ } }, "traits": { - "smithy.api#documentation": "

An object that represents an identity configuration.

" + "smithy.api#documentation": "

The full description of your identity configuration.

" } }, "com.amazonaws.eks#IdentityProviderConfigs": { @@ -2710,6 +2894,12 @@ "target": "com.amazonaws.eks#IdentityProviderConfig" } }, + "com.amazonaws.eks#IncludeClustersList": { + "type": "list", + "member": { + "target": "com.amazonaws.eks#String" + } + }, "com.amazonaws.eks#InvalidParameterException": { "type": "structure", "members": { @@ -3005,6 +3195,13 @@ "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n ListClusters request where maxResults was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
", "smithy.api#httpQuery": "nextToken" } + }, + "include": { + "target": "com.amazonaws.eks#IncludeClustersList", + "traits": { + "smithy.api#documentation": "

Indicates whether connected clusters are included in the returned list. Default value is 'ALL'.

", + "smithy.api#httpQuery": "include" + } } } }, @@ -4070,6 +4267,74 @@ "smithy.api#documentation": "

Identifies the Key Management Service (KMS) key used to encrypt the secrets.

" } }, + "com.amazonaws.eks#RegisterCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#RegisterClusterRequest" + }, + "output": { + "target": "com.amazonaws.eks#RegisterClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#ClientException" + }, + { + "target": "com.amazonaws.eks#InvalidParameterException" + }, + { + "target": "com.amazonaws.eks#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.eks#ServerException" + }, + { + "target": "com.amazonaws.eks#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Connects a Kubernetes cluster to the Amazon EKS control plane.

\n

Any Kubernetes cluster can be connected to the Amazon EKS control plane to view current information about the cluster and its nodes.\n

\n

Cluster connection requires two steps. First, send a \n RegisterClusterRequest\n to add it to the Amazon EKS control plane.

\n

Second, a Manifest containing the activationID and activationCode must be applied to the Kubernetes cluster through it's native provider to provide visibility.

\n \n

After the Manifest is updated and applied, then the connected cluster is visible to the Amazon EKS control plane. If the Manifest is not applied within a set amount of time, \n then the connected cluster will no longer be visible and must be deregistered. See DeregisterCluster.

", + "smithy.api#http": { + "method": "POST", + "uri": "/cluster-registrations", + "code": 200 + } + } + }, + "com.amazonaws.eks#RegisterClusterRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.eks#ClusterName", + "traits": { + "smithy.api#documentation": "

Define a unique name for this cluster within your AWS account.

", + "smithy.api#required": {} + } + }, + "connectorConfig": { + "target": "com.amazonaws.eks#ConnectorConfigRequest", + "traits": { + "smithy.api#documentation": "

The configuration settings required to connect the Kubernetes cluster to the Amazon EKS control plane.

", + "smithy.api#required": {} + } + }, + "clientRequestToken": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "smithy.api#idempotencyToken": {} + } + } + } + }, + "com.amazonaws.eks#RegisterClusterResponse": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.eks#Cluster" + } + } + }, "com.amazonaws.eks#RemoteAccessConfig": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json b/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json index 3286b4c5a6fd..2d9470a69092 100644 --- a/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json +++ b/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json @@ -3226,7 +3226,7 @@ "code": "DefaultUserAssociatedToUserGroup", "httpResponseCode": 400 }, - "smithy.api#documentation": "

", + "smithy.api#documentation": "

The default user assigned to the user group.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6934,19 +6934,19 @@ "UserGroupIdsToAdd": { "target": "com.amazonaws.elasticache#UserGroupIdList", "traits": { - "smithy.api#documentation": "

The user group you are associating with the replication group.

" + "smithy.api#documentation": "

The ID of the user group you are associating with the replication group.

" } }, "UserGroupIdsToRemove": { "target": "com.amazonaws.elasticache#UserGroupIdList", "traits": { - "smithy.api#documentation": "

The user group to remove, meaning the users in the group no longer can access the replication group.

" + "smithy.api#documentation": "

The ID of the user group to disassociate from the replication group, meaning the users in the group no longer can access the replication group.

" } }, "RemoveUserGroups": { "target": "com.amazonaws.elasticache#BooleanOptional", "traits": { - "smithy.api#documentation": "

Removes the user groups that can access this replication group.

" + "smithy.api#documentation": "

Removes the user group associated with this replication group.

" } }, "LogDeliveryConfigurations": { @@ -8458,7 +8458,7 @@ "UserGroupIds": { "target": "com.amazonaws.elasticache#UserGroupIdList", "traits": { - "smithy.api#documentation": "

The list of user group IDs that have access to the replication group.

" + "smithy.api#documentation": "

The ID of the user group associated to the replication group.

" } }, "LogDeliveryConfigurations": { @@ -8626,7 +8626,7 @@ "UserGroups": { "target": "com.amazonaws.elasticache#UserGroupsUpdateStatus", "traits": { - "smithy.api#documentation": "

The user groups being modified.

" + "smithy.api#documentation": "

The user group being modified.

" } }, "LogDeliveryConfigurations": { @@ -10331,7 +10331,7 @@ "PendingChanges": { "target": "com.amazonaws.elasticache#UserGroupPendingChanges", "traits": { - "smithy.api#documentation": "

A list of updates being applied to the user groups.

" + "smithy.api#documentation": "

A list of updates being applied to the user group.

" } }, "ReplicationGroups": { @@ -10457,13 +10457,13 @@ "UserGroupIdsToAdd": { "target": "com.amazonaws.elasticache#UserGroupIdList", "traits": { - "smithy.api#documentation": "

The list of user group IDs to add.

" + "smithy.api#documentation": "

The ID of the user group to add.

" } }, "UserGroupIdsToRemove": { "target": "com.amazonaws.elasticache#UserGroupIdList", "traits": { - "smithy.api#documentation": "

The list of user group IDs to remove.

" + "smithy.api#documentation": "

The ID of the user group to remove.

" } } }, diff --git a/codegen/sdk-codegen/aws-models/emr.2009-03-31.json b/codegen/sdk-codegen/aws-models/emr.2009-03-31.json index 86e6af52027d..a07711477b26 100644 --- a/codegen/sdk-codegen/aws-models/emr.2009-03-31.json +++ b/codegen/sdk-codegen/aws-models/emr.2009-03-31.json @@ -249,7 +249,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in\n various ways, such as grouping clusters to track your Amazon EMR resource allocation costs.\n For more information, see Tag Clusters.

" + "smithy.api#documentation": "

Adds tags to an Amazon EMR resource, such as a cluster or an Amazon EMR Studio. Tags make it easier to associate resources in\n various ways, such as grouping clusters to track your Amazon EMR resource allocation costs.\n For more information, see Tag Clusters.

" } }, "com.amazonaws.emr#AddTagsInput": { @@ -258,20 +258,20 @@ "ResourceId": { "target": "com.amazonaws.emr#ResourceId", "traits": { - "smithy.api#documentation": "

The Amazon EMR resource identifier to which tags will be added. This value must be a\n cluster identifier.

", + "smithy.api#documentation": "

The Amazon EMR resource identifier to which tags will be added. For example, a\n cluster identifier or an Amazon EMR Studio ID.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.emr#TagList", "traits": { - "smithy.api#documentation": "

A list of tags to associate with a cluster and propagate to EC2 instances. Tags are\n user-defined key-value pairs that consist of a required key string with a maximum of 128\n characters, and an optional value string with a maximum of 256 characters.

", + "smithy.api#documentation": "

A list of tags to associate with a resource. Tags are\n user-defined key-value pairs that consist of a required key string with a maximum of 128\n characters, and an optional value string with a maximum of 256 characters.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

This input identifies a cluster and a list of tags to attach.

" + "smithy.api#documentation": "

This input identifies an Amazon EMR resource and a list of tags to attach.

" } }, "com.amazonaws.emr#AddTagsOutput": { @@ -903,7 +903,7 @@ "ServiceRole": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

The IAM role that will be assumed by the Amazon EMR service to access Amazon Web Services resources on\n your behalf.

" + "smithy.api#documentation": "

The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on\n your behalf.

" } }, "NormalizedInstanceHours": { @@ -1444,7 +1444,7 @@ "AuthMode": { "target": "com.amazonaws.emr#AuthMode", "traits": { - "smithy.api#documentation": "

Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM.\n Amazon EMR Studio currently only supports SSO authentication.

", + "smithy.api#documentation": "

Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO.

", "smithy.api#required": {} } }, @@ -1465,15 +1465,14 @@ "ServiceRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a\n way for Amazon EMR Studio to interoperate with other Amazon Web Services services.

", + "smithy.api#documentation": "

The IAM role that the Amazon EMR Studio assumes. The service role provides a\n way for Amazon EMR Studio to interoperate with other Amazon Web Services services.

", "smithy.api#required": {} } }, "UserRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

The IAM user role that will be assumed by users and groups logged in to an Amazon EMR Studio. The\n permissions attached to this IAM role can be scoped down for each user or group using\n session policies.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a UserRole when you use Amazon Web Services SSO authentication. The\n permissions attached to the UserRole can be scoped down for each user or group using\n session policies.

" } }, "WorkspaceSecurityGroupId": { @@ -1497,6 +1496,18 @@ "smithy.api#required": {} } }, + "IdpAuthUrl": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.

" + } + }, + "IdpRelayStateParameterName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

The name that your identity provider (IdP) uses for its RelayState parameter. For example, RelayState or TargetSource. Specify this value when you use IAM authentication and want to let federated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP.

" + } + }, "Tags": { "target": "com.amazonaws.emr#TagList", "traits": { @@ -1536,7 +1547,7 @@ } ], "traits": { - "smithy.api#documentation": "

Maps a user or group to the Amazon EMR Studio specified by StudioId, and\n applies a session policy to refine Studio permissions for that user or group.

" + "smithy.api#documentation": "

Maps a user or group to the Amazon EMR Studio specified by StudioId, and\n applies a session policy to refine Studio permissions for that user or group. Use CreateStudioSessionMapping to assign users to a Studio when you use Amazon Web Services SSO authentication. For instructions on how to assign users to a Studio when you use IAM authentication, see Assign a user or group to your EMR Studio.

" } }, "com.amazonaws.emr#CreateStudioSessionMappingInput": { @@ -6317,7 +6328,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in\n various ways, such as grouping clusters to track your Amazon EMR resource allocation costs.\n For more information, see Tag Clusters.

\n

The following example removes the stack tag with value Prod from a cluster:

" + "smithy.api#documentation": "

Removes tags from an Amazon EMR resource, such as a cluster or Amazon EMR Studio. Tags make it easier to associate resources in\n various ways, such as grouping clusters to track your Amazon EMR resource allocation costs.\n For more information, see Tag Clusters.

\n

The following example removes the stack tag with value Prod from a cluster:

" } }, "com.amazonaws.emr#RemoveTagsInput": { @@ -6326,27 +6337,27 @@ "ResourceId": { "target": "com.amazonaws.emr#ResourceId", "traits": { - "smithy.api#documentation": "

The Amazon EMR resource identifier from which tags will be removed. This value must be a\n cluster identifier.

", + "smithy.api#documentation": "

The Amazon EMR resource identifier from which tags will be removed. For example, a\n cluster identifier or an Amazon EMR Studio ID.

", "smithy.api#required": {} } }, "TagKeys": { "target": "com.amazonaws.emr#StringList", "traits": { - "smithy.api#documentation": "

A list of tag keys to remove from a resource.

", + "smithy.api#documentation": "

A list of tag keys to remove from the resource.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

This input identifies a cluster and a list of tags to remove.

" + "smithy.api#documentation": "

This input identifies an Amazon EMR resource and a list of tags to remove.

" } }, "com.amazonaws.emr#RemoveTagsOutput": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

This output indicates the result of removing tags from a resource.

" + "smithy.api#documentation": "

This output indicates the result of removing tags from the resource.

" } }, "com.amazonaws.emr#RepoUpgradeOnBoot": { @@ -6482,7 +6493,7 @@ "ServiceRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

The IAM role that will be assumed by the Amazon EMR service to access Amazon Web Services resources on\n your behalf.

" + "smithy.api#documentation": "

The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on\n your behalf.

" } }, "Tags": { @@ -7616,7 +7627,7 @@ "AuthMode": { "target": "com.amazonaws.emr#AuthMode", "traits": { - "smithy.api#documentation": "

Specifies whether the Amazon EMR Studio authenticates users using single sign-on (SSO) or\n IAM.

" + "smithy.api#documentation": "

Specifies whether the Amazon EMR Studio authenticates users using IAM or Amazon Web Services SSO.

" } }, "VpcId": { @@ -7640,7 +7651,7 @@ "UserRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

The name of the IAM role assumed by users logged in to the Amazon EMR Studio.

" + "smithy.api#documentation": "

The name of the IAM role assumed by users logged in to the Amazon EMR Studio. A Studio only requires a UserRole when you use IAM authentication.

" } }, "WorkspaceSecurityGroupId": { @@ -7673,6 +7684,18 @@ "smithy.api#documentation": "

The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook\n files.

" } }, + "IdpAuthUrl": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL.

" + } + }, + "IdpRelayStateParameterName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

The name of your identity provider's RelayState parameter.

" + } + }, "Tags": { "target": "com.amazonaws.emr#TagList", "traits": { @@ -7717,6 +7740,12 @@ "smithy.api#documentation": "

The unique access URL of the Amazon EMR Studio.

" } }, + "AuthMode": { + "target": "com.amazonaws.emr#AuthMode", + "traits": { + "smithy.api#documentation": "

Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO.

" + } + }, "CreationTime": { "target": "com.amazonaws.emr#Date", "traits": { diff --git a/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json b/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json index 4309976689ce..b8681c50e40e 100644 --- a/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json +++ b/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json @@ -829,7 +829,7 @@ "AutoMLOverrideStrategy": { "target": "com.amazonaws.forecast#AutoMLOverrideStrategy", "traits": { - "smithy.api#documentation": "

Used to overide the default AutoML strategy, which is to optimize predictor accuracy.\n To apply an AutoML strategy that minimizes training time, use\n LatencyOptimized.

\n

This parameter is only valid for predictors trained using AutoML.

" + "smithy.api#documentation": "\n

The LatencyOptimized AutoML override strategy is only available in private beta.\n Contact AWS Support or your account manager to learn more about access privileges.\n

\n
\n

Used to overide the default AutoML strategy, which is to optimize predictor accuracy.\n To apply an AutoML strategy that minimizes training time, use\n LatencyOptimized.

\n

This parameter is only valid for predictors trained using AutoML.

" } }, "PerformHPO": { @@ -881,6 +881,12 @@ "traits": { "smithy.api#documentation": "

The optional metadata that you apply to the predictor to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n " } + }, + "OptimizationMetric": { + "target": "com.amazonaws.forecast#OptimizationMetric", + "traits": { + "smithy.api#documentation": "

The accuracy metric used to optimize the predictor.

" + } } } }, @@ -2000,7 +2006,7 @@ "AutoMLOverrideStrategy": { "target": "com.amazonaws.forecast#AutoMLOverrideStrategy", "traits": { - "smithy.api#documentation": "

The AutoML strategy used to train the predictor. Unless LatencyOptimized\n is specified, the AutoML strategy optimizes predictor accuracy.

\n

This parameter is only valid for predictors trained using AutoML.

" + "smithy.api#documentation": "\n

The LatencyOptimized AutoML override strategy is only available in private beta.\n Contact AWS Support or your account manager to learn more about access privileges.\n

\n
\n

The AutoML strategy used to train the predictor. Unless LatencyOptimized\n is specified, the AutoML strategy optimizes predictor accuracy.

\n

This parameter is only valid for predictors trained using AutoML.

" } }, "PerformHPO": { @@ -2092,6 +2098,12 @@ "traits": { "smithy.api#documentation": "

The last time the resource was modified. The timestamp depends on the status of the job:

\n " } + }, + "OptimizationMetric": { + "target": "com.amazonaws.forecast#OptimizationMetric", + "traits": { + "smithy.api#documentation": "

The accuracy metric used to optimize the predictor.

" + } } } }, @@ -2167,24 +2179,36 @@ "ForecastType": { "target": "com.amazonaws.forecast#ForecastType", "traits": { - "smithy.api#documentation": "

\n The Forecast type used to compute WAPE and RMSE.\n

" + "smithy.api#documentation": "

The Forecast type used to compute WAPE, MAPE, MASE, and RMSE.

" } }, "WAPE": { "target": "com.amazonaws.forecast#Double", "traits": { - "smithy.api#documentation": "

\n The weighted absolute percentage error (WAPE).\n

" + "smithy.api#documentation": "

The weighted absolute percentage error (WAPE).

" } }, "RMSE": { "target": "com.amazonaws.forecast#Double", "traits": { - "smithy.api#documentation": "

\n The root-mean-square error (RMSE).\n

" + "smithy.api#documentation": "

The root-mean-square error (RMSE).

" + } + }, + "MASE": { + "target": "com.amazonaws.forecast#Double", + "traits": { + "smithy.api#documentation": "

The Mean Absolute Scaled Error (MASE)

" + } + }, + "MAPE": { + "target": "com.amazonaws.forecast#Double", + "traits": { + "smithy.api#documentation": "

The Mean Absolute Percentage Error (MAPE)

" } } }, "traits": { - "smithy.api#documentation": "

\n Provides detailed error metrics to evaluate the performance of a predictor. This object is\n part of the Metrics object.\n

" + "smithy.api#documentation": "

Provides detailed error metrics to evaluate the performance of a predictor. This object\n is part of the Metrics object.

" } }, "com.amazonaws.forecast#ErrorMetrics": { @@ -2225,12 +2249,12 @@ "TestWindows": { "target": "com.amazonaws.forecast#TestWindows", "traits": { - "smithy.api#documentation": "

The array of test windows used for evaluating the algorithm. The\n NumberOfBacktestWindows from the EvaluationParameters\n object determines the number of windows in the array.

" + "smithy.api#documentation": "

The array of test windows used for evaluating the algorithm. The\n NumberOfBacktestWindows from the EvaluationParameters object\n determines the number of windows in the array.

" } } }, "traits": { - "smithy.api#documentation": "

The results of evaluating an algorithm. Returned as part of the\n GetAccuracyMetrics response.

" + "smithy.api#documentation": "

The results of evaluating an algorithm. Returned as part of the GetAccuracyMetrics response.

" } }, "com.amazonaws.forecast#EvaluationType": { @@ -2610,7 +2634,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and\n to decide whether to use the predictor to generate a forecast. For more information, see\n Predictor\n Metrics.

\n

This operation generates metrics for each backtest window that was evaluated. The number of backtest windows\n (NumberOfBacktestWindows) is specified using the\n EvaluationParameters object, which is optionally\n included in the CreatePredictor request. If\n NumberOfBacktestWindows isn't specified, the number defaults to one.

\n

The parameters of the filling method determine which items contribute to\n the metrics. If you want all items to contribute, specify zero.\n If you want only those items that have complete data in the range being evaluated to\n contribute, specify nan.\n For more information, see FeaturizationMethod.

\n \n \n

Before you can get accuracy metrics, the Status of the predictor must be\n ACTIVE, signifying that training has completed.\n To get the status, use the DescribePredictor operation.

\n
", + "smithy.api#documentation": "

Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and\n to decide whether to use the predictor to generate a forecast. For more information, see\n Predictor\n Metrics.

\n

This operation generates metrics for each backtest window that was evaluated. The number\n of backtest windows (NumberOfBacktestWindows) is specified using the EvaluationParameters object, which is optionally included in the\n CreatePredictor request. If NumberOfBacktestWindows isn't\n specified, the number defaults to one.

\n

The parameters of the filling method determine which items contribute to the\n metrics. If you want all items to contribute, specify zero. If you want only\n those items that have complete data in the range being evaluated to contribute, specify\n nan. For more information, see FeaturizationMethod.

\n \n \n

Before you can get accuracy metrics, the Status of the predictor must be\n ACTIVE, signifying that training has completed. To get the status, use the\n DescribePredictor operation.

\n
", "smithy.api#idempotent": {} } }, @@ -2638,7 +2662,13 @@ "AutoMLOverrideStrategy": { "target": "com.amazonaws.forecast#AutoMLOverrideStrategy", "traits": { - "smithy.api#documentation": "

The AutoML strategy used to train the predictor. Unless LatencyOptimized\n is specified, the AutoML strategy optimizes predictor accuracy.

\n

This parameter is only valid for predictors trained using AutoML.

" + "smithy.api#documentation": "\n

The LatencyOptimized AutoML override strategy is only available in private beta.\n Contact AWS Support or your account manager to learn more about access privileges.\n

\n
\n

The AutoML strategy used to train the predictor. Unless LatencyOptimized\n is specified, the AutoML strategy optimizes predictor accuracy.

\n

This parameter is only valid for predictors trained using AutoML.

" + } + }, + "OptimizationMetric": { + "target": "com.amazonaws.forecast#OptimizationMetric", + "traits": { + "smithy.api#documentation": "

The accuracy metric used to optimize the predictor.

" } } } @@ -3314,12 +3344,18 @@ "ErrorMetrics": { "target": "com.amazonaws.forecast#ErrorMetrics", "traits": { - "smithy.api#documentation": "

\n Provides detailed error metrics on forecast type, root-mean square-error (RMSE), and weighted\n average percentage error (WAPE).\n

" + "smithy.api#documentation": "

Provides detailed error metrics for each forecast type. Metrics include root-mean\n square-error (RMSE), mean absolute percentage error (MAPE), mean absolute scaled error (MASE),\n and weighted average percentage error (WAPE).

" + } + }, + "AverageWeightedQuantileLoss": { + "target": "com.amazonaws.forecast#Double", + "traits": { + "smithy.api#documentation": "

The average value of all weighted quantile losses.

" } } }, "traits": { - "smithy.api#documentation": "

Provides metrics that are used to evaluate the performance of a predictor. This object\n is part of the WindowSummary object.

" + "smithy.api#documentation": "

Provides metrics that are used to evaluate the performance of a predictor. This object is\n part of the WindowSummary object.

" } }, "com.amazonaws.forecast#Name": { @@ -3341,6 +3377,33 @@ } } }, + "com.amazonaws.forecast#OptimizationMetric": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WAPE", + "name": "WAPE" + }, + { + "value": "RMSE", + "name": "RMSE" + }, + { + "value": "AverageWeightedQuantileLoss", + "name": "AverageWeightedQuantileLoss" + }, + { + "value": "MASE", + "name": "MASE" + }, + { + "value": "MAPE", + "name": "MAPE" + } + ] + } + }, "com.amazonaws.forecast#ParameterKey": { "type": "string", "traits": { @@ -4173,7 +4236,7 @@ "Quantile": { "target": "com.amazonaws.forecast#Double", "traits": { - "smithy.api#documentation": "

The quantile. Quantiles divide a probability distribution into regions of equal\n probability. For example, if the distribution was divided into 5 regions of equal\n probability, the quantiles would be 0.2, 0.4, 0.6, and 0.8.

" + "smithy.api#documentation": "

The quantile. Quantiles divide a probability distribution into regions of equal\n probability. For example, if the distribution was divided into 5 regions of equal probability,\n the quantiles would be 0.2, 0.4, 0.6, and 0.8.

" } }, "LossValue": { @@ -4184,7 +4247,7 @@ } }, "traits": { - "smithy.api#documentation": "

The weighted loss value for a quantile. This object is part of the\n Metrics object.

" + "smithy.api#documentation": "

The weighted loss value for a quantile. This object is part of the Metrics object.

" } }, "com.amazonaws.forecast#WeightedQuantileLosses": { @@ -4228,7 +4291,7 @@ } }, "traits": { - "smithy.api#documentation": "

The metrics for a time range within the evaluation portion of a dataset. This object\n is part of the EvaluationResult object.

\n

The TestWindowStart and TestWindowEnd parameters are\n determined by the BackTestWindowOffset parameter of the\n EvaluationParameters object.

" + "smithy.api#documentation": "

The metrics for a time range within the evaluation portion of a dataset. This object is\n part of the EvaluationResult object.

\n

The TestWindowStart and TestWindowEnd parameters are determined\n by the BackTestWindowOffset parameter of the EvaluationParameters object.

" } } } diff --git a/codegen/sdk-codegen/aws-models/frauddetector.2019-11-15.json b/codegen/sdk-codegen/aws-models/frauddetector.2019-11-15.json index a1fc7d187438..2fb1d34887c3 100644 --- a/codegen/sdk-codegen/aws-models/frauddetector.2019-11-15.json +++ b/codegen/sdk-codegen/aws-models/frauddetector.2019-11-15.json @@ -2360,6 +2360,55 @@ "target": "com.amazonaws.frauddetector#ExternalModel" } }, + "com.amazonaws.frauddetector#ExternalModelOutputs": { + "type": "structure", + "members": { + "externalModel": { + "target": "com.amazonaws.frauddetector#ExternalModelSummary", + "traits": { + "smithy.api#documentation": "

The Amazon SageMaker model.

" + } + }, + "outputs": { + "target": "com.amazonaws.frauddetector#ExternalModelPredictionMap", + "traits": { + "smithy.api#documentation": "

The fraud prediction scores from Amazon SageMaker model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The fraud prediction scores from Amazon SageMaker model.

" + } + }, + "com.amazonaws.frauddetector#ExternalModelPredictionMap": { + "type": "map", + "key": { + "target": "com.amazonaws.frauddetector#string" + }, + "value": { + "target": "com.amazonaws.frauddetector#string" + } + }, + "com.amazonaws.frauddetector#ExternalModelSummary": { + "type": "structure", + "members": { + "modelEndpoint": { + "target": "com.amazonaws.frauddetector#string", + "traits": { + "smithy.api#documentation": "

The endpoint of the Amazon SageMaker model.

" + } + }, + "modelSource": { + "target": "com.amazonaws.frauddetector#ModelSource", + "traits": { + "smithy.api#documentation": "

The source of the model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon SageMaker model.

" + } + }, "com.amazonaws.frauddetector#ExternalModelsMaxResults": { "type": "integer", "traits": { @@ -2883,6 +2932,12 @@ "traits": { "smithy.api#documentation": "

The results from the rules.

" } + }, + "externalModelOutputs": { + "target": "com.amazonaws.frauddetector#ListOfExternalModelOutputs", + "traits": { + "smithy.api#documentation": "

The model scores for Amazon SageMaker models.

" + } } } }, @@ -3687,6 +3742,12 @@ ] } }, + "com.amazonaws.frauddetector#ListOfExternalModelOutputs": { + "type": "list", + "member": { + "target": "com.amazonaws.frauddetector#ExternalModelOutputs" + } + }, "com.amazonaws.frauddetector#ListOfLogOddsMetrics": { "type": "list", "member": { diff --git a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json index a3dbf6ee5a12..0e20da52af83 100644 --- a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json +++ b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json @@ -418,6 +418,13 @@ "smithy.api#documentation": "

Details for ClientAuthentication using TLS.

", "smithy.api#jsonName": "tls" } + }, + "Unauthenticated": { + "target": "com.amazonaws.kafka#Unauthenticated", + "traits": { + "smithy.api#documentation": "

Contains information about unauthenticated traffic to the cluster.

", + "smithy.api#jsonName": "unauthenticated" + } } }, "traits": { @@ -2131,6 +2138,9 @@ }, { "target": "com.amazonaws.kafka#UpdateMonitoring" + }, + { + "target": "com.amazonaws.kafka#UpdateSecurity" } ], "traits": { @@ -2883,6 +2893,7 @@ "LoggingInfo": { "target": "com.amazonaws.kafka#LoggingInfo", "traits": { + "smithy.api#documentation": "

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

", "smithy.api#jsonName": "loggingInfo" } }, @@ -2892,6 +2903,20 @@ "smithy.api#documentation": "

Information about the Amazon MSK broker type.

", "smithy.api#jsonName": "instanceType" } + }, + "ClientAuthentication": { + "target": "com.amazonaws.kafka#ClientAuthentication", + "traits": { + "smithy.api#documentation": "

Includes all client authentication information.

", + "smithy.api#jsonName": "clientAuthentication" + } + }, + "EncryptionInfo": { + "target": "com.amazonaws.kafka#EncryptionInfo", + "traits": { + "smithy.api#documentation": "

Includes all encryption-related information.

", + "smithy.api#jsonName": "encryptionInfo" + } } }, "traits": { @@ -3347,6 +3372,13 @@ "smithy.api#documentation": "

List of ACM Certificate Authority ARNs.

", "smithy.api#jsonName": "certificateAuthorityArnList" } + }, + "Enabled": { + "target": "com.amazonaws.kafka#__boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether you want to enable or disable TLS authentication.

", + "smithy.api#jsonName": "enabled" + } } }, "traits": { @@ -3377,6 +3409,18 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.kafka#Unauthenticated": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.kafka#__boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether you want to enable or disable unauthenticated traffic to your cluster.

", + "smithy.api#jsonName": "enabled" + } + } + } + }, "com.amazonaws.kafka#UnauthorizedException": { "type": "structure", "members": { @@ -4089,6 +4133,100 @@ } } }, + "com.amazonaws.kafka#UpdateSecurity": { + "type": "operation", + "input": { + "target": "com.amazonaws.kafka#UpdateSecurityRequest" + }, + "output": { + "target": "com.amazonaws.kafka#UpdateSecurityResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kafka#BadRequestException" + }, + { + "target": "com.amazonaws.kafka#ForbiddenException" + }, + { + "target": "com.amazonaws.kafka#InternalServerErrorException" + }, + { + "target": "com.amazonaws.kafka#NotFoundException" + }, + { + "target": "com.amazonaws.kafka#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.kafka#TooManyRequestsException" + }, + { + "target": "com.amazonaws.kafka#UnauthorizedException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the security settings for the cluster. You can use this operation to specify encryption and authentication on existing clusters.

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/v1/clusters/{ClusterArn}/security", + "code": 200 + } + } + }, + "com.amazonaws.kafka#UpdateSecurityRequest": { + "type": "structure", + "members": { + "ClientAuthentication": { + "target": "com.amazonaws.kafka#ClientAuthentication", + "traits": { + "smithy.api#documentation": "

Includes all client authentication related information.

", + "smithy.api#jsonName": "clientAuthentication" + } + }, + "ClusterArn": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "CurrentVersion": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version.

", + "smithy.api#jsonName": "currentVersion", + "smithy.api#required": {} + } + }, + "EncryptionInfo": { + "target": "com.amazonaws.kafka#EncryptionInfo", + "traits": { + "smithy.api#documentation": "

Includes all encryption-related information.

", + "smithy.api#jsonName": "encryptionInfo" + } + } + } + }, + "com.amazonaws.kafka#UpdateSecurityResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster.

", + "smithy.api#jsonName": "clusterArn" + } + }, + "ClusterOperationArn": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster operation.

", + "smithy.api#jsonName": "clusterOperationArn" + } + } + } + }, "com.amazonaws.kafka#ZookeeperNodeInfo": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/lookoutequipment.2020-12-15.json b/codegen/sdk-codegen/aws-models/lookoutequipment.2020-12-15.json index 5a4e3d21bdc4..64678075d2fe 100644 --- a/codegen/sdk-codegen/aws-models/lookoutequipment.2020-12-15.json +++ b/codegen/sdk-codegen/aws-models/lookoutequipment.2020-12-15.json @@ -148,7 +148,7 @@ "min": 1, "max": 5000 }, - "smithy.api#pattern": "[\\P{M}\\p{M}]{1,5000}" + "smithy.api#pattern": "^[\\P{M}\\p{M}]{1,5000}$" } }, "com.amazonaws.lookoutequipment#ComponentTimestampDelimiter": { @@ -229,7 +229,7 @@ "ServerSideKmsKeyId": { "target": "com.amazonaws.lookoutequipment#NameOrArn", "traits": { - "smithy.api#documentation": "

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt dataset data by Amazon Lookout for Equipment.

" + "smithy.api#documentation": "

Provides the identifier of the KMS key used to encrypt dataset data by Amazon Lookout for Equipment.

" } }, "ClientToken": { @@ -326,7 +326,7 @@ "DataDelayOffsetInMinutes": { "target": "com.amazonaws.lookoutequipment#DataDelayOffsetInMinutes", "traits": { - "smithy.api#documentation": "

A period of time (in minutes) by which inference on the data is delayed after the data\n starts. For instance, if you select an offset delay time of five minutes, inference will\n not begin on the data until the first data measurement after the five minute mark. For example, if \n five minutes is selected, the inference scheduler will wake up at the configured frequency with the \n additional five minute delay time to check the customer S3 bucket. The customer can upload data at \n the same frequency and they don't need to stop and restart the scheduler when uploading new data.

" + "smithy.api#documentation": "

A period of time (in minutes) by which inference on the data is delayed after the data\n starts. For instance, if you select an offset delay time of five minutes, inference will\n not begin on the data until the first data measurement after the five minute mark. For example, if \n five minutes is selected, the inference scheduler will wake up at the configured frequency with the \n additional five minute delay time to check the customer S3 bucket. The customer can upload data at \n the same frequency and they don't need to stop and restart the scheduler when uploading new data.

" } }, "DataUploadFrequency": { @@ -360,7 +360,7 @@ "ServerSideKmsKeyId": { "target": "com.amazonaws.lookoutequipment#NameOrArn", "traits": { - "smithy.api#documentation": "

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt inference scheduler data by Amazon Lookout for Equipment.

" + "smithy.api#documentation": "

Provides the identifier of the KMS key used to encrypt inference scheduler data by Amazon Lookout for Equipment.

" } }, "ClientToken": { @@ -513,7 +513,7 @@ "ServerSideKmsKeyId": { "target": "com.amazonaws.lookoutequipment#NameOrArn", "traits": { - "smithy.api#documentation": "

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt model data by Amazon Lookout for Equipment.

" + "smithy.api#documentation": "

Provides the identifier of the KMS key used to encrypt model data by Amazon Lookout for Equipment.

" } }, "Tags": { @@ -521,6 +521,12 @@ "traits": { "smithy.api#documentation": "

Any tags associated with the ML model being created.

" } + }, + "OffCondition": { + "target": "com.amazonaws.lookoutequipment#OffCondition", + "traits": { + "smithy.api#documentation": "

Indicates that the asset associated with this sensor has been shut off. As long as this condition is met, Lookout for Equipment will not use data from this asset for training, evaluation, or inference.

" + } } } }, @@ -643,7 +649,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "arn:aws(-[^:]+)?:lookoutequipment:[a-zA-Z0-9\\-]*:[0-9]{12}:dataset\\/.+" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:lookoutequipment:[a-zA-Z0-9\\-]*:[0-9]{12}:dataset\\/.+$" } }, "com.amazonaws.lookoutequipment#DatasetIdentifier": { @@ -968,7 +974,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides information on a specified dataset such as the schema location, status, and so\n on.

" + "smithy.api#documentation": "

Provides a JSON description of the data that is in each time series dataset, including names, column names, and data types.

" } }, "com.amazonaws.lookoutequipment#DescribeDatasetRequest": { @@ -1025,7 +1031,7 @@ "ServerSideKmsKeyId": { "target": "com.amazonaws.lookoutequipment#KmsKeyArn", "traits": { - "smithy.api#documentation": "

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt dataset data by Amazon Lookout for Equipment.

" + "smithy.api#documentation": "

Provides the identifier of the KMS key used to encrypt dataset data by Amazon Lookout for Equipment.

" } }, "IngestionInputConfiguration": { @@ -1155,7 +1161,7 @@ "ServerSideKmsKeyId": { "target": "com.amazonaws.lookoutequipment#KmsKeyArn", "traits": { - "smithy.api#documentation": "

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt inference scheduler data by Amazon Lookout for Equipment.

" + "smithy.api#documentation": "

Provides the identifier of the KMS key used to encrypt inference scheduler data by Amazon Lookout for Equipment.

" } } } @@ -1186,7 +1192,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides overall information about a specific ML model, including model name and ARN,\n dataset, training and evaluation information, status, and so on.

" + "smithy.api#documentation": "

Provides a JSON containing the overall information about a specific ML model, including model name and ARN,\n dataset, training and evaluation information, status, and so on.

" } }, "com.amazonaws.lookoutequipment#DescribeModelRequest": { @@ -1321,7 +1327,13 @@ "ServerSideKmsKeyId": { "target": "com.amazonaws.lookoutequipment#KmsKeyArn", "traits": { - "smithy.api#documentation": "

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt model data by Amazon Lookout for Equipment.

" + "smithy.api#documentation": "

Provides the identifier of the KMS key used to encrypt model data by Amazon Lookout for Equipment.

" + } + }, + "OffCondition": { + "target": "com.amazonaws.lookoutequipment#OffCondition", + "traits": { + "smithy.api#documentation": "

Indicates that the asset associated with this sensor has been shut off. As long as this condition is met, Lookout for Equipment will not use data from this asset for training, evaluation, or inference.

" } } } @@ -1339,7 +1351,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+$" } }, "com.amazonaws.lookoutequipment#IdempotenceToken": { @@ -1349,7 +1361,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "\\p{ASCII}{1,256}" + "smithy.api#pattern": "^\\p{ASCII}{1,256}$" } }, "com.amazonaws.lookoutequipment#InferenceExecutionStatus": { @@ -1475,12 +1487,12 @@ "InferenceInputNameConfiguration": { "target": "com.amazonaws.lookoutequipment#InferenceInputNameConfiguration", "traits": { - "smithy.api#documentation": "

> Specifies configuration information for the input data for the inference, including\n timestamp format and delimiter.

" + "smithy.api#documentation": "

Specifies configuration information for the input data for the inference, including\n timestamp format and delimiter.

" } } }, "traits": { - "smithy.api#documentation": "

> Specifies configuration information for the input data for the inference, including S3\n location of input data..

" + "smithy.api#documentation": "

Specifies configuration information for the input data for the inference, including S3\n location of input data..

" } }, "com.amazonaws.lookoutequipment#InferenceInputNameConfiguration": { @@ -1500,7 +1512,7 @@ } }, "traits": { - "smithy.api#documentation": "

>> Specifies configuration information for the input data for the inference, including\n timestamp format and delimiter.

" + "smithy.api#documentation": "

Specifies configuration information for the input data for the inference, including\n timestamp format and delimiter.

" } }, "com.amazonaws.lookoutequipment#InferenceOutputConfiguration": { @@ -1573,7 +1585,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "arn:aws(-[^:]+)?:lookoutequipment:[a-zA-Z0-9\\-]*:[0-9]{12}:inference-scheduler\\/.+" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:lookoutequipment:[a-zA-Z0-9\\-]*:[0-9]{12}:inference-scheduler\\/.+$" } }, "com.amazonaws.lookoutequipment#InferenceSchedulerIdentifier": { @@ -1661,7 +1673,7 @@ "DataDelayOffsetInMinutes": { "target": "com.amazonaws.lookoutequipment#DataDelayOffsetInMinutes", "traits": { - "smithy.api#documentation": "

> A period of time (in minutes) by which inference on the data is delayed after the data\n starts. For instance, if an offset delay time of five minutes was selected, inference will\n not begin on the data until the first data measurement after the five minute mark. For example, if \n five minutes is selected, the inference scheduler will wake up at the configured frequency with the \n additional five minute delay time to check the customer S3 bucket. The customer can upload data at \n the same frequency and they don't need to stop and restart the scheduler when uploading new data.\n

" + "smithy.api#documentation": "

A period of time (in minutes) by which inference on the data is delayed after the data\n starts. For instance, if an offset delay time of five minutes was selected, inference will\n not begin on the data until the first data measurement after the five minute mark. For example, if \n five minutes is selected, the inference scheduler will wake up at the configured frequency with the \n additional five minute delay time to check the customer S3 bucket. The customer can upload data at \n the same frequency and they don't need to stop and restart the scheduler when uploading new data.\n

" } }, "DataUploadFrequency": { @@ -1697,7 +1709,7 @@ "min": 0, "max": 32 }, - "smithy.api#pattern": "[A-Fa-f0-9]{0,32}" + "smithy.api#pattern": "^[A-Fa-f0-9]{0,32}$" } }, "com.amazonaws.lookoutequipment#IngestionJobStatus": { @@ -1763,7 +1775,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": "arn:aws[a-z\\-]*:kms:[a-z0-9\\-]*:\\d{12}:[\\w\\-\\/]+" + "smithy.api#pattern": "^arn:aws[a-z\\-]*:kms:[a-z0-9\\-]*:\\d{12}:[\\w\\-\\/]+$" } }, "com.amazonaws.lookoutequipment#LabelsInputConfiguration": { @@ -2272,7 +2284,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "arn:aws(-[^:]+)?:lookoutequipment:[a-zA-Z0-9\\-]*:[0-9]{12}:model\\/.+" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:lookoutequipment:[a-zA-Z0-9\\-]*:[0-9]{12}:model\\/.+$" } }, "com.amazonaws.lookoutequipment#ModelName": { @@ -2371,7 +2383,16 @@ "min": 0, "max": 8192 }, - "smithy.api#pattern": "\\p{ASCII}{0,8192}" + "smithy.api#pattern": "^\\p{ASCII}{0,8192}$" + } + }, + "com.amazonaws.lookoutequipment#OffCondition": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } } }, "com.amazonaws.lookoutequipment#ResourceNotFoundException": { @@ -2407,7 +2428,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": "[\\P{M}\\p{M}]{1,1024}[^/]$" + "smithy.api#pattern": "^[\\P{M}\\p{M}]{1,1024}[^/]$" } }, "com.amazonaws.lookoutequipment#S3Object": { @@ -2439,7 +2460,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "(^$)|([\\P{M}\\p{M}]{1,1023}/$)" + "smithy.api#pattern": "^(^$)|([\\P{M}\\p{M}]{1,1023}/$)$" } }, "com.amazonaws.lookoutequipment#ServiceQuotaExceededException": { @@ -2840,7 +2861,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "[\\s\\w+-=\\.:/@]*" + "smithy.api#pattern": "^[\\s\\w+-=\\.:/@]*$" } }, "com.amazonaws.lookoutequipment#TargetSamplingRate": { @@ -3013,7 +3034,7 @@ "DataDelayOffsetInMinutes": { "target": "com.amazonaws.lookoutequipment#DataDelayOffsetInMinutes", "traits": { - "smithy.api#documentation": "

> A period of time (in minutes) by which inference on the data is delayed after the data\n starts. For instance, if you select an offset delay time of five minutes, inference will\n not begin on the data until the first data measurement after the five minute mark. For example, if \n five minutes is selected, the inference scheduler will wake up at the configured frequency with the \n additional five minute delay time to check the customer S3 bucket. The customer can upload data at \n the same frequency and they don't need to stop and restart the scheduler when uploading new data.

" + "smithy.api#documentation": "

A period of time (in minutes) by which inference on the data is delayed after the data\n starts. For instance, if you select an offset delay time of five minutes, inference will\n not begin on the data until the first data measurement after the five minute mark. For example, if \n five minutes is selected, the inference scheduler will wake up at the configured frequency with the \n additional five minute delay time to check the customer S3 bucket. The customer can upload data at \n the same frequency and they don't need to stop and restart the scheduler when uploading new data.

" } }, "DataUploadFrequency": { diff --git a/codegen/sdk-codegen/aws-models/mediapackage.2017-10-12.json b/codegen/sdk-codegen/aws-models/mediapackage.2017-10-12.json index 7551ec8639b0..f7fcb7204d53 100644 --- a/codegen/sdk-codegen/aws-models/mediapackage.2017-10-12.json +++ b/codegen/sdk-codegen/aws-models/mediapackage.2017-10-12.json @@ -1558,7 +1558,7 @@ } }, "traits": { - "smithy.api#documentation": "Use encryptionContractConfiguration to configure one or more content encryption keys for your endpoints that use SPEKE 2.0. \nThe encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. \nTo configure the encryption contract, specify which audio and video encryption presets to use.\nNote the following considerations when using encryptionContractConfiguration:\nencryptionContractConfiguration can be used for DASH endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification.\nYou must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0." + "smithy.api#documentation": "Use encryptionContractConfiguration to configure one or more content encryption keys for your endpoints that use SPEKE 2.0. \nThe encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. \nTo configure the encryption contract, specify which audio and video encryption presets to use.\nNote the following considerations when using encryptionContractConfiguration:\nencryptionContractConfiguration can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification.\nYou must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0." } }, "com.amazonaws.mediapackage#EncryptionMethod": { diff --git a/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json b/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json new file mode 100644 index 000000000000..98dee42f15a9 --- /dev/null +++ b/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json @@ -0,0 +1,7058 @@ +{ + "smithy": "1.0", + "metadata": { + "suppressions": [ + { + "id": "HttpMethodSemantics", + "namespace": "*" + }, + { + "id": "HttpResponseCodeSemantics", + "namespace": "*" + }, + { + "id": "PaginatedTrait", + "namespace": "*" + }, + { + "id": "HttpHeaderTrait", + "namespace": "*" + }, + { + "id": "HttpUriConflict", + "namespace": "*" + }, + { + "id": "Service", + "namespace": "*" + } + ] + }, + "shapes": { + "com.amazonaws.opensearch#ARN": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the domain. See Identifiers for IAM Entities\n in Using AWS Identity and Access Management for more information.\n

", + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#AWSDomainInformation": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.opensearch#OwnerId" + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#required": {} + } + }, + "Region": { + "target": "com.amazonaws.opensearch#Region" + } + } + }, + "com.amazonaws.opensearch#AcceptInboundConnection": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#AcceptInboundConnectionRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#AcceptInboundConnectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows the remote domain owner to accept an inbound cross-cluster connection request.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/accept", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#AcceptInboundConnectionRequest": { + "type": "structure", + "members": { + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The ID of the inbound connection you want to accept.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n AcceptInboundConnection\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#AcceptInboundConnectionResponse": { + "type": "structure", + "members": { + "Connection": { + "target": "com.amazonaws.opensearch#InboundConnection", + "traits": { + "smithy.api#documentation": "

The\n \n InboundConnection\n \n of the accepted inbound connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of an\n \n AcceptInboundConnection\n \n operation. Contains details about the accepted inbound connection.\n

" + } + }, + "com.amazonaws.opensearch#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An error occurred because user does not have permissions to access the resource. Returns HTTP status code 403.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.opensearch#AccessPoliciesStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The access policy configured for the domain. Access policies can be resource-based, IP-based, or\n IAM-based. See \n Configuring access policiesfor more information.\n

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the access policy for the domain. See OptionStatus for the status\n information that's included.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configured access rules for the domain's document and search endpoints, and the current status of those\n rules.\n

" + } + }, + "com.amazonaws.opensearch#AddTags": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#AddTagsRequest" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Attaches tags to an existing domain. Tags are a set of case-sensitive key value pairs. An\n domain can have up to 10 tags. See\n \n Tagging Amazon OpenSearch Service domains for more information.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/tags", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#AddTagsRequest": { + "type": "structure", + "members": { + "ARN": { + "target": "com.amazonaws.opensearch#ARN", + "traits": { + "smithy.api#documentation": "

Specify the ARN of the domain you want to add tags to.\n

", + "smithy.api#required": {} + } + }, + "TagList": { + "target": "com.amazonaws.opensearch#TagList", + "traits": { + "smithy.api#documentation": "

List of Tag to add to the domain.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n AddTags\n \n operation. Specifies the tags to attach to the domain.\n

" + } + }, + "com.amazonaws.opensearch#AdditionalLimit": { + "type": "structure", + "members": { + "LimitName": { + "target": "com.amazonaws.opensearch#LimitName", + "traits": { + "smithy.api#documentation": "

\n Additional limit is specific to a given InstanceType and for each of its\n \n InstanceRole\n \n etc.\n

\n Attributes and their details:\n

\n

\n

" + } + }, + "LimitValues": { + "target": "com.amazonaws.opensearch#LimitValueList", + "traits": { + "smithy.api#documentation": "

\n Value for a given\n \n AdditionalLimit$LimitName\n \n .\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n List of limits that are specific to a given InstanceType and for each of its\n \n InstanceRole\n \n .\n

" + } + }, + "com.amazonaws.opensearch#AdditionalLimitList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#AdditionalLimit" + } + }, + "com.amazonaws.opensearch#AdvancedOptions": { + "type": "map", + "key": { + "target": "com.amazonaws.opensearch#String" + }, + "value": { + "target": "com.amazonaws.opensearch#String" + }, + "traits": { + "smithy.api#documentation": "

Exposes select native OpenSearch configuration values from opensearch.yml. Currently, the\n following advanced options are available:\n

\n \n

For more information, see \n Advanced cluster parameters.\n

" + } + }, + "com.amazonaws.opensearch#AdvancedOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#AdvancedOptions", + "traits": { + "smithy.api#documentation": "

The status of advanced options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The OptionStatus for advanced options for the specified domain.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Status of the advanced options for the specified domain. Currently, the following advanced options\n are available:\n

\n \n

For more information, see \n Advanced cluster parameters.\n

" + } + }, + "com.amazonaws.opensearch#AdvancedSecurityOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True if advanced security is enabled.

" + } + }, + "InternalUserDatabaseEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True if the internal user database is enabled.

" + } + }, + "SAMLOptions": { + "target": "com.amazonaws.opensearch#SAMLOptionsOutput", + "traits": { + "smithy.api#documentation": "

Describes the SAML application configured for a domain.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The advanced security configuration: whether advanced security is enabled, whether the internal\n database option is enabled.\n

" + } + }, + "com.amazonaws.opensearch#AdvancedSecurityOptionsInput": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True if advanced security is enabled.

" + } + }, + "InternalUserDatabaseEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True if the internal user database is enabled.

" + } + }, + "MasterUserOptions": { + "target": "com.amazonaws.opensearch#MasterUserOptions", + "traits": { + "smithy.api#documentation": "

Credentials for the master user: username and password, ARN, or both.

" + } + }, + "SAMLOptions": { + "target": "com.amazonaws.opensearch#SAMLOptionsInput", + "traits": { + "smithy.api#documentation": "

The SAML application configuration for the domain.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The advanced security configuration: whether advanced security is enabled, whether the internal\n database option is enabled, master username and password (if internal database is enabled), and master user ARN\n (if IAM is enabled).\n

" + } + }, + "com.amazonaws.opensearch#AdvancedSecurityOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#AdvancedSecurityOptions", + "traits": { + "smithy.api#documentation": "

Advanced security options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

Status of the advanced security options for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The status of advanced security options for the specified domain.

" + } + }, + "com.amazonaws.opensearch#AmazonOpenSearchService": { + "type": "service", + "version": "2021-01-01", + "operations": [ + { + "target": "com.amazonaws.opensearch#AcceptInboundConnection" + }, + { + "target": "com.amazonaws.opensearch#AddTags" + }, + { + "target": "com.amazonaws.opensearch#AssociatePackage" + }, + { + "target": "com.amazonaws.opensearch#CancelServiceSoftwareUpdate" + }, + { + "target": "com.amazonaws.opensearch#CreateDomain" + }, + { + "target": "com.amazonaws.opensearch#CreateOutboundConnection" + }, + { + "target": "com.amazonaws.opensearch#CreatePackage" + }, + { + "target": "com.amazonaws.opensearch#DeleteDomain" + }, + { + "target": "com.amazonaws.opensearch#DeleteInboundConnection" + }, + { + "target": "com.amazonaws.opensearch#DeleteOutboundConnection" + }, + { + "target": "com.amazonaws.opensearch#DeletePackage" + }, + { + "target": "com.amazonaws.opensearch#DescribeDomain" + }, + { + "target": "com.amazonaws.opensearch#DescribeDomainAutoTunes" + }, + { + "target": "com.amazonaws.opensearch#DescribeDomainConfig" + }, + { + "target": "com.amazonaws.opensearch#DescribeDomains" + }, + { + "target": "com.amazonaws.opensearch#DescribeInboundConnections" + }, + { + "target": "com.amazonaws.opensearch#DescribeInstanceTypeLimits" + }, + { + "target": "com.amazonaws.opensearch#DescribeOutboundConnections" + }, + { + "target": "com.amazonaws.opensearch#DescribePackages" + }, + { + "target": "com.amazonaws.opensearch#DescribeReservedInstanceOfferings" + }, + { + "target": "com.amazonaws.opensearch#DescribeReservedInstances" + }, + { + "target": "com.amazonaws.opensearch#DissociatePackage" + }, + { + "target": "com.amazonaws.opensearch#GetCompatibleVersions" + }, + { + "target": "com.amazonaws.opensearch#GetPackageVersionHistory" + }, + { + "target": "com.amazonaws.opensearch#GetUpgradeHistory" + }, + { + "target": "com.amazonaws.opensearch#GetUpgradeStatus" + }, + { + "target": "com.amazonaws.opensearch#ListDomainNames" + }, + { + "target": "com.amazonaws.opensearch#ListDomainsForPackage" + }, + { + "target": "com.amazonaws.opensearch#ListInstanceTypeDetails" + }, + { + "target": "com.amazonaws.opensearch#ListPackagesForDomain" + }, + { + "target": "com.amazonaws.opensearch#ListTags" + }, + { + "target": "com.amazonaws.opensearch#ListVersions" + }, + { + "target": "com.amazonaws.opensearch#PurchaseReservedInstanceOffering" + }, + { + "target": "com.amazonaws.opensearch#RejectInboundConnection" + }, + { + "target": "com.amazonaws.opensearch#RemoveTags" + }, + { + "target": "com.amazonaws.opensearch#StartServiceSoftwareUpdate" + }, + { + "target": "com.amazonaws.opensearch#UpdateDomainConfig" + }, + { + "target": "com.amazonaws.opensearch#UpdatePackage" + }, + { + "target": "com.amazonaws.opensearch#UpgradeDomain" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "OpenSearch", + "arnNamespace": "es", + "cloudFormationName": "OpenSearch", + "cloudTrailEventSource": "opensearch.amazonaws.com", + "endpointPrefix": "es" + }, + "aws.auth#sigv4": { + "name": "es" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "Amazon OpenSearch Configuration Service\n

Use the Amazon OpenSearch configuration API to create, configure, and manage Amazon OpenSearch Service domains.

\n

For sample code that uses the configuration API, see the \n Amazon OpenSearch Service Developer Guide.\n The guide also contains \n sample\n code for sending signed HTTP requests to the OpenSearch APIs.\n

\n

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com.\n For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints,\n see Regions and Endpoints.\n

", + "smithy.api#title": "Amazon OpenSearch Service", + "smithy.api#xmlNamespace": { + "uri": "http://es.amazonaws.com/doc/2021-01-01/" + } + } + }, + "com.amazonaws.opensearch#AssociatePackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#AssociatePackageRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#AssociatePackageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#ConflictException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Associates a package with an Amazon OpenSearch Service domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/packages/associate/{PackageID}/{DomainName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#AssociatePackageRequest": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

Internal ID of the package to associate with a domain. Use DescribePackages to find\n this value.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain to associate the package with.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n AssociatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#AssociatePackageResponse": { + "type": "structure", + "members": { + "DomainPackageDetails": { + "target": "com.amazonaws.opensearch#DomainPackageDetails", + "traits": { + "smithy.api#documentation": "

\n DomainPackageDetails\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by\n \n AssociatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#AutoTune": { + "type": "structure", + "members": { + "AutoTuneType": { + "target": "com.amazonaws.opensearch#AutoTuneType", + "traits": { + "smithy.api#documentation": "

Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.

" + } + }, + "AutoTuneDetails": { + "target": "com.amazonaws.opensearch#AutoTuneDetails", + "traits": { + "smithy.api#documentation": "

Specifies details about the Auto-Tune action. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the Auto-Tune type and Auto-Tune action details.

" + } + }, + "com.amazonaws.opensearch#AutoTuneDate": { + "type": "timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the Auto-Tune action scheduled for the domain.

" + } + }, + "com.amazonaws.opensearch#AutoTuneDesiredState": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The Auto-Tune desired state. Valid values are ENABLED and DISABLED.

", + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "DISABLED", + "name": "DISABLED" + } + ] + } + }, + "com.amazonaws.opensearch#AutoTuneDetails": { + "type": "structure", + "members": { + "ScheduledAutoTuneDetails": { + "target": "com.amazonaws.opensearch#ScheduledAutoTuneDetails" + } + }, + "traits": { + "smithy.api#documentation": "

Specifies details about the Auto-Tune action. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "com.amazonaws.opensearch#AutoTuneList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#AutoTune" + } + }, + "com.amazonaws.opensearch#AutoTuneMaintenanceSchedule": { + "type": "structure", + "members": { + "StartAt": { + "target": "com.amazonaws.opensearch#StartAt", + "traits": { + "smithy.api#documentation": "

The timestamp at which the Auto-Tune maintenance schedule starts.

" + } + }, + "Duration": { + "target": "com.amazonaws.opensearch#Duration", + "traits": { + "smithy.api#documentation": "

Specifies maintenance schedule duration: duration value and duration unit. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "CronExpressionForRecurrence": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

A cron expression for a recurring maintenance schedule. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the Auto-Tune maintenance schedule. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "com.amazonaws.opensearch#AutoTuneMaintenanceScheduleList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#AutoTuneMaintenanceSchedule" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.opensearch#AutoTuneOptions": { + "type": "structure", + "members": { + "DesiredState": { + "target": "com.amazonaws.opensearch#AutoTuneDesiredState", + "traits": { + "smithy.api#documentation": "

The Auto-Tune desired state. Valid values are ENABLED and DISABLED.

" + } + }, + "RollbackOnDisable": { + "target": "com.amazonaws.opensearch#RollbackOnDisable", + "traits": { + "smithy.api#documentation": "

The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK.\n

" + } + }, + "MaintenanceSchedules": { + "target": "com.amazonaws.opensearch#AutoTuneMaintenanceScheduleList", + "traits": { + "smithy.api#documentation": "

A list of maintenance schedules. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Auto-Tune options: the Auto-Tune desired state for the domain, rollback state when disabling\n Auto-Tune options and list of maintenance schedules.\n

" + } + }, + "com.amazonaws.opensearch#AutoTuneOptionsInput": { + "type": "structure", + "members": { + "DesiredState": { + "target": "com.amazonaws.opensearch#AutoTuneDesiredState", + "traits": { + "smithy.api#documentation": "

The Auto-Tune desired state. Valid values are ENABLED and DISABLED.

" + } + }, + "MaintenanceSchedules": { + "target": "com.amazonaws.opensearch#AutoTuneMaintenanceScheduleList", + "traits": { + "smithy.api#documentation": "

A list of maintenance schedules. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules.\n

" + } + }, + "com.amazonaws.opensearch#AutoTuneOptionsOutput": { + "type": "structure", + "members": { + "State": { + "target": "com.amazonaws.opensearch#AutoTuneState", + "traits": { + "smithy.api#documentation": "

The AutoTuneState for the domain.\n

" + } + }, + "ErrorMessage": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The error message while enabling or disabling Auto-Tune.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules.\n

" + } + }, + "com.amazonaws.opensearch#AutoTuneOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#AutoTuneOptions", + "traits": { + "smithy.api#documentation": "

Specifies Auto-Tune options for the domain.

" + } + }, + "Status": { + "target": "com.amazonaws.opensearch#AutoTuneStatus", + "traits": { + "smithy.api#documentation": "

The status of the Auto-Tune options for the domain.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Auto-Tune status for the domain.

" + } + }, + "com.amazonaws.opensearch#AutoTuneState": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The Auto-Tune state for the domain. For valid states see \n Auto-Tune for Amazon OpenSearch Service.\n

", + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "DISABLED", + "name": "DISABLED" + }, + { + "value": "ENABLE_IN_PROGRESS", + "name": "ENABLE_IN_PROGRESS" + }, + { + "value": "DISABLE_IN_PROGRESS", + "name": "DISABLE_IN_PROGRESS" + }, + { + "value": "DISABLED_AND_ROLLBACK_SCHEDULED", + "name": "DISABLED_AND_ROLLBACK_SCHEDULED" + }, + { + "value": "DISABLED_AND_ROLLBACK_IN_PROGRESS", + "name": "DISABLED_AND_ROLLBACK_IN_PROGRESS" + }, + { + "value": "DISABLED_AND_ROLLBACK_COMPLETE", + "name": "DISABLED_AND_ROLLBACK_COMPLETE" + }, + { + "value": "DISABLED_AND_ROLLBACK_ERROR", + "name": "DISABLED_AND_ROLLBACK_ERROR" + }, + { + "value": "ERROR", + "name": "ERROR" + } + ] + } + }, + "com.amazonaws.opensearch#AutoTuneStatus": { + "type": "structure", + "members": { + "CreationDate": { + "target": "com.amazonaws.opensearch#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the Auto-Tune options creation date.

", + "smithy.api#required": {} + } + }, + "UpdateDate": { + "target": "com.amazonaws.opensearch#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the Auto-Tune options were last updated.

", + "smithy.api#required": {} + } + }, + "UpdateVersion": { + "target": "com.amazonaws.opensearch#UIntValue", + "traits": { + "smithy.api#documentation": "

The latest version of the Auto-Tune options.

" + } + }, + "State": { + "target": "com.amazonaws.opensearch#AutoTuneState", + "traits": { + "smithy.api#documentation": "

The AutoTuneState for the domain.\n

", + "smithy.api#required": {} + } + }, + "ErrorMessage": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The error message while enabling or disabling Auto-Tune.

" + } + }, + "PendingDeletion": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the domain is being deleted.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides the current Auto-Tune status for the domain.

" + } + }, + "com.amazonaws.opensearch#AutoTuneType": { + "type": "string", + "traits": { + "smithy.api#documentation": "

Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.

", + "smithy.api#enum": [ + { + "value": "SCHEDULED_ACTION", + "name": "SCHEDULED_ACTION" + } + ] + } + }, + "com.amazonaws.opensearch#BackendRole": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.opensearch#BaseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An error occurred while processing the request.

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.opensearch#Boolean": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.opensearch#CancelServiceSoftwareUpdate": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#CancelServiceSoftwareUpdateRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#CancelServiceSoftwareUpdateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Cancels a scheduled service software update for an Amazon OpenSearch Service domain. You can only perform this operation before\n the AutomatedUpdateDate and when the UpdateStatus is in the PENDING_UPDATE state.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/serviceSoftwareUpdate/cancel", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#CancelServiceSoftwareUpdateRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain that you want to stop the latest service software update on.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n CancelServiceSoftwareUpdate\n \n operation. Specifies the name of the domain that you wish to cancel a service software update on.\n

" + } + }, + "com.amazonaws.opensearch#CancelServiceSoftwareUpdateResponse": { + "type": "structure", + "members": { + "ServiceSoftwareOptions": { + "target": "com.amazonaws.opensearch#ServiceSoftwareOptions", + "traits": { + "smithy.api#documentation": "

The current status of the OpenSearch service software update.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a CancelServiceSoftwareUpdate operation. Contains the status of the\n update.\n

" + } + }, + "com.amazonaws.opensearch#CloudWatchLogsLogGroupArn": { + "type": "string", + "traits": { + "smithy.api#documentation": "

ARN of the Cloudwatch log group to publish logs to.

", + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#ClusterConfig": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType", + "traits": { + "smithy.api#documentation": "

The instance type for an OpenSearch cluster. UltraWarm instance types are not supported for data instances.\n

" + } + }, + "InstanceCount": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

The number of instances in the specified domain cluster.

" + } + }, + "DedicatedMasterEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

A boolean value to indicate whether a dedicated master node is enabled. See Dedicated master nodes in Amazon OpenSearch Service \n for more information.\n

" + } + }, + "ZoneAwarenessEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

A boolean value to indicate whether zone awareness is enabled. See Configuring a multi-AZ domain in Amazon OpenSearch Service\n for more information.\n

" + } + }, + "ZoneAwarenessConfig": { + "target": "com.amazonaws.opensearch#ZoneAwarenessConfig", + "traits": { + "smithy.api#documentation": "

The zone awareness configuration for a domain when zone awareness is enabled.

" + } + }, + "DedicatedMasterType": { + "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType", + "traits": { + "smithy.api#documentation": "

The instance type for a dedicated master node.

" + } + }, + "DedicatedMasterCount": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

Total number of dedicated master nodes, active and on standby, for the cluster.

" + } + }, + "WarmEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True to enable UltraWarm storage.

" + } + }, + "WarmType": { + "target": "com.amazonaws.opensearch#OpenSearchWarmPartitionInstanceType", + "traits": { + "smithy.api#documentation": "

The instance type for the OpenSearch cluster's warm nodes.

" + } + }, + "WarmCount": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

The number of UltraWarm nodes in the cluster.

" + } + }, + "ColdStorageOptions": { + "target": "com.amazonaws.opensearch#ColdStorageOptions" + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for the domain cluster, such as the type and number of instances.

" + } + }, + "com.amazonaws.opensearch#ClusterConfigStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#ClusterConfig", + "traits": { + "smithy.api#documentation": "

The cluster configuration for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The cluster configuration status for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration status for the specified domain.

" + } + }, + "com.amazonaws.opensearch#CognitoOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

The option to enable Cognito for OpenSearch Dashboards authentication.

" + } + }, + "UserPoolId": { + "target": "com.amazonaws.opensearch#UserPoolId", + "traits": { + "smithy.api#documentation": "

The Cognito user pool ID for OpenSearch Dashboards authentication.

" + } + }, + "IdentityPoolId": { + "target": "com.amazonaws.opensearch#IdentityPoolId", + "traits": { + "smithy.api#documentation": "

The Cognito identity pool ID for OpenSearch Dashboards authentication.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.opensearch#RoleArn", + "traits": { + "smithy.api#documentation": "

The role ARN that provides OpenSearch permissions for accessing Cognito resources.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.\n

" + } + }, + "com.amazonaws.opensearch#CognitoOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#CognitoOptions", + "traits": { + "smithy.api#documentation": "

Cognito options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the Cognito options for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The status of the Cognito options for the specified domain.

" + } + }, + "com.amazonaws.opensearch#ColdStorageOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.opensearch#CommitMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 160 + } + } + }, + "com.amazonaws.opensearch#CompatibleVersionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#CompatibleVersionsMap" + } + }, + "com.amazonaws.opensearch#CompatibleVersionsMap": { + "type": "structure", + "members": { + "SourceVersion": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#documentation": "

The current version of OpenSearch a domain is on.

" + } + }, + "TargetVersions": { + "target": "com.amazonaws.opensearch#VersionList" + } + }, + "traits": { + "smithy.api#documentation": "

\n A map from an\n \n EngineVersion\n \n to a list of compatible\n \n EngineVersion\n \n s to which the domain can be upgraded.\n

" + } + }, + "com.amazonaws.opensearch#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An error occurred because the client attempts to remove a resource that is currently in use. Returns HTTP status code 409.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.opensearch#ConnectionAlias": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 100 + }, + "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9\\-\\_]+$" + } + }, + "com.amazonaws.opensearch#ConnectionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 256 + }, + "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$" + } + }, + "com.amazonaws.opensearch#ConnectionStatusMessage": { + "type": "string" + }, + "com.amazonaws.opensearch#CreateDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#CreateDomainRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#CreateDomainResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#InvalidTypeException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new Amazon OpenSearch Service domain. For more information,\n see Creating and managing Amazon OpenSearch Service domains\n in the Amazon OpenSearch Service Developer Guide.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/domain", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#CreateDomainRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the domains owned by\n an account within an AWS region. Domain names must start with a lowercase letter and can contain the following\n characters: a-z (lowercase), 0-9, and - (hyphen).\n

", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#documentation": "

String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch Service domain.\n For example, \"OpenSearch_1.0\" or \"Elasticsearch_7.9\". For more information,\n see Creating and managing Amazon OpenSearch Service domains\n .\n

" + } + }, + "ClusterConfig": { + "target": "com.amazonaws.opensearch#ClusterConfig", + "traits": { + "smithy.api#documentation": "

Configuration options for a domain. Specifies the instance type and number of instances in the\n domain.\n

" + } + }, + "EBSOptions": { + "target": "com.amazonaws.opensearch#EBSOptions", + "traits": { + "smithy.api#documentation": "

Options to enable, disable, and specify the type and size of EBS storage volumes.

" + } + }, + "AccessPolicies": { + "target": "com.amazonaws.opensearch#PolicyDocument", + "traits": { + "smithy.api#documentation": "

IAM access policy as a JSON-formatted string.

" + } + }, + "SnapshotOptions": { + "target": "com.amazonaws.opensearch#SnapshotOptions", + "traits": { + "smithy.api#documentation": "

Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

" + } + }, + "VPCOptions": { + "target": "com.amazonaws.opensearch#VPCOptions", + "traits": { + "smithy.api#documentation": "

Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC\n .\n

" + } + }, + "CognitoOptions": { + "target": "com.amazonaws.opensearch#CognitoOptions", + "traits": { + "smithy.api#documentation": "

Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.\n

" + } + }, + "EncryptionAtRestOptions": { + "target": "com.amazonaws.opensearch#EncryptionAtRestOptions", + "traits": { + "smithy.api#documentation": "

Options for encryption of data at rest.

" + } + }, + "NodeToNodeEncryptionOptions": { + "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions", + "traits": { + "smithy.api#documentation": "

Node-to-node encryption options.

" + } + }, + "AdvancedOptions": { + "target": "com.amazonaws.opensearch#AdvancedOptions", + "traits": { + "smithy.api#documentation": "

Option to allow references to indices in an HTTP request body. Must be false when configuring access\n to individual sub-resources. By default, the value is true.\n See Advanced cluster parameters\n for more information.\n

" + } + }, + "LogPublishingOptions": { + "target": "com.amazonaws.opensearch#LogPublishingOptions", + "traits": { + "smithy.api#documentation": "

Map of LogType and LogPublishingOption, each containing options to publish a given type\n of OpenSearch log.\n

" + } + }, + "DomainEndpointOptions": { + "target": "com.amazonaws.opensearch#DomainEndpointOptions", + "traits": { + "smithy.api#documentation": "

Options to specify configurations that will be applied to the domain endpoint.

" + } + }, + "AdvancedSecurityOptions": { + "target": "com.amazonaws.opensearch#AdvancedSecurityOptionsInput", + "traits": { + "smithy.api#documentation": "

Specifies advanced security options.

" + } + }, + "TagList": { + "target": "com.amazonaws.opensearch#TagList", + "traits": { + "smithy.api#documentation": "

A list of Tag added during domain creation.\n

" + } + }, + "AutoTuneOptions": { + "target": "com.amazonaws.opensearch#AutoTuneOptionsInput", + "traits": { + "smithy.api#documentation": "

Specifies Auto-Tune options.

" + } + } + } + }, + "com.amazonaws.opensearch#CreateDomainResponse": { + "type": "structure", + "members": { + "DomainStatus": { + "target": "com.amazonaws.opensearch#DomainStatus", + "traits": { + "smithy.api#documentation": "

The status of the newly created domain.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a CreateDomain operation. Contains the status of the newly created\n Amazon OpenSearch Service domain.\n

" + } + }, + "com.amazonaws.opensearch#CreateOutboundConnection": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#CreateOutboundConnectionRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#CreateOutboundConnectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new cross-cluster connection from a local OpenSearch domain to a remote OpenSearch domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/cc/outboundConnection", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#CreateOutboundConnectionRequest": { + "type": "structure", + "members": { + "LocalDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n AWSDomainInformation\n \n for the local OpenSearch domain.\n

", + "smithy.api#required": {} + } + }, + "RemoteDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n AWSDomainInformation\n \n for the remote OpenSearch domain.\n

", + "smithy.api#required": {} + } + }, + "ConnectionAlias": { + "target": "com.amazonaws.opensearch#ConnectionAlias", + "traits": { + "smithy.api#documentation": "

The connection alias used used by the customer for this cross-cluster connection.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n CreateOutboundConnection\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#CreateOutboundConnectionResponse": { + "type": "structure", + "members": { + "LocalDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n AWSDomainInformation\n \n for the local OpenSearch domain.\n

" + } + }, + "RemoteDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n AWSDomainInformation\n \n for the remote OpenSearch domain.\n

" + } + }, + "ConnectionAlias": { + "target": "com.amazonaws.opensearch#ConnectionAlias", + "traits": { + "smithy.api#documentation": "

The connection alias provided during the create connection request.

" + } + }, + "ConnectionStatus": { + "target": "com.amazonaws.opensearch#OutboundConnectionStatus", + "traits": { + "smithy.api#documentation": "

The\n \n OutboundConnectionStatus\n \n for the newly created connection.\n

" + } + }, + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The unique ID for the created outbound connection, which is used for subsequent operations on the connection.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a\n \n CreateOutboundConnection\n \n request. Contains the details about the newly created cross-cluster connection.\n

" + } + }, + "com.amazonaws.opensearch#CreatePackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#CreatePackageRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#CreatePackageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#InvalidTypeException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Create a package for use with Amazon OpenSearch Service domains.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/packages", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#CreatePackageRequest": { + "type": "structure", + "members": { + "PackageName": { + "target": "com.amazonaws.opensearch#PackageName", + "traits": { + "smithy.api#documentation": "

Unique identifier for the package.

", + "smithy.api#required": {} + } + }, + "PackageType": { + "target": "com.amazonaws.opensearch#PackageType", + "traits": { + "smithy.api#documentation": "

Type of package. Currently supports only TXT-DICTIONARY.

", + "smithy.api#required": {} + } + }, + "PackageDescription": { + "target": "com.amazonaws.opensearch#PackageDescription", + "traits": { + "smithy.api#documentation": "

Description of the package.

" + } + }, + "PackageSource": { + "target": "com.amazonaws.opensearch#PackageSource", + "traits": { + "smithy.api#documentation": "

The Amazon S3 location from which to import the package.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for request parameters to the\n \n CreatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#CreatePackageResponse": { + "type": "structure", + "members": { + "PackageDetails": { + "target": "com.amazonaws.opensearch#PackageDetails", + "traits": { + "smithy.api#documentation": "

Information about the package.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by the\n \n CreatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#CreatedAt": { + "type": "timestamp" + }, + "com.amazonaws.opensearch#DeleteDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DeleteDomainRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DeleteDomainResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Permanently deletes the specified domain and all of its data. Once a domain is deleted, it cannot\n be recovered.\n

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2021-01-01/opensearch/domain/{DomainName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DeleteDomainRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain you want to permanently delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DeleteDomain\n \n operation. Specifies the name of the domain you want to delete.\n

" + } + }, + "com.amazonaws.opensearch#DeleteDomainResponse": { + "type": "structure", + "members": { + "DomainStatus": { + "target": "com.amazonaws.opensearch#DomainStatus", + "traits": { + "smithy.api#documentation": "

The status of the domain being deleted.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a DeleteDomain request. Contains the status of the pending deletion, or\n a \"domain not found\" error if the domain and all of its resources have been deleted.\n

" + } + }, + "com.amazonaws.opensearch#DeleteInboundConnection": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DeleteInboundConnectionRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DeleteInboundConnectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows the remote domain owner to delete an existing inbound cross-cluster connection.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DeleteInboundConnectionRequest": { + "type": "structure", + "members": { + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The ID of the inbound connection to permanently delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DeleteInboundConnection\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DeleteInboundConnectionResponse": { + "type": "structure", + "members": { + "Connection": { + "target": "com.amazonaws.opensearch#InboundConnection", + "traits": { + "smithy.api#documentation": "

The\n \n InboundConnection\n \n of the deleted inbound connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a\n \n DeleteInboundConnection\n \n operation. Contains details about the deleted inbound connection.\n

" + } + }, + "com.amazonaws.opensearch#DeleteOutboundConnection": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DeleteOutboundConnectionRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DeleteOutboundConnectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows the local domain owner to delete an existing outbound cross-cluster connection.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2021-01-01/opensearch/cc/outboundConnection/{ConnectionId}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DeleteOutboundConnectionRequest": { + "type": "structure", + "members": { + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The ID of the outbound connection you want to permanently delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DeleteOutboundConnection\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DeleteOutboundConnectionResponse": { + "type": "structure", + "members": { + "Connection": { + "target": "com.amazonaws.opensearch#OutboundConnection", + "traits": { + "smithy.api#documentation": "

The\n \n OutboundConnection\n \n of the deleted outbound connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a\n \n DeleteOutboundConnection\n \n operation. Contains details about the deleted outbound connection.\n

" + } + }, + "com.amazonaws.opensearch#DeletePackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DeletePackageRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DeletePackageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#ConflictException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the package.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2021-01-01/packages/{PackageID}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DeletePackageRequest": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

The internal ID of the package you want to delete. Use DescribePackages to find this value.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n DeletePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DeletePackageResponse": { + "type": "structure", + "members": { + "PackageDetails": { + "target": "com.amazonaws.opensearch#PackageDetails", + "traits": { + "smithy.api#documentation": "

\n PackageDetails\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response parameters to the\n \n DeletePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DeploymentCloseDateTimeStamp": { + "type": "timestamp" + }, + "com.amazonaws.opensearch#DeploymentStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING_UPDATE", + "name": "PENDING_UPDATE" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "NOT_ELIGIBLE", + "name": "NOT_ELIGIBLE" + }, + { + "value": "ELIGIBLE", + "name": "ELIGIBLE" + } + ] + } + }, + "com.amazonaws.opensearch#DescribeDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeDomainRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeDomainResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns domain configuration information about the specified domain, including the domain ID,\n domain endpoint, and domain ARN.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/domain/{DomainName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DescribeDomainAutoTunes": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeDomainAutoTunesRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeDomainAutoTunesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Provides scheduled Auto-Tune action details for the domain, such as Auto-Tune action type,\n description, severity, and scheduled date.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/domain/{DomainName}/autoTunes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#DescribeDomainAutoTunesRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name for which you want Auto-Tune action details.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

NextToken is sent in case the earlier API call results contain the NextToken. Used for pagination.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the DescribeDomainAutoTunes operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainAutoTunesResponse": { + "type": "structure", + "members": { + "AutoTunes": { + "target": "com.amazonaws.opensearch#AutoTuneList", + "traits": { + "smithy.api#documentation": "

The list of setting adjustments that Auto-Tune has made to the domain. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

An identifier to allow retrieval of paginated results.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a DescribeDomainAutoTunes request. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeDomainConfigRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeDomainConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Provides cluster configuration information about the specified domain, such as the state, creation\n date, update version, and update date for cluster options.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/domain/{DomainName}/config", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DescribeDomainConfigRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The domain you want to get information about.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the DescribeDomainConfig operation. Specifies the\n domain name for which you want configuration information.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainConfigResponse": { + "type": "structure", + "members": { + "DomainConfig": { + "target": "com.amazonaws.opensearch#DomainConfig", + "traits": { + "smithy.api#documentation": "

The configuration information of the domain requested in the DescribeDomainConfig request.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a DescribeDomainConfig request. Contains the configuration information of\n the requested domain.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain for which you want information.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DescribeDomain\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainResponse": { + "type": "structure", + "members": { + "DomainStatus": { + "target": "com.amazonaws.opensearch#DomainStatus", + "traits": { + "smithy.api#documentation": "

The current status of the domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a DescribeDomain request. Contains the status of the domain specified in\n the request.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomains": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeDomainsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeDomainsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns domain configuration information about the specified domains, including the domain ID,\n domain endpoint, and domain ARN.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/domain-info", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DescribeDomainsRequest": { + "type": "structure", + "members": { + "DomainNames": { + "target": "com.amazonaws.opensearch#DomainNameList", + "traits": { + "smithy.api#documentation": "

The domains for which you want information.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DescribeDomains\n \n operation. By default, the API returns the status of all domains.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainsResponse": { + "type": "structure", + "members": { + "DomainStatusList": { + "target": "com.amazonaws.opensearch#DomainStatusList", + "traits": { + "smithy.api#documentation": "

The status of the domains requested in the DescribeDomains request.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a DescribeDomains request. Contains the status of the specified domains\n or all domains owned by the account.\n

" + } + }, + "com.amazonaws.opensearch#DescribeInboundConnections": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeInboundConnectionsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeInboundConnectionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InvalidPaginationTokenException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all the inbound cross-cluster connections for a remote domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/cc/inboundConnection/search", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#DescribeInboundConnectionsRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.opensearch#FilterList", + "traits": { + "smithy.api#documentation": "

\n A list of filters used to match properties for inbound cross-cluster connections.\n Available\n \n Filter\n \n values are:\n

\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

If more results are available and NextToken is present, make the next request to the same API with the received\n NextToken to paginate the remaining results.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DescribeInboundConnections\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeInboundConnectionsResponse": { + "type": "structure", + "members": { + "Connections": { + "target": "com.amazonaws.opensearch#InboundConnections", + "traits": { + "smithy.api#documentation": "

A list of\n \n InboundConnection\n \n matching the specified filter criteria.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

If more results are available and NextToken is present, make the next request to the same API with the received\n NextToken to paginate the remaining results.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a\n \n DescribeInboundConnections\n \n request. Contains a list of connections matching the filter criteria.\n

" + } + }, + "com.amazonaws.opensearch#DescribeInstanceTypeLimits": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeInstanceTypeLimitsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeInstanceTypeLimitsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#InvalidTypeException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Describe the limits for a given instance type and OpenSearch or Elasticsearch version.\n When modifying an existing domain, specify the\n \n DomainName\n \n to see which limits you can modify.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/instanceTypeLimits/{EngineVersion}/{InstanceType}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DescribeInstanceTypeLimitsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

\n The name of the domain you want to modify. Only include this value if you're\n querying OpenSearch\n \n Limits\n \n for an existing domain.\n

", + "smithy.api#httpQuery": "domainName" + } + }, + "InstanceType": { + "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType", + "traits": { + "smithy.api#documentation": "

\n The instance type for an OpenSearch cluster for which OpenSearch\n \n Limits\n \n are needed.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#documentation": "

\n Version of OpenSearch for which\n \n Limits\n \n are needed.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the parameters to the\n \n DescribeInstanceTypeLimits\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeInstanceTypeLimitsResponse": { + "type": "structure", + "members": { + "LimitsByRole": { + "target": "com.amazonaws.opensearch#LimitsByRole" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the parameters received from the\n \n DescribeInstanceTypeLimits\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeOutboundConnections": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeOutboundConnectionsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeOutboundConnectionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InvalidPaginationTokenException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all the outbound cross-cluster connections for a local domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/cc/outboundConnection/search", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#DescribeOutboundConnectionsRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.opensearch#FilterList", + "traits": { + "smithy.api#documentation": "

\n A list of filters used to match properties for outbound cross-cluster connections.\n Available\n \n Filter\n \n names for this operation are:\n

\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

NextToken is sent in case the earlier API call results contain the NextToken parameter. Used for pagination.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n DescribeOutboundConnections\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeOutboundConnectionsResponse": { + "type": "structure", + "members": { + "Connections": { + "target": "com.amazonaws.opensearch#OutboundConnections", + "traits": { + "smithy.api#documentation": "

A list of\n \n OutboundConnection\n \n matching the specified filter criteria.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

If more results are available and NextToken is present, make the next request to the same API with the received\n NextToken to paginate the remaining results.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a\n \n DescribeOutboundConnections\n \n request. Contains the list of connections matching the filter criteria.\n

" + } + }, + "com.amazonaws.opensearch#DescribePackages": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribePackagesRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribePackagesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes all packages available to Amazon OpenSearch Service domains. Includes options for filtering, limiting the number of results,\n and pagination.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/packages/describe", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#DescribePackagesFilter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.opensearch#DescribePackagesFilterName", + "traits": { + "smithy.api#documentation": "

Any field from PackageDetails.\n

" + } + }, + "Value": { + "target": "com.amazonaws.opensearch#DescribePackagesFilterValues", + "traits": { + "smithy.api#documentation": "

A list of values for the specified field.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A filter to apply to the DescribePackage response.\n

" + } + }, + "com.amazonaws.opensearch#DescribePackagesFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DescribePackagesFilter" + }, + "traits": { + "smithy.api#documentation": "

A list of DescribePackagesFilter to filter the packages included in a DescribePackages response.\n

" + } + }, + "com.amazonaws.opensearch#DescribePackagesFilterName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PackageID", + "name": "PackageID" + }, + { + "value": "PackageName", + "name": "PackageName" + }, + { + "value": "PackageStatus", + "name": "PackageStatus" + } + ] + } + }, + "com.amazonaws.opensearch#DescribePackagesFilterValue": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9a-zA-Z\\*\\.\\\\/\\?-]*$" + } + }, + "com.amazonaws.opensearch#DescribePackagesFilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DescribePackagesFilterValue" + } + }, + "com.amazonaws.opensearch#DescribePackagesRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.opensearch#DescribePackagesFilterList", + "traits": { + "smithy.api#documentation": "

Only returns packages that match the DescribePackagesFilterList values.\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Limits results to a maximum number of packages.

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n returns results for the next page.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n DescribePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribePackagesResponse": { + "type": "structure", + "members": { + "PackageDetailsList": { + "target": "com.amazonaws.opensearch#PackageDetailsList", + "traits": { + "smithy.api#documentation": "

List of PackageDetails objects.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#String" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by the\n \n DescribePackages\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DescribeReservedInstanceOfferings": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists available reserved OpenSearch instance offerings.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/reservedInstanceOfferings", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsRequest": { + "type": "structure", + "members": { + "ReservedInstanceOfferingId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The offering identifier filter value. Use this parameter to show only the available offering that matches the\n specified reservation identifier.\n

", + "smithy.api#httpQuery": "offeringId" + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Provides an identifier to allow retrieval of paginated results.\n

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for parameters to\n DescribeReservedInstanceOfferings\n

" + } + }, + "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Provides an identifier to allow retrieval of paginated results.

" + } + }, + "ReservedInstanceOfferings": { + "target": "com.amazonaws.opensearch#ReservedInstanceOfferingList", + "traits": { + "smithy.api#documentation": "

List of reserved OpenSearch instance offerings

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for results from\n DescribeReservedInstanceOfferings\n

" + } + }, + "com.amazonaws.opensearch#DescribeReservedInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeReservedInstancesRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeReservedInstancesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information about reserved OpenSearch instances for this account.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/reservedInstances", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#DescribeReservedInstancesRequest": { + "type": "structure", + "members": { + "ReservedInstanceId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the\n specified reserved OpenSearch instance ID.\n

", + "smithy.api#httpQuery": "reservationId" + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Provides an identifier to allow retrieval of paginated results.\n

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for parameters to\n DescribeReservedInstances\n

" + } + }, + "com.amazonaws.opensearch#DescribeReservedInstancesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

Provides an identifier to allow retrieval of paginated results.

" + } + }, + "ReservedInstances": { + "target": "com.amazonaws.opensearch#ReservedInstanceList", + "traits": { + "smithy.api#documentation": "

List of reserved OpenSearch instances.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for results from\n DescribeReservedInstances\n

" + } + }, + "com.amazonaws.opensearch#DisabledOperationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An error occured because the client wanted to access a not supported operation. Gives http status code of 409.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.opensearch#DissociatePackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DissociatePackageRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DissociatePackageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#ConflictException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Dissociates a package from the Amazon OpenSearch Service domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/packages/dissociate/{PackageID}/{DomainName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DissociatePackageRequest": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

The internal ID of the package to associate with a domain. Use DescribePackages to find\n this value.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain to associate the package with.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n DissociatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DissociatePackageResponse": { + "type": "structure", + "members": { + "DomainPackageDetails": { + "target": "com.amazonaws.opensearch#DomainPackageDetails", + "traits": { + "smithy.api#documentation": "

\n DomainPackageDetails\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by\n \n DissociatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#DomainConfig": { + "type": "structure", + "members": { + "EngineVersion": { + "target": "com.amazonaws.opensearch#VersionStatus", + "traits": { + "smithy.api#documentation": "

String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch or Elasticsearch domain.

" + } + }, + "ClusterConfig": { + "target": "com.amazonaws.opensearch#ClusterConfigStatus", + "traits": { + "smithy.api#documentation": "

The ClusterConfig for the domain.\n

" + } + }, + "EBSOptions": { + "target": "com.amazonaws.opensearch#EBSOptionsStatus", + "traits": { + "smithy.api#documentation": "

The EBSOptions for the domain.\n

" + } + }, + "AccessPolicies": { + "target": "com.amazonaws.opensearch#AccessPoliciesStatus", + "traits": { + "smithy.api#documentation": "

IAM access policy as a JSON-formatted string.

" + } + }, + "SnapshotOptions": { + "target": "com.amazonaws.opensearch#SnapshotOptionsStatus", + "traits": { + "smithy.api#documentation": "

The SnapshotOptions for the domain.\n

" + } + }, + "VPCOptions": { + "target": "com.amazonaws.opensearch#VPCDerivedInfoStatus", + "traits": { + "smithy.api#documentation": "

The VPCOptions for the specified domain. For more information, see \n Launching your Amazon OpenSearch Service domains using a VPC.\n

" + } + }, + "CognitoOptions": { + "target": "com.amazonaws.opensearch#CognitoOptionsStatus", + "traits": { + "smithy.api#documentation": "

The CognitoOptions for the specified domain. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.\n

" + } + }, + "EncryptionAtRestOptions": { + "target": "com.amazonaws.opensearch#EncryptionAtRestOptionsStatus", + "traits": { + "smithy.api#documentation": "

The EncryptionAtRestOptions for the domain.\n

" + } + }, + "NodeToNodeEncryptionOptions": { + "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptionsStatus", + "traits": { + "smithy.api#documentation": "

The NodeToNodeEncryptionOptions for the domain.\n

" + } + }, + "AdvancedOptions": { + "target": "com.amazonaws.opensearch#AdvancedOptionsStatus", + "traits": { + "smithy.api#documentation": "

The AdvancedOptions for the domain. See Advanced options\n for more information.\n

" + } + }, + "LogPublishingOptions": { + "target": "com.amazonaws.opensearch#LogPublishingOptionsStatus", + "traits": { + "smithy.api#documentation": "

Log publishing options for the given domain.

" + } + }, + "DomainEndpointOptions": { + "target": "com.amazonaws.opensearch#DomainEndpointOptionsStatus", + "traits": { + "smithy.api#documentation": "

The DomainEndpointOptions for the domain.\n

" + } + }, + "AdvancedSecurityOptions": { + "target": "com.amazonaws.opensearch#AdvancedSecurityOptionsStatus", + "traits": { + "smithy.api#documentation": "

Specifies AdvancedSecurityOptions for the domain.\n

" + } + }, + "AutoTuneOptions": { + "target": "com.amazonaws.opensearch#AutoTuneOptionsStatus", + "traits": { + "smithy.api#documentation": "

Specifies AutoTuneOptions for the domain.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration of a domain.

" + } + }, + "com.amazonaws.opensearch#DomainEndpointOptions": { + "type": "structure", + "members": { + "EnforceHTTPS": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

Whether only HTTPS endpoint should be enabled for the domain.

" + } + }, + "TLSSecurityPolicy": { + "target": "com.amazonaws.opensearch#TLSSecurityPolicy", + "traits": { + "smithy.api#documentation": "

Specify the TLS security policy to apply to the HTTPS endpoint of the domain.\n

\n Can be one of the following values:\n

\n

" + } + }, + "CustomEndpointEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

Whether to enable a custom endpoint for the domain.

" + } + }, + "CustomEndpoint": { + "target": "com.amazonaws.opensearch#DomainNameFqdn", + "traits": { + "smithy.api#documentation": "

The fully qualified domain for your custom endpoint.

" + } + }, + "CustomEndpointCertificateArn": { + "target": "com.amazonaws.opensearch#ARN", + "traits": { + "smithy.api#documentation": "

The ACM certificate ARN for your custom endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Options to configure the endpoint for the domain.

" + } + }, + "com.amazonaws.opensearch#DomainEndpointOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#DomainEndpointOptions", + "traits": { + "smithy.api#documentation": "

Options to configure the endpoint for the domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the endpoint options for the domain. See OptionStatus for the status\n information that's included.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configured endpoint options for the domain and their current status.

" + } + }, + "com.amazonaws.opensearch#DomainId": { + "type": "string", + "traits": { + "smithy.api#documentation": "

Unique identifier for the domain.

", + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.opensearch#DomainInfo": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The DomainName.\n

" + } + } + } + }, + "com.amazonaws.opensearch#DomainInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DomainInfo" + }, + "traits": { + "smithy.api#documentation": "

Contains the list of domain information.

" + } + }, + "com.amazonaws.opensearch#DomainInformationContainer": { + "type": "structure", + "members": { + "AWSDomainInformation": { + "target": "com.amazonaws.opensearch#AWSDomainInformation" + } + } + }, + "com.amazonaws.opensearch#DomainName": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The name of an domain. Domain names are unique across the domains owned by an account within an AWS\n region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9,\n and - (hyphen).\n

", + "smithy.api#length": { + "min": 3, + "max": 28 + }, + "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$" + } + }, + "com.amazonaws.opensearch#DomainNameFqdn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" + } + }, + "com.amazonaws.opensearch#DomainNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DomainName" + }, + "traits": { + "smithy.api#documentation": "

A list of domain names.

" + } + }, + "com.amazonaws.opensearch#DomainPackageDetails": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

The internal ID of the package.

" + } + }, + "PackageName": { + "target": "com.amazonaws.opensearch#PackageName", + "traits": { + "smithy.api#documentation": "

User-specified name of the package.

" + } + }, + "PackageType": { + "target": "com.amazonaws.opensearch#PackageType", + "traits": { + "smithy.api#documentation": "

Currently supports only TXT-DICTIONARY.

" + } + }, + "LastUpdated": { + "target": "com.amazonaws.opensearch#LastUpdated", + "traits": { + "smithy.api#documentation": "

The timestamp of the most recent update to the package association status.

" + } + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain you've associated a package with.

" + } + }, + "DomainPackageStatus": { + "target": "com.amazonaws.opensearch#DomainPackageStatus", + "traits": { + "smithy.api#documentation": "

State of the association. Values are ASSOCIATING, ASSOCIATION_FAILED, ACTIVE, DISSOCIATING, and DISSOCIATION_FAILED.

" + } + }, + "PackageVersion": { + "target": "com.amazonaws.opensearch#PackageVersion" + }, + "ReferencePath": { + "target": "com.amazonaws.opensearch#ReferencePath", + "traits": { + "smithy.api#documentation": "

The relative path on Amazon OpenSearch Service nodes, which can be used as synonym_path when the package is a synonym file.

" + } + }, + "ErrorDetails": { + "target": "com.amazonaws.opensearch#ErrorDetails", + "traits": { + "smithy.api#documentation": "

Additional information if the package is in an error state. Null otherwise.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information on a package associated with a domain.

" + } + }, + "com.amazonaws.opensearch#DomainPackageDetailsList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DomainPackageDetails" + } + }, + "com.amazonaws.opensearch#DomainPackageStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ASSOCIATING", + "name": "ASSOCIATING" + }, + { + "value": "ASSOCIATION_FAILED", + "name": "ASSOCIATION_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DISSOCIATING", + "name": "DISSOCIATING" + }, + { + "value": "DISSOCIATION_FAILED", + "name": "DISSOCIATION_FAILED" + } + ] + } + }, + "com.amazonaws.opensearch#DomainStatus": { + "type": "structure", + "members": { + "DomainId": { + "target": "com.amazonaws.opensearch#DomainId", + "traits": { + "smithy.api#documentation": "

The unique identifier for the specified domain.

", + "smithy.api#required": {} + } + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of a domain. Domain names are unique across the domains owned by an account within an AWS\n region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9,\n and - (hyphen).\n

", + "smithy.api#required": {} + } + }, + "ARN": { + "target": "com.amazonaws.opensearch#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a domain. See IAM identifiers\n in the AWS Identity and Access Management User Guide for more information.\n

", + "smithy.api#required": {} + } + }, + "Created": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

The domain creation status. True if the creation of a domain is complete. \n False\n if domain creation is still in progress.\n

" + } + }, + "Deleted": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

The domain deletion status. True if a delete request has been received for the domain but resource\n cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is\n complete, the status of the domain is no longer returned.\n

" + } + }, + "Endpoint": { + "target": "com.amazonaws.opensearch#ServiceUrl", + "traits": { + "smithy.api#documentation": "

The domain endpoint that you use to submit index and search requests.

" + } + }, + "Endpoints": { + "target": "com.amazonaws.opensearch#EndpointsMap", + "traits": { + "smithy.api#documentation": "

Map containing the domain endpoints used to submit index and search requests. Example key,\n value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.\n

" + } + }, + "Processing": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

The status of the domain configuration. True if Amazon OpenSearch Service is\n processing configuration changes. False if the configuration is active.\n

" + } + }, + "UpgradeProcessing": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

The status of a domain version upgrade. True if Amazon OpenSearch Service is\n undergoing a version upgrade. False if the configuration is active.\n

" + } + }, + "EngineVersion": { + "target": "com.amazonaws.opensearch#VersionString" + }, + "ClusterConfig": { + "target": "com.amazonaws.opensearch#ClusterConfig", + "traits": { + "smithy.api#documentation": "

The type and number of instances in the domain.

", + "smithy.api#required": {} + } + }, + "EBSOptions": { + "target": "com.amazonaws.opensearch#EBSOptions", + "traits": { + "smithy.api#documentation": "

The EBSOptions for the specified domain.\n

" + } + }, + "AccessPolicies": { + "target": "com.amazonaws.opensearch#PolicyDocument", + "traits": { + "smithy.api#documentation": "

IAM access policy as a JSON-formatted string.

" + } + }, + "SnapshotOptions": { + "target": "com.amazonaws.opensearch#SnapshotOptions", + "traits": { + "smithy.api#documentation": "

The status of the\n SnapshotOptions.\n

" + } + }, + "VPCOptions": { + "target": "com.amazonaws.opensearch#VPCDerivedInfo", + "traits": { + "smithy.api#documentation": "

The VPCOptions for the specified domain. For more information, see \n Launching your Amazon OpenSearch Service domains using a VPC.\n

" + } + }, + "CognitoOptions": { + "target": "com.amazonaws.opensearch#CognitoOptions", + "traits": { + "smithy.api#documentation": "

The CognitoOptions for the specified domain. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.\n

" + } + }, + "EncryptionAtRestOptions": { + "target": "com.amazonaws.opensearch#EncryptionAtRestOptions", + "traits": { + "smithy.api#documentation": "

The status of the EncryptionAtRestOptions.\n

" + } + }, + "NodeToNodeEncryptionOptions": { + "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions", + "traits": { + "smithy.api#documentation": "

The status of the NodeToNodeEncryptionOptions.\n

" + } + }, + "AdvancedOptions": { + "target": "com.amazonaws.opensearch#AdvancedOptions", + "traits": { + "smithy.api#documentation": "

The status of the\n AdvancedOptions.\n

" + } + }, + "LogPublishingOptions": { + "target": "com.amazonaws.opensearch#LogPublishingOptions", + "traits": { + "smithy.api#documentation": "

Log publishing options for the given domain.

" + } + }, + "ServiceSoftwareOptions": { + "target": "com.amazonaws.opensearch#ServiceSoftwareOptions", + "traits": { + "smithy.api#documentation": "

The current status of the domain's service software.

" + } + }, + "DomainEndpointOptions": { + "target": "com.amazonaws.opensearch#DomainEndpointOptions", + "traits": { + "smithy.api#documentation": "

The current status of the domain's endpoint options.

" + } + }, + "AdvancedSecurityOptions": { + "target": "com.amazonaws.opensearch#AdvancedSecurityOptions", + "traits": { + "smithy.api#documentation": "

The current status of the domain's advanced security options.

" + } + }, + "AutoTuneOptions": { + "target": "com.amazonaws.opensearch#AutoTuneOptionsOutput", + "traits": { + "smithy.api#documentation": "

The current status of the domain's Auto-Tune options.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The current status of a domain.

" + } + }, + "com.amazonaws.opensearch#DomainStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DomainStatus" + }, + "traits": { + "smithy.api#documentation": "

A list that contains the status of each requested domain.

" + } + }, + "com.amazonaws.opensearch#Double": { + "type": "double", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.opensearch#Duration": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.opensearch#DurationValue", + "traits": { + "smithy.api#documentation": "

Integer to specify the value of a maintenance schedule duration. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "Unit": { + "target": "com.amazonaws.opensearch#TimeUnit", + "traits": { + "smithy.api#documentation": "

The unit of a maintenance schedule duration. Valid value is HOURS. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The maintenance schedule duration: duration value and duration unit. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "com.amazonaws.opensearch#DurationValue": { + "type": "long", + "traits": { + "smithy.api#documentation": "

Integer to specify the value of a maintenance schedule duration. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

", + "smithy.api#range": { + "min": 1, + "max": 24 + } + } + }, + "com.amazonaws.opensearch#EBSOptions": { + "type": "structure", + "members": { + "EBSEnabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

Whether EBS-based storage is enabled.

" + } + }, + "VolumeType": { + "target": "com.amazonaws.opensearch#VolumeType", + "traits": { + "smithy.api#documentation": "

The volume type for EBS-based storage.

" + } + }, + "VolumeSize": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

Integer to specify the size of an EBS volume.

" + } + }, + "Iops": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

The IOPD for a Provisioned IOPS EBS volume (SSD).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Options to enable, disable, and specify the properties of EBS storage volumes.

" + } + }, + "com.amazonaws.opensearch#EBSOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#EBSOptions", + "traits": { + "smithy.api#documentation": "

The EBS options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the EBS options for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Status of the EBS options for the specified domain.

" + } + }, + "com.amazonaws.opensearch#EncryptionAtRestOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

The option to enable encryption at rest.

" + } + }, + "KmsKeyId": { + "target": "com.amazonaws.opensearch#KmsKeyId", + "traits": { + "smithy.api#documentation": "

The KMS key ID for encryption at rest options.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies encryption at rest options.

" + } + }, + "com.amazonaws.opensearch#EncryptionAtRestOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#EncryptionAtRestOptions", + "traits": { + "smithy.api#documentation": "

The Encryption At Rest options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the Encryption At Rest options for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Status of the encryption At Rest options for the specified domain.

" + } + }, + "com.amazonaws.opensearch#EndpointsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.opensearch#String" + }, + "value": { + "target": "com.amazonaws.opensearch#ServiceUrl" + } + }, + "com.amazonaws.opensearch#ErrorDetails": { + "type": "structure", + "members": { + "ErrorType": { + "target": "com.amazonaws.opensearch#ErrorType" + }, + "ErrorMessage": { + "target": "com.amazonaws.opensearch#ErrorMessage" + } + } + }, + "com.amazonaws.opensearch#ErrorMessage": { + "type": "string" + }, + "com.amazonaws.opensearch#ErrorType": { + "type": "string" + }, + "com.amazonaws.opensearch#Filter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.opensearch#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the filter.\n

" + } + }, + "Values": { + "target": "com.amazonaws.opensearch#ValueStringList", + "traits": { + "smithy.api#documentation": "

\n Contains one or more values for the filter.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n A filter used to limit results when describing inbound or outbound cross-cluster connections.\n Multiple values can be specified per filter.\n A cross-cluster connection must match at least one of the specified values for it to be\n returned from an operation.\n

" + } + }, + "com.amazonaws.opensearch#FilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#Filter" + } + }, + "com.amazonaws.opensearch#GUID": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}$" + } + }, + "com.amazonaws.opensearch#GetCompatibleVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#GetCompatibleVersionsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#GetCompatibleVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns a list of upgrade-compatible versions of OpenSearch/Elasticsearch.\n You can optionally pass a\n \n DomainName\n \n to get all upgrade-compatible versions of OpenSearch/Elasticsearch for that specific domain.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/compatibleVersions", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#GetCompatibleVersionsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#httpQuery": "domainName" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to\n \n GetCompatibleVersions\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetCompatibleVersionsResponse": { + "type": "structure", + "members": { + "CompatibleVersions": { + "target": "com.amazonaws.opensearch#CompatibleVersionsList", + "traits": { + "smithy.api#documentation": "

\n A map of compatible OpenSearch versions returned as part of the\n \n GetCompatibleVersions\n \n operation.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by the\n \n GetCompatibleVersions\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetPackageVersionHistory": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#GetPackageVersionHistoryRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#GetPackageVersionHistoryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of package versions, along with their creation time and commit message.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/packages/{PackageID}/history", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#GetPackageVersionHistoryRequest": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

Returns an audit history of package versions.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Limits results to a maximum number of package versions.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n returns results for the next page.\n

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n GetPackageVersionHistory\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetPackageVersionHistoryResponse": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID" + }, + "PackageVersionHistoryList": { + "target": "com.amazonaws.opensearch#PackageVersionHistoryList", + "traits": { + "smithy.api#documentation": "

List of PackageVersionHistory objects.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#String" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for response returned by\n \n GetPackageVersionHistory\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetUpgradeHistory": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#GetUpgradeHistoryRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#GetUpgradeHistoryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the complete history of the last 10 upgrades performed on the domain.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/upgradeDomain/{DomainName}/history", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#GetUpgradeHistoryRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n GetUpgradeHistory\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetUpgradeHistoryResponse": { + "type": "structure", + "members": { + "UpgradeHistories": { + "target": "com.amazonaws.opensearch#UpgradeHistoryList", + "traits": { + "smithy.api#documentation": "

\n A list of\n \n UpgradeHistory\n \n objects corresponding to each upgrade or upgrade eligibility check performed on a domain returned as part of the\n \n GetUpgradeHistoryResponse\n \n object.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

Pagination token that needs to be supplied to the next call to get the next page of results.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by the\n \n GetUpgradeHistory\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetUpgradeStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#GetUpgradeStatusRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#GetUpgradeStatusResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the latest status of the last upgrade or upgrade eligibility check performed on the domain.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/upgradeDomain/{DomainName}/status", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#GetUpgradeStatusRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n GetUpgradeStatus\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#GetUpgradeStatusResponse": { + "type": "structure", + "members": { + "UpgradeStep": { + "target": "com.amazonaws.opensearch#UpgradeStep", + "traits": { + "smithy.api#documentation": "

\n One of three steps an upgrade or upgrade eligibility check goes through:\n

\n

" + } + }, + "StepStatus": { + "target": "com.amazonaws.opensearch#UpgradeStatus", + "traits": { + "smithy.api#documentation": "

\n One of four statuses an upgrade have, returned as part of the\n \n GetUpgradeStatusResponse\n \n object. The status can take one of the following values:\n

\n

" + } + }, + "UpgradeName": { + "target": "com.amazonaws.opensearch#UpgradeName", + "traits": { + "smithy.api#documentation": "

A string that briefly describes the update.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by the\n \n GetUpgradeStatus\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#IdentityPoolId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 55 + }, + "smithy.api#pattern": "^[\\w-]+:[0-9a-f-]+$" + } + }, + "com.amazonaws.opensearch#InboundConnection": { + "type": "structure", + "members": { + "LocalDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n AWSDomainInformation\n \n for the local OpenSearch domain.\n

" + } + }, + "RemoteDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n AWSDomainInformation\n \n for the remote OpenSearch domain.\n

" + } + }, + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The connection ID for the inbound cross-cluster connection.

" + } + }, + "ConnectionStatus": { + "target": "com.amazonaws.opensearch#InboundConnectionStatus", + "traits": { + "smithy.api#documentation": "

The\n \n InboundConnectionStatus\n \n for the outbound connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details of an inbound connection.

" + } + }, + "com.amazonaws.opensearch#InboundConnectionStatus": { + "type": "structure", + "members": { + "StatusCode": { + "target": "com.amazonaws.opensearch#InboundConnectionStatusCode", + "traits": { + "smithy.api#documentation": "

The state code for the inbound connection. Can be one of the following:

\n " + } + }, + "Message": { + "target": "com.amazonaws.opensearch#ConnectionStatusMessage", + "traits": { + "smithy.api#documentation": "

Verbose information for the inbound connection status.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The connection status of an inbound cross-cluster connection.

" + } + }, + "com.amazonaws.opensearch#InboundConnectionStatusCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING_ACCEPTANCE", + "name": "PENDING_ACCEPTANCE" + }, + { + "value": "APPROVED", + "name": "APPROVED" + }, + { + "value": "PROVISIONING", + "name": "PROVISIONING" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "REJECTING", + "name": "REJECTING" + }, + { + "value": "REJECTED", + "name": "REJECTED" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] + } + }, + "com.amazonaws.opensearch#InboundConnections": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#InboundConnection" + } + }, + "com.amazonaws.opensearch#InstanceCount": { + "type": "integer", + "traits": { + "smithy.api#documentation": "

The number of EC2 instances in the domain.

", + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.opensearch#InstanceCountLimits": { + "type": "structure", + "members": { + "MinimumInstanceCount": { + "target": "com.amazonaws.opensearch#MinimumInstanceCount" + }, + "MaximumInstanceCount": { + "target": "com.amazonaws.opensearch#MaximumInstanceCount" + } + }, + "traits": { + "smithy.api#documentation": "

\n InstanceCountLimits represents the limits on the number of instances that can be created in Amazon OpenSearch Service for\n a given InstanceType.\n

" + } + }, + "com.amazonaws.opensearch#InstanceLimits": { + "type": "structure", + "members": { + "InstanceCountLimits": { + "target": "com.amazonaws.opensearch#InstanceCountLimits" + } + }, + "traits": { + "smithy.api#documentation": "

InstanceLimits represents the list of instance-related attributes that are available for a given InstanceType.\n

" + } + }, + "com.amazonaws.opensearch#InstanceRole": { + "type": "string" + }, + "com.amazonaws.opensearch#InstanceRoleList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#InstanceRole" + } + }, + "com.amazonaws.opensearch#InstanceTypeDetails": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType" + }, + "EncryptionEnabled": { + "target": "com.amazonaws.opensearch#Boolean" + }, + "CognitoEnabled": { + "target": "com.amazonaws.opensearch#Boolean" + }, + "AppLogsEnabled": { + "target": "com.amazonaws.opensearch#Boolean" + }, + "AdvancedSecurityEnabled": { + "target": "com.amazonaws.opensearch#Boolean" + }, + "WarmEnabled": { + "target": "com.amazonaws.opensearch#Boolean" + }, + "InstanceRole": { + "target": "com.amazonaws.opensearch#InstanceRoleList" + } + } + }, + "com.amazonaws.opensearch#InstanceTypeDetailsList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#InstanceTypeDetails" + } + }, + "com.amazonaws.opensearch#Integer": { + "type": "integer" + }, + "com.amazonaws.opensearch#IntegerClass": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.opensearch#InternalException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request processing has failed because of an unknown error, exception or failure (the failure is internal to the service) . Gives http status code of 500.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.opensearch#InvalidPaginationTokenException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request processing has failed because of invalid pagination token provided by customer. Returns an HTTP status code of 400.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.opensearch#InvalidTypeException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An exception for trying to create or access sub-resource that is either invalid or not supported. Gives http status code of 409.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.opensearch#Issue": { + "type": "string" + }, + "com.amazonaws.opensearch#Issues": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#Issue" + } + }, + "com.amazonaws.opensearch#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 500 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#LastUpdated": { + "type": "timestamp" + }, + "com.amazonaws.opensearch#LimitExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An exception for trying to create more than allowed resources or sub-resources. Gives http status code of 409.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.opensearch#LimitName": { + "type": "string" + }, + "com.amazonaws.opensearch#LimitValue": { + "type": "string" + }, + "com.amazonaws.opensearch#LimitValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#LimitValue" + } + }, + "com.amazonaws.opensearch#Limits": { + "type": "structure", + "members": { + "StorageTypes": { + "target": "com.amazonaws.opensearch#StorageTypeList", + "traits": { + "smithy.api#documentation": "

Storage-related types and attributes\n that are available for a given InstanceType.\n

" + } + }, + "InstanceLimits": { + "target": "com.amazonaws.opensearch#InstanceLimits" + }, + "AdditionalLimits": { + "target": "com.amazonaws.opensearch#AdditionalLimitList", + "traits": { + "smithy.api#documentation": "

\n List of additional limits that are specific to a given InstanceType and for each of its\n \n InstanceRole\n \n .\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Limits for a given InstanceType and for each of its roles.\n

\n Limits contains the following:\n \n StorageTypes\n ,\n \n InstanceLimits\n ,\n and\n \n AdditionalLimits\n \n

" + } + }, + "com.amazonaws.opensearch#LimitsByRole": { + "type": "map", + "key": { + "target": "com.amazonaws.opensearch#InstanceRole" + }, + "value": { + "target": "com.amazonaws.opensearch#Limits" + }, + "traits": { + "smithy.api#documentation": "

\n The role of a given instance and all applicable limits.\n The role performed by a given OpenSearch instance\n can be one of the following:\n

\n

" + } + }, + "com.amazonaws.opensearch#ListDomainNames": { + "type": "operation", + "output": { + "target": "com.amazonaws.opensearch#ListDomainNamesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the names of all domains owned by the current user's account.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/domain", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#ListDomainNamesResponse": { + "type": "structure", + "members": { + "DomainNames": { + "target": "com.amazonaws.opensearch#DomainInfoList", + "traits": { + "smithy.api#documentation": "

List of domain names.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a ListDomainNames operation. Contains the names of all domains owned by\n this account.\n

" + } + }, + "com.amazonaws.opensearch#ListDomainsForPackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#ListDomainsForPackageRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#ListDomainsForPackageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all Amazon OpenSearch Service domains associated with the package.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/packages/{PackageID}/domains", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#ListDomainsForPackageRequest": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

The package for which to list associated domains.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Limits the results to a maximum number of domains.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n returns results for the next page.\n

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n ListDomainsForPackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#ListDomainsForPackageResponse": { + "type": "structure", + "members": { + "DomainPackageDetailsList": { + "target": "com.amazonaws.opensearch#DomainPackageDetailsList", + "traits": { + "smithy.api#documentation": "

List of DomainPackageDetails objects.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#String" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response parameters to the\n \n ListDomainsForPackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#ListInstanceTypeDetails": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#ListInstanceTypeDetailsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#ListInstanceTypeDetailsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/instanceTypeDetails/{EngineVersion}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#ListInstanceTypeDetailsRequest": { + "type": "structure", + "members": { + "EngineVersion": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#httpQuery": "domainName" + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.opensearch#ListInstanceTypeDetailsResponse": { + "type": "structure", + "members": { + "InstanceTypeDetails": { + "target": "com.amazonaws.opensearch#InstanceTypeDetailsList" + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken" + } + } + }, + "com.amazonaws.opensearch#ListPackagesForDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#ListPackagesForDomainRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#ListPackagesForDomainResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all packages associated with the Amazon OpenSearch Service domain.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/domain/{DomainName}/packages", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#ListPackagesForDomainRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain for which you want to list associated packages.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

Limits results to a maximum number of packages.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#documentation": "

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n returns results for the next page.\n

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to the\n \n ListPackagesForDomain\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#ListPackagesForDomainResponse": { + "type": "structure", + "members": { + "DomainPackageDetailsList": { + "target": "com.amazonaws.opensearch#DomainPackageDetailsList", + "traits": { + "smithy.api#documentation": "

List of DomainPackageDetails objects.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

Pagination token to supply to the next call to get the next page of results.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response parameters to the\n \n ListPackagesForDomain\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#ListTags": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#ListTagsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#ListTagsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns all tags for the given domain.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/tags", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#ListTagsRequest": { + "type": "structure", + "members": { + "ARN": { + "target": "com.amazonaws.opensearch#ARN", + "traits": { + "smithy.api#documentation": "

Specify the ARN of the domain that the tags you want\n to view are attached to.\n

", + "smithy.api#httpQuery": "arn", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n ListTags\n \n operation. Specify the ARN of the domain that the tags you want\n to view are attached to.\n

" + } + }, + "com.amazonaws.opensearch#ListTagsResponse": { + "type": "structure", + "members": { + "TagList": { + "target": "com.amazonaws.opensearch#TagList", + "traits": { + "smithy.api#documentation": "

List of Tag for the requested domain.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a ListTags operation. Contains tags for all requested domains.\n

" + } + }, + "com.amazonaws.opensearch#ListVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#ListVersionsRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#ListVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

List all supported versions of OpenSearch and Elasticsearch.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/versions", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.opensearch#ListVersionsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.opensearch#MaxResults", + "traits": { + "smithy.api#documentation": "

\n Set this value to limit the number of results returned.\n Value must be greater than 10 or it won't be honored.\n

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the parameters to the\n \n ListVersions\n \n operation.\n

\n Use\n \n MaxResults\n \n to control the maximum number of results to retrieve in a single\n call.\n

\n

\n Use\n \n NextToken\n \n in response to retrieve more results. If the received response does\n not contain a NextToken, there are no more results to retrieve.\n

\n

" + } + }, + "com.amazonaws.opensearch#ListVersionsResponse": { + "type": "structure", + "members": { + "Versions": { + "target": "com.amazonaws.opensearch#VersionList" + }, + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the parameters for response received from the\n \n ListVersions\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#LogPublishingOption": { + "type": "structure", + "members": { + "CloudWatchLogsLogGroupArn": { + "target": "com.amazonaws.opensearch#CloudWatchLogsLogGroupArn" + }, + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

Whether the given log publishing option is enabled or not.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Log Publishing option that is set for a given domain.\n

Attributes and their details:\n

\n

" + } + }, + "com.amazonaws.opensearch#LogPublishingOptions": { + "type": "map", + "key": { + "target": "com.amazonaws.opensearch#LogType" + }, + "value": { + "target": "com.amazonaws.opensearch#LogPublishingOption" + } + }, + "com.amazonaws.opensearch#LogPublishingOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#LogPublishingOptions", + "traits": { + "smithy.api#documentation": "

The log publishing options configured for the domain.

" + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the log publishing options for the domain. See OptionStatus for the\n status information that's included.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configured log publishing options for the domain and their current status.

" + } + }, + "com.amazonaws.opensearch#LogType": { + "type": "string", + "traits": { + "smithy.api#documentation": "

Type of log file. Can be one of the following:\n

\n

", + "smithy.api#enum": [ + { + "value": "INDEX_SLOW_LOGS", + "name": "INDEX_SLOW_LOGS" + }, + { + "value": "SEARCH_SLOW_LOGS", + "name": "SEARCH_SLOW_LOGS" + }, + { + "value": "ES_APPLICATION_LOGS", + "name": "ES_APPLICATION_LOGS" + }, + { + "value": "AUDIT_LOGS", + "name": "AUDIT_LOGS" + } + ] + } + }, + "com.amazonaws.opensearch#Long": { + "type": "long", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.opensearch#MasterUserOptions": { + "type": "structure", + "members": { + "MasterUserARN": { + "target": "com.amazonaws.opensearch#ARN", + "traits": { + "smithy.api#documentation": "

ARN for the master user (if IAM is enabled).

" + } + }, + "MasterUserName": { + "target": "com.amazonaws.opensearch#Username", + "traits": { + "smithy.api#documentation": "

The master user's username, which is stored in the Amazon OpenSearch Service domain's internal database.

" + } + }, + "MasterUserPassword": { + "target": "com.amazonaws.opensearch#Password", + "traits": { + "smithy.api#documentation": "

The master user's password, which is stored in the Amazon OpenSearch Service domain's internal database.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Credentials for the master user: username and password, ARN, or both.

" + } + }, + "com.amazonaws.opensearch#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#documentation": "

\n Set this value to limit the number of results returned.\n

", + "smithy.api#range": { + "max": 100 + } + } + }, + "com.amazonaws.opensearch#MaximumInstanceCount": { + "type": "integer", + "traits": { + "smithy.api#documentation": "

\n Maximum number of instances that can be instantiated for a given InstanceType.\n

" + } + }, + "com.amazonaws.opensearch#MinimumInstanceCount": { + "type": "integer", + "traits": { + "smithy.api#documentation": "

\n Minimum number of instances that can be instantiated for a given InstanceType.\n

" + } + }, + "com.amazonaws.opensearch#NextToken": { + "type": "string", + "traits": { + "smithy.api#documentation": "

\n Paginated APIs accept the NextToken input to return the next page of results and provide\n a NextToken output in the response, which you can use to retrieve more results.\n

" + } + }, + "com.amazonaws.opensearch#NodeToNodeEncryptionOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True to enable node-to-node encryption.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The node-to-node encryption options.

" + } + }, + "com.amazonaws.opensearch#NodeToNodeEncryptionOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions", + "traits": { + "smithy.api#documentation": "

The node-to-node encryption options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the node-to-node encryption options for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Status of the node-to-node encryption options for the specified domain.

" + } + }, + "com.amazonaws.opensearch#NonEmptyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]+$" + } + }, + "com.amazonaws.opensearch#OpenSearchPartitionInstanceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "m3.medium.search", + "name": "m3_medium_search" + }, + { + "value": "m3.large.search", + "name": "m3_large_search" + }, + { + "value": "m3.xlarge.search", + "name": "m3_xlarge_search" + }, + { + "value": "m3.2xlarge.search", + "name": "m3_2xlarge_search" + }, + { + "value": "m4.large.search", + "name": "m4_large_search" + }, + { + "value": "m4.xlarge.search", + "name": "m4_xlarge_search" + }, + { + "value": "m4.2xlarge.search", + "name": "m4_2xlarge_search" + }, + { + "value": "m4.4xlarge.search", + "name": "m4_4xlarge_search" + }, + { + "value": "m4.10xlarge.search", + "name": "m4_10xlarge_search" + }, + { + "value": "m5.large.search", + "name": "m5_large_search" + }, + { + "value": "m5.xlarge.search", + "name": "m5_xlarge_search" + }, + { + "value": "m5.2xlarge.search", + "name": "m5_2xlarge_search" + }, + { + "value": "m5.4xlarge.search", + "name": "m5_4xlarge_search" + }, + { + "value": "m5.12xlarge.search", + "name": "m5_12xlarge_search" + }, + { + "value": "m5.24xlarge.search", + "name": "m5_24xlarge_search" + }, + { + "value": "r5.large.search", + "name": "r5_large_search" + }, + { + "value": "r5.xlarge.search", + "name": "r5_xlarge_search" + }, + { + "value": "r5.2xlarge.search", + "name": "r5_2xlarge_search" + }, + { + "value": "r5.4xlarge.search", + "name": "r5_4xlarge_search" + }, + { + "value": "r5.12xlarge.search", + "name": "r5_12xlarge_search" + }, + { + "value": "r5.24xlarge.search", + "name": "r5_24xlarge_search" + }, + { + "value": "c5.large.search", + "name": "c5_large_search" + }, + { + "value": "c5.xlarge.search", + "name": "c5_xlarge_search" + }, + { + "value": "c5.2xlarge.search", + "name": "c5_2xlarge_search" + }, + { + "value": "c5.4xlarge.search", + "name": "c5_4xlarge_search" + }, + { + "value": "c5.9xlarge.search", + "name": "c5_9xlarge_search" + }, + { + "value": "c5.18xlarge.search", + "name": "c5_18xlarge_search" + }, + { + "value": "t3.nano.search", + "name": "t3_nano_search" + }, + { + "value": "t3.micro.search", + "name": "t3_micro_search" + }, + { + "value": "t3.small.search", + "name": "t3_small_search" + }, + { + "value": "t3.medium.search", + "name": "t3_medium_search" + }, + { + "value": "t3.large.search", + "name": "t3_large_search" + }, + { + "value": "t3.xlarge.search", + "name": "t3_xlarge_search" + }, + { + "value": "t3.2xlarge.search", + "name": "t3_2xlarge_search" + }, + { + "value": "ultrawarm1.medium.search", + "name": "ultrawarm1_medium_search" + }, + { + "value": "ultrawarm1.large.search", + "name": "ultrawarm1_large_search" + }, + { + "value": "ultrawarm1.xlarge.search", + "name": "ultrawarm1_xlarge_search" + }, + { + "value": "t2.micro.search", + "name": "t2_micro_search" + }, + { + "value": "t2.small.search", + "name": "t2_small_search" + }, + { + "value": "t2.medium.search", + "name": "t2_medium_search" + }, + { + "value": "r3.large.search", + "name": "r3_large_search" + }, + { + "value": "r3.xlarge.search", + "name": "r3_xlarge_search" + }, + { + "value": "r3.2xlarge.search", + "name": "r3_2xlarge_search" + }, + { + "value": "r3.4xlarge.search", + "name": "r3_4xlarge_search" + }, + { + "value": "r3.8xlarge.search", + "name": "r3_8xlarge_search" + }, + { + "value": "i2.xlarge.search", + "name": "i2_xlarge_search" + }, + { + "value": "i2.2xlarge.search", + "name": "i2_2xlarge_search" + }, + { + "value": "d2.xlarge.search", + "name": "d2_xlarge_search" + }, + { + "value": "d2.2xlarge.search", + "name": "d2_2xlarge_search" + }, + { + "value": "d2.4xlarge.search", + "name": "d2_4xlarge_search" + }, + { + "value": "d2.8xlarge.search", + "name": "d2_8xlarge_search" + }, + { + "value": "c4.large.search", + "name": "c4_large_search" + }, + { + "value": "c4.xlarge.search", + "name": "c4_xlarge_search" + }, + { + "value": "c4.2xlarge.search", + "name": "c4_2xlarge_search" + }, + { + "value": "c4.4xlarge.search", + "name": "c4_4xlarge_search" + }, + { + "value": "c4.8xlarge.search", + "name": "c4_8xlarge_search" + }, + { + "value": "r4.large.search", + "name": "r4_large_search" + }, + { + "value": "r4.xlarge.search", + "name": "r4_xlarge_search" + }, + { + "value": "r4.2xlarge.search", + "name": "r4_2xlarge_search" + }, + { + "value": "r4.4xlarge.search", + "name": "r4_4xlarge_search" + }, + { + "value": "r4.8xlarge.search", + "name": "r4_8xlarge_search" + }, + { + "value": "r4.16xlarge.search", + "name": "r4_16xlarge_search" + }, + { + "value": "i3.large.search", + "name": "i3_large_search" + }, + { + "value": "i3.xlarge.search", + "name": "i3_xlarge_search" + }, + { + "value": "i3.2xlarge.search", + "name": "i3_2xlarge_search" + }, + { + "value": "i3.4xlarge.search", + "name": "i3_4xlarge_search" + }, + { + "value": "i3.8xlarge.search", + "name": "i3_8xlarge_search" + }, + { + "value": "i3.16xlarge.search", + "name": "i3_16xlarge_search" + }, + { + "value": "r6g.large.search", + "name": "r6g_large_search" + }, + { + "value": "r6g.xlarge.search", + "name": "r6g_xlarge_search" + }, + { + "value": "r6g.2xlarge.search", + "name": "r6g_2xlarge_search" + }, + { + "value": "r6g.4xlarge.search", + "name": "r6g_4xlarge_search" + }, + { + "value": "r6g.8xlarge.search", + "name": "r6g_8xlarge_search" + }, + { + "value": "r6g.12xlarge.search", + "name": "r6g_12xlarge_search" + }, + { + "value": "m6g.large.search", + "name": "m6g_large_search" + }, + { + "value": "m6g.xlarge.search", + "name": "m6g_xlarge_search" + }, + { + "value": "m6g.2xlarge.search", + "name": "m6g_2xlarge_search" + }, + { + "value": "m6g.4xlarge.search", + "name": "m6g_4xlarge_search" + }, + { + "value": "m6g.8xlarge.search", + "name": "m6g_8xlarge_search" + }, + { + "value": "m6g.12xlarge.search", + "name": "m6g_12xlarge_search" + }, + { + "value": "c6g.large.search", + "name": "c6g_large_search" + }, + { + "value": "c6g.xlarge.search", + "name": "c6g_xlarge_search" + }, + { + "value": "c6g.2xlarge.search", + "name": "c6g_2xlarge_search" + }, + { + "value": "c6g.4xlarge.search", + "name": "c6g_4xlarge_search" + }, + { + "value": "c6g.8xlarge.search", + "name": "c6g_8xlarge_search" + }, + { + "value": "c6g.12xlarge.search", + "name": "c6g_12xlarge_search" + }, + { + "value": "r6gd.large.search", + "name": "r6gd_large_search" + }, + { + "value": "r6gd.xlarge.search", + "name": "r6gd_xlarge_search" + }, + { + "value": "r6gd.2xlarge.search", + "name": "r6gd_2xlarge_search" + }, + { + "value": "r6gd.4xlarge.search", + "name": "r6gd_4xlarge_search" + }, + { + "value": "r6gd.8xlarge.search", + "name": "r6gd_8xlarge_search" + }, + { + "value": "r6gd.12xlarge.search", + "name": "r6gd_12xlarge_search" + }, + { + "value": "r6gd.16xlarge.search", + "name": "r6gd_16xlarge_search" + }, + { + "value": "t4g.small.search", + "name": "t4g_small_search" + }, + { + "value": "t4g.medium.search", + "name": "t4g_medium_search" + } + ] + } + }, + "com.amazonaws.opensearch#OpenSearchWarmPartitionInstanceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ultrawarm1.medium.search", + "name": "ultrawarm1_medium_search" + }, + { + "value": "ultrawarm1.large.search", + "name": "ultrawarm1_large_search" + }, + { + "value": "ultrawarm1.xlarge.search", + "name": "ultrawarm1_xlarge_search" + } + ] + } + }, + "com.amazonaws.opensearch#OptionState": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The state of a requested change. One of the following:

\n ", + "smithy.api#enum": [ + { + "value": "RequiresIndexDocuments", + "name": "RequiresIndexDocuments" + }, + { + "value": "Processing", + "name": "Processing" + }, + { + "value": "Active", + "name": "Active" + } + ] + } + }, + "com.amazonaws.opensearch#OptionStatus": { + "type": "structure", + "members": { + "CreationDate": { + "target": "com.amazonaws.opensearch#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the entity was created.

", + "smithy.api#required": {} + } + }, + "UpdateDate": { + "target": "com.amazonaws.opensearch#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the last time the entity was updated.

", + "smithy.api#required": {} + } + }, + "UpdateVersion": { + "target": "com.amazonaws.opensearch#UIntValue", + "traits": { + "smithy.api#documentation": "

The latest version of the entity.

" + } + }, + "State": { + "target": "com.amazonaws.opensearch#OptionState", + "traits": { + "smithy.api#documentation": "

Provides the OptionState for the domain.\n

", + "smithy.api#required": {} + } + }, + "PendingDeletion": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the domain is being deleted.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides the current status of the entity.

" + } + }, + "com.amazonaws.opensearch#OutboundConnection": { + "type": "structure", + "members": { + "LocalDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n DomainInformation\n \n for the local OpenSearch domain.\n

" + } + }, + "RemoteDomainInfo": { + "target": "com.amazonaws.opensearch#DomainInformationContainer", + "traits": { + "smithy.api#documentation": "

The\n \n DomainInformation\n \n for the remote OpenSearch domain.\n

" + } + }, + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The connection ID for the outbound cross-cluster connection.

" + } + }, + "ConnectionAlias": { + "target": "com.amazonaws.opensearch#ConnectionAlias", + "traits": { + "smithy.api#documentation": "

The connection alias for the outbound cross-cluster connection.

" + } + }, + "ConnectionStatus": { + "target": "com.amazonaws.opensearch#OutboundConnectionStatus", + "traits": { + "smithy.api#documentation": "

The\n \n OutboundConnectionStatus\n \n for the outbound connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies details about an outbound connection.

" + } + }, + "com.amazonaws.opensearch#OutboundConnectionStatus": { + "type": "structure", + "members": { + "StatusCode": { + "target": "com.amazonaws.opensearch#OutboundConnectionStatusCode", + "traits": { + "smithy.api#documentation": "

The state code for the outbound connection. Can be one of the following:

\n " + } + }, + "Message": { + "target": "com.amazonaws.opensearch#ConnectionStatusMessage", + "traits": { + "smithy.api#documentation": "

Verbose information for the outbound connection status.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The connection status of an outbound cross-cluster connection.

" + } + }, + "com.amazonaws.opensearch#OutboundConnectionStatusCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "VALIDATING", + "name": "VALIDATING" + }, + { + "value": "VALIDATION_FAILED", + "name": "VALIDATION_FAILED" + }, + { + "value": "PENDING_ACCEPTANCE", + "name": "PENDING_ACCEPTANCE" + }, + { + "value": "APPROVED", + "name": "APPROVED" + }, + { + "value": "PROVISIONING", + "name": "PROVISIONING" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "REJECTING", + "name": "REJECTING" + }, + { + "value": "REJECTED", + "name": "REJECTED" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] + } + }, + "com.amazonaws.opensearch#OutboundConnections": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#OutboundConnection" + } + }, + "com.amazonaws.opensearch#OwnerId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]+$" + } + }, + "com.amazonaws.opensearch#PackageDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + } + } + }, + "com.amazonaws.opensearch#PackageDetails": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

Internal ID of the package.

" + } + }, + "PackageName": { + "target": "com.amazonaws.opensearch#PackageName", + "traits": { + "smithy.api#documentation": "

User-specified name of the package.

" + } + }, + "PackageType": { + "target": "com.amazonaws.opensearch#PackageType", + "traits": { + "smithy.api#documentation": "

Currently supports only TXT-DICTIONARY.

" + } + }, + "PackageDescription": { + "target": "com.amazonaws.opensearch#PackageDescription", + "traits": { + "smithy.api#documentation": "

User-specified description of the package.

" + } + }, + "PackageStatus": { + "target": "com.amazonaws.opensearch#PackageStatus", + "traits": { + "smithy.api#documentation": "

Current state of the package. Values are COPYING, COPY_FAILED, AVAILABLE, DELETING, and DELETE_FAILED.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.opensearch#CreatedAt", + "traits": { + "smithy.api#documentation": "

The timestamp of when the package was created.

" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.opensearch#LastUpdated" + }, + "AvailablePackageVersion": { + "target": "com.amazonaws.opensearch#PackageVersion" + }, + "ErrorDetails": { + "target": "com.amazonaws.opensearch#ErrorDetails", + "traits": { + "smithy.api#documentation": "

Additional information if the package is in an error state. Null otherwise.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Basic information about a package.

" + } + }, + "com.amazonaws.opensearch#PackageDetailsList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#PackageDetails" + } + }, + "com.amazonaws.opensearch#PackageID": { + "type": "string" + }, + "com.amazonaws.opensearch#PackageName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 28 + }, + "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$" + } + }, + "com.amazonaws.opensearch#PackageSource": { + "type": "structure", + "members": { + "S3BucketName": { + "target": "com.amazonaws.opensearch#S3BucketName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket containing the package.

" + } + }, + "S3Key": { + "target": "com.amazonaws.opensearch#S3Key", + "traits": { + "smithy.api#documentation": "

Key (file name) of the package.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon S3 location for importing the package specified as S3BucketName and\n S3Key\n

" + } + }, + "com.amazonaws.opensearch#PackageStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "COPYING", + "name": "COPYING" + }, + { + "value": "COPY_FAILED", + "name": "COPY_FAILED" + }, + { + "value": "VALIDATING", + "name": "VALIDATING" + }, + { + "value": "VALIDATION_FAILED", + "name": "VALIDATION_FAILED" + }, + { + "value": "AVAILABLE", + "name": "AVAILABLE" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "DELETED", + "name": "DELETED" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + } + ] + } + }, + "com.amazonaws.opensearch#PackageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TXT-DICTIONARY", + "name": "TXT_DICTIONARY" + } + ] + } + }, + "com.amazonaws.opensearch#PackageVersion": { + "type": "string" + }, + "com.amazonaws.opensearch#PackageVersionHistory": { + "type": "structure", + "members": { + "PackageVersion": { + "target": "com.amazonaws.opensearch#PackageVersion", + "traits": { + "smithy.api#documentation": "

The package version.

" + } + }, + "CommitMessage": { + "target": "com.amazonaws.opensearch#CommitMessage", + "traits": { + "smithy.api#documentation": "

A message associated with the package version.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.opensearch#CreatedAt", + "traits": { + "smithy.api#documentation": "

The timestamp of when the package was created.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details of a package version.

" + } + }, + "com.amazonaws.opensearch#PackageVersionHistoryList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#PackageVersionHistory" + } + }, + "com.amazonaws.opensearch#Password": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 8, + "max": 128 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.opensearch#PolicyDocument": { + "type": "string", + "traits": { + "smithy.api#documentation": "

Access policy rules for a domain service endpoints. For more information, see Configuring access policies\n . The maximum size of a policy document is 100 KB.\n

", + "smithy.api#length": { + "min": 0, + "max": 102400 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#PurchaseReservedInstanceOffering": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows you to purchase reserved OpenSearch instances.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/purchaseReservedInstanceOffering", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingRequest": { + "type": "structure", + "members": { + "ReservedInstanceOfferingId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The ID of the reserved OpenSearch instance offering to purchase.

", + "smithy.api#required": {} + } + }, + "ReservationName": { + "target": "com.amazonaws.opensearch#ReservationToken", + "traits": { + "smithy.api#documentation": "

A customer-specified identifier to track this reservation.

", + "smithy.api#required": {} + } + }, + "InstanceCount": { + "target": "com.amazonaws.opensearch#InstanceCount", + "traits": { + "smithy.api#documentation": "

The number of OpenSearch instances to reserve.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for parameters to\n PurchaseReservedInstanceOffering\n

" + } + }, + "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingResponse": { + "type": "structure", + "members": { + "ReservedInstanceId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

Details of the reserved OpenSearch instance which was purchased.

" + } + }, + "ReservationName": { + "target": "com.amazonaws.opensearch#ReservationToken", + "traits": { + "smithy.api#documentation": "

The customer-specified identifier used to track this reservation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents the output of a PurchaseReservedInstanceOffering operation.\n

" + } + }, + "com.amazonaws.opensearch#RecurringCharge": { + "type": "structure", + "members": { + "RecurringChargeAmount": { + "target": "com.amazonaws.opensearch#Double", + "traits": { + "smithy.api#documentation": "

The monetary amount of the recurring charge.

" + } + }, + "RecurringChargeFrequency": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The frequency of the recurring charge.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the specific price and frequency of a recurring charges for a reserved OpenSearch instance, or for a\n reserved OpenSearch instance offering.\n

" + } + }, + "com.amazonaws.opensearch#RecurringChargeList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#RecurringCharge", + "traits": { + "smithy.api#xmlName": "RecurringCharge" + } + } + }, + "com.amazonaws.opensearch#ReferencePath": { + "type": "string" + }, + "com.amazonaws.opensearch#Region": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 30 + }, + "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$" + } + }, + "com.amazonaws.opensearch#RejectInboundConnection": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#RejectInboundConnectionRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#RejectInboundConnectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows the remote domain owner to reject an inbound cross-cluster connection request.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/reject", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#RejectInboundConnectionRequest": { + "type": "structure", + "members": { + "ConnectionId": { + "target": "com.amazonaws.opensearch#ConnectionId", + "traits": { + "smithy.api#documentation": "

The ID of the inbound connection to reject.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n RejectInboundConnection\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#RejectInboundConnectionResponse": { + "type": "structure", + "members": { + "Connection": { + "target": "com.amazonaws.opensearch#InboundConnection", + "traits": { + "smithy.api#documentation": "

The\n \n InboundConnection\n \n of the rejected inbound connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a\n \n RejectInboundConnection\n \n operation. Contains details about the rejected inbound connection.\n

" + } + }, + "com.amazonaws.opensearch#RemoveTags": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#RemoveTagsRequest" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the specified set of tags from the given domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/tags-removal", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#RemoveTagsRequest": { + "type": "structure", + "members": { + "ARN": { + "target": "com.amazonaws.opensearch#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the domain from which you want to delete the specified tags.\n

", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The TagKey list you want to remove from the domain.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n RemoveTags\n \n operation. Specify the ARN for the domain from which you want to remove the\n specified TagKey.\n

" + } + }, + "com.amazonaws.opensearch#ReservationToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 64 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#ReservedInstance": { + "type": "structure", + "members": { + "ReservationName": { + "target": "com.amazonaws.opensearch#ReservationToken", + "traits": { + "smithy.api#documentation": "

The customer-specified identifier to track this reservation.

" + } + }, + "ReservedInstanceId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the reservation.

" + } + }, + "BillingSubscriptionId": { + "target": "com.amazonaws.opensearch#Long" + }, + "ReservedInstanceOfferingId": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The offering identifier.

" + } + }, + "InstanceType": { + "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType", + "traits": { + "smithy.api#documentation": "

The OpenSearch instance type offered by the reserved instance offering.

" + } + }, + "StartTime": { + "target": "com.amazonaws.opensearch#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The time the reservation started.

" + } + }, + "Duration": { + "target": "com.amazonaws.opensearch#Integer", + "traits": { + "smithy.api#documentation": "

The duration, in seconds, for which the OpenSearch instance is reserved.

" + } + }, + "FixedPrice": { + "target": "com.amazonaws.opensearch#Double", + "traits": { + "smithy.api#documentation": "

The upfront fixed charge you will paid to purchase the specific reserved OpenSearch instance offering.

" + } + }, + "UsagePrice": { + "target": "com.amazonaws.opensearch#Double", + "traits": { + "smithy.api#documentation": "

The rate you are charged for each hour for the domain that is using this reserved instance.

" + } + }, + "CurrencyCode": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The currency code for the reserved OpenSearch instance offering.

" + } + }, + "InstanceCount": { + "target": "com.amazonaws.opensearch#Integer", + "traits": { + "smithy.api#documentation": "

The number of OpenSearch instances that have been reserved.

" + } + }, + "State": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The state of the reserved OpenSearch instance.

" + } + }, + "PaymentOption": { + "target": "com.amazonaws.opensearch#ReservedInstancePaymentOption", + "traits": { + "smithy.api#documentation": "

The payment option as defined in the reserved OpenSearch instance offering.

" + } + }, + "RecurringCharges": { + "target": "com.amazonaws.opensearch#RecurringChargeList", + "traits": { + "smithy.api#documentation": "

The charge to your account regardless of whether you are creating any domains using the instance offering.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details of a reserved OpenSearch instance.

" + } + }, + "com.amazonaws.opensearch#ReservedInstanceList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#ReservedInstance" + } + }, + "com.amazonaws.opensearch#ReservedInstanceOffering": { + "type": "structure", + "members": { + "ReservedInstanceOfferingId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The OpenSearch reserved instance offering identifier.

" + } + }, + "InstanceType": { + "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType", + "traits": { + "smithy.api#documentation": "

The OpenSearch instance type offered by the reserved instance offering.

" + } + }, + "Duration": { + "target": "com.amazonaws.opensearch#Integer", + "traits": { + "smithy.api#documentation": "

The duration, in seconds, for which the offering will reserve the OpenSearch instance.

" + } + }, + "FixedPrice": { + "target": "com.amazonaws.opensearch#Double", + "traits": { + "smithy.api#documentation": "

The upfront fixed charge you will pay to purchase the specific reserved OpenSearch instance offering.

" + } + }, + "UsagePrice": { + "target": "com.amazonaws.opensearch#Double", + "traits": { + "smithy.api#documentation": "

The rate you are charged for each hour the domain that is using the offering is running.

" + } + }, + "CurrencyCode": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The currency code for the reserved OpenSearch instance offering.

" + } + }, + "PaymentOption": { + "target": "com.amazonaws.opensearch#ReservedInstancePaymentOption", + "traits": { + "smithy.api#documentation": "

Payment option for the reserved OpenSearch instance offering

" + } + }, + "RecurringCharges": { + "target": "com.amazonaws.opensearch#RecurringChargeList", + "traits": { + "smithy.api#documentation": "

The charge to your account regardless of whether you are creating any domains using the instance offering.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details of a reserved OpenSearch instance offering.

" + } + }, + "com.amazonaws.opensearch#ReservedInstanceOfferingList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#ReservedInstanceOffering", + "traits": { + "smithy.api#xmlName": "ReservedInstanceOffering" + } + } + }, + "com.amazonaws.opensearch#ReservedInstancePaymentOption": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL_UPFRONT", + "name": "ALL_UPFRONT" + }, + { + "value": "PARTIAL_UPFRONT", + "name": "PARTIAL_UPFRONT" + }, + { + "value": "NO_UPFRONT", + "name": "NO_UPFRONT" + } + ] + } + }, + "com.amazonaws.opensearch#ResourceAlreadyExistsException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An exception for creating a resource that already exists. Gives http status code of 400.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.opensearch#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An exception for accessing or deleting a resource that does not exist. Gives http status code of 400.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.opensearch#RoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:(aws|aws\\-cn|aws\\-us\\-gov|aws\\-iso|aws\\-iso\\-b):iam::[0-9]+:role\\/" + } + }, + "com.amazonaws.opensearch#RollbackOnDisable": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK.\n

", + "smithy.api#enum": [ + { + "value": "NO_ROLLBACK", + "name": "NO_ROLLBACK" + }, + { + "value": "DEFAULT_ROLLBACK", + "name": "DEFAULT_ROLLBACK" + } + ] + } + }, + "com.amazonaws.opensearch#S3BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + } + } + }, + "com.amazonaws.opensearch#S3Key": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.opensearch#SAMLEntityId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 8, + "max": 512 + } + } + }, + "com.amazonaws.opensearch#SAMLIdp": { + "type": "structure", + "members": { + "MetadataContent": { + "target": "com.amazonaws.opensearch#SAMLMetadata", + "traits": { + "smithy.api#documentation": "

The metadata of the SAML application in XML format.

", + "smithy.api#required": {} + } + }, + "EntityId": { + "target": "com.amazonaws.opensearch#SAMLEntityId", + "traits": { + "smithy.api#documentation": "

The unique entity ID of the application in SAML identity provider.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The SAML identity povider's information.

" + } + }, + "com.amazonaws.opensearch#SAMLMetadata": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1048576 + } + } + }, + "com.amazonaws.opensearch#SAMLOptionsInput": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True if SAML is enabled.

" + } + }, + "Idp": { + "target": "com.amazonaws.opensearch#SAMLIdp", + "traits": { + "smithy.api#documentation": "

The SAML Identity Provider's information.

" + } + }, + "MasterUserName": { + "target": "com.amazonaws.opensearch#Username", + "traits": { + "smithy.api#documentation": "

The SAML master username, which is stored in the Amazon OpenSearch Service domain's internal database.

" + } + }, + "MasterBackendRole": { + "target": "com.amazonaws.opensearch#BackendRole", + "traits": { + "smithy.api#documentation": "

The backend role that the SAML master user is mapped to.

" + } + }, + "SubjectKey": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

Element of the SAML assertion to use for username. Default is NameID.

" + } + }, + "RolesKey": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

Element of the SAML assertion to use for backend roles. Default is roles.

" + } + }, + "SessionTimeoutMinutes": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440,\n and the default value is 60.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The SAML application configuration for the domain.

" + } + }, + "com.amazonaws.opensearch#SAMLOptionsOutput": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

True if SAML is enabled.

" + } + }, + "Idp": { + "target": "com.amazonaws.opensearch#SAMLIdp", + "traits": { + "smithy.api#documentation": "

Describes the SAML identity provider's information.

" + } + }, + "SubjectKey": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The key used for matching the SAML subject attribute.

" + } + }, + "RolesKey": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The key used for matching the SAML roles attribute.

" + } + }, + "SessionTimeoutMinutes": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

The duration, in minutes, after which a user session becomes inactive.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the SAML application configured for the domain.

" + } + }, + "com.amazonaws.opensearch#ScheduledAutoTuneActionType": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING, and JVM_YOUNG_GEN_TUNING.

", + "smithy.api#enum": [ + { + "value": "JVM_HEAP_SIZE_TUNING", + "name": "JVM_HEAP_SIZE_TUNING" + }, + { + "value": "JVM_YOUNG_GEN_TUNING", + "name": "JVM_YOUNG_GEN_TUNING" + } + ] + } + }, + "com.amazonaws.opensearch#ScheduledAutoTuneDescription": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The Auto-Tune action description.

" + } + }, + "com.amazonaws.opensearch#ScheduledAutoTuneDetails": { + "type": "structure", + "members": { + "Date": { + "target": "com.amazonaws.opensearch#AutoTuneDate", + "traits": { + "smithy.api#documentation": "

The timestamp of the Auto-Tune action scheduled for the domain.

" + } + }, + "ActionType": { + "target": "com.amazonaws.opensearch#ScheduledAutoTuneActionType", + "traits": { + "smithy.api#documentation": "

The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and JVM_YOUNG_GEN_TUNING.

" + } + }, + "Action": { + "target": "com.amazonaws.opensearch#ScheduledAutoTuneDescription", + "traits": { + "smithy.api#documentation": "

The Auto-Tune action description.

" + } + }, + "Severity": { + "target": "com.amazonaws.opensearch#ScheduledAutoTuneSeverityType", + "traits": { + "smithy.api#documentation": "

The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies details about the scheduled Auto-Tune action. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" + } + }, + "com.amazonaws.opensearch#ScheduledAutoTuneSeverityType": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.

", + "smithy.api#enum": [ + { + "value": "LOW", + "name": "LOW" + }, + { + "value": "MEDIUM", + "name": "MEDIUM" + }, + { + "value": "HIGH", + "name": "HIGH" + } + ] + } + }, + "com.amazonaws.opensearch#ServiceSoftwareOptions": { + "type": "structure", + "members": { + "CurrentVersion": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The current service software version present on the domain.

" + } + }, + "NewVersion": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The new service software version if one is available.

" + } + }, + "UpdateAvailable": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

\n True\n if you're able to update your service software version. False if you can't update your\n service software version.\n

" + } + }, + "Cancellable": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

\n True\n if you're able to cancel your service software version update. False if you can't cancel\n your service software update.\n

" + } + }, + "UpdateStatus": { + "target": "com.amazonaws.opensearch#DeploymentStatus", + "traits": { + "smithy.api#documentation": "

The status of your service software update. This field can take the following values: \n ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and \n NOT_ELIGIBLE.\n

" + } + }, + "Description": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The description of the UpdateStatus.\n

" + } + }, + "AutomatedUpdateDate": { + "target": "com.amazonaws.opensearch#DeploymentCloseDateTimeStamp", + "traits": { + "smithy.api#documentation": "

The timestamp, in Epoch time, until which you can manually request a service software update. After this date, we\n automatically update your service software.\n

" + } + }, + "OptionalDeployment": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

\n True\n if a service software is never automatically updated. False if a service software is automatically\n updated after AutomatedUpdateDate.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The current options of an domain service software options.

" + } + }, + "com.amazonaws.opensearch#ServiceUrl": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The endpoint to which service requests are submitted. For example, \n search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com\n or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com.\n

" + } + }, + "com.amazonaws.opensearch#SnapshotOptions": { + "type": "structure", + "members": { + "AutomatedSnapshotStartHour": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

The time, in UTC format, when the service takes a daily automated snapshot of the specified\n domain. Default is 0 hours.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The time, in UTC format, when the service takes a daily automated snapshot of the specified\n domain. Default is 0 hours.\n

" + } + }, + "com.amazonaws.opensearch#SnapshotOptionsStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#SnapshotOptions", + "traits": { + "smithy.api#documentation": "

The daily snapshot options specified for the domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of a daily automated snapshot.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Status of a daily automated snapshot.

" + } + }, + "com.amazonaws.opensearch#StartAt": { + "type": "timestamp" + }, + "com.amazonaws.opensearch#StartServiceSoftwareUpdate": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#StartServiceSoftwareUpdateRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#StartServiceSoftwareUpdateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Schedules a service software update for an Amazon OpenSearch Service domain.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/serviceSoftwareUpdate/start", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#StartServiceSoftwareUpdateRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain that you want to update to the latest service software.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n StartServiceSoftwareUpdate\n \n operation. Specifies the name of the domain to schedule a service software update for.\n

" + } + }, + "com.amazonaws.opensearch#StartServiceSoftwareUpdateResponse": { + "type": "structure", + "members": { + "ServiceSoftwareOptions": { + "target": "com.amazonaws.opensearch#ServiceSoftwareOptions", + "traits": { + "smithy.api#documentation": "

The current status of the OpenSearch service software update.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of a StartServiceSoftwareUpdate operation. Contains the status of the\n update.\n

" + } + }, + "com.amazonaws.opensearch#StartTimestamp": { + "type": "timestamp" + }, + "com.amazonaws.opensearch#StorageSubTypeName": { + "type": "string", + "traits": { + "smithy.api#documentation": "

\n Sub-type of the given storage type.\n List of available sub-storage options:\n \"instance\" storageType has no storageSubType.\n \"ebs\" storageType has the following valid storageSubTypes:\n

    \n
  1. standard
  2. \n
  3. gp2
  4. \n
  5. io1
  6. \n
\n See\n \n VolumeType\n \n for more information regarding each EBS storage option.\n

" + } + }, + "com.amazonaws.opensearch#StorageType": { + "type": "structure", + "members": { + "StorageTypeName": { + "target": "com.amazonaws.opensearch#StorageTypeName" + }, + "StorageSubTypeName": { + "target": "com.amazonaws.opensearch#StorageSubTypeName" + }, + "StorageTypeLimits": { + "target": "com.amazonaws.opensearch#StorageTypeLimitList", + "traits": { + "smithy.api#documentation": "

Limits that are applicable for the given storage type.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

StorageTypes represents the list of storage-related types and their attributes\n that are available for a given InstanceType.\n

" + } + }, + "com.amazonaws.opensearch#StorageTypeLimit": { + "type": "structure", + "members": { + "LimitName": { + "target": "com.amazonaws.opensearch#LimitName", + "traits": { + "smithy.api#documentation": "

\n Name of storage limits that are applicable for the given storage type.\n If\n \n StorageType\n \n is \"ebs\", the following storage options are applicable:\n

    \n
  1. MinimumVolumeSize
  2. \n Minimum amount of volume size that is applicable for the given storage type. Can be empty if not applicable.\n
  3. MaximumVolumeSize
  4. \n Maximum amount of volume size that is applicable for the given storage type. Can be empty if not applicable.\n
  5. MaximumIops
  6. \n Maximum amount of Iops that is applicable for given the storage type. Can be empty if not applicable.\n
  7. MinimumIops
  8. \n Minimum amount of Iops that is applicable for given the storage type. Can be empty if not applicable.\n
\n

" + } + }, + "LimitValues": { + "target": "com.amazonaws.opensearch#LimitValueList", + "traits": { + "smithy.api#documentation": "

\n Values for the\n \n StorageTypeLimit$LimitName\n \n .\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Limits that are applicable for the given storage type.\n

" + } + }, + "com.amazonaws.opensearch#StorageTypeLimitList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#StorageTypeLimit" + } + }, + "com.amazonaws.opensearch#StorageTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#StorageType" + } + }, + "com.amazonaws.opensearch#StorageTypeName": { + "type": "string", + "traits": { + "smithy.api#documentation": "

\n Type of storage.\n List of available storage options:\n

    \n
  1. instance
  2. \n Built-in storage available for the instance\n
  3. ebs
  4. \n Elastic block storage attached to the instance\n
\n

" + } + }, + "com.amazonaws.opensearch#String": { + "type": "string" + }, + "com.amazonaws.opensearch#StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#String" + } + }, + "com.amazonaws.opensearch#TLSSecurityPolicy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Policy-Min-TLS-1-0-2019-07", + "name": "POLICY_MIN_TLS_1_0_2019_07" + }, + { + "value": "Policy-Min-TLS-1-2-2019-07", + "name": "POLICY_MIN_TLS_1_2_2019_07" + } + ] + } + }, + "com.amazonaws.opensearch#Tag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.opensearch#TagKey", + "traits": { + "smithy.api#documentation": "

The TagKey, the name of the tag. Tag keys must be unique for the domain to\n which they are attached.\n

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.opensearch#TagValue", + "traits": { + "smithy.api#documentation": "

The TagValue, the value assigned to the corresponding tag key. Tag values can be null and\n don't have to be unique in a tag set. For example, you can have a key value\n pair in a tag set of project : Trinity and\n cost-center : Trinity\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A key value pair for a resource tag.

" + } + }, + "com.amazonaws.opensearch#TagKey": { + "type": "string", + "traits": { + "smithy.api#documentation": "

A string of length from 1 to 128 characters that specifies the key for a tag. Tag keys must be unique for the\n domain to which they're attached.\n

", + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#Tag" + }, + "traits": { + "smithy.api#documentation": "

A list of\n Tag.\n

" + } + }, + "com.amazonaws.opensearch#TagValue": { + "type": "string", + "traits": { + "smithy.api#documentation": "

A string of length from 0 to 256 characters that specifies the value for a tag. Tag values can be null and don't\n have to be unique in a tag set.\n

", + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.opensearch#TimeUnit": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The unit of a maintenance schedule duration. Valid value is HOUR. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

", + "smithy.api#enum": [ + { + "value": "HOURS", + "name": "HOURS" + } + ] + } + }, + "com.amazonaws.opensearch#UIntValue": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.opensearch#UpdateDomainConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#UpdateDomainConfigRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#UpdateDomainConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#InvalidTypeException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies the cluster configuration of the specified domain, such as setting the instance type\n and the number of instances.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/domain/{DomainName}/config", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#UpdateDomainConfigRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain you're updating.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClusterConfig": { + "target": "com.amazonaws.opensearch#ClusterConfig", + "traits": { + "smithy.api#documentation": "

The type and number of instances to instantiate for the domain cluster.

" + } + }, + "EBSOptions": { + "target": "com.amazonaws.opensearch#EBSOptions", + "traits": { + "smithy.api#documentation": "

Specify the type and size of the EBS volume to use.

" + } + }, + "SnapshotOptions": { + "target": "com.amazonaws.opensearch#SnapshotOptions", + "traits": { + "smithy.api#documentation": "

Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.\n

" + } + }, + "VPCOptions": { + "target": "com.amazonaws.opensearch#VPCOptions", + "traits": { + "smithy.api#documentation": "

Options to specify the subnets and security groups for the VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC\n .\n

" + } + }, + "CognitoOptions": { + "target": "com.amazonaws.opensearch#CognitoOptions", + "traits": { + "smithy.api#documentation": "

Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.\n

" + } + }, + "AdvancedOptions": { + "target": "com.amazonaws.opensearch#AdvancedOptions", + "traits": { + "smithy.api#documentation": "

Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when\n configuring access to individual sub-resources. By default, the value is true.\n See Advanced options\n for more information.\n

" + } + }, + "AccessPolicies": { + "target": "com.amazonaws.opensearch#PolicyDocument", + "traits": { + "smithy.api#documentation": "

IAM access policy as a JSON-formatted string.

" + } + }, + "LogPublishingOptions": { + "target": "com.amazonaws.opensearch#LogPublishingOptions", + "traits": { + "smithy.api#documentation": "

Map of LogType and LogPublishingOption, each containing options to publish a given type\n of OpenSearch log.\n

" + } + }, + "EncryptionAtRestOptions": { + "target": "com.amazonaws.opensearch#EncryptionAtRestOptions", + "traits": { + "smithy.api#documentation": "

Specifies encryption of data at rest options.

" + } + }, + "DomainEndpointOptions": { + "target": "com.amazonaws.opensearch#DomainEndpointOptions", + "traits": { + "smithy.api#documentation": "

Options to specify configuration that will be applied to the domain endpoint.

" + } + }, + "NodeToNodeEncryptionOptions": { + "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions", + "traits": { + "smithy.api#documentation": "

Specifies node-to-node encryption options.

" + } + }, + "AdvancedSecurityOptions": { + "target": "com.amazonaws.opensearch#AdvancedSecurityOptionsInput", + "traits": { + "smithy.api#documentation": "

Specifies advanced security options.

" + } + }, + "AutoTuneOptions": { + "target": "com.amazonaws.opensearch#AutoTuneOptions", + "traits": { + "smithy.api#documentation": "

Specifies Auto-Tune options.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the parameters to the\n \n UpdateDomain\n \n operation. Specifies the type and number of instances in the domain cluster.\n

" + } + }, + "com.amazonaws.opensearch#UpdateDomainConfigResponse": { + "type": "structure", + "members": { + "DomainConfig": { + "target": "com.amazonaws.opensearch#DomainConfig", + "traits": { + "smithy.api#documentation": "

The status of the updated domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of an UpdateDomain request. Contains the status of the domain\n being updated.\n

" + } + }, + "com.amazonaws.opensearch#UpdatePackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#UpdatePackageRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#UpdatePackageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#AccessDeniedException" + }, + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a package for use with Amazon OpenSearch Service domains.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/packages/update", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#UpdatePackageRequest": { + "type": "structure", + "members": { + "PackageID": { + "target": "com.amazonaws.opensearch#PackageID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the package.

", + "smithy.api#required": {} + } + }, + "PackageSource": { + "target": "com.amazonaws.opensearch#PackageSource", + "traits": { + "smithy.api#required": {} + } + }, + "PackageDescription": { + "target": "com.amazonaws.opensearch#PackageDescription", + "traits": { + "smithy.api#documentation": "

A new description of the package.

" + } + }, + "CommitMessage": { + "target": "com.amazonaws.opensearch#CommitMessage", + "traits": { + "smithy.api#documentation": "

A commit message for the new version which is shown as part of GetPackageVersionHistoryResponse.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for request parameters to the\n \n UpdatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#UpdatePackageResponse": { + "type": "structure", + "members": { + "PackageDetails": { + "target": "com.amazonaws.opensearch#PackageDetails", + "traits": { + "smithy.api#documentation": "

Information about the package.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the response returned by the\n \n UpdatePackage\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#UpdateTimestamp": { + "type": "timestamp" + }, + "com.amazonaws.opensearch#UpgradeDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#UpgradeDomainRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#UpgradeDomainResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows you to either upgrade your domain or perform an upgrade eligibility check to a compatible version of OpenSearch or Elasticsearch.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/upgradeDomain", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#UpgradeDomainRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#required": {} + } + }, + "TargetVersion": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#documentation": "

The version of OpenSearch you intend to upgrade the domain to.

", + "smithy.api#required": {} + } + }, + "PerformCheckOnly": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

\n When true, indicates that an upgrade eligibility check needs to be performed.\n Does not actually perform the upgrade.\n

" + } + }, + "AdvancedOptions": { + "target": "com.amazonaws.opensearch#AdvancedOptions" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for the request parameters to\n \n UpgradeDomain\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#UpgradeDomainResponse": { + "type": "structure", + "members": { + "UpgradeId": { + "target": "com.amazonaws.opensearch#String" + }, + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName" + }, + "TargetVersion": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#documentation": "

The version of OpenSearch that you intend to upgrade the domain to.

" + } + }, + "PerformCheckOnly": { + "target": "com.amazonaws.opensearch#Boolean", + "traits": { + "smithy.api#documentation": "

\n When true, indicates that an upgrade eligibility check needs to be performed.\n Does not actually perform the upgrade.\n

" + } + }, + "AdvancedOptions": { + "target": "com.amazonaws.opensearch#AdvancedOptions" + } + }, + "traits": { + "smithy.api#documentation": "

\n Container for response returned by\n \n UpgradeDomain\n \n operation.\n

" + } + }, + "com.amazonaws.opensearch#UpgradeHistory": { + "type": "structure", + "members": { + "UpgradeName": { + "target": "com.amazonaws.opensearch#UpgradeName", + "traits": { + "smithy.api#documentation": "

A string that briefly describes the upgrade.

" + } + }, + "StartTimestamp": { + "target": "com.amazonaws.opensearch#StartTimestamp", + "traits": { + "smithy.api#documentation": "

UTC timestamp at which the upgrade API call was made in \"yyyy-MM-ddTHH:mm:ssZ\" format.

" + } + }, + "UpgradeStatus": { + "target": "com.amazonaws.opensearch#UpgradeStatus", + "traits": { + "smithy.api#documentation": "

\n The current status of the upgrade. The status can take one of the following values:\n

\n

" + } + }, + "StepsList": { + "target": "com.amazonaws.opensearch#UpgradeStepsList", + "traits": { + "smithy.api#documentation": "

\n A list of\n \n UpgradeStepItem\n \n s representing information about each step performed as part of a specific upgrade or upgrade eligibility check.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

History of the last 10 upgrades and upgrade eligibility checks.

" + } + }, + "com.amazonaws.opensearch#UpgradeHistoryList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#UpgradeHistory" + } + }, + "com.amazonaws.opensearch#UpgradeName": { + "type": "string" + }, + "com.amazonaws.opensearch#UpgradeStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "SUCCEEDED", + "name": "SUCCEEDED" + }, + { + "value": "SUCCEEDED_WITH_ISSUES", + "name": "SUCCEEDED_WITH_ISSUES" + }, + { + "value": "FAILED", + "name": "FAILED" + } + ] + } + }, + "com.amazonaws.opensearch#UpgradeStep": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PRE_UPGRADE_CHECK", + "name": "PRE_UPGRADE_CHECK" + }, + { + "value": "SNAPSHOT", + "name": "SNAPSHOT" + }, + { + "value": "UPGRADE", + "name": "UPGRADE" + } + ] + } + }, + "com.amazonaws.opensearch#UpgradeStepItem": { + "type": "structure", + "members": { + "UpgradeStep": { + "target": "com.amazonaws.opensearch#UpgradeStep", + "traits": { + "smithy.api#documentation": "

\n One of three steps an upgrade or upgrade eligibility check goes through:\n

\n

" + } + }, + "UpgradeStepStatus": { + "target": "com.amazonaws.opensearch#UpgradeStatus", + "traits": { + "smithy.api#documentation": "

\n The current status of the upgrade. The status can take one of the following values:\n

\n

" + } + }, + "Issues": { + "target": "com.amazonaws.opensearch#Issues", + "traits": { + "smithy.api#documentation": "

A list of strings containing detailed information about the errors encountered in a particular step.

" + } + }, + "ProgressPercent": { + "target": "com.amazonaws.opensearch#Double", + "traits": { + "smithy.api#documentation": "

The floating point value representing the progress percentage of a particular step.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a single step of the upgrade or upgrade eligibility check workflow.

" + } + }, + "com.amazonaws.opensearch#UpgradeStepsList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#UpgradeStepItem" + } + }, + "com.amazonaws.opensearch#UserPoolId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 55 + }, + "smithy.api#pattern": "^[\\w-]+_[0-9a-zA-Z]+$" + } + }, + "com.amazonaws.opensearch#Username": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.opensearch#VPCDerivedInfo": { + "type": "structure", + "members": { + "VPCId": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

The VPC ID for the domain. Exists only if the domain was created with VPCOptions.

" + } + }, + "SubnetIds": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The subnets for the VPC endpoint.

" + } + }, + "AvailabilityZones": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The Availability Zones for the domain. Exists only if the domain was created with VPCOptions.

" + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The security groups for the VPC endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Options to specify the subnets and security groups for the VPC endpoint. For more information, see \n Launching your Amazon OpenSearch Service domains using a VPC.\n

" + } + }, + "com.amazonaws.opensearch#VPCDerivedInfoStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#VPCDerivedInfo", + "traits": { + "smithy.api#documentation": "

The VPC options for the specified domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the VPC options for the specified domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Status of the VPC options for the specified domain.

" + } + }, + "com.amazonaws.opensearch#VPCOptions": { + "type": "structure", + "members": { + "SubnetIds": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The subnets for the VPC endpoint.

" + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The security groups for the VPC endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Options to specify the subnets and security groups for the VPC endpoint. For more information, see \n Launching your Amazon OpenSearch Service domains using a VPC.\n

" + } + }, + "com.amazonaws.opensearch#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.opensearch#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An exception for missing / invalid input fields. Gives http status code of 400.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.opensearch#ValueStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.opensearch#VersionList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#VersionString" + }, + "traits": { + "smithy.api#documentation": "

List of supported OpenSearch versions.\n

" + } + }, + "com.amazonaws.opensearch#VersionStatus": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.opensearch#VersionString", + "traits": { + "smithy.api#documentation": "

The OpenSearch version for the specified OpenSearch domain.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OptionStatus", + "traits": { + "smithy.api#documentation": "

The status of the OpenSearch version options for the specified OpenSearch domain.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The status of the OpenSearch version options for the specified OpenSearch domain.

" + } + }, + "com.amazonaws.opensearch#VersionString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 14, + "max": 18 + }, + "smithy.api#pattern": "^Elasticsearch_[0-9]{1}\\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\\.[0-9]{1,2}$" + } + }, + "com.amazonaws.opensearch#VolumeType": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based Storage for more information.\n

", + "smithy.api#enum": [ + { + "value": "standard", + "name": "standard" + }, + { + "value": "gp2", + "name": "gp2" + }, + { + "value": "io1", + "name": "io1" + } + ] + } + }, + "com.amazonaws.opensearch#ZoneAwarenessConfig": { + "type": "structure", + "members": { + "AvailabilityZoneCount": { + "target": "com.amazonaws.opensearch#IntegerClass", + "traits": { + "smithy.api#documentation": "

An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This\n should be equal to number of subnets if VPC endpoints is enabled.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The zone awareness configuration for the domain cluster, such as the number of availability zones.

" + } + } + } +} diff --git a/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json b/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json index 008aed332994..17a34f82982d 100644 --- a/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json +++ b/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json @@ -134,6 +134,86 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.outposts#CreateOrder": { + "type": "operation", + "input": { + "target": "com.amazonaws.outposts#CreateOrderInput" + }, + "output": { + "target": "com.amazonaws.outposts#CreateOrderOutput" + }, + "errors": [ + { + "target": "com.amazonaws.outposts#AccessDeniedException" + }, + { + "target": "com.amazonaws.outposts#ConflictException" + }, + { + "target": "com.amazonaws.outposts#InternalServerException" + }, + { + "target": "com.amazonaws.outposts#NotFoundException" + }, + { + "target": "com.amazonaws.outposts#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.outposts#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an order for an Outpost.

", + "smithy.api#http": { + "method": "POST", + "uri": "/orders", + "code": 200 + } + } + }, + "com.amazonaws.outposts#CreateOrderInput": { + "type": "structure", + "members": { + "OutpostIdentifier": { + "target": "com.amazonaws.outposts#OutpostIdentifier", + "traits": { + "smithy.api#documentation": "

\n The ID or the Amazon Resource Name (ARN) of the Outpost.\n

", + "smithy.api#required": {} + } + }, + "LineItems": { + "target": "com.amazonaws.outposts#LineItemRequestListDefinition", + "traits": { + "smithy.api#documentation": "

The line items that make up the order.

", + "smithy.api#required": {} + } + }, + "PaymentOption": { + "target": "com.amazonaws.outposts#PaymentOption", + "traits": { + "smithy.api#documentation": "

The payment option for the order.

", + "smithy.api#required": {} + } + }, + "PaymentTerm": { + "target": "com.amazonaws.outposts#PaymentTerm", + "traits": { + "smithy.api#documentation": "

The payment terms for the order.

" + } + } + } + }, + "com.amazonaws.outposts#CreateOrderOutput": { + "type": "structure", + "members": { + "Order": { + "target": "com.amazonaws.outposts#Order", + "traits": { + "smithy.api#documentation": "

Information about this order.

" + } + } + } + }, "com.amazonaws.outposts#CreateOutpost": { "type": "operation", "input": { @@ -251,6 +331,7 @@ "OutpostId": { "target": "com.amazonaws.outposts#OutpostId", "traits": { + "smithy.api#documentation": "

\n The ID of the Outpost.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -358,6 +439,7 @@ "OutpostId": { "target": "com.amazonaws.outposts#OutpostId", "traits": { + "smithy.api#documentation": "

\n The ID of the Outpost.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -401,6 +483,7 @@ "OutpostId": { "target": "com.amazonaws.outposts#OutpostId", "traits": { + "smithy.api#documentation": "

\n The ID of the Outpost.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -429,7 +512,10 @@ "target": "com.amazonaws.outposts#Token" }, "OutpostId": { - "target": "com.amazonaws.outposts#OutpostId" + "target": "com.amazonaws.outposts#OutpostId", + "traits": { + "smithy.api#documentation": "

\n The ID of the Outpost.\n

" + } }, "OutpostArn": { "target": "com.amazonaws.outposts#OutpostArn" @@ -444,6 +530,9 @@ } } }, + "com.amazonaws.outposts#ISO8601Timestamp": { + "type": "timestamp" + }, "com.amazonaws.outposts#InstanceType": { "type": "string", "traits": { @@ -506,6 +595,91 @@ } } }, + "com.amazonaws.outposts#LineItem": { + "type": "structure", + "members": { + "CatalogItemId": { + "target": "com.amazonaws.outposts#SkuCode", + "traits": { + "smithy.api#documentation": "

\n The ID of the catalog item.\n

" + } + }, + "LineItemId": { + "target": "com.amazonaws.outposts#LineItemId", + "traits": { + "smithy.api#documentation": "

The ID of the line item.

" + } + }, + "Quantity": { + "target": "com.amazonaws.outposts#LineItemQuantity", + "traits": { + "smithy.api#documentation": "

The quantity of the line item.

" + } + }, + "Status": { + "target": "com.amazonaws.outposts#Status", + "traits": { + "smithy.api#documentation": "

The status of the line item.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a line item.

" + } + }, + "com.amazonaws.outposts#LineItemId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^ooi-[a-f0-9]{17}$" + } + }, + "com.amazonaws.outposts#LineItemListDefinition": { + "type": "list", + "member": { + "target": "com.amazonaws.outposts#LineItem" + } + }, + "com.amazonaws.outposts#LineItemQuantity": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.outposts#LineItemRequest": { + "type": "structure", + "members": { + "CatalogItemId": { + "target": "com.amazonaws.outposts#SkuCode", + "traits": { + "smithy.api#documentation": "

The ID of the catalog item.

" + } + }, + "Quantity": { + "target": "com.amazonaws.outposts#LineItemQuantity", + "traits": { + "smithy.api#documentation": "

The quantity of a line item request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a line item request.

" + } + }, + "com.amazonaws.outposts#LineItemRequestListDefinition": { + "type": "list", + "member": { + "target": "com.amazonaws.outposts#LineItemRequest" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.outposts#ListOutposts": { "type": "operation", "input": { @@ -725,11 +899,105 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.outposts#Order": { + "type": "structure", + "members": { + "OutpostId": { + "target": "com.amazonaws.outposts#OutpostIdOnly", + "traits": { + "smithy.api#documentation": "

\n The ID of the Outpost.\n

" + } + }, + "OrderId": { + "target": "com.amazonaws.outposts#OrderId", + "traits": { + "smithy.api#documentation": "

The ID of the order.

" + } + }, + "Status": { + "target": "com.amazonaws.outposts#OrderStatus", + "traits": { + "smithy.api#documentation": "

The status of the order

" + } + }, + "LineItems": { + "target": "com.amazonaws.outposts#LineItemListDefinition", + "traits": { + "smithy.api#documentation": "

The line items for the order

" + } + }, + "PaymentOption": { + "target": "com.amazonaws.outposts#PaymentOption", + "traits": { + "smithy.api#documentation": "

The payment option for the order.

" + } + }, + "OrderSubmissionDate": { + "target": "com.amazonaws.outposts#ISO8601Timestamp", + "traits": { + "smithy.api#documentation": "

The submission date for the order.

" + } + }, + "OrderFulfilledDate": { + "target": "com.amazonaws.outposts#ISO8601Timestamp", + "traits": { + "smithy.api#documentation": "

The fulfillment date of the order.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about an order.

" + } + }, + "com.amazonaws.outposts#OrderId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + }, + "smithy.api#pattern": "^oo-[a-f0-9]{17}$" + } + }, + "com.amazonaws.outposts#OrderStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RECEIVED", + "name": "RECEIVED" + }, + { + "value": "PENDING", + "name": "PENDING" + }, + { + "value": "PROCESSING", + "name": "PROCESSING" + }, + { + "value": "INSTALLING", + "name": "INSTALLING" + }, + { + "value": "FULFILLED", + "name": "FULFILLED" + }, + { + "value": "CANCELLED", + "name": "CANCELLED" + } + ] + } + }, "com.amazonaws.outposts#Outpost": { "type": "structure", "members": { "OutpostId": { - "target": "com.amazonaws.outposts#OutpostId" + "target": "com.amazonaws.outposts#OutpostId", + "traits": { + "smithy.api#documentation": "

\n The ID of the Outpost.\n

" + } }, "OwnerId": { "target": "com.amazonaws.outposts#OwnerId" @@ -794,7 +1062,26 @@ "com.amazonaws.outposts#OutpostId": { "type": "string", "traits": { - "smithy.api#documentation": "

The ID of the Outpost.

", + "smithy.api#length": { + "min": 1, + "max": 180 + }, + "smithy.api#pattern": "^(arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:outpost/)?op-[a-f0-9]{17}$" + } + }, + "com.amazonaws.outposts#OutpostIdOnly": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + }, + "smithy.api#pattern": "^op-[a-f0-9]{17}$" + } + }, + "com.amazonaws.outposts#OutpostIdentifier": { + "type": "string", + "traits": { "smithy.api#length": { "min": 1, "max": 180 @@ -817,6 +1104,9 @@ "type": "service", "version": "2019-12-03", "operations": [ + { + "target": "com.amazonaws.outposts#CreateOrder" + }, { "target": "com.amazonaws.outposts#CreateOutpost" }, @@ -875,6 +1165,36 @@ "smithy.api#pattern": "^\\d{12}$" } }, + "com.amazonaws.outposts#PaymentOption": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL_UPFRONT", + "name": "ALL_UPFRONT" + }, + { + "value": "NO_UPFRONT", + "name": "NO_UPFRONT" + }, + { + "value": "PARTIAL_UPFRONT", + "name": "PARTIAL_UPFRONT" + } + ] + } + }, + "com.amazonaws.outposts#PaymentTerm": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "THREE_YEARS", + "name": "THREE_YEARS" + } + ] + } + }, "com.amazonaws.outposts#ResourceType": { "type": "string", "traits": { @@ -972,6 +1292,26 @@ "smithy.api#pattern": "^[\\S ]+$" } }, + "com.amazonaws.outposts#SkuCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + }, + "smithy.api#pattern": "^OR-[A-Z0-9]{7}$" + } + }, + "com.amazonaws.outposts#Status": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": "^[\\S ]+$" + } + }, "com.amazonaws.outposts#String": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json b/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json index 2f2decc9f632..985baf2ef04d 100644 --- a/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json +++ b/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json @@ -183,6 +183,17 @@ "smithy.api#documentation": "

The parameters for Elasticsearch.

" } }, + "com.amazonaws.quicksight#AmazonOpenSearchParameters": { + "type": "structure", + "members": { + "Domain": { + "target": "com.amazonaws.quicksight#Domain", + "traits": { + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.quicksight#Analysis": { "type": "structure", "members": { @@ -4405,6 +4416,9 @@ "traits": { "smithy.api#documentation": "

The parameters for Twitter.

" } + }, + "AmazonOpenSearchParameters": { + "target": "com.amazonaws.quicksight#AmazonOpenSearchParameters" } }, "traits": { @@ -4518,6 +4532,10 @@ { "value": "TIMESTREAM", "name": "TIMESTREAM" + }, + { + "value": "AMAZON_OPENSEARCH", + "name": "AMAZON_OPENSEARCH" } ] } diff --git a/codegen/sdk-codegen/aws-models/ram.2018-01-04.json b/codegen/sdk-codegen/aws-models/ram.2018-01-04.json index cb0b1b84d642..503c987e9b0a 100644 --- a/codegen/sdk-codegen/aws-models/ram.2018-01-04.json +++ b/codegen/sdk-codegen/aws-models/ram.2018-01-04.json @@ -70,7 +70,7 @@ } ], "traits": { - "smithy.api#documentation": "

Accepts an invitation to a resource share from another AWS account.

", + "smithy.api#documentation": "

Accepts an invitation to a resource share from another Amazon Web Services account.

", "smithy.api#http": { "method": "POST", "uri": "/acceptresourceshareinvitation", @@ -202,7 +202,7 @@ "name": "ram" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you\n create a resource share, associate the resource with the resource share, and specify the principals that\n can access the resources associated with the resource share. The following principals are supported:\n AWS accounts, organizational units (OU) from AWS Organizations, and organizations from\n AWS Organizations.

\n

For more information, see the AWS Resource Access Manager User Guide.

", + "smithy.api#documentation": "

This is the Resource Access Manager API Reference. This documentation provides\n descriptions and syntax for each of the actions and data types in RAM. RAM is a\n service that helps you securely share your Amazon Web Services resources across Amazon Web Services accounts and\n within your organization or organizational units (OUs) in Organizations. For supported\n resource types, you can also share resources with IAM roles and IAM users. If you have\n multiple Amazon Web Services accounts, you can use RAM to share those resources with other\n accounts.

\n\n

To learn more about RAM, see the following resources:

\n\n ", "smithy.api#title": "AWS Resource Access Manager" } }, @@ -308,14 +308,14 @@ "permissionArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS RAM permissions to associate with the resource share.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the RAM permission to associate with the\n resource share.

", "smithy.api#required": {} } }, "replace": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the permission should replace the permissions that are currently \n \tassociated with the resource share. Use true to replace the current permissions. \n \tUse false to add the permission to the current permission.

" + "smithy.api#documentation": "

Indicates whether the permission should replace the permissions that are currently\n associated with the resource share. Use true to replace the current permissions. Use\n false to add the permission to the current permission.

" } }, "clientToken": { @@ -327,7 +327,7 @@ "permissionVersion": { "target": "com.amazonaws.ram#Integer", "traits": { - "smithy.api#documentation": "

The version of the AWS RAM permissions to associate with the resource share.

" + "smithy.api#documentation": "

The version of the RAM permissions to associate with the resource share.

" } } } @@ -362,13 +362,13 @@ "resourceArns": { "target": "com.amazonaws.ram#ResourceArnList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the resources.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the resources.

" } }, "principals": { "target": "com.amazonaws.ram#PrincipalArnOrIdList", "traits": { - "smithy.api#documentation": "

The principals to associate with the resource share. The possible values are IDs of \n \tAWS accounts, and the ARNs of organizational units (OU) or organizations from AWS \n \tOrganizations.

" + "smithy.api#documentation": "

The principals to associate with the resource share. The possible values are:

\n \n \n

Not all resource types can be shared with IAM roles and IAM users. For more\n information, see Sharing with IAM roles and IAM users in the Resource Access Manager User\n Guide.

\n
" } }, "clientToken": { @@ -446,7 +446,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a resource share.

", + "smithy.api#documentation": "

Creates a resource share. You must provide a list of the Amazon Resource Names (ARNs) for the\n resources you want to share. You must also specify who you want to share the resources\n with, and the permissions that you grant them.

\n \n

Sharing a resource makes it available for use by principals outside of the\n Amazon Web Services account that created the resource. Sharing doesn't change any permissions or\n quotas that apply to the resource in the account that created it.

\n
", "smithy.api#http": { "method": "POST", "uri": "/createresourceshare", @@ -467,13 +467,13 @@ "resourceArns": { "target": "com.amazonaws.ram#ResourceArnList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the resources to associate with the resource share.

" + "smithy.api#documentation": "

The ARNs of the resources to associate with the resource share.

" } }, "principals": { "target": "com.amazonaws.ram#PrincipalArnOrIdList", "traits": { - "smithy.api#documentation": "

The principals to associate with the resource share. The possible values are IDs of AWS accounts,\n the ARN of an OU or organization from AWS Organizations.

" + "smithy.api#documentation": "

The principals to associate with the resource share. The possible values are:

\n \n \n

Not all resource types can be shared with IAM roles and IAM users. For more\n information, see Sharing with IAM roles and IAM users in the Resource Access Manager User\n Guide.

\n
" } }, "tags": { @@ -485,7 +485,7 @@ "allowExternalPrincipals": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether principals outside your AWS organization can be associated with a resource share.

" + "smithy.api#documentation": "

Indicates whether principals outside your organization in Organizations can be associated\n with a resource share.

" } }, "clientToken": { @@ -497,7 +497,7 @@ "permissionArns": { "target": "com.amazonaws.ram#PermissionArnList", "traits": { - "smithy.api#documentation": "

The ARNs of the permissions to associate with the resource share. If you do not specify an ARN\n\t\t\tfor the permission, AWS RAM automatically attaches the default version of the permission\n\t\t\tfor each resource type.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the permissions to associate with the resource share. If you\n do not specify an ARN for the permission, RAM automatically attaches the default\n version of the permission for each resource type. Only one permission can be associated\n with each resource type in a resource share.

" } } } @@ -690,7 +690,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disassociates an AWS RAM permission from a resource share.

", + "smithy.api#documentation": "

Disassociates an RAM permission from a resource share.

", "smithy.api#http": { "method": "POST", "uri": "/disassociateresourcesharepermission", @@ -711,7 +711,7 @@ "permissionArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ARN of the permission to disassociate from the resource share.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the permission to disassociate from the resource share.

", "smithy.api#required": {} } }, @@ -807,7 +807,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables resource sharing within your AWS Organization.

\n

The caller must be the master account for the AWS Organization.

", + "smithy.api#documentation": "

Enables resource sharing within your organization in Organizations.

\n

The caller must be the master account for the organization.

", "smithy.api#http": { "method": "POST", "uri": "/enablesharingwithawsorganization", @@ -860,7 +860,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the contents of an AWS RAM permission in JSON format.

", + "smithy.api#documentation": "

Gets the contents of an RAM permission in JSON format.

", "smithy.api#http": { "method": "POST", "uri": "/getpermission", @@ -874,7 +874,7 @@ "permissionArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ARN of the permission.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the permission.

", "smithy.api#required": {} } }, @@ -945,7 +945,7 @@ "resourceArns": { "target": "com.amazonaws.ram#ResourceArnList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the resources.

", + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the resources.

", "smithy.api#required": {} } }, @@ -1037,7 +1037,7 @@ "associationType": { "target": "com.amazonaws.ram#ResourceShareAssociationType", "traits": { - "smithy.api#documentation": "

The association type. Specify PRINCIPAL to list the principals that are \n \t\tassociated with the specified resource share. Specify RESOURCE to list \n \t\tthe resources that are associated with the specified resource share.

", + "smithy.api#documentation": "

The association type. Specify PRINCIPAL to list the principals that are\n associated with the specified resource share. Specify RESOURCE to list the resources\n that are associated with the specified resource share.

", "smithy.api#required": {} } }, @@ -1050,13 +1050,13 @@ "resourceArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if the \n \tassociation type is PRINCIPAL.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if\n the association type is PRINCIPAL.

" } }, "principal": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The principal. You cannot specify this parameter if the association type is \n \tRESOURCE.

" + "smithy.api#documentation": "

The principal. You cannot specify this parameter if the association type is\n RESOURCE.

" } }, "associationStatus": { @@ -1238,7 +1238,7 @@ "resourceShareArns": { "target": "com.amazonaws.ram#ResourceShareArnList", "traits": { - "smithy.api#documentation": "

The ARNs of the resource shares.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the resource shares.

" } }, "resourceShareStatus": { @@ -1281,7 +1281,7 @@ "permissionArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS RAM permission that is associated with the resource share.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the RAM permission that is associated with the\n resource share.

" } } } @@ -1314,7 +1314,11 @@ } }, "traits": { - "smithy.api#documentation": "

A client token input parameter was reused with an operation, but at least one of\n the other input parameters is different from the previous call to the operation.

", + "aws.protocols#awsQueryError": { + "code": "IdempotentParameterMismatch", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

A client token input parameter was reused with an operation, but at least one of the\n other input parameters is different from the previous call to the operation.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -1336,6 +1340,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidClientToken", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

A client token is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -1352,6 +1360,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidMaxResults", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The specified value for MaxResults is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -1368,6 +1380,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidNextToken", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The specified value for NextToken is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -1384,6 +1400,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidParameter", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

A parameter is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -1400,6 +1420,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceType.Unknown", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The specified resource type is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -1416,6 +1440,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidStateTransitionException.Unknown", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The requested state transition is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -1459,7 +1487,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the resources in a resource share that is shared with you but that the invitation is still pending for.

", + "smithy.api#documentation": "

Lists the resources in a resource share that is shared with you but that the invitation is still\n pending for.

", "smithy.api#http": { "method": "POST", "uri": "/listpendinginvitationresources", @@ -1539,7 +1567,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the AWS RAM permissions.

", + "smithy.api#documentation": "

Lists the RAM permissions.

", "smithy.api#http": { "method": "POST", "uri": "/listpermissions", @@ -1558,7 +1586,7 @@ "resourceType": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

Specifies the resource type for which to list permissions. For example, to list only \n\t\tpermissions that apply to EC2 subnets, specify ec2:Subnet.

" + "smithy.api#documentation": "

Specifies the resource type for which to list permissions. For example, to list only\n permissions that apply to EC2 subnets, specify ec2:Subnet.

" } }, "nextToken": { @@ -1621,7 +1649,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the principals that you have shared resources with or that have shared resources\n\t\t\twith you.

", + "smithy.api#documentation": "

Lists the principals that you have shared resources with or that have shared resources\n with you.

", "smithy.api#http": { "method": "POST", "uri": "/listprincipals", @@ -1659,7 +1687,7 @@ "resourceType": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The resource type.

\n \t

Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule\n

" + "smithy.api#documentation": "

The resource type.

\n

Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:FirewallRuleGroup |route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule | s3-outposts:Outpost | ssm-contacts:Contact | ssm-incidents:ResponsePlan\n

" } }, "resourceShareArns": { @@ -1731,7 +1759,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the AWS RAM permissions that are associated with a resource share.

", + "smithy.api#documentation": "

Lists the RAM permissions that are associated with a resource share.

", "smithy.api#http": { "method": "POST", "uri": "/listresourcesharepermissions", @@ -1808,7 +1836,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the shareable resource types supported by AWS RAM.

", + "smithy.api#documentation": "

Lists the shareable resource types supported by RAM.

", "smithy.api#http": { "method": "POST", "uri": "/listresourcetypes", @@ -1844,7 +1872,7 @@ "resourceTypes": { "target": "com.amazonaws.ram#ServiceNameAndResourceTypeList", "traits": { - "smithy.api#documentation": "

The shareable resource types supported by AWS RAM.

" + "smithy.api#documentation": "

The shareable resource types supported by RAM.

" } }, "nextToken": { @@ -1887,7 +1915,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the resources that you added to a resource shares or the resources that are shared with you.

", + "smithy.api#documentation": "

Lists the resources that you added to a resource shares or the resources that are shared with\n you.

", "smithy.api#http": { "method": "POST", "uri": "/listresources", @@ -1919,13 +1947,13 @@ "resourceType": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The resource type.

\n \t

Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule\n

" + "smithy.api#documentation": "

The resource type.

\n

Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:FirewallRuleGroup |route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule | s3-outposts:Outpost | ssm-contacts:Contact | ssm-incidents:ResponsePlan\n

" } }, "resourceArns": { "target": "com.amazonaws.ram#ResourceArnList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the resources.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the resources.

" } }, "resourceShareArns": { @@ -1976,6 +2004,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidArn.Malformed", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The format of an Amazon Resource Name (ARN) is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2002,6 +2034,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "MissingRequiredParameter", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

A required input parameter is missing.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2018,6 +2054,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "OperationNotPermitted", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The requested operation is not permitted.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2074,12 +2114,12 @@ "external": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

" + "smithy.api#documentation": "

Indicates whether the principal belongs to the same organization in Organizations as the\n Amazon Web Services account that owns the resource share.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a principal for use with AWS Resource Access Manager.

" + "smithy.api#documentation": "

Describes a principal for use with Resource Access Manager.

" } }, "com.amazonaws.ram#PrincipalArnOrIdList": { @@ -2135,7 +2175,7 @@ } ], "traits": { - "smithy.api#documentation": "

Resource shares that were created by attaching a policy to a resource are visible only to\n\t\t\tthe resource share owner, and the resource share cannot be modified in AWS RAM.

\n \t\n \t

Use this API action to promote the resource share. When you promote the resource share,\n\t\t\tit becomes:

\n \t ", + "smithy.api#documentation": "

Resource shares that were created by attaching a policy to a resource are visible only\n to the resource share owner, and the resource share cannot be modified in RAM.

\n\n

Use this API action to promote the resource share. When you promote the resource\n share, it becomes:

\n ", "smithy.api#http": { "method": "POST", "uri": "/promoteresourcesharecreatedfrompolicy", @@ -2149,7 +2189,7 @@ "resourceShareArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ARN of the resource share to promote.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource share to promote.

", "smithy.api#httpQuery": "resourceShareArn", "smithy.api#required": {} } @@ -2209,7 +2249,7 @@ } ], "traits": { - "smithy.api#documentation": "

Rejects an invitation to a resource share from another AWS account.

", + "smithy.api#documentation": "

Rejects an invitation to a resource share from another Amazon Web Services account.

", "smithy.api#http": { "method": "POST", "uri": "/rejectresourceshareinvitation", @@ -2276,7 +2316,7 @@ "resourceGroupArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ARN of the resource group. This value is returned only if the resource is a resource\n\t\t\tgroup.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource group. This value is returned only if\n the resource is a resource group.

" } }, "status": { @@ -2328,6 +2368,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceArn.NotFound", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

An Amazon Resource Name (ARN) was not found.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2375,13 +2419,13 @@ "owningAccountId": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ID of the AWS account that owns the resource share.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource share.

" } }, "allowExternalPrincipals": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether principals outside your AWS organization can be associated with a resource share.

" + "smithy.api#documentation": "

Indicates whether principals outside your organization in Organizations can be associated\n with a resource share.

" } }, "status": { @@ -2417,7 +2461,7 @@ "featureSet": { "target": "com.amazonaws.ram#ResourceShareFeatureSet", "traits": { - "smithy.api#documentation": "

Indicates how the resource share was created. Possible values include:

\n\t " + "smithy.api#documentation": "

Indicates how the resource share was created. Possible values include:

\n " } } }, @@ -2452,7 +2496,7 @@ "associatedEntity": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The associated entity. For resource associations, this is the ARN of the resource.\n For principal associations, this is the ID of an AWS account or the ARN of an OU or\n organization from AWS Organizations.

" + "smithy.api#documentation": "

The associated entity. For resource associations, this is the Amazon Resource Name\n (ARN) of the resource. For principal associations, this is one of the following:

\n " } }, "associationType": { @@ -2488,7 +2532,7 @@ "external": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

" + "smithy.api#documentation": "

Indicates whether the principal belongs to the same organization in Organizations as the\n Amazon Web Services account that owns the resource share.

" } } }, @@ -2590,13 +2634,13 @@ "senderAccountId": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ID of the AWS account that sent the invitation.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that sent the invitation.

" } }, "receiverAccountId": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ID of the AWS account that received the invitation.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that received the invitation.

" } }, "invitationTimestamp": { @@ -2617,13 +2661,13 @@ "smithy.api#deprecated": { "message": "This member has been deprecated. Use ListPendingInvitationResources." }, - "smithy.api#documentation": "

To view the resources associated with a pending resource share invitation, use \n \t\n \t\tListPendingInvitationResources.

" + "smithy.api#documentation": "

To view the resources associated with a pending resource share invitation, use \n ListPendingInvitationResources.

" } }, "receiverArn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM user or IAM role that received the invitation.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM user or IAM role that received the\n invitation.

" } } }, @@ -2642,6 +2686,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceShareInvitationArn.AlreadyAccepted", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The invitation was already accepted.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2658,6 +2706,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceShareInvitationArn.AlreadyRejected", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The invitation was already rejected.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2683,6 +2735,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceShareInvitationArn.NotFound", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an invitation was not found.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2699,6 +2755,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceShareInvitationArn.Expired", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The invitation is expired.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2747,6 +2807,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ResourceShareLimitExceeded", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The requested resource share exceeds the limit for your account.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2767,7 +2831,7 @@ "arn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ARN of the permission.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the permission.

" } }, "version": { @@ -2779,7 +2843,7 @@ "defaultVersion": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this permission.

" + "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this\n permission.

" } }, "name": { @@ -2797,7 +2861,7 @@ "permission": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The permission's effect and actions in JSON format. The effect indicates whether\n\t\t\tthe actions are allowed or denied. The actions list the API actions to\n\t\t\twhich the principal is granted or denied access.

" + "smithy.api#documentation": "

The permission's effect and actions in JSON format. The effect indicates\n whether the actions are allowed or denied. The actions list the API actions\n to which the principal is granted or denied access.

" } }, "creationTime": { @@ -2815,12 +2879,12 @@ "isResourceTypeDefault": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this resource type.

" + "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this\n resource type.

" } } }, "traits": { - "smithy.api#documentation": "

Information about an AWS RAM permission.

" + "smithy.api#documentation": "

Information about an RAM permission.

" } }, "com.amazonaws.ram#ResourceSharePermissionList": { @@ -2838,7 +2902,7 @@ "arn": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The ARN of the permission.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the permission.

" } }, "version": { @@ -2850,7 +2914,7 @@ "defaultVersion": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this permission.

" + "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this\n permission.

" } }, "name": { @@ -2886,7 +2950,7 @@ "isResourceTypeDefault": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this resource type.

" + "smithy.api#documentation": "

Specifies whether the version of the permission is set to the default version for this\n resource type.

" } } }, @@ -2959,6 +3023,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InternalError", + "httpResponseCode": 500 + }, "smithy.api#documentation": "

The service could not respond to the request due to an internal problem.

", "smithy.api#error": "server", "smithy.api#httpError": 500 @@ -2976,12 +3044,12 @@ "serviceName": { "target": "com.amazonaws.ram#String", "traits": { - "smithy.api#documentation": "

The name of the AWS services to which the resources belong.

" + "smithy.api#documentation": "

The name of the Amazon Web Services services to which the resources belong.

" } } }, "traits": { - "smithy.api#documentation": "

Information about the shareable resource types and the AWS services to which they belong.

" + "smithy.api#documentation": "

Information about the shareable resource types and the Amazon Web Services services to which they\n belong.

" } }, "com.amazonaws.ram#ServiceNameAndResourceTypeList": { @@ -3004,6 +3072,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "Unavailable", + "httpResponseCode": 503 + }, "smithy.api#documentation": "

The service is not available.

", "smithy.api#error": "server", "smithy.api#httpError": 503 @@ -3078,6 +3150,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "TagLimitExceeded", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The requested tags exceed the limit for your account.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -3100,6 +3176,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "TagPolicyViolation", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The specified tag is a reserved word and cannot be used.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -3191,6 +3271,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidResourceShareArn.NotFound", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

A specified resource was not found.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -3312,7 +3396,7 @@ "allowExternalPrincipals": { "target": "com.amazonaws.ram#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether principals outside your AWS organization can be associated with a resource share.

" + "smithy.api#documentation": "

Indicates whether principals outside your organization in Organizations can be associated\n with a resource share.

" } }, "clientToken": { diff --git a/codegen/sdk-codegen/aws-models/rds.2014-10-31.json b/codegen/sdk-codegen/aws-models/rds.2014-10-31.json index 0f71da998951..9365c4fdb73b 100644 --- a/codegen/sdk-codegen/aws-models/rds.2014-10-31.json +++ b/codegen/sdk-codegen/aws-models/rds.2014-10-31.json @@ -13156,7 +13156,7 @@ } ], "traits": { - "smithy.api#documentation": "

Set the capacity of an Aurora Serverless DB cluster to a specific value.

\n

Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale \n fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity \n to set the capacity explicitly.

\n

After this call sets the DB cluster capacity, Aurora Serverless can automatically scale\n the DB cluster based on the cooldown period for scaling up and the cooldown period\n for scaling down.

\n

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the \n Amazon Aurora User Guide.

\n \n

If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that \n prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, \n see \n Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

\n
\n \n

This action only applies to Aurora DB clusters.

\n
" + "smithy.api#documentation": "

Set the capacity of an Aurora Serverless DB cluster to a specific value.

\n

Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale \n fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity \n to set the capacity explicitly.

\n

After this call sets the DB cluster capacity, Aurora Serverless can automatically scale\n the DB cluster based on the cooldown period for scaling up and the cooldown period\n for scaling down.

\n

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the \n Amazon Aurora User Guide.

\n \n

If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that \n prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, \n see \n Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

\n
\n \n

This action only applies to Aurora Serverless DB clusters.

\n
" } }, "com.amazonaws.rds#ModifyCurrentDBClusterCapacityMessage": { @@ -13178,7 +13178,7 @@ "SecondsBeforeTimeout": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

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

\n " + "smithy.api#documentation": "

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

\n

Specify a value between 10 and 600 seconds.

" } }, "TimeoutAction": { @@ -18579,7 +18579,7 @@ "AutoPause": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. \n A DB cluster can be paused only when it's idle (it has no connections).

\n \n

If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. \n In this case, the DB cluster is restored when there is a request to connect to it.

\n
" + "smithy.api#documentation": "

A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode.\n A DB cluster can be paused only when it's idle (it has no connections).

\n \n

If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot.\n In this case, the DB cluster is restored when there is a request to connect to it.

\n
" } }, "SecondsUntilAutoPause": { @@ -18591,12 +18591,18 @@ "TimeoutAction": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

\n

\n ForceApplyCapacityChange sets the capacity to the specified value as soon as possible.

\n

\n RollbackCapacityChange, the default, ignores the capacity change if a scaling point isn't found in the timeout period.

\n \n

If you specify ForceApplyCapacityChange, connections that \n prevent Aurora Serverless from finding a scaling point might be dropped.

\n
\n

For more information, see \n Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

" + "smithy.api#documentation": "

The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

\n

\n ForceApplyCapacityChange sets the capacity to the specified value as soon as possible.

\n

\n RollbackCapacityChange, the default, ignores the capacity change if a scaling point isn't found in the timeout period.

\n \n

If you specify ForceApplyCapacityChange, connections that\n prevent Aurora Serverless from finding a scaling point might be dropped.

\n
\n

For more information, see \n Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

" + } + }, + "SecondsBeforeTimeout": { + "target": "com.amazonaws.rds#IntegerOptional", + "traits": { + "smithy.api#documentation": "

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

\n

Specify a value between 60 and 600 seconds.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the scaling configuration of an Aurora Serverless DB cluster.

\n

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

" + "smithy.api#documentation": "

Contains the scaling configuration of an Aurora Serverless DB cluster.

\n

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

" } }, "com.amazonaws.rds#ScalingConfigurationInfo": { @@ -18617,7 +18623,7 @@ "AutoPause": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether automatic pause is allowed for the Aurora DB cluster\n in serverless DB engine mode.

\n

When the value is set to false for an Aurora Serverless DB cluster, the DB cluster automatically resumes.

" + "smithy.api#documentation": "

A value that indicates whether automatic pause is allowed for the Aurora DB cluster\n in serverless DB engine mode.

\n

When the value is set to false for an Aurora Serverless DB cluster, the DB cluster automatically resumes.

" } }, "SecondsUntilAutoPause": { @@ -18629,12 +18635,18 @@ "TimeoutAction": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The timeout action of a call to ModifyCurrentDBClusterCapacity, either \n ForceApplyCapacityChange or RollbackCapacityChange.

" + "smithy.api#documentation": "

The action that occurs when Aurora times out while attempting to change the capacity of an\n Aurora Serverless cluster. The value is either ForceApplyCapacityChange or\n RollbackCapacityChange.

\n

\n ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible.

\n

\n RollbackCapacityChange ignores the capacity change if a scaling point isn't found in the timeout period.

" + } + }, + "SecondsBeforeTimeout": { + "target": "com.amazonaws.rds#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The number of seconds before scaling times out. What happens when an attempted scaling action times out\n is determined by the TimeoutAction setting.

" } } }, "traits": { - "smithy.api#documentation": "

Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

\n

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

" + "smithy.api#documentation": "

Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

\n

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

" } }, "com.amazonaws.rds#SharedSnapshotQuotaExceededFault": { diff --git a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json index 1f087c439f5b..91003b738d30 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json @@ -3912,7 +3912,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an action. An action is a lineage tracking entity that\n represents an action or activity. For example, a model deployment or an HPO job.\n Generally, an action involves at least one input or output artifact. For more information, see\n Amazon SageMaker\n ML Lineage Tracking.

\n \n

\n CreateAction can only be invoked from within an SageMaker managed\n environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker\n notebooks. A call to CreateAction from outside one of these\n environments results in an error.

\n
" + "smithy.api#documentation": "

Creates an action. An action is a lineage tracking entity that\n represents an action or activity. For example, a model deployment or an HPO job.\n Generally, an action involves at least one input or output artifact. For more information, see\n Amazon SageMaker\n ML Lineage Tracking.

" } }, "com.amazonaws.sagemaker#CreateActionRequest": { @@ -4194,7 +4194,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an artifact. An artifact is a lineage tracking entity that\n represents a URI addressable object or data. Some examples are the S3 URI of a dataset and\n the ECR registry path of an image. For more information, see\n Amazon SageMaker\n ML Lineage Tracking.

\n \n

\n CreateArtifact can only be invoked from within an SageMaker managed\n environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker\n notebooks. A call to CreateArtifact from outside one of these\n environments results in an error.

\n
" + "smithy.api#documentation": "

Creates an artifact. An artifact is a lineage tracking entity that\n represents a URI addressable object or data. Some examples are the S3 URI of a dataset and\n the ECR registry path of an image. For more information, see\n Amazon SageMaker\n ML Lineage Tracking.

" } }, "com.amazonaws.sagemaker#CreateArtifactRequest": { @@ -4496,7 +4496,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a context. A context is a lineage tracking entity that\n represents a logical grouping of other tracking or experiment entities. Some examples are\n an endpoint and a model package. For more information, see\n Amazon SageMaker\n ML Lineage Tracking.

\n \n

\n CreateContext can only be invoked from within an SageMaker managed\n environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker\n notebooks. A call to CreateContext from outside one of these\n environments results in an error.

\n
" + "smithy.api#documentation": "

Creates a context. A context is a lineage tracking entity that\n represents a logical grouping of other tracking or experiment entities. Some examples are\n an endpoint and a model package. For more information, see\n Amazon SageMaker\n ML Lineage Tracking.

" } }, "com.amazonaws.sagemaker#CreateContextRequest": { @@ -4920,7 +4920,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In\n the configuration, you identify one or more models, created using the\n CreateModel API, to deploy and the resources that you want Amazon SageMaker to\n provision. Then you call the CreateEndpoint API.

\n \n

Use this API if you want to use Amazon SageMaker hosting services to deploy models into\n production.

\n
\n

In the request, you define a ProductionVariant, for each model that you\n want to deploy. Each ProductionVariant parameter also describes the\n resources that you want Amazon SageMaker to provision. This includes the number and type of ML\n compute instances to deploy.

\n

If you are hosting multiple models, you also assign a VariantWeight to\n specify how much traffic you want to allocate to each model. For example, suppose that\n you want to host two models, A and B, and you assign traffic weight 2 for model A and 1\n for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to\n model B.

\n

For an example that calls this method when deploying a model to Amazon SageMaker hosting services,\n see Deploy the\n Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python (Boto\n 3)).\n

\n \n

When you call CreateEndpoint, a load call is made to DynamoDB to\n verify that your endpoint configuration exists. When you read data from a DynamoDB\n table supporting \n Eventually Consistent Reads\n , the response might not\n reflect the results of a recently completed write operation. The response might\n include some stale data. If the dependent entities are not yet in DynamoDB, this\n causes a validation error. If you repeat your read request after a short time, the\n response should return the latest data. So retry logic is recommended to handle\n these possible issues. We also recommend that customers call DescribeEndpointConfig before calling CreateEndpoint to minimize the potential impact of a DynamoDB eventually consistent read.

\n
" + "smithy.api#documentation": "

Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In\n the configuration, you identify one or more models, created using the\n CreateModel API, to deploy and the resources that you want Amazon SageMaker to\n provision. Then you call the CreateEndpoint API.

\n \n

Use this API if you want to use Amazon SageMaker hosting services to deploy models into\n production.

\n
\n

In the request, you define a ProductionVariant, for each model that you\n want to deploy. Each ProductionVariant parameter also describes the\n resources that you want Amazon SageMaker to provision. This includes the number and type of ML\n compute instances to deploy.

\n

If you are hosting multiple models, you also assign a VariantWeight to\n specify how much traffic you want to allocate to each model. For example, suppose that\n you want to host two models, A and B, and you assign traffic weight 2 for model A and 1\n for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to\n model B.

\n \n

When you call CreateEndpoint, a load call is made to DynamoDB to\n verify that your endpoint configuration exists. When you read data from a DynamoDB\n table supporting \n Eventually Consistent Reads\n , the response might not\n reflect the results of a recently completed write operation. The response might\n include some stale data. If the dependent entities are not yet in DynamoDB, this\n causes a validation error. If you repeat your read request after a short time, the\n response should return the latest data. So retry logic is recommended to handle\n these possible issues. We also recommend that customers call DescribeEndpointConfig before calling CreateEndpoint to minimize the potential impact of a DynamoDB eventually consistent read.

\n
" } }, "com.amazonaws.sagemaker#CreateEndpointConfigInput": { @@ -6741,6 +6741,66 @@ } } }, + "com.amazonaws.sagemaker#CreateStudioLifecycleConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#CreateStudioLifecycleConfigRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#CreateStudioLifecycleConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceInUse" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new Studio Lifecycle Configuration.

" + } + }, + "com.amazonaws.sagemaker#CreateStudioLifecycleConfigRequest": { + "type": "structure", + "members": { + "StudioLifecycleConfigName": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigName", + "traits": { + "smithy.api#documentation": "

The name of the Studio Lifecycle Configuration to create.

", + "smithy.api#required": {} + } + }, + "StudioLifecycleConfigContent": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigContent", + "traits": { + "smithy.api#documentation": "

The content of your Studio Lifecycle Configuration script. This content must be base64 encoded.

", + "smithy.api#required": {} + } + }, + "StudioLifecycleConfigAppType": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigAppType", + "traits": { + "smithy.api#documentation": "

The App type that the Lifecycle Configuration is attached to.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.sagemaker#TagList", + "traits": { + "smithy.api#documentation": "

Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

" + } + } + } + }, + "com.amazonaws.sagemaker#CreateStudioLifecycleConfigResponse": { + "type": "structure", + "members": { + "StudioLifecycleConfigArn": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigArn", + "traits": { + "smithy.api#documentation": "

The ARN of your created Lifecycle Configuration.

" + } + } + } + }, "com.amazonaws.sagemaker#CreateTrainingJob": { "type": "operation", "input": { @@ -8892,6 +8952,35 @@ } } }, + "com.amazonaws.sagemaker#DeleteStudioLifecycleConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#DeleteStudioLifecycleConfigRequest" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceInUse" + }, + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the Studio Lifecycle Configuration. In order to delete the Lifecycle Configuration, there must be no running apps using the Lifecycle Configuration. You must also remove the Lifecycle Configuration from UserSettings in all Domains and UserProfiles.

" + } + }, + "com.amazonaws.sagemaker#DeleteStudioLifecycleConfigRequest": { + "type": "structure", + "members": { + "StudioLifecycleConfigName": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigName", + "traits": { + "smithy.api#documentation": "

The name of the Studio Lifecycle Configuration to delete.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.sagemaker#DeleteTags": { "type": "operation", "input": { @@ -13450,6 +13539,76 @@ } } }, + "com.amazonaws.sagemaker#DescribeStudioLifecycleConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#DescribeStudioLifecycleConfigRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#DescribeStudioLifecycleConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

Describes the Studio Lifecycle Configuration.

" + } + }, + "com.amazonaws.sagemaker#DescribeStudioLifecycleConfigRequest": { + "type": "structure", + "members": { + "StudioLifecycleConfigName": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigName", + "traits": { + "smithy.api#documentation": "

The name of the Studio Lifecycle Configuration to describe.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sagemaker#DescribeStudioLifecycleConfigResponse": { + "type": "structure", + "members": { + "StudioLifecycleConfigArn": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Lifecycle Configuration to describe.

" + } + }, + "StudioLifecycleConfigName": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigName", + "traits": { + "smithy.api#documentation": "

The name of the Studio Lifecycle Configuration that is described.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

The creation time of the Studio Lifecycle Configuration.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

" + } + }, + "StudioLifecycleConfigContent": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigContent", + "traits": { + "smithy.api#documentation": "

The content of your Studio Lifecycle Configuration script.

" + } + }, + "StudioLifecycleConfigAppType": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigAppType", + "traits": { + "smithy.api#documentation": "

The App type that the Lifecycle Configuration is attached to.

" + } + } + } + }, "com.amazonaws.sagemaker#DescribeSubscribedWorkteam": { "type": "operation", "input": { @@ -18986,6 +19145,12 @@ "traits": { "smithy.api#documentation": "

The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.

" } + }, + "LifecycleConfigArns": { + "target": "com.amazonaws.sagemaker#LifecycleConfigArns", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp.

" + } } }, "traits": { @@ -19015,6 +19180,12 @@ "traits": { "smithy.api#documentation": "

A list of custom SageMaker images that are configured to run as a KernelGateway app.

" } + }, + "LifecycleConfigArns": { + "target": "com.amazonaws.sagemaker#LifecycleConfigArns", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the KernelGatewayApp.

" + } } }, "traits": { @@ -19611,6 +19782,12 @@ "com.amazonaws.sagemaker#LastModifiedTime": { "type": "timestamp" }, + "com.amazonaws.sagemaker#LifecycleConfigArns": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigArn" + } + }, "com.amazonaws.sagemaker#LineageEntityParameters": { "type": "map", "key": { @@ -23592,6 +23769,110 @@ } } }, + "com.amazonaws.sagemaker#ListStudioLifecycleConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#ListStudioLifecycleConfigsRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#ListStudioLifecycleConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceInUse" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the Studio Lifecycle Configurations in your Amazon Web Services Account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.sagemaker#ListStudioLifecycleConfigsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.sagemaker#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of Studio Lifecycle Configurations to return in the response. The default value is 10.

" + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

If the previous call to ListStudioLifecycleConfigs didn't return the full set of Lifecycle Configurations, the call returns a token for getting the next set of Lifecycle Configurations.

" + } + }, + "NameContains": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigName", + "traits": { + "smithy.api#documentation": "

A string in the Lifecycle Configuration name. This filter returns only Lifecycle Configurations whose name contains the specified string.

" + } + }, + "AppTypeEquals": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigAppType", + "traits": { + "smithy.api#documentation": "

A parameter to search for the App Type to which the Lifecycle Configuration is attached.

" + } + }, + "CreationTimeBefore": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

A filter that returns only Lifecycle Configurations created on or before the specified time.

" + } + }, + "CreationTimeAfter": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

A filter that returns only Lifecycle Configurations created on or after the specified time.

" + } + }, + "ModifiedTimeBefore": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

A filter that returns only Lifecycle Configurations modified before the specified time.

" + } + }, + "ModifiedTimeAfter": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

A filter that returns only Lifecycle Configurations modified after the specified time.

" + } + }, + "SortBy": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigSortKey", + "traits": { + "smithy.api#documentation": "

The property used to sort results. The default value is CreationTime.

" + } + }, + "SortOrder": { + "target": "com.amazonaws.sagemaker#SortOrder", + "traits": { + "smithy.api#documentation": "

The sort order. The default value is Descending.

" + } + } + } + }, + "com.amazonaws.sagemaker#ListStudioLifecycleConfigsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

A token for getting the next set of actions, if there are any.

" + } + }, + "StudioLifecycleConfigs": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigsList", + "traits": { + "smithy.api#documentation": "

A list of Lifecycle Configurations and their properties.

" + } + } + } + }, "com.amazonaws.sagemaker#ListSubscribedWorkteams": { "type": "operation", "input": { @@ -30964,6 +31245,12 @@ "traits": { "smithy.api#documentation": "

The instance type that the image version runs on.

" } + }, + "LifecycleConfigArn": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the Resource.

" + } } }, "traits": { @@ -31387,6 +31674,9 @@ { "target": "com.amazonaws.sagemaker#CreateProject" }, + { + "target": "com.amazonaws.sagemaker#CreateStudioLifecycleConfig" + }, { "target": "com.amazonaws.sagemaker#CreateTrainingJob" }, @@ -31501,6 +31791,9 @@ { "target": "com.amazonaws.sagemaker#DeleteProject" }, + { + "target": "com.amazonaws.sagemaker#DeleteStudioLifecycleConfig" + }, { "target": "com.amazonaws.sagemaker#DeleteTags" }, @@ -31636,6 +31929,9 @@ { "target": "com.amazonaws.sagemaker#DescribeProject" }, + { + "target": "com.amazonaws.sagemaker#DescribeStudioLifecycleConfig" + }, { "target": "com.amazonaws.sagemaker#DescribeSubscribedWorkteam" }, @@ -31810,6 +32106,9 @@ { "target": "com.amazonaws.sagemaker#ListProjects" }, + { + "target": "com.amazonaws.sagemaker#ListStudioLifecycleConfigs" + }, { "target": "com.amazonaws.sagemaker#ListSubscribedWorkteams" }, @@ -33479,6 +33778,114 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.sagemaker#StudioLifecycleConfigAppType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "JupyterServer", + "name": "JupyterServer" + }, + { + "value": "KernelGateway", + "name": "KernelGateway" + } + ] + } + }, + "com.amazonaws.sagemaker#StudioLifecycleConfigArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/" + } + }, + "com.amazonaws.sagemaker#StudioLifecycleConfigContent": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 16384 + }, + "smithy.api#pattern": "^[\\S\\s]+$" + } + }, + "com.amazonaws.sagemaker#StudioLifecycleConfigDetails": { + "type": "structure", + "members": { + "StudioLifecycleConfigArn": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lifecycle Configuration.

" + } + }, + "StudioLifecycleConfigName": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigName", + "traits": { + "smithy.api#documentation": "

The name of the Studio Lifecycle Configuration.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

The creation time of the Studio Lifecycle Configuration.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

" + } + }, + "StudioLifecycleConfigAppType": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigAppType", + "traits": { + "smithy.api#documentation": "

The App type to which the Lifecycle Configuration is attached.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details of the Studio Lifecycle Configuration.

" + } + }, + "com.amazonaws.sagemaker#StudioLifecycleConfigName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" + } + }, + "com.amazonaws.sagemaker#StudioLifecycleConfigSortKey": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CreationTime", + "name": "CreationTime" + }, + { + "value": "LastModifiedTime", + "name": "LastModifiedTime" + }, + { + "value": "Name", + "name": "Name" + } + ] + } + }, + "com.amazonaws.sagemaker#StudioLifecycleConfigsList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#StudioLifecycleConfigDetails" + } + }, "com.amazonaws.sagemaker#SubnetId": { "type": "string", "traits": { @@ -33780,6 +34187,10 @@ { "value": "jacinto_tda4vm", "name": "JACINTO_TDA4VM" + }, + { + "value": "imx8mplus", + "name": "IMX8MPLUS" } ] } diff --git a/codegen/sdk-codegen/aws-models/ssm-contacts.2021-05-03.json b/codegen/sdk-codegen/aws-models/ssm-contacts.2021-05-03.json index 54dd8a6e83f0..ac38021096f4 100644 --- a/codegen/sdk-codegen/aws-models/ssm-contacts.2021-05-03.json +++ b/codegen/sdk-codegen/aws-models/ssm-contacts.2021-05-03.json @@ -122,7 +122,7 @@ "AcceptCodeValidation": { "target": "com.amazonaws.ssmcontacts#AcceptCodeValidation", "traits": { - "smithy.api#documentation": "

An\n optional field that Incident Manager uses to ENFORCE\n AcceptCode validation when acknowledging an page.\n Acknowledgement can occur by replying to a page, or when entering the AcceptCode in the\n console. Enforcing AcceptCode validation causes Incident Manager to verify that the code\n entered by the user matches the code sent by Incident Manager with the page.

\n

Incident Manager can also IGNORE\n AcceptCode validation. Ignoring AcceptCode validation causes\n Incident Manager to accept any value entered for the AcceptCode.

" + "smithy.api#documentation": "

An optional field that Incident Manager uses to ENFORCE\n AcceptCode validation when acknowledging an page. Acknowledgement can occur by\n replying to a page, or when entering the AcceptCode in the console. Enforcing AcceptCode\n validation causes Incident Manager to verify that the code entered by the user matches the\n code sent by Incident Manager with the page.

\n

Incident Manager can also IGNORE\n AcceptCode validation. Ignoring AcceptCode validation causes\n Incident Manager to accept any value entered for the AcceptCode.

" } } } @@ -157,7 +157,7 @@ } }, "traits": { - "smithy.api#documentation": "

You don't have sufficient access to perform this action.

", + "smithy.api#documentation": "

You don't have sufficient access to perform this operation.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -188,7 +188,7 @@ } ], "traits": { - "smithy.api#documentation": "

Activates a contact's contact channel. Incident Manager can't engage a contact until\n the\n contact channel has been activated.

" + "smithy.api#documentation": "

Activates a contact's contact channel. Incident Manager can't engage a contact until the\n contact channel has been activated.

" } }, "com.amazonaws.ssmcontacts#ActivateContactChannelRequest": { @@ -611,7 +611,7 @@ "IdempotencyToken": { "target": "com.amazonaws.ssmcontacts#IdempotencyToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", "smithy.api#idempotencyToken": {} } } @@ -623,7 +623,7 @@ "ContactChannelArn": { "target": "com.amazonaws.ssmcontacts#SsmContactsArn", "traits": { - "smithy.api#documentation": "

The ARN of the contact channel.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the contact channel.

", "smithy.api#required": {} } } @@ -668,7 +668,7 @@ "IdempotencyToken": { "target": "com.amazonaws.ssmcontacts#IdempotencyToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", "smithy.api#idempotencyToken": {} } } @@ -697,7 +697,7 @@ } }, "traits": { - "smithy.api#documentation": "

The action failed to due an encryption key error.

", + "smithy.api#documentation": "

The operation failed to due an encryption key error.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -2227,7 +2227,7 @@ } }, "traits": { - "smithy.api#documentation": "

Request references a resource that\n doesn't\n exist.

", + "smithy.api#documentation": "

Request references a resource that doesn't exist.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -2343,7 +2343,7 @@ "name": "ssm-contacts" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

AWS Systems Manager Incident Manager is an incident management console designed to help\n users mitigate and recover from incidents affecting their AWS-hosted applications. An incident\n is any unplanned interruption or reduction in quality of services.

\n

Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder team\n escalation.

", + "smithy.api#documentation": "

Systems Manager Incident Manager is an incident management console designed to help users\n mitigate and recover from incidents affecting their Amazon Web Services-hosted applications.\n An incident is any unplanned interruption or reduction in quality of services.

\n

Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get\n services back up and running. To achieve the primary goal of reducing the\n time-to-resolution of critical incidents, Incident Manager automates response plans\n and enables responder team escalation.

", "smithy.api#title": "AWS Systems Manager Incident Manager Contacts" } }, @@ -2379,7 +2379,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sends an activation code to a contact channel. The contact can use this code to activate\n the contact channel in the console or with the ActivateChannel action.\n Incident Manager can't engage a contact channel until it has been activated.

" + "smithy.api#documentation": "

Sends an activation code to a contact channel. The contact can use this code to activate\n the contact channel in the console or with the ActivateChannel operation.\n Incident Manager can't engage a contact channel until it has been activated.

" } }, "com.amazonaws.ssmcontacts#SendActivationCodeRequest": { @@ -2591,7 +2591,7 @@ "IdempotencyToken": { "target": "com.amazonaws.ssmcontacts#IdempotencyToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", "smithy.api#idempotencyToken": {} } } @@ -2819,7 +2819,7 @@ } }, "traits": { - "smithy.api#documentation": "

The contact or contact channel that is being engaged.

" + "smithy.api#documentation": "

The contact or contact channel that's being engaged.

" } }, "com.amazonaws.ssmcontacts#TargetsList": { @@ -3018,7 +3018,7 @@ "Name": { "target": "com.amazonaws.ssmcontacts#ChannelName", "traits": { - "smithy.api#documentation": "

The name of the contact channel

" + "smithy.api#documentation": "

The name of the contact channel.

" } }, "DeliveryAddress": { @@ -3084,7 +3084,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

The input fails to satisfy the constraints specified by an Amazon Web Services\n service.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json b/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json index c8c0452d0743..72f39f0c92ab 100644 --- a/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json +++ b/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json @@ -1886,7 +1886,7 @@ "AllowDeferredExecution": { "target": "com.amazonaws.transcribe#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit is exceeded. When the\n AllowDeferredExecution field is true, jobs are queued and executed when the number of executing\n jobs falls below the concurrent execution limit. If the field is false, Amazon Transcribe returns a LimitExceededException\n exception.

\n

If you specify the AllowDeferredExecution field, you must specify the \n DataAccessRoleArn field.

" + "smithy.api#documentation": "

Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit is exceeded. When the\n AllowDeferredExecution field is true, jobs are queued and executed when the number of executing\n jobs falls below the concurrent execution limit. If the field is false, Amazon Transcribe returns a \n LimitExceededException exception.

\n

Note that job queuing is enabled by default for call analytics jobs.

\n

If you specify the AllowDeferredExecution field, you must specify the \n DataAccessRoleArn field.

" } }, "DataAccessRoleArn": { @@ -1900,6 +1900,21 @@ "smithy.api#documentation": "

Provides information about when a transcription job should be executed.

" } }, + "com.amazonaws.transcribe#KMSEncryptionContextMap": { + "type": "map", + "key": { + "target": "com.amazonaws.transcribe#NonEmptyString" + }, + "value": { + "target": "com.amazonaws.transcribe#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.transcribe#KMSKeyId": { "type": "string", "traits": { @@ -3852,6 +3867,12 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to \n encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob \n operation must have permission to use the specified KMS key.

\n

You use either of the following to identify a KMS key in the current account:

\n \n

You can use either of the following to identify a KMS key in the current account or another account:

\n \n

If you don't specify an encryption key, the output of the medical transcription job is encrypted with the default Amazon S3 \n key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify an output location in the \n OutputBucketName parameter.

" } }, + "KMSEncryptionContext": { + "target": "com.amazonaws.transcribe#KMSEncryptionContextMap", + "traits": { + "smithy.api#documentation": "

A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added\n layer of security for your data.

" + } + }, "Settings": { "target": "com.amazonaws.transcribe#MedicalTranscriptionSetting", "traits": { @@ -3982,6 +4003,12 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to \n encrypt the output of the transcription job. The user calling the StartTranscriptionJob \n operation must have permission to use the specified KMS key.

\n

You can use either of the following to identify a KMS key in the current account:

\n \n

You can use either of the following to identify a KMS key in the current account or another account:

\n \n

If you don't specify an encryption key, the output of the transcription job is encrypted with the default \n Amazon S3 key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify an output location in the \n OutputBucketName parameter.

" } }, + "KMSEncryptionContext": { + "target": "com.amazonaws.transcribe#KMSEncryptionContextMap", + "traits": { + "smithy.api#documentation": "

A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added\n layer of security for your data.

" + } + }, "Settings": { "target": "com.amazonaws.transcribe#Settings", "traits": { diff --git a/codegen/sdk-codegen/aws-models/xray.2016-04-12.json b/codegen/sdk-codegen/aws-models/xray.2016-04-12.json index 302f1ef38cd8..f8d7f83e2ffa 100644 --- a/codegen/sdk-codegen/aws-models/xray.2016-04-12.json +++ b/codegen/sdk-codegen/aws-models/xray.2016-04-12.json @@ -127,7 +127,7 @@ "name": "xray" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

AWS X-Ray provides APIs for managing debug traces and retrieving service maps\n and other data created by processing those traces.

", + "smithy.api#documentation": "

Amazon Web Services X-Ray provides APIs for managing debug traces and retrieving service maps\n and other data created by processing those traces.

", "smithy.api#title": "AWS X-Ray" } }, @@ -465,7 +465,7 @@ "Tags": { "target": "com.amazonaws.xray#TagList", "traits": { - "smithy.api#documentation": "

A map that contains one or more tag keys and tag values to attach to an X-Ray group.\n For more information about ways to use tags, see Tagging AWS\n resources in the AWS General Reference.

\n

The following restrictions apply to tags:

\n " + "smithy.api#documentation": "

A map that contains one or more tag keys and tag values to attach to an X-Ray group.\n For more information about ways to use tags, see Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference.

\n

The following restrictions apply to tags:

\n " } } } @@ -501,7 +501,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a rule to control sampling behavior for instrumented applications. Services\n retrieve rules with GetSamplingRules, and evaluate each rule in ascending\n order of priority for each request. If a rule matches, the service\n records a trace, borrowing it from the reservoir size. After 10 seconds, the service\n reports back to X-Ray with GetSamplingTargets to get updated versions of\n each in-use rule. The updated rule contains a trace quota that the service can use instead\n of borrowing from the reservoir.

", + "smithy.api#documentation": "

Creates a rule to control sampling behavior for instrumented applications. Services\n retrieve rules with GetSamplingRules, and evaluate each rule in ascending\n order of priority for each request. If a rule matches, the service\n records a trace, borrowing it from the reservoir size. After 10 seconds, the service\n reports back to X-Ray with GetSamplingTargets to get updated versions of\n each in-use rule. The updated rule contains a trace quota that the service can use instead\n of borrowing from the reservoir.

", "smithy.api#http": { "method": "POST", "uri": "/CreateSamplingRule", @@ -522,7 +522,7 @@ "Tags": { "target": "com.amazonaws.xray#TagList", "traits": { - "smithy.api#documentation": "

A map that contains one or more tag keys and tag values to attach to an X-Ray sampling\n rule. For more information about ways to use tags, see Tagging AWS\n resources in the AWS General Reference.

\n

The following restrictions apply to tags:

\n " + "smithy.api#documentation": "

A map that contains one or more tag keys and tag values to attach to an X-Ray sampling\n rule. For more information about ways to use tags, see Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference.

\n

The following restrictions apply to tags:

\n " } } } @@ -743,7 +743,7 @@ "KeyId": { "target": "com.amazonaws.xray#String", "traits": { - "smithy.api#documentation": "

The ID of the customer master key (CMK) used for encryption, if applicable.

" + "smithy.api#documentation": "

The ID of the KMS key used for encryption, if applicable.

" } }, "Status": { @@ -755,7 +755,7 @@ "Type": { "target": "com.amazonaws.xray#EncryptionType", "traits": { - "smithy.api#documentation": "

The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for\n default encryption.

" + "smithy.api#documentation": "

The type of encryption. Set to KMS for encryption with KMS keys. Set to NONE for\n default encryption.

" } } }, @@ -1470,7 +1470,7 @@ "Services": { "target": "com.amazonaws.xray#InsightImpactGraphServiceList", "traits": { - "smithy.api#documentation": "

The AWS instrumented services related to the insight.

" + "smithy.api#documentation": "

The Amazon Web Services instrumented services related to the insight.

" } }, "NextToken": { @@ -1775,13 +1775,13 @@ "LastRuleModification": { "target": "com.amazonaws.xray#Timestamp", "traits": { - "smithy.api#documentation": "

The last time a user changed the sampling rule configuration. If\n the sampling rule configuration changed since the service last retrieved it, the service\n should call GetSamplingRules to get the latest version.

" + "smithy.api#documentation": "

The last time a user changed the sampling rule configuration. If\n the sampling rule configuration changed since the service last retrieved it, the service\n should call GetSamplingRules to get the latest version.

" } }, "UnprocessedStatistics": { "target": "com.amazonaws.xray#UnprocessedStatisticsList", "traits": { - "smithy.api#documentation": "

Information about SamplingStatisticsDocument that X-Ray could not\n process.

" + "smithy.api#documentation": "

Information about SamplingStatisticsDocument that X-Ray could not\n process.

" } } } @@ -1803,7 +1803,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a document that describes services that process incoming requests, and\n downstream services that they call as a result. Root services process incoming requests and\n make calls to downstream services. Root services are applications that use the AWS X-Ray SDK.\n Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL\n databases.

", + "smithy.api#documentation": "

Retrieves a document that describes services that process incoming requests, and\n downstream services that they call as a result. Root services process incoming requests and\n make calls to downstream services. Root services are applications that use the Amazon Web Services X-Ray SDK.\n Downstream services can be other applications, Amazon Web Services resources, HTTP web APIs, or SQL\n databases.

", "smithy.api#http": { "method": "POST", "uri": "/ServiceGraph", @@ -2078,7 +2078,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves IDs and annotations for traces available for a specified time frame using an\n optional filter. To get the full traces, pass the trace IDs to\n BatchGetTraces.

\n

A filter expression can target traced requests that hit specific service nodes or\n edges, have errors, or come from a known user. For example, the following filter expression\n targets traces that pass through api.example.com:

\n

\n service(\"api.example.com\")\n

\n

This filter expression finds traces that have an annotation named account\n with the value 12345:

\n

\n annotation.account = \"12345\"\n

\n

For a full list of indexed fields and keywords that you can use in filter expressions,\n see Using Filter\n Expressions in the AWS X-Ray Developer Guide.

", + "smithy.api#documentation": "

Retrieves IDs and annotations for traces available for a specified time frame using an\n optional filter. To get the full traces, pass the trace IDs to\n BatchGetTraces.

\n

A filter expression can target traced requests that hit specific service nodes or\n edges, have errors, or come from a known user. For example, the following filter expression\n targets traces that pass through api.example.com:

\n

\n service(\"api.example.com\")\n

\n

This filter expression finds traces that have an annotation named account\n with the value 12345:

\n

\n annotation.account = \"12345\"\n

\n

For a full list of indexed fields and keywords that you can use in filter expressions,\n see Using Filter\n Expressions in the Amazon Web Services X-Ray Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/TraceSummaries", @@ -2193,7 +2193,7 @@ "InsightsConfiguration": { "target": "com.amazonaws.xray#InsightsConfiguration", "traits": { - "smithy.api#documentation": "

The structure containing configurations related to insights.

\n " + "smithy.api#documentation": "

The structure containing configurations related to insights.

\n " } } }, @@ -2489,7 +2489,7 @@ "com.amazonaws.xray#InsightId": { "type": "string", "traits": { - "smithy.api#pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}" + "smithy.api#pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$" } }, "com.amazonaws.xray#InsightImpactGraphEdge": { @@ -2524,7 +2524,7 @@ "Type": { "target": "com.amazonaws.xray#String", "traits": { - "smithy.api#documentation": "

Identifier for the service. Unique within the service map.

\n " + "smithy.api#documentation": "

Identifier for the service. Unique within the service map.

\n " } }, "Name": { @@ -2542,7 +2542,7 @@ "AccountId": { "target": "com.amazonaws.xray#String", "traits": { - "smithy.api#documentation": "

Identifier of the AWS account in which the service runs.

" + "smithy.api#documentation": "

Identifier of the Amazon Web Services account in which the service runs.

" } }, "Edges": { @@ -2750,7 +2750,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of tags that are applied to the specified AWS X-Ray group or sampling rule.

", + "smithy.api#documentation": "

Returns a list of tags that are applied to the specified Amazon Web Services X-Ray group or sampling rule.

", "smithy.api#http": { "method": "POST", "uri": "/ListTagsForResource", @@ -2857,7 +2857,7 @@ "KeyId": { "target": "com.amazonaws.xray#EncryptionKeyId", "traits": { - "smithy.api#documentation": "

An AWS KMS customer master key (CMK) in one of the following formats:

\n \n

Omit this key if you set Type to NONE.

" + "smithy.api#documentation": "

An Amazon Web Services KMS key in one of the following formats:

\n \n

Omit this key if you set Type to NONE.

" } }, "Type": { @@ -2897,7 +2897,7 @@ } ], "traits": { - "smithy.api#documentation": "

Used by the AWS X-Ray daemon to upload telemetry.

", + "smithy.api#documentation": "

Used by the Amazon Web Services X-Ray daemon to upload telemetry.

", "smithy.api#http": { "method": "POST", "uri": "/TelemetryRecords", @@ -2956,7 +2956,7 @@ } ], "traits": { - "smithy.api#documentation": "

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in\n batches. A segment document can be a completed segment, an in-progress segment, or an array of\n subsegments.

\n

Segments must include the following fields. For the full segment document schema, see\n AWS X-Ray\n Segment Documents in the AWS X-Ray Developer Guide.

\n

\n Required segment document fields\n

\n \n

A trace_id consists of three numbers separated by hyphens. For example,\n 1-58406520-a006649127e371903a2de979. This includes:

\n

\n Trace ID Format\n

\n ", + "smithy.api#documentation": "

Uploads segment documents to Amazon Web Services X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in\n batches. A segment document can be a completed segment, an in-progress segment, or an array of\n subsegments.

\n

Segments must include the following fields. For the full segment document schema, see\n Amazon Web Services X-Ray\n Segment Documents in the Amazon Web Services X-Ray Developer Guide.

\n

\n Required segment document fields\n

\n \n

A trace_id consists of three numbers separated by hyphens. For example,\n 1-58406520-a006649127e371903a2de979. This includes:

\n

\n Trace ID Format\n

\n ", "smithy.api#http": { "method": "POST", "uri": "/TraceSegments", @@ -3249,7 +3249,7 @@ "ResourceARN": { "target": "com.amazonaws.xray#ResourceARN", "traits": { - "smithy.api#documentation": "

Matches the ARN of the AWS resource on which the service runs.

", + "smithy.api#documentation": "

Matches the ARN of the Amazon Web Services resource on which the service runs.

", "smithy.api#required": {} } }, @@ -3350,7 +3350,7 @@ } }, "traits": { - "smithy.api#documentation": "

A SamplingRule and its metadata.

" + "smithy.api#documentation": "

A SamplingRule and its metadata.

" } }, "com.amazonaws.xray#SamplingRuleRecordList": { @@ -3377,7 +3377,7 @@ "ResourceARN": { "target": "com.amazonaws.xray#ResourceARN", "traits": { - "smithy.api#documentation": "

Matches the ARN of the AWS resource on which the service runs.

" + "smithy.api#documentation": "

Matches the ARN of the Amazon Web Services resource on which the service runs.

" } }, "Priority": { @@ -3529,7 +3529,7 @@ } }, "traits": { - "smithy.api#documentation": "

Request sampling results for a single rule from a service. Results are for the last 10\n seconds unless the service has been assigned a longer reporting interval after a previous call\n to GetSamplingTargets.

" + "smithy.api#documentation": "

Request sampling results for a single rule from a service. Results are for the last 10\n seconds unless the service has been assigned a longer reporting interval after a previous call\n to GetSamplingTargets.

" } }, "com.amazonaws.xray#SamplingStatisticsDocumentList": { @@ -3614,7 +3614,7 @@ } }, "traits": { - "smithy.api#documentation": "

Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray\n calculates a new reservoir for each service based on the recent sampling results of all services that called GetSamplingTargets.

" + "smithy.api#documentation": "

Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray\n calculates a new reservoir for each service based on the recent sampling results of all services that called \n GetSamplingTargets.

" } }, "com.amazonaws.xray#SamplingTargetDocumentList": { @@ -3640,7 +3640,7 @@ } }, "traits": { - "smithy.api#documentation": "

A segment from a trace that has been ingested by the X-Ray service. The segment can be\n compiled from documents uploaded with PutTraceSegments, or an\n inferred segment for a downstream service, generated from a subsegment sent by\n the service that called it.

\n

For the full segment document schema, see AWS X-Ray Segment\n Documents in the AWS X-Ray Developer Guide.

" + "smithy.api#documentation": "

A segment from a trace that has been ingested by the X-Ray service. The segment can be\n compiled from documents uploaded with PutTraceSegments, or an\n inferred segment for a downstream service, generated from a subsegment sent by\n the service that called it.

\n

For the full segment document schema, see Amazon Web Services X-Ray Segment\n Documents in the Amazon Web Services X-Ray Developer Guide.

" } }, "com.amazonaws.xray#SegmentDocument": { @@ -3690,13 +3690,13 @@ "AccountId": { "target": "com.amazonaws.xray#String", "traits": { - "smithy.api#documentation": "

Identifier of the AWS account in which the service runs.

" + "smithy.api#documentation": "

Identifier of the Amazon Web Services account in which the service runs.

" } }, "Type": { "target": "com.amazonaws.xray#String", "traits": { - "smithy.api#documentation": "

The type of service.

\n " + "smithy.api#documentation": "

The type of service.

\n " } }, "State": { @@ -3874,7 +3874,7 @@ } }, "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values to attach to an AWS X-Ray group or sampling\n rule. For more information about ways to use tags, see Tagging AWS resources\n in the AWS General Reference.

\n

The following restrictions apply to tags:

\n " + "smithy.api#documentation": "

A map that contains tag keys and tag values to attach to an Amazon Web Services X-Ray group or sampling\n rule. For more information about ways to use tags, see Tagging Amazon Web Services resources\n in the Amazon Web Services General Reference.

\n

The following restrictions apply to tags:

\n " } }, "com.amazonaws.xray#TagKey": { @@ -3933,7 +3933,7 @@ } ], "traits": { - "smithy.api#documentation": "

Applies tags to an existing AWS X-Ray group or sampling rule.

", + "smithy.api#documentation": "

Applies tags to an existing Amazon Web Services X-Ray group or sampling rule.

", "smithy.api#http": { "method": "POST", "uri": "/TagResource", @@ -3954,7 +3954,7 @@ "Tags": { "target": "com.amazonaws.xray#TagList", "traits": { - "smithy.api#documentation": "

A map that contains one or more tag keys and tag values to attach to an X-Ray group or\n sampling rule. For more information about ways to use tags, see Tagging AWS resources\n in the AWS General Reference.

\n

The following restrictions apply to tags:

\n ", + "smithy.api#documentation": "

A map that contains one or more tag keys and tag values to attach to an X-Ray group or\n sampling rule. For more information about ways to use tags, see Tagging Amazon Web Services resources\n in the Amazon Web Services General Reference.

\n

The following restrictions apply to tags:

\n ", "smithy.api#required": {} } } @@ -4136,7 +4136,7 @@ "LimitExceeded": { "target": "com.amazonaws.xray#NullableBoolean", "traits": { - "smithy.api#documentation": "

LimitExceeded is set to true when the trace has exceeded one of the defined quotas. For\n more information about quotas, see AWS X-Ray endpoints and quotas.

" + "smithy.api#documentation": "

LimitExceeded is set to true when the trace has exceeded one of the defined quotas. For\n more information about quotas, see Amazon Web Services X-Ray endpoints and quotas.

" } }, "Segments": { @@ -4390,7 +4390,7 @@ } }, "traits": { - "smithy.api#documentation": "

Sampling statistics from a call to GetSamplingTargets that X-Ray\n could not process.

" + "smithy.api#documentation": "

Sampling statistics from a call to GetSamplingTargets that X-Ray\n could not process.

" } }, "com.amazonaws.xray#UnprocessedStatisticsList": { @@ -4457,7 +4457,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or delete system\n tags (those with an aws: prefix).

", + "smithy.api#documentation": "

Removes tags from an Amazon Web Services X-Ray group or sampling rule. You cannot edit or delete system\n tags (those with an aws: prefix).

", "smithy.api#http": { "method": "POST", "uri": "/UntagResource", From e809a8b3183d409cdb3bd7ce1bc72f2330af87bf Mon Sep 17 00:00:00 2001 From: AllanZhengYP Date: Fri, 10 Sep 2021 18:53:08 +0000 Subject: [PATCH 3/3] feat(clients): update clients as of 09/10/2021 --- clients/client-amp/Amp.ts | 101 + clients/client-amp/AmpClient.ts | 12 + .../commands/ListTagsForResourceCommand.ts | 94 + .../client-amp/commands/TagResourceCommand.ts | 94 + .../commands/UntagResourceCommand.ts | 94 + clients/client-amp/index.ts | 3 + clients/client-amp/models/models_0.ts | 386 +- clients/client-amp/protocols/Aws_restJson1.ts | 389 + .../ChimeSDKIdentity.ts | 2 +- .../ChimeSDKIdentityClient.ts | 2 +- clients/client-chime-sdk-identity/README.md | 2 +- .../ChimeSDKMessaging.ts | 3 +- .../ChimeSDKMessagingClient.ts | 3 +- clients/client-chime-sdk-messaging/README.md | 3 +- .../client-cloudformation/CloudFormation.ts | 9 +- .../DescribeStackResourceDriftsCommand.ts | 7 +- .../commands/DescribeStacksCommand.ts | 2 +- .../client-cloudformation/models/models_0.ts | 21 +- .../CodeGuruReviewer.ts | 12 +- .../CodeGuruReviewerClient.ts | 2 +- clients/client-codeguru-reviewer/README.md | 2 +- .../commands/AssociateRepositoryCommand.ts | 10 +- .../models/models_0.ts | 153 +- .../protocols/Aws_restJson1.ts | 30 + clients/client-ecr/ECR.ts | 32 +- clients/client-ecr/ECRClient.ts | 2 + clients/client-ecr/README.md | 2 + .../commands/CreateRepositoryCommand.ts | 2 +- .../commands/GetAuthorizationTokenCommand.ts | 4 +- .../commands/GetDownloadUrlForLayerCommand.ts | 4 +- .../commands/PutImageTagMutabilityCommand.ts | 4 +- .../commands/PutLifecyclePolicyCommand.ts | 4 +- .../commands/PutRegistryPolicyCommand.ts | 2 +- .../PutReplicationConfigurationCommand.ts | 2 +- .../commands/SetRepositoryPolicyCommand.ts | 2 +- .../commands/StartImageScanCommand.ts | 6 +- clients/client-ecr/models/models_0.ts | 113 +- clients/client-eks/EKS.ts | 83 + clients/client-eks/EKSClient.ts | 6 + .../commands/DeregisterClusterCommand.ts | 94 + .../commands/RegisterClusterCommand.ts | 103 + clients/client-eks/index.ts | 2 + clients/client-eks/models/models_0.ts | 166 +- clients/client-eks/protocols/Aws_restJson1.ts | 264 + .../waiters/waitForClusterDeleted.ts | 8 + clients/client-elasticache/models/models_0.ts | 18 +- clients/client-emr/EMR.ts | 6 +- clients/client-emr/commands/AddTagsCommand.ts | 2 +- .../CreateStudioSessionMappingCommand.ts | 2 +- .../client-emr/commands/RemoveTagsCommand.ts | 2 +- clients/client-emr/models/models_0.ts | 63 +- clients/client-emr/protocols/Aws_json1_1.ts | 6 + clients/client-forecast/Forecast.ts | 22 +- .../commands/GetAccuracyMetricsCommand.ts | 22 +- clients/client-forecast/models/models_0.ts | 111 +- .../client-forecast/protocols/Aws_json1_1.ts | 7 + .../client-frauddetector/models/models_0.ts | 61 +- .../protocols/Aws_json1_1.ts | 55 + .../client-iot-jobs-data-plane/endpoints.ts | 38 +- clients/client-kafka/Kafka.ts | 37 + clients/client-kafka/KafkaClient.ts | 7 +- .../commands/UpdateSecurityCommand.ts | 94 + clients/client-kafka/index.ts | 1 + clients/client-kafka/models/models_0.ts | 92 + .../client-kafka/protocols/Aws_restJson1.ts | 182 + .../LookoutEquipment.ts | 5 +- .../commands/DescribeDatasetCommand.ts | 3 +- .../commands/DescribeModelCommand.ts | 2 +- .../models/models_0.ts | 34 +- .../protocols/Aws_json1_0.ts | 2 + .../client-mediapackage/models/models_0.ts | 4 +- clients/client-network-firewall/endpoints.ts | 38 +- clients/client-opensearch/.gitignore | 9 + clients/client-opensearch/.npmignore | 4 + clients/client-opensearch/LICENSE | 201 + clients/client-opensearch/OpenSearch.ts | 1458 ++++ clients/client-opensearch/OpenSearchClient.ts | 423 ++ clients/client-opensearch/README.md | 215 + .../AcceptInboundConnectionCommand.ts | 94 + .../commands/AddTagsCommand.ts | 98 + .../commands/AssociatePackageCommand.ts | 94 + .../CancelServiceSoftwareUpdateCommand.ts | 101 + .../commands/CreateDomainCommand.ts | 97 + .../CreateOutboundConnectionCommand.ts | 94 + .../commands/CreatePackageCommand.ts | 94 + .../commands/DeleteDomainCommand.ts | 96 + .../DeleteInboundConnectionCommand.ts | 94 + .../DeleteOutboundConnectionCommand.ts | 94 + .../commands/DeletePackageCommand.ts | 94 + .../DescribeDomainAutoTunesCommand.ts | 96 + .../commands/DescribeDomainCommand.ts | 96 + .../commands/DescribeDomainConfigCommand.ts | 96 + .../commands/DescribeDomainsCommand.ts | 96 + .../DescribeInboundConnectionsCommand.ts | 97 + .../DescribeInstanceTypeLimitsCommand.ts | 104 + .../DescribeOutboundConnectionsCommand.ts | 99 + .../commands/DescribePackagesCommand.ts | 96 + ...escribeReservedInstanceOfferingsCommand.ts | 105 + .../DescribeReservedInstancesCommand.ts | 97 + .../commands/DissociatePackageCommand.ts | 94 + .../commands/GetCompatibleVersionsCommand.ts | 101 + .../GetPackageVersionHistoryCommand.ts | 94 + .../commands/GetUpgradeHistoryCommand.ts | 94 + .../commands/GetUpgradeStatusCommand.ts | 95 + .../commands/ListDomainNamesCommand.ts | 94 + .../commands/ListDomainsForPackageCommand.ts | 94 + .../ListInstanceTypeDetailsCommand.ts | 77 + .../commands/ListPackagesForDomainCommand.ts | 94 + .../commands/ListTagsCommand.ts | 94 + .../commands/ListVersionsCommand.ts | 94 + ...PurchaseReservedInstanceOfferingCommand.ts | 102 + .../RejectInboundConnectionCommand.ts | 94 + .../commands/RemoveTagsCommand.ts | 94 + .../StartServiceSoftwareUpdateCommand.ts | 97 + .../commands/UpdateDomainConfigCommand.ts | 96 + .../commands/UpdatePackageCommand.ts | 94 + .../commands/UpgradeDomainCommand.ts | 95 + clients/client-opensearch/endpoints.ts | 63 + clients/client-opensearch/index.ts | 55 + clients/client-opensearch/jest.config.js | 4 + clients/client-opensearch/models/index.ts | 1 + clients/client-opensearch/models/models_0.ts | 5704 ++++++++++++++ clients/client-opensearch/package.json | 91 + .../DescribeDomainAutoTunesPaginator.ts | 58 + .../DescribeInboundConnectionsPaginator.ts | 58 + .../DescribeOutboundConnectionsPaginator.ts | 58 + .../pagination/DescribePackagesPaginator.ts | 58 + ...cribeReservedInstanceOfferingsPaginator.ts | 58 + .../DescribeReservedInstancesPaginator.ts | 58 + .../GetPackageVersionHistoryPaginator.ts | 58 + .../pagination/GetUpgradeHistoryPaginator.ts | 58 + .../pagination/Interfaces.ts | 7 + .../ListDomainsForPackagePaginator.ts | 58 + .../ListInstanceTypeDetailsPaginator.ts | 58 + .../ListPackagesForDomainPaginator.ts | 58 + .../pagination/ListVersionsPaginator.ts | 58 + .../protocols/Aws_restJson1.ts | 6700 +++++++++++++++++ .../runtimeConfig.browser.ts | 40 + .../client-opensearch/runtimeConfig.native.ts | 16 + .../client-opensearch/runtimeConfig.shared.ts | 16 + clients/client-opensearch/runtimeConfig.ts | 45 + clients/client-opensearch/tsconfig.es.json | 12 + clients/client-opensearch/tsconfig.json | 33 + clients/client-outposts/Outposts.ts | 27 + clients/client-outposts/OutpostsClient.ts | 3 + clients/client-outposts/README.md | 14 +- .../commands/CreateOrderCommand.ts | 94 + clients/client-outposts/index.ts | 1 + clients/client-outposts/models/models_0.ts | 289 +- .../protocols/Aws_restJson1.ts | 195 + clients/client-quicksight/models/models_0.ts | 72 +- clients/client-quicksight/models/models_1.ts | 5 +- .../protocols/Aws_restJson1.ts | 30 + clients/client-ram/RAM.ts | 82 +- clients/client-ram/RAMClient.ts | 29 +- clients/client-ram/README.md | 29 +- .../AcceptResourceShareInvitationCommand.ts | 2 +- .../commands/CreateResourceShareCommand.ts | 9 +- ...associateResourceSharePermissionCommand.ts | 2 +- ...EnableSharingWithAwsOrganizationCommand.ts | 4 +- .../commands/GetPermissionCommand.ts | 2 +- .../ListPendingInvitationResourcesCommand.ts | 3 +- .../commands/ListPermissionsCommand.ts | 2 +- .../commands/ListPrincipalsCommand.ts | 2 +- .../ListResourceSharePermissionsCommand.ts | 2 +- .../commands/ListResourceTypesCommand.ts | 2 +- .../commands/ListResourcesCommand.ts | 3 +- ...teResourceShareCreatedFromPolicyCommand.ts | 18 +- .../RejectResourceShareInvitationCommand.ts | 2 +- clients/client-ram/models/models_0.ts | 227 +- clients/client-rds/RDS.ts | 2 +- .../ModifyCurrentDBClusterCapacityCommand.ts | 2 +- clients/client-rds/models/models_0.ts | 22 +- clients/client-rds/models/models_1.ts | 6 +- clients/client-rds/protocols/Aws_query.ts | 7 + clients/client-sagemaker/SageMaker.ts | 174 +- clients/client-sagemaker/SageMakerClient.ts | 24 + .../commands/CreateActionCommand.ts | 7 - .../commands/CreateArtifactCommand.ts | 7 - .../commands/CreateContextCommand.ts | 7 - .../commands/CreateEndpointConfigCommand.ts | 5 - .../CreateStudioLifecycleConfigCommand.ts | 99 + .../DeleteStudioLifecycleConfigCommand.ts | 97 + .../DescribeStudioLifecycleConfigCommand.ts | 99 + .../commands/DescribeTrainingJobCommand.ts | 3 +- .../commands/DescribeTransformJobCommand.ts | 2 +- .../ListStudioLifecycleConfigsCommand.ts | 97 + .../commands/UpdateCodeRepositoryCommand.ts | 3 +- .../commands/UpdateContextCommand.ts | 2 +- .../commands/UpdateDeviceFleetCommand.ts | 2 +- .../commands/UpdateDevicesCommand.ts | 2 +- .../commands/UpdateDomainCommand.ts | 2 +- .../commands/UpdateEndpointCommand.ts | 3 +- clients/client-sagemaker/index.ts | 5 + clients/client-sagemaker/models/models_0.ts | 16 + clients/client-sagemaker/models/models_1.ts | 952 +-- clients/client-sagemaker/models/models_2.ts | 1329 +++- clients/client-sagemaker/models/models_3.ts | 256 +- .../ListStudioLifecycleConfigsPaginator.ts | 58 + .../client-sagemaker/protocols/Aws_json1_1.ts | 502 +- clients/client-servicediscovery/endpoints.ts | 6 +- clients/client-ssm-contacts/README.md | 14 +- clients/client-ssm-contacts/SSMContacts.ts | 19 +- .../client-ssm-contacts/SSMContactsClient.ts | 14 +- .../commands/ActivateContactChannelCommand.ts | 3 +- .../commands/SendActivationCodeCommand.ts | 2 +- .../client-ssm-contacts/models/models_0.ts | 37 +- clients/client-transcribe/models/models_0.ts | 17 +- .../protocols/Aws_json1_1.ts | 23 + clients/client-xray/README.md | 2 +- clients/client-xray/XRay.ts | 26 +- clients/client-xray/XRayClient.ts | 2 +- .../commands/CreateSamplingRuleCommand.ts | 4 +- .../commands/GetServiceGraphCommand.ts | 4 +- .../commands/GetTraceSummariesCommand.ts | 2 +- .../commands/ListTagsForResourceCommand.ts | 2 +- .../commands/PutTelemetryRecordsCommand.ts | 2 +- .../commands/PutTraceSegmentsCommand.ts | 6 +- .../commands/TagResourceCommand.ts | 2 +- .../commands/UntagResourceCommand.ts | 2 +- clients/client-xray/models/models_0.ts | 77 +- 221 files changed, 26008 insertions(+), 1979 deletions(-) create mode 100644 clients/client-amp/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-amp/commands/TagResourceCommand.ts create mode 100644 clients/client-amp/commands/UntagResourceCommand.ts create mode 100644 clients/client-eks/commands/DeregisterClusterCommand.ts create mode 100644 clients/client-eks/commands/RegisterClusterCommand.ts create mode 100644 clients/client-kafka/commands/UpdateSecurityCommand.ts create mode 100644 clients/client-opensearch/.gitignore create mode 100644 clients/client-opensearch/.npmignore create mode 100644 clients/client-opensearch/LICENSE create mode 100644 clients/client-opensearch/OpenSearch.ts create mode 100644 clients/client-opensearch/OpenSearchClient.ts create mode 100644 clients/client-opensearch/README.md create mode 100644 clients/client-opensearch/commands/AcceptInboundConnectionCommand.ts create mode 100644 clients/client-opensearch/commands/AddTagsCommand.ts create mode 100644 clients/client-opensearch/commands/AssociatePackageCommand.ts create mode 100644 clients/client-opensearch/commands/CancelServiceSoftwareUpdateCommand.ts create mode 100644 clients/client-opensearch/commands/CreateDomainCommand.ts create mode 100644 clients/client-opensearch/commands/CreateOutboundConnectionCommand.ts create mode 100644 clients/client-opensearch/commands/CreatePackageCommand.ts create mode 100644 clients/client-opensearch/commands/DeleteDomainCommand.ts create mode 100644 clients/client-opensearch/commands/DeleteInboundConnectionCommand.ts create mode 100644 clients/client-opensearch/commands/DeleteOutboundConnectionCommand.ts create mode 100644 clients/client-opensearch/commands/DeletePackageCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeDomainAutoTunesCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeDomainCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeDomainConfigCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeDomainsCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeInboundConnectionsCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeInstanceTypeLimitsCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeOutboundConnectionsCommand.ts create mode 100644 clients/client-opensearch/commands/DescribePackagesCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeReservedInstanceOfferingsCommand.ts create mode 100644 clients/client-opensearch/commands/DescribeReservedInstancesCommand.ts create mode 100644 clients/client-opensearch/commands/DissociatePackageCommand.ts create mode 100644 clients/client-opensearch/commands/GetCompatibleVersionsCommand.ts create mode 100644 clients/client-opensearch/commands/GetPackageVersionHistoryCommand.ts create mode 100644 clients/client-opensearch/commands/GetUpgradeHistoryCommand.ts create mode 100644 clients/client-opensearch/commands/GetUpgradeStatusCommand.ts create mode 100644 clients/client-opensearch/commands/ListDomainNamesCommand.ts create mode 100644 clients/client-opensearch/commands/ListDomainsForPackageCommand.ts create mode 100644 clients/client-opensearch/commands/ListInstanceTypeDetailsCommand.ts create mode 100644 clients/client-opensearch/commands/ListPackagesForDomainCommand.ts create mode 100644 clients/client-opensearch/commands/ListTagsCommand.ts create mode 100644 clients/client-opensearch/commands/ListVersionsCommand.ts create mode 100644 clients/client-opensearch/commands/PurchaseReservedInstanceOfferingCommand.ts create mode 100644 clients/client-opensearch/commands/RejectInboundConnectionCommand.ts create mode 100644 clients/client-opensearch/commands/RemoveTagsCommand.ts create mode 100644 clients/client-opensearch/commands/StartServiceSoftwareUpdateCommand.ts create mode 100644 clients/client-opensearch/commands/UpdateDomainConfigCommand.ts create mode 100644 clients/client-opensearch/commands/UpdatePackageCommand.ts create mode 100644 clients/client-opensearch/commands/UpgradeDomainCommand.ts create mode 100644 clients/client-opensearch/endpoints.ts create mode 100644 clients/client-opensearch/index.ts create mode 100644 clients/client-opensearch/jest.config.js create mode 100644 clients/client-opensearch/models/index.ts create mode 100644 clients/client-opensearch/models/models_0.ts create mode 100644 clients/client-opensearch/package.json create mode 100644 clients/client-opensearch/pagination/DescribeDomainAutoTunesPaginator.ts create mode 100644 clients/client-opensearch/pagination/DescribeInboundConnectionsPaginator.ts create mode 100644 clients/client-opensearch/pagination/DescribeOutboundConnectionsPaginator.ts create mode 100644 clients/client-opensearch/pagination/DescribePackagesPaginator.ts create mode 100644 clients/client-opensearch/pagination/DescribeReservedInstanceOfferingsPaginator.ts create mode 100644 clients/client-opensearch/pagination/DescribeReservedInstancesPaginator.ts create mode 100644 clients/client-opensearch/pagination/GetPackageVersionHistoryPaginator.ts create mode 100644 clients/client-opensearch/pagination/GetUpgradeHistoryPaginator.ts create mode 100644 clients/client-opensearch/pagination/Interfaces.ts create mode 100644 clients/client-opensearch/pagination/ListDomainsForPackagePaginator.ts create mode 100644 clients/client-opensearch/pagination/ListInstanceTypeDetailsPaginator.ts create mode 100644 clients/client-opensearch/pagination/ListPackagesForDomainPaginator.ts create mode 100644 clients/client-opensearch/pagination/ListVersionsPaginator.ts create mode 100644 clients/client-opensearch/protocols/Aws_restJson1.ts create mode 100644 clients/client-opensearch/runtimeConfig.browser.ts create mode 100644 clients/client-opensearch/runtimeConfig.native.ts create mode 100644 clients/client-opensearch/runtimeConfig.shared.ts create mode 100644 clients/client-opensearch/runtimeConfig.ts create mode 100644 clients/client-opensearch/tsconfig.es.json create mode 100644 clients/client-opensearch/tsconfig.json create mode 100644 clients/client-outposts/commands/CreateOrderCommand.ts create mode 100644 clients/client-sagemaker/commands/CreateStudioLifecycleConfigCommand.ts create mode 100644 clients/client-sagemaker/commands/DeleteStudioLifecycleConfigCommand.ts create mode 100644 clients/client-sagemaker/commands/DescribeStudioLifecycleConfigCommand.ts create mode 100644 clients/client-sagemaker/commands/ListStudioLifecycleConfigsCommand.ts create mode 100644 clients/client-sagemaker/pagination/ListStudioLifecycleConfigsPaginator.ts diff --git a/clients/client-amp/Amp.ts b/clients/client-amp/Amp.ts index 491a0e82c1c5..3d92e95ceaca 100644 --- a/clients/client-amp/Amp.ts +++ b/clients/client-amp/Amp.ts @@ -14,11 +14,22 @@ import { DescribeWorkspaceCommandInput, DescribeWorkspaceCommandOutput, } from "./commands/DescribeWorkspaceCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { ListWorkspacesCommand, ListWorkspacesCommandInput, ListWorkspacesCommandOutput, } from "./commands/ListWorkspacesCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateWorkspaceAliasCommand, UpdateWorkspaceAliasCommandInput, @@ -126,6 +137,38 @@ export class Amp extends AmpClient { } } + /** + * Lists the tags you have assigned to the resource. + */ + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTagsForResourceCommandOutput) => void), + cb?: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): Promise | void { + const command = new ListTagsForResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** * Lists all AMP workspaces, including workspaces being created or deleted. */ @@ -158,6 +201,64 @@ export class Amp extends AmpClient { } } + /** + * Creates tags for the specified resource. + */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; + public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; + public tagResource( + args: TagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TagResourceCommandOutput) => void + ): void; + public tagResource( + args: TagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TagResourceCommandOutput) => void), + cb?: (err: any, data?: TagResourceCommandOutput) => void + ): Promise | void { + const command = new TagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + * Deletes tags from the specified resource. + */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public untagResource( + args: UntagResourceCommandInput, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UntagResourceCommandOutput) => void), + cb?: (err: any, data?: UntagResourceCommandOutput) => void + ): Promise | void { + const command = new UntagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** * Updates an AMP workspace alias. */ diff --git a/clients/client-amp/AmpClient.ts b/clients/client-amp/AmpClient.ts index 924183e6904a..390c29d38414 100644 --- a/clients/client-amp/AmpClient.ts +++ b/clients/client-amp/AmpClient.ts @@ -1,7 +1,13 @@ import { CreateWorkspaceCommandInput, CreateWorkspaceCommandOutput } from "./commands/CreateWorkspaceCommand"; import { DeleteWorkspaceCommandInput, DeleteWorkspaceCommandOutput } from "./commands/DeleteWorkspaceCommand"; import { DescribeWorkspaceCommandInput, DescribeWorkspaceCommandOutput } from "./commands/DescribeWorkspaceCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { ListWorkspacesCommandInput, ListWorkspacesCommandOutput } from "./commands/ListWorkspacesCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateWorkspaceAliasCommandInput, UpdateWorkspaceAliasCommandOutput, @@ -62,14 +68,20 @@ export type ServiceInputTypes = | CreateWorkspaceCommandInput | DeleteWorkspaceCommandInput | DescribeWorkspaceCommandInput + | ListTagsForResourceCommandInput | ListWorkspacesCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput | UpdateWorkspaceAliasCommandInput; export type ServiceOutputTypes = | CreateWorkspaceCommandOutput | DeleteWorkspaceCommandOutput | DescribeWorkspaceCommandOutput + | ListTagsForResourceCommandOutput | ListWorkspacesCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput | UpdateWorkspaceAliasCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-amp/commands/ListTagsForResourceCommand.ts b/clients/client-amp/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..7c9765905dab --- /dev/null +++ b/clients/client-amp/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,94 @@ +import { AmpClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmpClient"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListTagsForResourceCommand, + serializeAws_restJson1ListTagsForResourceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequest {} +export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {} + +/** + * Lists the tags you have assigned to the resource. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmpClient, ListTagsForResourceCommand } from "@aws-sdk/client-amp"; // ES Modules import + * // const { AmpClient, ListTagsForResourceCommand } = require("@aws-sdk/client-amp"); // CommonJS import + * const client = new AmpClient(config); + * const command = new ListTagsForResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListTagsForResourceCommandInput} for command's `input` shape. + * @see {@link ListTagsForResourceCommandOutput} for command's `response` shape. + * @see {@link AmpClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListTagsForResourceCommand extends $Command< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + AmpClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTagsForResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AmpClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AmpClient"; + const commandName = "ListTagsForResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTagsForResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListTagsForResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListTagsForResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-amp/commands/TagResourceCommand.ts b/clients/client-amp/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..11a3e0843c5f --- /dev/null +++ b/clients/client-amp/commands/TagResourceCommand.ts @@ -0,0 +1,94 @@ +import { AmpClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmpClient"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1TagResourceCommand, + serializeAws_restJson1TagResourceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface TagResourceCommandInput extends TagResourceRequest {} +export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} + +/** + * Creates tags for the specified resource. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmpClient, TagResourceCommand } from "@aws-sdk/client-amp"; // ES Modules import + * // const { AmpClient, TagResourceCommand } = require("@aws-sdk/client-amp"); // CommonJS import + * const client = new AmpClient(config); + * const command = new TagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link TagResourceCommandInput} for command's `input` shape. + * @see {@link TagResourceCommandOutput} for command's `response` shape. + * @see {@link AmpClientResolvedConfig | config} for command's `input` shape. + * + */ +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + AmpClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: TagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AmpClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AmpClient"; + const commandName = "TagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: TagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-amp/commands/UntagResourceCommand.ts b/clients/client-amp/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..02a0e6258e32 --- /dev/null +++ b/clients/client-amp/commands/UntagResourceCommand.ts @@ -0,0 +1,94 @@ +import { AmpClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmpClient"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UntagResourceCommand, + serializeAws_restJson1UntagResourceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UntagResourceCommandInput extends UntagResourceRequest {} +export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} + +/** + * Deletes tags from the specified resource. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmpClient, UntagResourceCommand } from "@aws-sdk/client-amp"; // ES Modules import + * // const { AmpClient, UntagResourceCommand } = require("@aws-sdk/client-amp"); // CommonJS import + * const client = new AmpClient(config); + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link AmpClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + AmpClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UntagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AmpClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AmpClient"; + const commandName = "UntagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UntagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-amp/index.ts b/clients/client-amp/index.ts index 3559112667e2..5edd13e2ddb2 100644 --- a/clients/client-amp/index.ts +++ b/clients/client-amp/index.ts @@ -3,8 +3,11 @@ export * from "./Amp"; export * from "./commands/CreateWorkspaceCommand"; export * from "./commands/DeleteWorkspaceCommand"; export * from "./commands/DescribeWorkspaceCommand"; +export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/ListWorkspacesCommand"; export * from "./pagination/ListWorkspacesPaginator"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateWorkspaceAliasCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-amp/models/models_0.ts b/clients/client-amp/models/models_0.ts index 3ce0982973a5..2e5bcebb0844 100644 --- a/clients/client-amp/models/models_0.ts +++ b/clients/client-amp/models/models_0.ts @@ -22,327 +22,399 @@ export namespace AccessDeniedException { } /** - * Updating or deleting a resource can cause an inconsistent state. + * Unexpected error during processing of request. */ -export interface ConflictException extends __SmithyException, $MetadataBearer { - name: "ConflictException"; - $fault: "client"; +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + $retryable: {}; /** * Description of the error. */ message: string | undefined; /** - * Identifier of the resource affected. + * Advice to clients on when the call can be safely retried. */ - resourceId: string | undefined; + retryAfterSeconds?: number; +} +export namespace InternalServerException { /** - * Type of the resource affected. + * @internal */ - resourceType: string | undefined; + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); } -export namespace ConflictException { +export interface ListTagsForResourceRequest { + /** + * The ARN of the resource. + */ + resourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ConflictException): any => ({ + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + * The list of tags assigned to the resource. + */ + tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ ...obj, }); } /** - * Represents the input of a CreateWorkspace operation. + * Request references a resource which does not exist. */ -export interface CreateWorkspaceRequest { +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; /** - * An optional user-assigned alias for this workspace. This alias is for user reference and does not need to be unique. + * Description of the error. */ - alias?: string; + message: string | undefined; /** - * Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request. + * Identifier of the resource affected. */ - clientToken?: string; + resourceId: string | undefined; + + /** + * Type of the resource affected. + */ + resourceType: string | undefined; } -export namespace CreateWorkspaceRequest { +export namespace ResourceNotFoundException { /** * @internal */ - export const filterSensitiveLog = (obj: CreateWorkspaceRequest): any => ({ + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ ...obj, }); } -export enum WorkspaceStatusCode { +/** + * Request was denied due to request throttling. + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + $retryable: {}; /** - * Workspace has been created and is usable. + * Description of the error. */ - ACTIVE = "ACTIVE", + message: string | undefined; + /** - * Workspace is being created. Deletion is disallowed until status is ACTIVE. + * Service Quotas requirement to identify originating service. */ - CREATING = "CREATING", + serviceCode?: string; + /** - * Workspace creation failed. Refer to WorkspaceStatus.failureReason for more details. + * Service Quotas requirement to identify originating quota. */ - CREATION_FAILED = "CREATION_FAILED", + quotaCode?: string; + /** - * Workspace is being deleted. Deletions are allowed only when status is ACTIVE. + * Advice to clients on when the call can be safely retried. */ - DELETING = "DELETING", + retryAfterSeconds?: number; +} + +export namespace ThrottlingException { /** - * Workspace is being updated. Updates are allowed only when status is ACTIVE. + * @internal */ - UPDATING = "UPDATING", + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); } /** - * Represents the status of a workspace. + * Stores information about a field passed inside a request that resulted in an exception. */ -export interface WorkspaceStatus { +export interface ValidationExceptionField { /** - * Status code of this workspace. + * The field name. */ - statusCode: WorkspaceStatusCode | string | undefined; + name: string | undefined; + + /** + * Message describing why the field failed validation. + */ + message: string | undefined; } -export namespace WorkspaceStatus { +export namespace ValidationExceptionField { /** * @internal */ - export const filterSensitiveLog = (obj: WorkspaceStatus): any => ({ + export const filterSensitiveLog = (obj: ValidationExceptionField): any => ({ ...obj, }); } +export enum ValidationExceptionReason { + CANNOT_PARSE = "CANNOT_PARSE", + FIELD_VALIDATION_FAILED = "FIELD_VALIDATION_FAILED", + OTHER = "OTHER", + UNKNOWN_OPERATION = "UNKNOWN_OPERATION", +} + /** - * Represents the output of a CreateWorkspace operation. + * The input fails to satisfy the constraints specified by an AWS service. */ -export interface CreateWorkspaceResponse { +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; /** - * The generated ID of the workspace that was just created. + * Description of the error. */ - workspaceId: string | undefined; + message: string | undefined; /** - * The ARN of the workspace that was just created. + * Reason the request failed validation. */ - arn: string | undefined; + reason: ValidationExceptionReason | string | undefined; /** - * The status of the workspace that was just created (usually CREATING). + * The field that caused the error, if applicable. If more than one field caused the error, pick one and elaborate in the message. */ - status: WorkspaceStatus | undefined; + fieldList?: ValidationExceptionField[]; } -export namespace CreateWorkspaceResponse { +export namespace ValidationException { /** * @internal */ - export const filterSensitiveLog = (obj: CreateWorkspaceResponse): any => ({ + export const filterSensitiveLog = (obj: ValidationException): any => ({ ...obj, }); } -/** - * Unexpected error during processing of request. - */ -export interface InternalServerException extends __SmithyException, $MetadataBearer { - name: "InternalServerException"; - $fault: "server"; - $retryable: {}; +export interface TagResourceRequest { /** - * Description of the error. + * The ARN of the resource. */ - message: string | undefined; + resourceArn: string | undefined; /** - * Advice to clients on when the call can be safely retried. + * The list of tags assigned to the resource. */ - retryAfterSeconds?: number; + tags: { [key: string]: string } | undefined; } -export namespace InternalServerException { +export namespace TagResourceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InternalServerException): any => ({ + export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ ...obj, }); } -/** - * Request would cause a service quota to be exceeded. - */ -export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { - name: "ServiceQuotaExceededException"; - $fault: "client"; - /** - * Description of the error. - */ - message: string | undefined; +export interface TagResourceResponse {} +export namespace TagResourceResponse { /** - * Identifier of the resource affected. + * @internal */ - resourceId: string | undefined; + export const filterSensitiveLog = (obj: TagResourceResponse): any => ({ + ...obj, + }); +} +export interface UntagResourceRequest { /** - * Type of the resource affected. + * The ARN of the resource. */ - resourceType: string | undefined; + resourceArn: string | undefined; /** - * Service Quotas requirement to identify originating service. + * One or more tag keys */ - serviceCode: string | undefined; + tagKeys: string[] | undefined; +} +export namespace UntagResourceRequest { /** - * Service Quotas requirement to identify originating quota. + * @internal */ - quotaCode: string | undefined; + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + }); } -export namespace ServiceQuotaExceededException { +export interface UntagResourceResponse {} + +export namespace UntagResourceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ ...obj, }); } /** - * Request was denied due to request throttling. + * Updating or deleting a resource can cause an inconsistent state. */ -export interface ThrottlingException extends __SmithyException, $MetadataBearer { - name: "ThrottlingException"; +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; $fault: "client"; - $retryable: {}; /** * Description of the error. */ message: string | undefined; /** - * Service Quotas requirement to identify originating service. - */ - serviceCode?: string; - - /** - * Service Quotas requirement to identify originating quota. + * Identifier of the resource affected. */ - quotaCode?: string; + resourceId: string | undefined; /** - * Advice to clients on when the call can be safely retried. + * Type of the resource affected. */ - retryAfterSeconds?: number; + resourceType: string | undefined; } -export namespace ThrottlingException { +export namespace ConflictException { /** * @internal */ - export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + export const filterSensitiveLog = (obj: ConflictException): any => ({ ...obj, }); } /** - * Stores information about a field passed inside a request that resulted in an exception. + * Represents the input of a CreateWorkspace operation. */ -export interface ValidationExceptionField { +export interface CreateWorkspaceRequest { /** - * The field name. + * An optional user-assigned alias for this workspace. This alias is for user reference and does not need to be unique. */ - name: string | undefined; + alias?: string; /** - * Message describing why the field failed validation. + * Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request. */ - message: string | undefined; + clientToken?: string; + + /** + * Optional, user-provided tags for this workspace. + */ + tags?: { [key: string]: string }; } -export namespace ValidationExceptionField { +export namespace CreateWorkspaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ValidationExceptionField): any => ({ + export const filterSensitiveLog = (obj: CreateWorkspaceRequest): any => ({ ...obj, }); } -export enum ValidationExceptionReason { - CANNOT_PARSE = "CANNOT_PARSE", - FIELD_VALIDATION_FAILED = "FIELD_VALIDATION_FAILED", - OTHER = "OTHER", - UNKNOWN_OPERATION = "UNKNOWN_OPERATION", -} - -/** - * The input fails to satisfy the constraints specified by an AWS service. - */ -export interface ValidationException extends __SmithyException, $MetadataBearer { - name: "ValidationException"; - $fault: "client"; +export enum WorkspaceStatusCode { /** - * Description of the error. + * Workspace has been created and is usable. */ - message: string | undefined; - + ACTIVE = "ACTIVE", /** - * Reason the request failed validation. + * Workspace is being created. Deletion is disallowed until status is ACTIVE. */ - reason: ValidationExceptionReason | string | undefined; + CREATING = "CREATING", + /** + * Workspace creation failed. Refer to WorkspaceStatus.failureReason for more details. + */ + CREATION_FAILED = "CREATION_FAILED", + /** + * Workspace is being deleted. Deletions are allowed only when status is ACTIVE. + */ + DELETING = "DELETING", + /** + * Workspace is being updated. Updates are allowed only when status is ACTIVE. + */ + UPDATING = "UPDATING", +} +/** + * Represents the status of a workspace. + */ +export interface WorkspaceStatus { /** - * The field that caused the error, if applicable. If more than one field caused the error, pick one and elaborate in the message. + * Status code of this workspace. */ - fieldList?: ValidationExceptionField[]; + statusCode: WorkspaceStatusCode | string | undefined; } -export namespace ValidationException { +export namespace WorkspaceStatus { /** * @internal */ - export const filterSensitiveLog = (obj: ValidationException): any => ({ + export const filterSensitiveLog = (obj: WorkspaceStatus): any => ({ ...obj, }); } /** - * Represents the input of a DeleteWorkspace operation. + * Represents the output of a CreateWorkspace operation. */ -export interface DeleteWorkspaceRequest { +export interface CreateWorkspaceResponse { /** - * The ID of the workspace to delete. + * The generated ID of the workspace that was just created. */ workspaceId: string | undefined; /** - * Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request. + * The ARN of the workspace that was just created. */ - clientToken?: string; + arn: string | undefined; + + /** + * The status of the workspace that was just created (usually CREATING). + */ + status: WorkspaceStatus | undefined; + + /** + * The tags of this workspace. + */ + tags?: { [key: string]: string }; } -export namespace DeleteWorkspaceRequest { +export namespace CreateWorkspaceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteWorkspaceRequest): any => ({ + export const filterSensitiveLog = (obj: CreateWorkspaceResponse): any => ({ ...obj, }); } /** - * Request references a resource which does not exist. + * Request would cause a service quota to be exceeded. */ -export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { - name: "ResourceNotFoundException"; +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; $fault: "client"; /** * Description of the error. @@ -358,13 +430,47 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB * Type of the resource affected. */ resourceType: string | undefined; + + /** + * Service Quotas requirement to identify originating service. + */ + serviceCode: string | undefined; + + /** + * Service Quotas requirement to identify originating quota. + */ + quotaCode: string | undefined; } -export namespace ResourceNotFoundException { +export namespace ServiceQuotaExceededException { /** * @internal */ - export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + +/** + * Represents the input of a DeleteWorkspace operation. + */ +export interface DeleteWorkspaceRequest { + /** + * The ID of the workspace to delete. + */ + workspaceId: string | undefined; + + /** + * Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request. + */ + clientToken?: string; +} + +export namespace DeleteWorkspaceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteWorkspaceRequest): any => ({ ...obj, }); } @@ -421,6 +527,11 @@ export interface WorkspaceDescription { * The time when the workspace was created. */ createdAt: Date | undefined; + + /** + * The tags of this workspace. + */ + tags?: { [key: string]: string }; } export namespace WorkspaceDescription { @@ -508,6 +619,11 @@ export interface WorkspaceSummary { * The time when the workspace was created. */ createdAt: Date | undefined; + + /** + * The tags of this workspace. + */ + tags?: { [key: string]: string }; } export namespace WorkspaceSummary { diff --git a/clients/client-amp/protocols/Aws_restJson1.ts b/clients/client-amp/protocols/Aws_restJson1.ts index 86c6a88302d8..dbef51f23914 100644 --- a/clients/client-amp/protocols/Aws_restJson1.ts +++ b/clients/client-amp/protocols/Aws_restJson1.ts @@ -1,7 +1,13 @@ import { CreateWorkspaceCommandInput, CreateWorkspaceCommandOutput } from "../commands/CreateWorkspaceCommand"; import { DeleteWorkspaceCommandInput, DeleteWorkspaceCommandOutput } from "../commands/DeleteWorkspaceCommand"; import { DescribeWorkspaceCommandInput, DescribeWorkspaceCommandOutput } from "../commands/DescribeWorkspaceCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { ListWorkspacesCommandInput, ListWorkspacesCommandOutput } from "../commands/ListWorkspacesCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateWorkspaceAliasCommandInput, UpdateWorkspaceAliasCommandOutput, @@ -51,6 +57,7 @@ export const serializeAws_restJson1CreateWorkspaceCommand = async ( body = JSON.stringify({ ...(input.alias !== undefined && input.alias !== null && { alias: input.alias }), clientToken: input.clientToken ?? generateIdempotencyToken(), + ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_restJson1TagMap(input.tags, context) }), }); return new __HttpRequest({ protocol, @@ -125,6 +132,34 @@ export const serializeAws_restJson1DescribeWorkspaceCommand = async ( }); }; +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceArn."); + } + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceArn."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListWorkspacesCommand = async ( input: ListWorkspacesCommandInput, context: __SerdeContext @@ -150,6 +185,71 @@ export const serializeAws_restJson1ListWorkspacesCommand = async ( }); }; +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceArn."); + } + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceArn."); + } + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceArn."); + } + const query: any = { + ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry as any) }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1UpdateWorkspaceAliasCommand = async ( input: UpdateWorkspaceAliasCommandInput, context: __SerdeContext @@ -196,6 +296,7 @@ export const deserializeAws_restJson1CreateWorkspaceCommand = async ( $metadata: deserializeMetadata(output), arn: undefined, status: undefined, + tags: undefined, workspaceId: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); @@ -205,6 +306,9 @@ export const deserializeAws_restJson1CreateWorkspaceCommand = async ( if (data.status !== undefined && data.status !== null) { contents.status = deserializeAws_restJson1WorkspaceStatus(data.status, context); } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } if (data.workspaceId !== undefined && data.workspaceId !== null) { contents.workspaceId = __expectString(data.workspaceId); } @@ -458,6 +562,93 @@ const deserializeAws_restJson1DescribeWorkspaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + } + const contents: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + tags: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.amp#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.amp#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.amp#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.amp#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.amp#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1ListWorkspacesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -541,6 +732,172 @@ const deserializeAws_restJson1ListWorkspacesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1TagResourceCommandError(output, context); + } + const contents: TagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1TagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.amp#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.amp#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.amp#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.amp#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.amp#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UntagResourceCommandError(output, context); + } + const contents: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UntagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.amp#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.amp#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.amp#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.amp#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.amp#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1UpdateWorkspaceAliasCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -817,6 +1174,30 @@ const deserializeAws_restJson1ValidationExceptionResponse = async ( return contents; }; +const serializeAws_restJson1TagMap = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: value, + }; + }, {}); +}; + +const deserializeAws_restJson1TagMap = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + const deserializeAws_restJson1ValidationExceptionField = ( output: any, context: __SerdeContext @@ -854,6 +1235,10 @@ const deserializeAws_restJson1WorkspaceDescription = (output: any, context: __Se output.status !== undefined && output.status !== null ? deserializeAws_restJson1WorkspaceStatus(output.status, context) : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagMap(output.tags, context) + : undefined, workspaceId: __expectString(output.workspaceId), } as any; }; @@ -876,6 +1261,10 @@ const deserializeAws_restJson1WorkspaceSummary = (output: any, context: __SerdeC output.status !== undefined && output.status !== null ? deserializeAws_restJson1WorkspaceStatus(output.status, context) : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagMap(output.tags, context) + : undefined, workspaceId: __expectString(output.workspaceId), } as any; }; diff --git a/clients/client-chime-sdk-identity/ChimeSDKIdentity.ts b/clients/client-chime-sdk-identity/ChimeSDKIdentity.ts index 9bfe471da877..46f9bf87d181 100644 --- a/clients/client-chime-sdk-identity/ChimeSDKIdentity.ts +++ b/clients/client-chime-sdk-identity/ChimeSDKIdentity.ts @@ -85,7 +85,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

The Amazon Chime SDK Identity APIs in this section allow software developers to create * and manage unique instances of their messaging applications. These APIs provide the * overarching framework for creating and sending messages. For more information about the - * identity APIs, refer to .

+ * identity APIs, refer to Amazon Chime SDK identity.

*/ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { /** diff --git a/clients/client-chime-sdk-identity/ChimeSDKIdentityClient.ts b/clients/client-chime-sdk-identity/ChimeSDKIdentityClient.ts index 60fb186486f0..ace43659fde9 100644 --- a/clients/client-chime-sdk-identity/ChimeSDKIdentityClient.ts +++ b/clients/client-chime-sdk-identity/ChimeSDKIdentityClient.ts @@ -280,7 +280,7 @@ export interface ChimeSDKIdentityClientResolvedConfig extends ChimeSDKIdentityCl *

The Amazon Chime SDK Identity APIs in this section allow software developers to create * and manage unique instances of their messaging applications. These APIs provide the * overarching framework for creating and sending messages. For more information about the - * identity APIs, refer to .

+ * identity APIs, refer to Amazon Chime SDK identity.

*/ export class ChimeSDKIdentityClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-chime-sdk-identity/README.md b/clients/client-chime-sdk-identity/README.md index 577321635ce6..0092893e56b8 100644 --- a/clients/client-chime-sdk-identity/README.md +++ b/clients/client-chime-sdk-identity/README.md @@ -10,7 +10,7 @@ AWS SDK for JavaScript ChimeSDKIdentity Client for Node.js, Browser and React Na

The Amazon Chime SDK Identity APIs in this section allow software developers to create and manage unique instances of their messaging applications. These APIs provide the overarching framework for creating and sending messages. For more information about the -identity APIs, refer to .

+identity APIs, refer to Amazon Chime SDK identity.

## Installing diff --git a/clients/client-chime-sdk-messaging/ChimeSDKMessaging.ts b/clients/client-chime-sdk-messaging/ChimeSDKMessaging.ts index 950aa0b3abe2..f2b449b61ac8 100644 --- a/clients/client-chime-sdk-messaging/ChimeSDKMessaging.ts +++ b/clients/client-chime-sdk-messaging/ChimeSDKMessaging.ts @@ -155,7 +155,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

The Amazon Chime SDK Messaging APIs in this section allow software developers to send * and receive messages in custom messaging applications. These APIs depend on the frameworks * provided by the Amazon Chime SDK Identity APIs. For more information about the messaging - * APIs, see .

+ * APIs, see Amazon Chime SDK messaging + *

*/ export class ChimeSDKMessaging extends ChimeSDKMessagingClient { /** diff --git a/clients/client-chime-sdk-messaging/ChimeSDKMessagingClient.ts b/clients/client-chime-sdk-messaging/ChimeSDKMessagingClient.ts index 5e91ed4b5e5d..46d5e5115c3f 100644 --- a/clients/client-chime-sdk-messaging/ChimeSDKMessagingClient.ts +++ b/clients/client-chime-sdk-messaging/ChimeSDKMessagingClient.ts @@ -343,7 +343,8 @@ export interface ChimeSDKMessagingClientResolvedConfig extends ChimeSDKMessaging *

The Amazon Chime SDK Messaging APIs in this section allow software developers to send * and receive messages in custom messaging applications. These APIs depend on the frameworks * provided by the Amazon Chime SDK Identity APIs. For more information about the messaging - * APIs, see .

+ * APIs, see Amazon Chime SDK messaging + *

*/ export class ChimeSDKMessagingClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-chime-sdk-messaging/README.md b/clients/client-chime-sdk-messaging/README.md index c7d931a0845c..5cba951a5408 100644 --- a/clients/client-chime-sdk-messaging/README.md +++ b/clients/client-chime-sdk-messaging/README.md @@ -10,7 +10,8 @@ AWS SDK for JavaScript ChimeSDKMessaging Client for Node.js, Browser and React N

The Amazon Chime SDK Messaging APIs in this section allow software developers to send and receive messages in custom messaging applications. These APIs depend on the frameworks provided by the Amazon Chime SDK Identity APIs. For more information about the messaging -APIs, see .

+APIs, see Amazon Chime SDK messaging +

## Installing diff --git a/clients/client-cloudformation/CloudFormation.ts b/clients/client-cloudformation/CloudFormation.ts index 1c72531e2587..19fb8097e44a 100644 --- a/clients/client-cloudformation/CloudFormation.ts +++ b/clients/client-cloudformation/CloudFormation.ts @@ -1081,10 +1081,9 @@ export class CloudFormation extends CloudFormationClient { * specified stack. This includes actual and expected configuration values for resources where * CloudFormation detects configuration drift.

*

For a given stack, there will be one StackResourceDrift for each stack - * resource that has been checked for drift. Resources that have not yet been checked for - * drift are not included. Resources that do not currently support drift detection are not - * checked, and so not included. For a list of resources that support drift detection, see - * Resources that Support Drift Detection.

+ * resource that has been checked for drift. Resources that haven't yet been checked for drift + * are not included. Resources that do not currently support drift detection are not checked, + * and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

*

Use DetectStackResourceDrift to detect drift on individual * resources, or DetectStackDrift to detect drift on all supported resources * for a given stack.

@@ -1173,7 +1172,7 @@ export class CloudFormation extends CloudFormationClient { *

Returns the description for the specified stack; if no stack name was specified, then * it returns the description for all the stacks created.

* - *

If the stack does not exist, an AmazonCloudFormationException is + *

If the stack does not exist, an ValidationError is * returned.

*
*/ diff --git a/clients/client-cloudformation/commands/DescribeStackResourceDriftsCommand.ts b/clients/client-cloudformation/commands/DescribeStackResourceDriftsCommand.ts index f2601f9dd745..5cb841081eed 100644 --- a/clients/client-cloudformation/commands/DescribeStackResourceDriftsCommand.ts +++ b/clients/client-cloudformation/commands/DescribeStackResourceDriftsCommand.ts @@ -25,10 +25,9 @@ export interface DescribeStackResourceDriftsCommandOutput extends DescribeStackR * specified stack. This includes actual and expected configuration values for resources where * CloudFormation detects configuration drift.

*

For a given stack, there will be one StackResourceDrift for each stack - * resource that has been checked for drift. Resources that have not yet been checked for - * drift are not included. Resources that do not currently support drift detection are not - * checked, and so not included. For a list of resources that support drift detection, see - * Resources that Support Drift Detection.

+ * resource that has been checked for drift. Resources that haven't yet been checked for drift + * are not included. Resources that do not currently support drift detection are not checked, + * and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

*

Use DetectStackResourceDrift to detect drift on individual * resources, or DetectStackDrift to detect drift on all supported resources * for a given stack.

diff --git a/clients/client-cloudformation/commands/DescribeStacksCommand.ts b/clients/client-cloudformation/commands/DescribeStacksCommand.ts index 6022df9a5514..db023920e4d1 100644 --- a/clients/client-cloudformation/commands/DescribeStacksCommand.ts +++ b/clients/client-cloudformation/commands/DescribeStacksCommand.ts @@ -24,7 +24,7 @@ export interface DescribeStacksCommandOutput extends DescribeStacksOutput, __Met *

Returns the description for the specified stack; if no stack name was specified, then * it returns the description for all the stacks created.

* - *

If the stack does not exist, an AmazonCloudFormationException is + *

If the stack does not exist, an ValidationError is * returned.

*
* @example diff --git a/clients/client-cloudformation/models/models_0.ts b/clients/client-cloudformation/models/models_0.ts index 18cefbb87575..86dab7f33e66 100644 --- a/clients/client-cloudformation/models/models_0.ts +++ b/clients/client-cloudformation/models/models_0.ts @@ -3,16 +3,15 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException export type AccountGateStatus = "FAILED" | "SKIPPED" | "SUCCEEDED"; /** - *

Structure that contains the results of the account gate function which - * CloudFormation invokes, if present, before proceeding with a stack set operation in an + *

Structure that contains the results of the account gate function which CloudFormation invokes, if present, before proceeding with a stack set operation in an * account and Region.

- *

For each account and Region, CloudFormation lets you specify a Lamdba function - * that encapsulates any requirements that must be met before CloudFormation can proceed with - * a stack set operation in that account and Region. CloudFormation invokes the function each - * time a stack set operation is requested for that account and Region; if the function - * returns FAILED, CloudFormation cancels the operation in that account and - * Region, and sets the stack set operation result status for that account and Region to - * FAILED.

+ *

For each account and Region, CloudFormation lets you specify a Lambda + * function that encapsulates any requirements that must be met before CloudFormation + * can proceed with a stack set operation in that account and Region. CloudFormation + * invokes the function each time a stack set operation is requested for that account and + * Region; if the function returns FAILED, CloudFormation cancels the + * operation in that account and Region, and sets the stack set operation result status for + * that account and Region to FAILED.

*

For more information, see Configuring a * target account gate.

*/ @@ -6372,9 +6371,9 @@ export interface GetTemplateSummaryOutput { /** *

The capabilities found within the template. If your template contains IAM resources, - * you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when + * you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when * you use the CreateStack or UpdateStack actions with - * your template; otherwise, those actions return an InsufficientCapabilities error.

+ * your template; otherwise, those actions return an InsufficientCapabilities error.

*

For more information, see Acknowledging IAM Resources in CloudFormation Templates.

*/ Capabilities?: (Capability | string)[]; diff --git a/clients/client-codeguru-reviewer/CodeGuruReviewer.ts b/clients/client-codeguru-reviewer/CodeGuruReviewer.ts index d13c45b54d91..8ab0ee3ce5aa 100644 --- a/clients/client-codeguru-reviewer/CodeGuruReviewer.ts +++ b/clients/client-codeguru-reviewer/CodeGuruReviewer.ts @@ -82,14 +82,14 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by * creating an interface VPC endpoint. For more information, see * CodeGuru Reviewer and interface - * VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide. + * VPC endpoints (Amazon Web Services PrivateLink) in the Amazon CodeGuru Reviewer User Guide. *

*/ export class CodeGuruReviewer extends CodeGuruReviewerClient { /** *

- * Use to associate an AWS CodeCommit repository or a repostory managed by - * AWS CodeStar Connections with Amazon CodeGuru Reviewer. When you associate a + * Use to associate an Amazon Web Services CodeCommit repository or a repostory managed by + * Amazon Web Services CodeStar Connections with Amazon CodeGuru Reviewer. When you associate a * repository, CodeGuru Reviewer reviews source code changes in the repository's pull requests and provides * automatic recommendations. You can view recommendations using the CodeGuru Reviewer console. For more information, see * Recommendations in @@ -97,16 +97,16 @@ export class CodeGuruReviewer extends CodeGuruReviewerClient { *

* *

If you associate a CodeCommit or S3 repository, it must be in the same - * AWS Region and AWS account where its CodeGuru Reviewer code reviews are configured.

+ * Amazon Web Services Region and Amazon Web Services account where its CodeGuru Reviewer code reviews are configured.

* - *

Bitbucket and GitHub Enterprise Server repositories are managed by AWS CodeStar + *

Bitbucket and GitHub Enterprise Server repositories are managed by Amazon Web Services CodeStar * Connections to connect to CodeGuru Reviewer. For more information, see Associate a repository in * the Amazon CodeGuru Reviewer User Guide. *

* * *

- * You cannot use the CodeGuru Reviewer SDK or the AWS CLI to associate a GitHub repository with Amazon CodeGuru Reviewer. To associate + * You cannot use the CodeGuru Reviewer SDK or the Amazon Web Services CLI to associate a GitHub repository with Amazon CodeGuru Reviewer. To associate * a GitHub repository, use the console. For more information, see * Getting * started with CodeGuru Reviewer in the CodeGuru Reviewer User Guide. diff --git a/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts b/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts index eefcd71a71e4..225b3e136a83 100644 --- a/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts +++ b/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts @@ -276,7 +276,7 @@ export interface CodeGuruReviewerClientResolvedConfig extends CodeGuruReviewerCl * To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by * creating an interface VPC endpoint. For more information, see * CodeGuru Reviewer and interface - * VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide. + * VPC endpoints (Amazon Web Services PrivateLink) in the Amazon CodeGuru Reviewer User Guide. *

*/ export class CodeGuruReviewerClient extends __Client< diff --git a/clients/client-codeguru-reviewer/README.md b/clients/client-codeguru-reviewer/README.md index 5cf72c2ca3cb..0d1acec14347 100644 --- a/clients/client-codeguru-reviewer/README.md +++ b/clients/client-codeguru-reviewer/README.md @@ -21,7 +21,7 @@ improves the overall quality and maintainability of your code base during the co To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by creating an interface VPC endpoint. For more information, see CodeGuru Reviewer and interface -VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide. +VPC endpoints (Amazon Web Services PrivateLink) in the Amazon CodeGuru Reviewer User Guide.

## Installing diff --git a/clients/client-codeguru-reviewer/commands/AssociateRepositoryCommand.ts b/clients/client-codeguru-reviewer/commands/AssociateRepositoryCommand.ts index c3f2ee56a8d9..72472aeef949 100644 --- a/clients/client-codeguru-reviewer/commands/AssociateRepositoryCommand.ts +++ b/clients/client-codeguru-reviewer/commands/AssociateRepositoryCommand.ts @@ -22,8 +22,8 @@ export interface AssociateRepositoryCommandOutput extends AssociateRepositoryRes /** *

- * Use to associate an AWS CodeCommit repository or a repostory managed by - * AWS CodeStar Connections with Amazon CodeGuru Reviewer. When you associate a + * Use to associate an Amazon Web Services CodeCommit repository or a repostory managed by + * Amazon Web Services CodeStar Connections with Amazon CodeGuru Reviewer. When you associate a * repository, CodeGuru Reviewer reviews source code changes in the repository's pull requests and provides * automatic recommendations. You can view recommendations using the CodeGuru Reviewer console. For more information, see * Recommendations in @@ -31,16 +31,16 @@ export interface AssociateRepositoryCommandOutput extends AssociateRepositoryRes *

* *

If you associate a CodeCommit or S3 repository, it must be in the same - * AWS Region and AWS account where its CodeGuru Reviewer code reviews are configured.

+ * Amazon Web Services Region and Amazon Web Services account where its CodeGuru Reviewer code reviews are configured.

* - *

Bitbucket and GitHub Enterprise Server repositories are managed by AWS CodeStar + *

Bitbucket and GitHub Enterprise Server repositories are managed by Amazon Web Services CodeStar * Connections to connect to CodeGuru Reviewer. For more information, see Associate a repository in * the Amazon CodeGuru Reviewer User Guide. *

* * *

- * You cannot use the CodeGuru Reviewer SDK or the AWS CLI to associate a GitHub repository with Amazon CodeGuru Reviewer. To associate + * You cannot use the CodeGuru Reviewer SDK or the Amazon Web Services CLI to associate a GitHub repository with Amazon CodeGuru Reviewer. To associate * a GitHub repository, use the console. For more information, see * Getting * started with CodeGuru Reviewer in the CodeGuru Reviewer User Guide. diff --git a/clients/client-codeguru-reviewer/models/models_0.ts b/clients/client-codeguru-reviewer/models/models_0.ts index 891768d56d81..3a415045318f 100644 --- a/clients/client-codeguru-reviewer/models/models_0.ts +++ b/clients/client-codeguru-reviewer/models/models_0.ts @@ -32,23 +32,23 @@ export enum EncryptionOption { *

An object that contains:

*
    *
  • - *

    The encryption option for a repository association. It is either owned by AWS + *

    The encryption option for a repository association. It is either owned by Amazon Web Services * Key Management Service (KMS) (AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK).

    *
  • *
  • - *

    The ID of the AWS KMS key that + *

    The ID of the Amazon Web Services KMS key that * is associated with a respository association.

    *
  • *
*/ export interface KMSKeyDetails { /** - *

The ID of the AWS KMS key that is associated with a respository association.

+ *

The ID of the Amazon Web Services KMS key that is associated with a respository association.

*/ KMSKeyId?: string; /** - *

The encryption option for a repository association. It is either owned by AWS + *

The encryption option for a repository association. It is either owned by Amazon Web Services * Key Management Service (KMS) (AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK).

*/ EncryptionOption?: EncryptionOption | string; @@ -78,12 +78,12 @@ export interface ThirdPartySourceRepository { /** *

- * The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is + * The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar Connections connection. Its format is * arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see * * Connection * in - * the AWS CodeStar Connections API Reference. + * the Amazon Web Services CodeStar Connections API Reference. *

*/ ConnectionArn: string | undefined; @@ -92,7 +92,7 @@ export interface ThirdPartySourceRepository { *

* The owner of the repository. For a GitHub, GitHub Enterprise, or Bitbucket repository, * this is the username for the account that owns the repository. For an S3 repository, - * this can be the username or AWS account ID. + * this can be the username or Amazon Web Services account ID. *

*/ Owner: string | undefined; @@ -108,14 +108,14 @@ export namespace ThirdPartySourceRepository { } /** - *

Information about an AWS CodeCommit repository. The CodeCommit repository must be in the same - * AWS Region and AWS account where its CodeGuru Reviewer code reviews are configured.

+ *

Information about an Amazon Web Services CodeCommit repository. The CodeCommit repository must be in the same + * Amazon Web Services Region and Amazon Web Services account where its CodeGuru Reviewer code reviews are configured.

*/ export interface CodeCommitRepository { /** - *

The name of the AWS CodeCommit repository. For more information, see + *

The name of the Amazon Web Services CodeCommit repository. For more information, see * repositoryName - * in the AWS CodeCommit API Reference.

+ * in the Amazon Web Services CodeCommit API Reference.

*/ Name: string | undefined; } @@ -158,14 +158,14 @@ export namespace S3Repository { /** *

- * Information about an associated AWS CodeCommit repository or an associated repository that is managed - * by AWS CodeStar Connections (for example, Bitbucket). This Repository object + * Information about an associated Amazon Web Services CodeCommit repository or an associated repository that is managed + * by Amazon Web Services CodeStar Connections (for example, Bitbucket). This Repository object * is not used if your source code is in an associated GitHub repository. *

*/ export interface Repository { /** - *

Information about an AWS CodeCommit repository.

+ *

Information about an Amazon Web Services CodeCommit repository.

*/ CodeCommit?: CodeCommitRepository; @@ -236,11 +236,11 @@ export interface AssociateRepositoryRequest { *

A KMSKeyDetails object that contains:

*
    *
  • - *

    The encryption option for this repository association. It is either owned by AWS + *

    The encryption option for this repository association. It is either owned by Amazon Web Services * Key Management Service (KMS) (AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK).

    *
  • *
  • - *

    The ID of the AWS KMS key that + *

    The ID of the Amazon Web Services KMS key that * is associated with this respository association.

    *
  • *
@@ -360,12 +360,12 @@ export interface RepositoryAssociation { /** *

- * The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is + * The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar Connections connection. Its format is * arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see * * Connection * in - * the AWS CodeStar Connections API Reference. + * the Amazon Web Services CodeStar Connections API Reference. *

*/ ConnectionArn?: string; @@ -376,9 +376,9 @@ export interface RepositoryAssociation { Name?: string; /** - *

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + *

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository. - * For an S3 repository, it can be the username or AWS account ID.

+ * For an S3 repository, it can be the username or Amazon Web Services account ID.

*/ Owner?: string; @@ -465,11 +465,11 @@ export interface RepositoryAssociation { *

A KMSKeyDetails object that contains:

*
    *
  • - *

    The encryption option for this repository association. It is either owned by AWS + *

    The encryption option for this repository association. It is either owned by Amazon Web Services * Key Management Service (KMS) (AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK).

    *
  • *
  • - *

    The ID of the AWS KMS key that + *

    The ID of the Amazon Web Services KMS key that * is associated with this respository association.

    *
  • *
@@ -950,7 +950,7 @@ export namespace CodeReviewType { export interface CreateCodeReviewRequest { /** *

- * The name of the code review. The name of each code review in your AWS account must be unique. + * The name of the code review. The name of each code review in your Amazon Web Services account must be unique. *

*/ Name: string | undefined; @@ -1010,13 +1010,8 @@ export namespace CreateCodeReviewRequest { export interface Metrics { /** *

- * Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, - * this includes all lines of code in the files added to the pull request. In subsequent revisions, for files that already - * existed in the pull request, this includes only the changed lines of code. In both cases, this does not include non-code lines such as comments - * and import statements. For example, if you submit a pull request containing 5 files, each with 500 lines of code, and in - * a subsequent revision you added a new file with 200 lines of code, and also modified a total of 25 lines across the initial 5 files, - * MeteredLinesOfCodeCount includes the first 5 files (5 * 500 = 2,500 lines), the new file (200 lines) and the 25 changed lines of - * code for a total of 2,725 lines of code. + * MeteredLinesOfCode is the number of lines of code in the repository where the code review happened. + * This does not include non-code lines such as comments and blank lines. *

*/ MeteredLinesOfCodeCount?: number; @@ -1079,9 +1074,9 @@ export interface CodeReview { RepositoryName?: string; /** - *

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + *

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository. - * For an S3 repository, it can be the username or AWS account ID.

+ * For an S3 repository, it can be the username or Amazon Web Services account ID.

*/ Owner?: string; @@ -1294,9 +1289,9 @@ export interface DescribeRecommendationFeedbackRequest { * Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request. *

*

- * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For + * The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For * more information, see - * Specifying a Principal in the AWS Identity and Access Management User Guide. + * Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide. *

*/ UserId?: string; @@ -1349,9 +1344,9 @@ export interface RecommendationFeedback { * The ID of the user that made the API call. *

*

- * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For + * The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For * more information, see - * Specifying a Principal in the AWS Identity and Access Management User Guide. + * Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide. *

*/ UserId?: string; @@ -1680,9 +1675,9 @@ export interface CodeReviewSummary { RepositoryName?: string; /** - *

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + *

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository. - * For an S3 repository, it can be the username or AWS account ID.

+ * For an S3 repository, it can be the username or Amazon Web Services account ID.

*/ Owner?: string; @@ -1826,12 +1821,12 @@ export interface ListRecommendationFeedbackRequest { /** *

- * An AWS user's account ID or Amazon Resource Name (ARN). Use this ID to query the recommendation feedback for a code review from that user. + * An Amazon Web Services user's account ID or Amazon Resource Name (ARN). Use this ID to query the recommendation feedback for a code review from that user. *

*

- * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For + * The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For * more information, see - * Specifying a Principal in the AWS Identity and Access Management User Guide. + * Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide. *

*/ UserIds?: string[]; @@ -1878,9 +1873,9 @@ export interface RecommendationFeedbackSummary { * The ID of the user that gave the feedback. *

*

- * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For + * The UserId is an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For * more information, see - * Specifying a Principal in the AWS Identity and Access Management User Guide. + * Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide. *

*/ UserId?: string; @@ -1955,6 +1950,7 @@ export namespace ListRecommendationsRequest { export enum RecommendationCategory { AWS_BEST_PRACTICES = "AWSBestPractices", AWS_CLOUDFORMATION_ISSUES = "AWSCloudFormationIssues", + CODE_INCONSISTENCIES = "CodeInconsistencies", CODE_MAINTENANCE_ISSUES = "CodeMaintenanceIssues", CONCURRENCY_ISSUES = "ConcurrencyIssues", DUPLICATE_CODE = "DuplicateCode", @@ -1965,6 +1961,55 @@ export enum RecommendationCategory { SECURITY_ISSUES = "SecurityIssues", } +/** + *

Metadata about a rule. Rule metadata includes an ID, a name, a list of tags, and a + * short and long description. CodeGuru Reviewer uses rules to analyze code. A rule's recommendation is + * included in analysis results if code is detected that violates the rule.

+ */ +export interface RuleMetadata { + /** + *

The ID of the rule.

+ */ + RuleId?: string; + + /** + *

The name of the rule.

+ */ + RuleName?: string; + + /** + *

A short description of the rule.

+ */ + ShortDescription?: string; + + /** + *

A long description of the rule.

+ */ + LongDescription?: string; + + /** + *

Tags that are associated with the rule.

+ */ + RuleTags?: string[]; +} + +export namespace RuleMetadata { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RuleMetadata): any => ({ + ...obj, + }); +} + +export enum Severity { + CRITICAL = "Critical", + HIGH = "High", + INFO = "Info", + LOW = "Low", + MEDIUM = "Medium", +} + /** *

* Information about recommendations. @@ -2008,6 +2053,18 @@ export interface RecommendationSummary { *

The type of a recommendation.

*/ RecommendationCategory?: RecommendationCategory | string; + + /** + *

Metadata about a rule. Rule metadata includes an ID, a name, a list of tags, and a + * short and long description. CodeGuru Reviewer uses rules to analyze code. A rule's recommendation is + * included in analysis results if code is detected that violates the rule.

+ */ + RuleMetadata?: RuleMetadata; + + /** + *

The severity of the issue in the code that generated this recommendation.

+ */ + Severity?: Severity | string; } export namespace RecommendationSummary { @@ -2116,7 +2173,7 @@ export interface ListRepositoryAssociationsRequest { /** *

List of owners to use as a filter. - * For AWS CodeCommit, it is the name of the CodeCommit account that was + * For Amazon Web Services CodeCommit, it is the name of the CodeCommit account that was * used to associate the repository. For other repository source providers, such as Bitbucket and GitHub Enterprise Server, this is name of the account * that was used to associate the repository.

*/ @@ -2181,12 +2238,12 @@ export interface RepositoryAssociationSummary { /** *

- * The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is + * The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar Connections connection. Its format is * arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see * * Connection * in - * the AWS CodeStar Connections API Reference. + * the Amazon Web Services CodeStar Connections API Reference. *

*/ ConnectionArn?: string; @@ -2211,9 +2268,9 @@ export interface RepositoryAssociationSummary { Name?: string; /** - *

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + *

The owner of the repository. For an Amazon Web Services CodeCommit repository, this is the Amazon Web Services account ID of the * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository. - * For an S3 repository, it can be the username or AWS account ID.

+ * For an S3 repository, it can be the username or Amazon Web Services account ID.

*/ Owner?: string; diff --git a/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts b/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts index 9f31ba138c0f..9c7ca8c9ff67 100644 --- a/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts +++ b/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts @@ -67,6 +67,7 @@ import { RepositoryHeadSourceCodeType, RequestMetadata, ResourceNotFoundException, + RuleMetadata, S3BucketRepository, S3Repository, S3RepositoryDetails, @@ -2283,6 +2284,11 @@ const deserializeAws_restJson1RecommendationSummary = (output: any, context: __S FilePath: __expectString(output.FilePath), RecommendationCategory: __expectString(output.RecommendationCategory), RecommendationId: __expectString(output.RecommendationId), + RuleMetadata: + output.RuleMetadata !== undefined && output.RuleMetadata !== null + ? deserializeAws_restJson1RuleMetadata(output.RuleMetadata, context) + : undefined, + Severity: __expectString(output.Severity), StartLine: __expectInt32(output.StartLine), } as any; }; @@ -2370,6 +2376,30 @@ const deserializeAws_restJson1RequestMetadata = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_restJson1RuleMetadata = (output: any, context: __SerdeContext): RuleMetadata => { + return { + LongDescription: __expectString(output.LongDescription), + RuleId: __expectString(output.RuleId), + RuleName: __expectString(output.RuleName), + RuleTags: + output.RuleTags !== undefined && output.RuleTags !== null + ? deserializeAws_restJson1RuleTags(output.RuleTags, context) + : undefined, + ShortDescription: __expectString(output.ShortDescription), + } as any; +}; + +const deserializeAws_restJson1RuleTags = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_restJson1S3BucketRepository = (output: any, context: __SerdeContext): S3BucketRepository => { return { Details: diff --git a/clients/client-ecr/ECR.ts b/clients/client-ecr/ECR.ts index 4bf0ea48f104..c84aef2c8dcf 100644 --- a/clients/client-ecr/ECR.ts +++ b/clients/client-ecr/ECR.ts @@ -167,6 +167,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * Initiative (OCI) images. Amazon ECR supports private repositories with resource-based * permissions using IAM so that specific users or Amazon EC2 instances can access * repositories and images.

+ *

Amazon ECR has service endpoints in each supported Region. For more information, see Amazon ECR endpoints in the + * Amazon Web Services General Reference.

*/ export class ECR extends ECRClient { /** @@ -321,7 +323,7 @@ export class ECR extends ECRClient { } /** - *

Creates a repository. For more information, see Amazon ECR Repositories in the + *

Creates a repository. For more information, see Amazon ECR repositories in the * Amazon Elastic Container Registry User Guide.

*/ public createRepository( @@ -625,9 +627,9 @@ export class ECR extends ECRClient { * principal has access to. The authorization token is valid for 12 hours.

*

The authorizationToken returned is a base64 encoded string that can be * decoded and used in a docker login command to authenticate to a registry. - * The AWS CLI offers an get-login-password command that simplifies the login + * The CLI offers an get-login-password command that simplifies the login * process. For more information, see Registry - * Authentication in the Amazon Elastic Container Registry User Guide.

+ * authentication in the Amazon Elastic Container Registry User Guide.

*/ public getAuthorizationToken( args: GetAuthorizationTokenCommandInput, @@ -659,8 +661,8 @@ export class ECR extends ECRClient { } /** - *

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You - * can only get URLs for image layers that are referenced in an image.

+ *

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can + * only get URLs for image layers that are referenced in an image.

*

When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer * that is not already cached.

* @@ -997,8 +999,8 @@ export class ECR extends ECRClient { /** *

Updates the image tag mutability settings for the specified repository. For more - * information, see Image Tag - * Mutability in the Amazon Elastic Container Registry User Guide.

+ * information, see Image tag + * mutability in the Amazon Elastic Container Registry User Guide.

*/ public putImageTagMutability( args: PutImageTagMutabilityCommandInput, @@ -1031,8 +1033,8 @@ export class ECR extends ECRClient { /** *

Creates or updates the lifecycle policy for the specified repository. For more - * information, see Lifecycle Policy - * Template.

+ * information, see Lifecycle policy + * template.

*/ public putLifecyclePolicy( args: PutLifecyclePolicyCommandInput, @@ -1065,7 +1067,7 @@ export class ECR extends ECRClient { /** *

Creates or updates the permissions policy for your registry.

- *

A registry policy is used to specify permissions for another AWS account and is used + *

A registry policy is used to specify permissions for another Amazon Web Services account and is used * when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.

*/ public putRegistryPolicy( @@ -1102,7 +1104,7 @@ export class ECR extends ECRClient { * replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the * PutReplicationConfiguration API is called, a service-linked IAM role is created in * your account for the replication process. For more information, see Using - * Service-Linked Roles for Amazon ECR in the + * service-linked roles for Amazon ECR in the * Amazon Elastic Container Registry User Guide.

* *

When configuring cross-account replication, the destination account must grant the @@ -1142,7 +1144,7 @@ export class ECR extends ECRClient { /** *

Applies a repository policy to the specified repository to control access permissions. * For more information, see Amazon ECR Repository - * Policies in the Amazon Elastic Container Registry User Guide.

+ * policies in the Amazon Elastic Container Registry User Guide.

*/ public setRepositoryPolicy( args: SetRepositoryPolicyCommandInput, @@ -1174,9 +1176,9 @@ export class ECR extends ECRClient { } /** - *

Starts an image vulnerability scan. An image scan can only be started once per day on - * an individual image. This limit includes if an image was scanned on initial push. For - * more information, see Image Scanning in the + *

Starts an image vulnerability scan. An image scan can only be started once per 24 + * hours on an individual image. This limit includes if an image was scanned on initial + * push. For more information, see Image scanning in the * Amazon Elastic Container Registry User Guide.

*/ public startImageScan( diff --git a/clients/client-ecr/ECRClient.ts b/clients/client-ecr/ECRClient.ts index 0e513aea9e7f..b968c9bd4811 100644 --- a/clients/client-ecr/ECRClient.ts +++ b/clients/client-ecr/ECRClient.ts @@ -356,6 +356,8 @@ export interface ECRClientResolvedConfig extends ECRClientResolvedConfigType {} * Initiative (OCI) images. Amazon ECR supports private repositories with resource-based * permissions using IAM so that specific users or Amazon EC2 instances can access * repositories and images.

+ *

Amazon ECR has service endpoints in each supported Region. For more information, see Amazon ECR endpoints in the + * Amazon Web Services General Reference.

*/ export class ECRClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-ecr/README.md b/clients/client-ecr/README.md index 7b0ea865cf80..63902adeabea 100644 --- a/clients/client-ecr/README.md +++ b/clients/client-ecr/README.md @@ -15,6 +15,8 @@ provides a secure, scalable, and reliable registry for your Docker or Open Conta Initiative (OCI) images. Amazon ECR supports private repositories with resource-based permissions using IAM so that specific users or Amazon EC2 instances can access repositories and images.

+

Amazon ECR has service endpoints in each supported Region. For more information, see Amazon ECR endpoints in the +Amazon Web Services General Reference.

## Installing diff --git a/clients/client-ecr/commands/CreateRepositoryCommand.ts b/clients/client-ecr/commands/CreateRepositoryCommand.ts index 8aa297c5860b..c6405411346d 100644 --- a/clients/client-ecr/commands/CreateRepositoryCommand.ts +++ b/clients/client-ecr/commands/CreateRepositoryCommand.ts @@ -21,7 +21,7 @@ export interface CreateRepositoryCommandInput extends CreateRepositoryRequest {} export interface CreateRepositoryCommandOutput extends CreateRepositoryResponse, __MetadataBearer {} /** - *

Creates a repository. For more information, see Amazon ECR Repositories in the + *

Creates a repository. For more information, see Amazon ECR repositories in the * Amazon Elastic Container Registry User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ecr/commands/GetAuthorizationTokenCommand.ts b/clients/client-ecr/commands/GetAuthorizationTokenCommand.ts index 65a22326013c..d4f654aa943b 100644 --- a/clients/client-ecr/commands/GetAuthorizationTokenCommand.ts +++ b/clients/client-ecr/commands/GetAuthorizationTokenCommand.ts @@ -26,9 +26,9 @@ export interface GetAuthorizationTokenCommandOutput extends GetAuthorizationToke * principal has access to. The authorization token is valid for 12 hours.

*

The authorizationToken returned is a base64 encoded string that can be * decoded and used in a docker login command to authenticate to a registry. - * The AWS CLI offers an get-login-password command that simplifies the login + * The CLI offers an get-login-password command that simplifies the login * process. For more information, see Registry - * Authentication in the Amazon Elastic Container Registry User Guide.

+ * authentication in the Amazon Elastic Container Registry User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ecr/commands/GetDownloadUrlForLayerCommand.ts b/clients/client-ecr/commands/GetDownloadUrlForLayerCommand.ts index b7ea7c1aa761..48f0b4f093d4 100644 --- a/clients/client-ecr/commands/GetDownloadUrlForLayerCommand.ts +++ b/clients/client-ecr/commands/GetDownloadUrlForLayerCommand.ts @@ -21,8 +21,8 @@ export interface GetDownloadUrlForLayerCommandInput extends GetDownloadUrlForLay export interface GetDownloadUrlForLayerCommandOutput extends GetDownloadUrlForLayerResponse, __MetadataBearer {} /** - *

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You - * can only get URLs for image layers that are referenced in an image.

+ *

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can + * only get URLs for image layers that are referenced in an image.

*

When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer * that is not already cached.

* diff --git a/clients/client-ecr/commands/PutImageTagMutabilityCommand.ts b/clients/client-ecr/commands/PutImageTagMutabilityCommand.ts index 8548ecff30fb..c811b3dd1e3f 100644 --- a/clients/client-ecr/commands/PutImageTagMutabilityCommand.ts +++ b/clients/client-ecr/commands/PutImageTagMutabilityCommand.ts @@ -22,8 +22,8 @@ export interface PutImageTagMutabilityCommandOutput extends PutImageTagMutabilit /** *

Updates the image tag mutability settings for the specified repository. For more - * information, see Image Tag - * Mutability in the Amazon Elastic Container Registry User Guide.

+ * information, see Image tag + * mutability in the Amazon Elastic Container Registry User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ecr/commands/PutLifecyclePolicyCommand.ts b/clients/client-ecr/commands/PutLifecyclePolicyCommand.ts index e3a6d0598d98..0d3bb45567b1 100644 --- a/clients/client-ecr/commands/PutLifecyclePolicyCommand.ts +++ b/clients/client-ecr/commands/PutLifecyclePolicyCommand.ts @@ -22,8 +22,8 @@ export interface PutLifecyclePolicyCommandOutput extends PutLifecyclePolicyRespo /** *

Creates or updates the lifecycle policy for the specified repository. For more - * information, see Lifecycle Policy - * Template.

+ * information, see Lifecycle policy + * template.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ecr/commands/PutRegistryPolicyCommand.ts b/clients/client-ecr/commands/PutRegistryPolicyCommand.ts index 1a466a80e6cd..039d5ed3bd75 100644 --- a/clients/client-ecr/commands/PutRegistryPolicyCommand.ts +++ b/clients/client-ecr/commands/PutRegistryPolicyCommand.ts @@ -22,7 +22,7 @@ export interface PutRegistryPolicyCommandOutput extends PutRegistryPolicyRespons /** *

Creates or updates the permissions policy for your registry.

- *

A registry policy is used to specify permissions for another AWS account and is used + *

A registry policy is used to specify permissions for another Amazon Web Services account and is used * when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ecr/commands/PutReplicationConfigurationCommand.ts b/clients/client-ecr/commands/PutReplicationConfigurationCommand.ts index bbb3bb9c7237..572c7d5a9697 100644 --- a/clients/client-ecr/commands/PutReplicationConfigurationCommand.ts +++ b/clients/client-ecr/commands/PutReplicationConfigurationCommand.ts @@ -27,7 +27,7 @@ export interface PutReplicationConfigurationCommandOutput * replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the * PutReplicationConfiguration API is called, a service-linked IAM role is created in * your account for the replication process. For more information, see Using - * Service-Linked Roles for Amazon ECR in the + * service-linked roles for Amazon ECR in the * Amazon Elastic Container Registry User Guide.

* *

When configuring cross-account replication, the destination account must grant the diff --git a/clients/client-ecr/commands/SetRepositoryPolicyCommand.ts b/clients/client-ecr/commands/SetRepositoryPolicyCommand.ts index 0a88855b4a1e..fae8395d838d 100644 --- a/clients/client-ecr/commands/SetRepositoryPolicyCommand.ts +++ b/clients/client-ecr/commands/SetRepositoryPolicyCommand.ts @@ -23,7 +23,7 @@ export interface SetRepositoryPolicyCommandOutput extends SetRepositoryPolicyRes /** *

Applies a repository policy to the specified repository to control access permissions. * For more information, see Amazon ECR Repository - * Policies in the Amazon Elastic Container Registry User Guide.

+ * policies in the Amazon Elastic Container Registry User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ecr/commands/StartImageScanCommand.ts b/clients/client-ecr/commands/StartImageScanCommand.ts index a75c74aaec0b..89c00b743493 100644 --- a/clients/client-ecr/commands/StartImageScanCommand.ts +++ b/clients/client-ecr/commands/StartImageScanCommand.ts @@ -21,9 +21,9 @@ export interface StartImageScanCommandInput extends StartImageScanRequest {} export interface StartImageScanCommandOutput extends StartImageScanResponse, __MetadataBearer {} /** - *

Starts an image vulnerability scan. An image scan can only be started once per day on - * an individual image. This limit includes if an image was scanned on initial push. For - * more information, see Image Scanning in the + *

Starts an image vulnerability scan. An image scan can only be started once per 24 + * hours on an individual image. This limit includes if an image was scanned on initial + * push. For more information, see Image scanning in the * Amazon Elastic Container Registry User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ecr/models/models_0.ts b/clients/client-ecr/models/models_0.ts index 18f1db6ee003..df20257c276f 100644 --- a/clients/client-ecr/models/models_0.ts +++ b/clients/client-ecr/models/models_0.ts @@ -2,7 +2,7 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException export interface BatchCheckLayerAvailabilityRequest { /** - *

The AWS account ID associated with the registry that contains the image layers to + *

The Amazon Web Services account ID associated with the registry that contains the image layers to * check. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -219,7 +219,7 @@ export namespace ImageIdentifier { */ export interface BatchDeleteImageRequest { /** - *

The AWS account ID associated with the registry that contains the image to delete. + *

The Amazon Web Services account ID associated with the registry that contains the image to delete. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -308,8 +308,8 @@ export namespace BatchDeleteImageResponse { export interface BatchGetImageRequest { /** - *

The AWS account ID associated with the registry that contains the images to describe. - * If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the images to + * describe. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -349,7 +349,7 @@ export namespace BatchGetImageRequest { */ export interface Image { /** - *

The AWS account ID associated with the registry containing the image.

+ *

The Amazon Web Services account ID associated with the registry containing the image.

*/ registryId?: string; @@ -406,7 +406,7 @@ export namespace BatchGetImageResponse { export interface CompleteLayerUploadRequest { /** - *

The AWS account ID associated with the registry to which to upload layers. + *

The Amazon Web Services account ID associated with the registry to which to upload layers. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -519,7 +519,7 @@ export interface KmsException extends __SmithyException, $MetadataBearer { $fault: "client"; message?: string; /** - *

The error code returned by AWS KMS.

+ *

The error code returned by KMS.

*/ kmsError?: string; } @@ -610,33 +610,33 @@ export enum EncryptionType { * keys which encrypts your data at rest using an AES-256 encryption algorithm. This does * not require any action on your part.

*

For more control over the encryption of the contents of your repository, you can use - * server-side encryption with customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS) to - * encrypt your images. For more information, see Amazon ECR encryption at + * server-side encryption with Key Management Service key stored in Key Management Service (KMS) to encrypt your + * images. For more information, see Amazon ECR encryption at * rest in the Amazon Elastic Container Registry User Guide.

*/ export interface EncryptionConfiguration { /** *

The encryption type to use.

*

If you use the KMS encryption type, the contents of the repository will - * be encrypted using server-side encryption with customer master keys (CMKs) stored in - * AWS KMS. When you use AWS KMS to encrypt your data, you can either use the default AWS - * managed CMK for Amazon ECR, or specify your own CMK, which you already created. For more - * information, see Protecting Data Using Server-Side - * Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS) in the + * be encrypted using server-side encryption with Key Management Service key stored in KMS. When you + * use KMS to encrypt your data, you can either use the default Amazon Web Services managed KMS key + * for Amazon ECR, or specify your own KMS key, which you already created. For more + * information, see Protecting data using server-side + * encryption with an KMS key stored in Key Management Service (SSE-KMS) in the * Amazon Simple Storage Service Console Developer Guide..

*

If you use the AES256 encryption type, Amazon ECR uses server-side encryption * with Amazon S3-managed encryption keys which encrypts the images in the repository using an - * AES-256 encryption algorithm. For more information, see Protecting Data Using - * Server-Side Encryption with Amazon S3-Managed Encryption Keys (SSE-S3) in - * the Amazon Simple Storage Service Console Developer Guide..

+ * AES-256 encryption algorithm. For more information, see Protecting data using + * server-side encryption with Amazon S3-managed encryption keys (SSE-S3) in the + * Amazon Simple Storage Service Console Developer Guide..

*/ encryptionType: EncryptionType | string | undefined; /** - *

If you use the KMS encryption type, specify the CMK to use for - * encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must - * exist in the same Region as the repository. If no key is specified, the default AWS - * managed CMK for Amazon ECR will be used.

+ *

If you use the KMS encryption type, specify the KMS key to use for + * encryption. The alias, key ID, or full ARN of the KMS key can be specified. The key + * must exist in the same Region as the repository. If no key is specified, the default + * Amazon Web Services managed KMS key for Amazon ECR will be used.

*/ kmsKey?: string; } @@ -658,7 +658,7 @@ export interface ImageScanningConfiguration { *

The setting that determines whether images are scanned after being pushed to a * repository. If set to true, images will be scanned after being pushed. If * this parameter is not specified, it will default to false and images will - * not be scanned unless a scan is manually started with the StartImageScan API.

+ * not be scanned unless a scan is manually started with the API_StartImageScan API.

*/ scanOnPush?: boolean; } @@ -758,13 +758,13 @@ export namespace CreateRepositoryRequest { export interface Repository { /** *

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the - * repository, AWS account ID of the repository owner, repository namespace, and repository name. + * repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. * For example, arn:aws:ecr:region:012345678910:repository/test.

*/ repositoryArn?: string; /** - *

The AWS account ID associated with the registry that contains the repository.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository.

*/ registryId?: string; @@ -847,7 +847,7 @@ export namespace InvalidTagParameterException { /** *

The operation did not succeed because it would have exceeded a service limit for your - * account. For more information, see Amazon ECR Service Quotas in + * account. For more information, see Amazon ECR service quotas in * the Amazon Elastic Container Registry User Guide.

*/ export interface LimitExceededException extends __SmithyException, $MetadataBearer { @@ -910,7 +910,7 @@ export namespace TooManyTagsException { export interface DeleteLifecyclePolicyRequest { /** - *

The AWS account ID associated with the registry that contains the repository. + *

The Amazon Web Services account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -1032,7 +1032,7 @@ export namespace RegistryPolicyNotFoundException { export interface DeleteRepositoryRequest { /** - *

The AWS account ID associated with the registry that contains the repository to + *

The Amazon Web Services account ID associated with the registry that contains the repository to * delete. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -1097,8 +1097,8 @@ export namespace RepositoryNotEmptyException { export interface DeleteRepositoryPolicyRequest { /** - *

The AWS account ID associated with the registry that contains the repository policy to - * delete. If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository policy + * to delete. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -1196,8 +1196,8 @@ export namespace DescribeImagesFilter { export interface DescribeImagesRequest { /** - *

The AWS account ID associated with the registry that contains the repository in which - * to describe images. If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository in + * which to describe images. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -1324,7 +1324,7 @@ export namespace ImageScanStatus { */ export interface ImageDetail { /** - *

The AWS account ID associated with the registry to which this image belongs.

+ *

The Amazon Web Services account ID associated with the registry to which this image belongs.

*/ registryId?: string; @@ -1438,9 +1438,8 @@ export namespace ImageNotFoundException { export interface DescribeImageScanFindingsRequest { /** - *

The AWS account ID associated with the registry that contains the repository in - * which to describe the image scan findings for. If you do not specify a registry, the - * default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository in + * which to describe the image scan findings for. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -1765,7 +1764,7 @@ export namespace ValidationException { export interface DescribeRepositoriesRequest { /** - *

The AWS account ID associated with the registry that contains the repositories to be + *

The Amazon Web Services account ID associated with the registry that contains the repositories to be * described. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -1843,7 +1842,7 @@ export interface GetAuthorizationTokenRequest { /** * @deprecated * - *

A list of AWS account IDs that are associated with the registries for which to get + *

A list of Amazon Web Services account IDs that are associated with the registries for which to get * AuthorizationData objects. If you do not specify a registry, the default registry is assumed.

*/ registryIds?: string[]; @@ -1913,7 +1912,7 @@ export namespace GetAuthorizationTokenResponse { export interface GetDownloadUrlForLayerRequest { /** - *

The AWS account ID associated with the registry that contains the image layer to + *

The Amazon Web Services account ID associated with the registry that contains the image layer to * download. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2005,7 +2004,7 @@ export namespace LayersNotFoundException { export interface GetLifecyclePolicyRequest { /** - *

The AWS account ID associated with the registry that contains the repository. + *

The Amazon Web Services account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2077,7 +2076,7 @@ export namespace LifecyclePolicyPreviewFilter { export interface GetLifecyclePolicyPreviewRequest { /** - *

The AWS account ID associated with the registry that contains the repository. + *

The Amazon Web Services account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2324,7 +2323,7 @@ export namespace GetRegistryPolicyResponse { export interface GetRepositoryPolicyRequest { /** - *

The AWS account ID associated with the registry that contains the repository. + *

The Amazon Web Services account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2372,8 +2371,8 @@ export namespace GetRepositoryPolicyResponse { export interface InitiateLayerUploadRequest { /** - *

The AWS account ID associated with the registry to which you intend to upload layers. - * If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry to which you intend to upload + * layers. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2437,8 +2436,8 @@ export namespace ListImagesFilter { export interface ListImagesRequest { /** - *

The AWS account ID associated with the registry that contains the repository in which - * to list images. If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository in + * which to list images. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2608,8 +2607,8 @@ export namespace ImageTagAlreadyExistsException { export interface PutImageRequest { /** - *

The AWS account ID associated with the registry that contains the repository in which - * to put the image. If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository in + * which to put the image. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2687,7 +2686,7 @@ export namespace ReferencedImagesNotFoundException { export interface PutImageScanningConfigurationRequest { /** - *

The AWS account ID associated with the registry that contains the repository in + *

The Amazon Web Services account ID associated with the registry that contains the repository in * which to update the image scanning configuration setting. * If you do not specify a registry, the default registry is assumed.

*/ @@ -2744,8 +2743,8 @@ export namespace PutImageScanningConfigurationResponse { export interface PutImageTagMutabilityRequest { /** - *

The AWS account ID associated with the registry that contains the repository in which - * to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.

+ *

The Amazon Web Services account ID associated with the registry that contains the repository in + * which to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2801,7 +2800,7 @@ export namespace PutImageTagMutabilityResponse { export interface PutLifecyclePolicyRequest { /** - *

The AWS account ID associated with the registry that contains the repository. If you + *

The Amazon Web Services account ID associated with the registry that contains the repository. If you * do
 not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2925,7 +2924,7 @@ export namespace PutReplicationConfigurationResponse { export interface SetRepositoryPolicyRequest { /** - *

The AWS account ID associated with the registry that contains the repository. + *

The Amazon Web Services account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -2937,8 +2936,8 @@ export interface SetRepositoryPolicyRequest { /** *

The JSON repository policy text to apply to the repository. For more information, see - * Amazon ECR Repository - * Policies in the Amazon Elastic Container Registry User Guide.

+ * Amazon ECR repository + * policies in the Amazon Elastic Container Registry User Guide.

*/ policyText: string | undefined; @@ -2987,7 +2986,7 @@ export namespace SetRepositoryPolicyResponse { export interface StartImageScanRequest { /** - *

The AWS account ID associated with the registry that contains the repository in + *

The Amazon Web Services account ID associated with the registry that contains the repository in * which to start an image scan request. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -3082,7 +3081,7 @@ export namespace LifecyclePolicyPreviewInProgressException { export interface StartLifecyclePolicyPreviewRequest { /** - *

The AWS account ID associated with the registry that contains the repository. + *

The Amazon Web Services account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; @@ -3252,7 +3251,7 @@ export namespace InvalidLayerPartException { export interface UploadLayerPartRequest { /** - *

The AWS account ID associated with the registry to which you are uploading layer + *

The Amazon Web Services account ID associated with the registry to which you are uploading layer * parts. If you do not specify a registry, the default registry is assumed.

*/ registryId?: string; diff --git a/clients/client-eks/EKS.ts b/clients/client-eks/EKS.ts index 82986bee0ded..3017c64165f0 100644 --- a/clients/client-eks/EKS.ts +++ b/clients/client-eks/EKS.ts @@ -41,6 +41,11 @@ import { DeleteNodegroupCommandInput, DeleteNodegroupCommandOutput, } from "./commands/DeleteNodegroupCommand"; +import { + DeregisterClusterCommand, + DeregisterClusterCommandInput, + DeregisterClusterCommandOutput, +} from "./commands/DeregisterClusterCommand"; import { DescribeAddonCommand, DescribeAddonCommandInput, @@ -108,6 +113,11 @@ import { ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; import { ListUpdatesCommand, ListUpdatesCommandInput, ListUpdatesCommandOutput } from "./commands/ListUpdatesCommand"; +import { + RegisterClusterCommand, + RegisterClusterCommandInput, + RegisterClusterCommandOutput, +} from "./commands/RegisterClusterCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommand, @@ -539,6 +549,38 @@ export class EKS extends EKSClient { } } + /** + *

Deregisters a connected cluster to remove it from the Amazon EKS control plane.

+ */ + public deregisterCluster( + args: DeregisterClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deregisterCluster( + args: DeregisterClusterCommandInput, + cb: (err: any, data?: DeregisterClusterCommandOutput) => void + ): void; + public deregisterCluster( + args: DeregisterClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeregisterClusterCommandOutput) => void + ): void; + public deregisterCluster( + args: DeregisterClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeregisterClusterCommandOutput) => void), + cb?: (err: any, data?: DeregisterClusterCommandOutput) => void + ): Promise | void { + const command = new DeregisterClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Describes an Amazon EKS add-on.

*/ @@ -1022,6 +1064,47 @@ export class EKS extends EKSClient { } } + /** + *

Connects a Kubernetes cluster to the Amazon EKS control plane.

+ *

Any Kubernetes cluster can be connected to the Amazon EKS control plane to view current information about the cluster and its nodes. + *

+ *

Cluster connection requires two steps. First, send a + * RegisterClusterRequest + * to add it to the Amazon EKS control plane.

+ *

Second, a Manifest containing the activationID and activationCode must be applied to the Kubernetes cluster through it's native provider to provide visibility.

+ * + *

After the Manifest is updated and applied, then the connected cluster is visible to the Amazon EKS control plane. If the Manifest is not applied within a set amount of time, + * then the connected cluster will no longer be visible and must be deregistered. See DeregisterCluster.

+ */ + public registerCluster( + args: RegisterClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public registerCluster( + args: RegisterClusterCommandInput, + cb: (err: any, data?: RegisterClusterCommandOutput) => void + ): void; + public registerCluster( + args: RegisterClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RegisterClusterCommandOutput) => void + ): void; + public registerCluster( + args: RegisterClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RegisterClusterCommandOutput) => void), + cb?: (err: any, data?: RegisterClusterCommandOutput) => void + ): Promise | void { + const command = new RegisterClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Associates the specified tags to a resource with the specified * resourceArn. If existing tags on a resource are not specified in the diff --git a/clients/client-eks/EKSClient.ts b/clients/client-eks/EKSClient.ts index fd0b3cd534d9..88d2d26a819d 100644 --- a/clients/client-eks/EKSClient.ts +++ b/clients/client-eks/EKSClient.ts @@ -20,6 +20,7 @@ import { DeleteFargateProfileCommandOutput, } from "./commands/DeleteFargateProfileCommand"; import { DeleteNodegroupCommandInput, DeleteNodegroupCommandOutput } from "./commands/DeleteNodegroupCommand"; +import { DeregisterClusterCommandInput, DeregisterClusterCommandOutput } from "./commands/DeregisterClusterCommand"; import { DescribeAddonCommandInput, DescribeAddonCommandOutput } from "./commands/DescribeAddonCommand"; import { DescribeAddonVersionsCommandInput, @@ -56,6 +57,7 @@ import { ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; import { ListUpdatesCommandInput, ListUpdatesCommandOutput } from "./commands/ListUpdatesCommand"; +import { RegisterClusterCommandInput, RegisterClusterCommandOutput } from "./commands/RegisterClusterCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateAddonCommandInput, UpdateAddonCommandOutput } from "./commands/UpdateAddonCommand"; @@ -138,6 +140,7 @@ export type ServiceInputTypes = | DeleteClusterCommandInput | DeleteFargateProfileCommandInput | DeleteNodegroupCommandInput + | DeregisterClusterCommandInput | DescribeAddonCommandInput | DescribeAddonVersionsCommandInput | DescribeClusterCommandInput @@ -153,6 +156,7 @@ export type ServiceInputTypes = | ListNodegroupsCommandInput | ListTagsForResourceCommandInput | ListUpdatesCommandInput + | RegisterClusterCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAddonCommandInput @@ -172,6 +176,7 @@ export type ServiceOutputTypes = | DeleteClusterCommandOutput | DeleteFargateProfileCommandOutput | DeleteNodegroupCommandOutput + | DeregisterClusterCommandOutput | DescribeAddonCommandOutput | DescribeAddonVersionsCommandOutput | DescribeClusterCommandOutput @@ -187,6 +192,7 @@ export type ServiceOutputTypes = | ListNodegroupsCommandOutput | ListTagsForResourceCommandOutput | ListUpdatesCommandOutput + | RegisterClusterCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAddonCommandOutput diff --git a/clients/client-eks/commands/DeregisterClusterCommand.ts b/clients/client-eks/commands/DeregisterClusterCommand.ts new file mode 100644 index 000000000000..8b2c9ad2bfd2 --- /dev/null +++ b/clients/client-eks/commands/DeregisterClusterCommand.ts @@ -0,0 +1,94 @@ +import { EKSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EKSClient"; +import { DeregisterClusterRequest, DeregisterClusterResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeregisterClusterCommand, + serializeAws_restJson1DeregisterClusterCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeregisterClusterCommandInput extends DeregisterClusterRequest {} +export interface DeregisterClusterCommandOutput extends DeregisterClusterResponse, __MetadataBearer {} + +/** + *

Deregisters a connected cluster to remove it from the Amazon EKS control plane.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EKSClient, DeregisterClusterCommand } from "@aws-sdk/client-eks"; // ES Modules import + * // const { EKSClient, DeregisterClusterCommand } = require("@aws-sdk/client-eks"); // CommonJS import + * const client = new EKSClient(config); + * const command = new DeregisterClusterCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeregisterClusterCommandInput} for command's `input` shape. + * @see {@link DeregisterClusterCommandOutput} for command's `response` shape. + * @see {@link EKSClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeregisterClusterCommand extends $Command< + DeregisterClusterCommandInput, + DeregisterClusterCommandOutput, + EKSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeregisterClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EKSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EKSClient"; + const commandName = "DeregisterClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeregisterClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeregisterClusterResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeregisterClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeregisterClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeregisterClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-eks/commands/RegisterClusterCommand.ts b/clients/client-eks/commands/RegisterClusterCommand.ts new file mode 100644 index 000000000000..cc997e32ba00 --- /dev/null +++ b/clients/client-eks/commands/RegisterClusterCommand.ts @@ -0,0 +1,103 @@ +import { EKSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EKSClient"; +import { RegisterClusterRequest, RegisterClusterResponse } from "../models/models_0"; +import { + deserializeAws_restJson1RegisterClusterCommand, + serializeAws_restJson1RegisterClusterCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface RegisterClusterCommandInput extends RegisterClusterRequest {} +export interface RegisterClusterCommandOutput extends RegisterClusterResponse, __MetadataBearer {} + +/** + *

Connects a Kubernetes cluster to the Amazon EKS control plane.

+ *

Any Kubernetes cluster can be connected to the Amazon EKS control plane to view current information about the cluster and its nodes. + *

+ *

Cluster connection requires two steps. First, send a + * RegisterClusterRequest + * to add it to the Amazon EKS control plane.

+ *

Second, a Manifest containing the activationID and activationCode must be applied to the Kubernetes cluster through it's native provider to provide visibility.

+ * + *

After the Manifest is updated and applied, then the connected cluster is visible to the Amazon EKS control plane. If the Manifest is not applied within a set amount of time, + * then the connected cluster will no longer be visible and must be deregistered. See DeregisterCluster.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EKSClient, RegisterClusterCommand } from "@aws-sdk/client-eks"; // ES Modules import + * // const { EKSClient, RegisterClusterCommand } = require("@aws-sdk/client-eks"); // CommonJS import + * const client = new EKSClient(config); + * const command = new RegisterClusterCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link RegisterClusterCommandInput} for command's `input` shape. + * @see {@link RegisterClusterCommandOutput} for command's `response` shape. + * @see {@link EKSClientResolvedConfig | config} for command's `input` shape. + * + */ +export class RegisterClusterCommand extends $Command< + RegisterClusterCommandInput, + RegisterClusterCommandOutput, + EKSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RegisterClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EKSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EKSClient"; + const commandName = "RegisterClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RegisterClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: RegisterClusterResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RegisterClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RegisterClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RegisterClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-eks/index.ts b/clients/client-eks/index.ts index 5d9b43fb0f99..7cbb22f6180c 100644 --- a/clients/client-eks/index.ts +++ b/clients/client-eks/index.ts @@ -10,6 +10,7 @@ export * from "./commands/DeleteAddonCommand"; export * from "./commands/DeleteClusterCommand"; export * from "./commands/DeleteFargateProfileCommand"; export * from "./commands/DeleteNodegroupCommand"; +export * from "./commands/DeregisterClusterCommand"; export * from "./commands/DescribeAddonCommand"; export * from "./waiters/waitForAddonActive"; export * from "./waiters/waitForAddonDeleted"; @@ -40,6 +41,7 @@ export * from "./pagination/ListNodegroupsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/ListUpdatesCommand"; export * from "./pagination/ListUpdatesPaginator"; +export * from "./commands/RegisterClusterCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateAddonCommand"; diff --git a/clients/client-eks/models/models_0.ts b/clients/client-eks/models/models_0.ts index 415ea724a9ea..f4fb6688c2ea 100644 --- a/clients/client-eks/models/models_0.ts +++ b/clients/client-eks/models/models_0.ts @@ -1209,6 +1209,46 @@ export namespace Certificate { }); } +/** + *

The full description of your connected cluster.

+ */ +export interface ConnectorConfigResponse { + /** + *

A unique ID associated with the cluster for registration purposes.

+ */ + activationId?: string; + + /** + *

A unique code associated with the cluster for registration purposes.

+ */ + activationCode?: string; + + /** + *

The expiration time of the connected cluster. The cluster's YAML file must be applied through the native + * provider.

+ */ + activationExpiry?: Date; + + /** + *

The cluster's cloud service provider.

+ */ + provider?: string; + + /** + *

The Amazon Resource Name (ARN) of the role that is used by the EKS connector to communicate with AWS services from the connected Kubernetes cluster.

+ */ + roleArn?: string; +} + +export namespace ConnectorConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConnectorConfigResponse): any => ({ + ...obj, + }); +} + /** *

An object representing the OpenID * Connect (OIDC) identity provider information for the cluster.

@@ -1340,7 +1380,7 @@ export namespace VpcConfigResponse { }); } -export type ClusterStatus = "ACTIVE" | "CREATING" | "DELETING" | "FAILED" | "UPDATING"; +export type ClusterStatus = "ACTIVE" | "CREATING" | "DELETING" | "FAILED" | "PENDING" | "UPDATING"; /** *

An object representing an Amazon EKS cluster.

@@ -1428,7 +1468,7 @@ export interface Cluster { *

The metadata that you apply to the cluster to assist with categorization and * organization. Each tag consists of a key and an optional value, both of which you * define. Cluster tags do not propagate to any other resources associated with the - * cluster.

+ * cluster.

*/ tags?: { [key: string]: string }; @@ -1436,6 +1476,11 @@ export interface Cluster { *

The encryption configuration for the cluster.

*/ encryptionConfig?: EncryptionConfig[]; + + /** + *

The configuration used to connect to a cluster for registration.

+ */ + connectorConfig?: ConnectorConfigResponse; } export namespace Cluster { @@ -2562,6 +2607,38 @@ export namespace DeleteNodegroupResponse { }); } +export interface DeregisterClusterRequest { + /** + *

The name of the connected cluster to deregister.

+ */ + name: string | undefined; +} + +export namespace DeregisterClusterRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeregisterClusterRequest): any => ({ + ...obj, + }); +} + +export interface DeregisterClusterResponse { + /** + *

An object representing an Amazon EKS cluster.

+ */ + cluster?: Cluster; +} + +export namespace DeregisterClusterResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeregisterClusterResponse): any => ({ + ...obj, + }); +} + export interface DescribeAddonRequest { /** *

The name of the cluster.

@@ -2876,7 +2953,7 @@ export namespace OidcIdentityProviderConfig { } /** - *

An object that represents an identity configuration.

+ *

The full description of your identity configuration.

*/ export interface IdentityProviderConfigResponse { /** @@ -3134,6 +3211,11 @@ export interface ListClustersRequest { *
*/ nextToken?: string; + + /** + *

Indicates whether connected clusters are included in the returned list. Default value is 'ALL'.

+ */ + include?: string[]; } export namespace ListClustersRequest { @@ -3497,6 +3579,84 @@ export namespace ListUpdatesResponse { }); } +export enum ConnectorConfigProvider { + AKS = "AKS", + ANTHOS = "ANTHOS", + EC2 = "EC2", + EKS_ANYWHERE = "EKS_ANYWHERE", + GKE = "GKE", + OPENSHIFT = "OPENSHIFT", + OTHER = "OTHER", + RANCHER = "RANCHER", + TANZU = "TANZU", +} + +/** + *

The configuration sent to a cluster for configuration.

+ */ +export interface ConnectorConfigRequest { + /** + *

The Amazon Resource Name (ARN) of the role that is authorized to request the connector configuration.

+ */ + roleArn: string | undefined; + + /** + *

The cloud provider for the target cluster to connect.

+ */ + provider: ConnectorConfigProvider | string | undefined; +} + +export namespace ConnectorConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConnectorConfigRequest): any => ({ + ...obj, + }); +} + +export interface RegisterClusterRequest { + /** + *

Define a unique name for this cluster within your AWS account.

+ */ + name: string | undefined; + + /** + *

The configuration settings required to connect the Kubernetes cluster to the Amazon EKS control plane.

+ */ + connectorConfig: ConnectorConfigRequest | undefined; + + /** + *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

+ */ + clientRequestToken?: string; +} + +export namespace RegisterClusterRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RegisterClusterRequest): any => ({ + ...obj, + }); +} + +export interface RegisterClusterResponse { + /** + *

An object representing an Amazon EKS cluster.

+ */ + cluster?: Cluster; +} + +export namespace RegisterClusterResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RegisterClusterResponse): any => ({ + ...obj, + }); +} + export interface TagResourceRequest { /** *

The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources diff --git a/clients/client-eks/protocols/Aws_restJson1.ts b/clients/client-eks/protocols/Aws_restJson1.ts index 20e613613957..56ee2e3e104b 100644 --- a/clients/client-eks/protocols/Aws_restJson1.ts +++ b/clients/client-eks/protocols/Aws_restJson1.ts @@ -20,6 +20,7 @@ import { DeleteFargateProfileCommandOutput, } from "../commands/DeleteFargateProfileCommand"; import { DeleteNodegroupCommandInput, DeleteNodegroupCommandOutput } from "../commands/DeleteNodegroupCommand"; +import { DeregisterClusterCommandInput, DeregisterClusterCommandOutput } from "../commands/DeregisterClusterCommand"; import { DescribeAddonCommandInput, DescribeAddonCommandOutput } from "../commands/DescribeAddonCommand"; import { DescribeAddonVersionsCommandInput, @@ -56,6 +57,7 @@ import { ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; import { ListUpdatesCommandInput, ListUpdatesCommandOutput } from "../commands/ListUpdatesCommand"; +import { RegisterClusterCommandInput, RegisterClusterCommandOutput } from "../commands/RegisterClusterCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateAddonCommandInput, UpdateAddonCommandOutput } from "../commands/UpdateAddonCommand"; @@ -87,6 +89,8 @@ import { ClientException, Cluster, Compatibility, + ConnectorConfigRequest, + ConnectorConfigResponse, EncryptionConfig, ErrorDetail, FargateProfile, @@ -574,6 +578,35 @@ export const serializeAws_restJson1DeleteNodegroupCommand = async ( }); }; +export const serializeAws_restJson1DeregisterClusterCommand = async ( + input: DeregisterClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/cluster-registrations/{name}"; + if (input.name !== undefined) { + const labelValue: string = input.name; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: name."); + } + resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: name."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeAddonCommand = async ( input: DescribeAddonCommandInput, context: __SerdeContext @@ -910,6 +943,7 @@ export const serializeAws_restJson1ListClustersCommand = async ( const query: any = { ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.include !== undefined && { include: (input.include || []).map((_entry) => _entry as any) }), }; let body: any; return new __HttpRequest({ @@ -1090,6 +1124,35 @@ export const serializeAws_restJson1ListUpdatesCommand = async ( }); }; +export const serializeAws_restJson1RegisterClusterCommand = async ( + input: RegisterClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/cluster-registrations"; + let body: any; + body = JSON.stringify({ + clientRequestToken: input.clientRequestToken ?? generateIdempotencyToken(), + ...(input.connectorConfig !== undefined && + input.connectorConfig !== null && { + connectorConfig: serializeAws_restJson1ConnectorConfigRequest(input.connectorConfig, context), + }), + ...(input.name !== undefined && input.name !== null && { name: input.name }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1TagResourceCommand = async ( input: TagResourceCommandInput, context: __SerdeContext @@ -2324,6 +2387,93 @@ const deserializeAws_restJson1DeleteNodegroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeregisterClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeregisterClusterCommandError(output, context); + } + const contents: DeregisterClusterCommandOutput = { + $metadata: deserializeMetadata(output), + cluster: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.cluster !== undefined && data.cluster !== null) { + contents.cluster = deserializeAws_restJson1Cluster(data.cluster, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeregisterClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ClientException": + case "com.amazonaws.eks#ClientException": + response = { + ...(await deserializeAws_restJson1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.eks#ResourceInUseException": + response = { + ...(await deserializeAws_restJson1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.eks#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerException": + case "com.amazonaws.eks#ServerException": + response = { + ...(await deserializeAws_restJson1ServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.eks#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DescribeAddonCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3583,6 +3733,93 @@ const deserializeAws_restJson1ListUpdatesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1RegisterClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1RegisterClusterCommandError(output, context); + } + const contents: RegisterClusterCommandOutput = { + $metadata: deserializeMetadata(output), + cluster: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.cluster !== undefined && data.cluster !== null) { + contents.cluster = deserializeAws_restJson1Cluster(data.cluster, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1RegisterClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ClientException": + case "com.amazonaws.eks#ClientException": + response = { + ...(await deserializeAws_restJson1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.eks#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.eks#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerException": + case "com.amazonaws.eks#ServerException": + response = { + ...(await deserializeAws_restJson1ServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.eks#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1TagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4463,6 +4700,13 @@ const deserializeAws_restJson1UnsupportedAvailabilityZoneExceptionResponse = asy return contents; }; +const serializeAws_restJson1ConnectorConfigRequest = (input: ConnectorConfigRequest, context: __SerdeContext): any => { + return { + ...(input.provider !== undefined && input.provider !== null && { provider: input.provider }), + ...(input.roleArn !== undefined && input.roleArn !== null && { roleArn: input.roleArn }), + }; +}; + const serializeAws_restJson1EncryptionConfig = (input: EncryptionConfig, context: __SerdeContext): any => { return { ...(input.provider !== undefined && @@ -4894,6 +5138,10 @@ const deserializeAws_restJson1Cluster = (output: any, context: __SerdeContext): ? deserializeAws_restJson1Certificate(output.certificateAuthority, context) : undefined, clientRequestToken: __expectString(output.clientRequestToken), + connectorConfig: + output.connectorConfig !== undefined && output.connectorConfig !== null + ? deserializeAws_restJson1ConnectorConfigResponse(output.connectorConfig, context) + : undefined, createdAt: output.createdAt !== undefined && output.createdAt !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.createdAt))) @@ -4953,6 +5201,22 @@ const deserializeAws_restJson1Compatibility = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1ConnectorConfigResponse = ( + output: any, + context: __SerdeContext +): ConnectorConfigResponse => { + return { + activationCode: __expectString(output.activationCode), + activationExpiry: + output.activationExpiry !== undefined && output.activationExpiry !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.activationExpiry))) + : undefined, + activationId: __expectString(output.activationId), + provider: __expectString(output.provider), + roleArn: __expectString(output.roleArn), + } as any; +}; + const deserializeAws_restJson1EncryptionConfig = (output: any, context: __SerdeContext): EncryptionConfig => { return { provider: diff --git a/clients/client-eks/waiters/waitForClusterDeleted.ts b/clients/client-eks/waiters/waitForClusterDeleted.ts index bbb641afcb5d..0db371e40283 100644 --- a/clients/client-eks/waiters/waitForClusterDeleted.ts +++ b/clients/client-eks/waiters/waitForClusterDeleted.ts @@ -23,6 +23,14 @@ const checkState = async (client: EKSClient, input: DescribeClusterCommandInput) return { state: WaiterState.FAILURE, reason }; } } catch (e) {} + try { + let returnComparator = () => { + return result.cluster.status; + }; + if (returnComparator() === "PENDING") { + return { state: WaiterState.FAILURE, reason }; + } + } catch (e) {} } catch (exception) { reason = exception; if (exception.name && exception.name == "ResourceNotFoundException") { diff --git a/clients/client-elasticache/models/models_0.ts b/clients/client-elasticache/models/models_0.ts index 4860e43dd5c9..6182e50b8d81 100644 --- a/clients/client-elasticache/models/models_0.ts +++ b/clients/client-elasticache/models/models_0.ts @@ -1113,12 +1113,12 @@ export namespace ReshardingStatus { */ export interface UserGroupsUpdateStatus { /** - *

The list of user group IDs to add.

+ *

The ID of the user group to add.

*/ UserGroupIdsToAdd?: string[]; /** - *

The list of user group IDs to remove.

+ *

The ID of the user group to remove.

*/ UserGroupIdsToRemove?: string[]; } @@ -1159,7 +1159,7 @@ export interface ReplicationGroupPendingModifiedValues { AuthTokenStatus?: AuthTokenUpdateStatus | string; /** - *

The user groups being modified.

+ *

The user group being modified.

*/ UserGroups?: UserGroupsUpdateStatus; @@ -1341,7 +1341,7 @@ export interface ReplicationGroup { ARN?: string; /** - *

The list of user group IDs that have access to the replication group.

+ *

The ID of the user group associated to the replication group.

*/ UserGroupIds?: string[]; @@ -5443,7 +5443,7 @@ export interface UserGroup { UserIds?: string[]; /** - *

A list of updates being applied to the user groups.

+ *

A list of updates being applied to the user group.

*/ PendingChanges?: UserGroupPendingChanges; @@ -5977,7 +5977,7 @@ export namespace DeleteSnapshotResult { } /** - *

+ *

The default user assigned to the user group.

*/ export interface DefaultUserAssociatedToUserGroupFault extends __SmithyException, $MetadataBearer { name: "DefaultUserAssociatedToUserGroupFault"; @@ -10167,17 +10167,17 @@ export interface ModifyReplicationGroupMessage { AuthTokenUpdateStrategy?: AuthTokenUpdateStrategyType | string; /** - *

The user group you are associating with the replication group.

+ *

The ID of the user group you are associating with the replication group.

*/ UserGroupIdsToAdd?: string[]; /** - *

The user group to remove, meaning the users in the group no longer can access the replication group.

+ *

The ID of the user group to disassociate from the replication group, meaning the users in the group no longer can access the replication group.

*/ UserGroupIdsToRemove?: string[]; /** - *

Removes the user groups that can access this replication group.

+ *

Removes the user group associated with this replication group.

*/ RemoveUserGroups?: boolean; diff --git a/clients/client-emr/EMR.ts b/clients/client-emr/EMR.ts index ebbea2d82874..710e48bcf1cb 100644 --- a/clients/client-emr/EMR.ts +++ b/clients/client-emr/EMR.ts @@ -361,7 +361,7 @@ export class EMR extends EMRClient { } /** - *

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in + *

Adds tags to an Amazon EMR resource, such as a cluster or an Amazon EMR Studio. Tags make it easier to associate resources in * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. * For more information, see Tag Clusters.

*/ @@ -481,7 +481,7 @@ export class EMR extends EMRClient { /** *

Maps a user or group to the Amazon EMR Studio specified by StudioId, and - * applies a session policy to refine Studio permissions for that user or group.

+ * applies a session policy to refine Studio permissions for that user or group. Use CreateStudioSessionMapping to assign users to a Studio when you use Amazon Web Services SSO authentication. For instructions on how to assign users to a Studio when you use IAM authentication, see Assign a user or group to your EMR Studio.

*/ public createStudioSessionMapping( args: CreateStudioSessionMappingCommandInput, @@ -1680,7 +1680,7 @@ export class EMR extends EMRClient { } /** - *

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in + *

Removes tags from an Amazon EMR resource, such as a cluster or Amazon EMR Studio. Tags make it easier to associate resources in * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. * For more information, see Tag Clusters.

*

The following example removes the stack tag with value Prod from a cluster:

diff --git a/clients/client-emr/commands/AddTagsCommand.ts b/clients/client-emr/commands/AddTagsCommand.ts index 3db6e05ce8e0..f6a319d9e042 100644 --- a/clients/client-emr/commands/AddTagsCommand.ts +++ b/clients/client-emr/commands/AddTagsCommand.ts @@ -18,7 +18,7 @@ export interface AddTagsCommandInput extends AddTagsInput {} export interface AddTagsCommandOutput extends AddTagsOutput, __MetadataBearer {} /** - *

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in + *

Adds tags to an Amazon EMR resource, such as a cluster or an Amazon EMR Studio. Tags make it easier to associate resources in * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. * For more information, see Tag Clusters.

* @example diff --git a/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts b/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts index 561fbfd26183..7df83a84809f 100644 --- a/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts +++ b/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts @@ -22,7 +22,7 @@ export interface CreateStudioSessionMappingCommandOutput extends __MetadataBeare /** *

Maps a user or group to the Amazon EMR Studio specified by StudioId, and - * applies a session policy to refine Studio permissions for that user or group.

+ * applies a session policy to refine Studio permissions for that user or group. Use CreateStudioSessionMapping to assign users to a Studio when you use Amazon Web Services SSO authentication. For instructions on how to assign users to a Studio when you use IAM authentication, see Assign a user or group to your EMR Studio.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-emr/commands/RemoveTagsCommand.ts b/clients/client-emr/commands/RemoveTagsCommand.ts index cd6c3171da09..938c32433773 100644 --- a/clients/client-emr/commands/RemoveTagsCommand.ts +++ b/clients/client-emr/commands/RemoveTagsCommand.ts @@ -21,7 +21,7 @@ export interface RemoveTagsCommandInput extends RemoveTagsInput {} export interface RemoveTagsCommandOutput extends RemoveTagsOutput, __MetadataBearer {} /** - *

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in + *

Removes tags from an Amazon EMR resource, such as a cluster or Amazon EMR Studio. Tags make it easier to associate resources in * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. * For more information, see Tag Clusters.

*

The following example removes the stack tag with value Prod from a cluster:

diff --git a/clients/client-emr/models/models_0.ts b/clients/client-emr/models/models_0.ts index f75e15e1ca6f..644479666111 100644 --- a/clients/client-emr/models/models_0.ts +++ b/clients/client-emr/models/models_0.ts @@ -935,17 +935,17 @@ export namespace Tag { } /** - *

This input identifies a cluster and a list of tags to attach.

+ *

This input identifies an Amazon EMR resource and a list of tags to attach.

*/ export interface AddTagsInput { /** - *

The Amazon EMR resource identifier to which tags will be added. This value must be a - * cluster identifier.

+ *

The Amazon EMR resource identifier to which tags will be added. For example, a + * cluster identifier or an Amazon EMR Studio ID.

*/ ResourceId: string | undefined; /** - *

A list of tags to associate with a cluster and propagate to EC2 instances. Tags are + *

A list of tags to associate with a resource. Tags are * user-defined key-value pairs that consist of a required key string with a maximum of 128 * characters, and an optional value string with a maximum of 256 characters.

*/ @@ -1839,8 +1839,7 @@ export interface CreateStudioInput { Description?: string; /** - *

Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM. - * Amazon EMR Studio currently only supports SSO authentication.

+ *

Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO.

*/ AuthMode: AuthMode | string | undefined; @@ -1858,17 +1857,17 @@ export interface CreateStudioInput { SubnetIds: string[] | undefined; /** - *

The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a + *

The IAM role that the Amazon EMR Studio assumes. The service role provides a * way for Amazon EMR Studio to interoperate with other Amazon Web Services services.

*/ ServiceRole: string | undefined; /** - *

The IAM user role that will be assumed by users and groups logged in to an Amazon EMR Studio. The - * permissions attached to this IAM role can be scoped down for each user or group using + *

The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a UserRole when you use Amazon Web Services SSO authentication. The + * permissions attached to the UserRole can be scoped down for each user or group using * session policies.

*/ - UserRole: string | undefined; + UserRole?: string; /** *

The ID of the Amazon EMR Studio Workspace security group. The Workspace security group @@ -1889,6 +1888,16 @@ export interface CreateStudioInput { */ DefaultS3Location: string | undefined; + /** + *

The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.

+ */ + IdpAuthUrl?: string; + + /** + *

The name that your identity provider (IdP) uses for its RelayState parameter. For example, RelayState or TargetSource. Specify this value when you use IAM authentication and want to let federated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP.

+ */ + IdpRelayStateParameterName?: string; + /** *

A list of tags to associate with the Amazon EMR Studio. Tags are user-defined key-value pairs that * consist of a required key string with a maximum of 128 characters, and an optional value @@ -3230,8 +3239,7 @@ export interface Studio { Description?: string; /** - *

Specifies whether the Amazon EMR Studio authenticates users using single sign-on (SSO) or - * IAM.

+ *

Specifies whether the Amazon EMR Studio authenticates users using IAM or Amazon Web Services SSO.

*/ AuthMode?: AuthMode | string; @@ -3251,7 +3259,7 @@ export interface Studio { ServiceRole?: string; /** - *

The name of the IAM role assumed by users logged in to the Amazon EMR Studio.

+ *

The name of the IAM role assumed by users logged in to the Amazon EMR Studio. A Studio only requires a UserRole when you use IAM authentication.

*/ UserRole?: string; @@ -3285,6 +3293,16 @@ export interface Studio { */ DefaultS3Location?: string; + /** + *

Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL.

+ */ + IdpAuthUrl?: string; + + /** + *

The name of your identity provider's RelayState parameter.

+ */ + IdpRelayStateParameterName?: string; + /** *

A list of tags associated with the Amazon EMR Studio.

*/ @@ -4760,6 +4778,11 @@ export interface StudioSummary { */ Url?: string; + /** + *

Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO.

+ */ + AuthMode?: AuthMode | string; + /** *

The time when the Amazon EMR Studio was created.

*/ @@ -5210,17 +5233,17 @@ export namespace RemoveManagedScalingPolicyOutput { } /** - *

This input identifies a cluster and a list of tags to remove.

+ *

This input identifies an Amazon EMR resource and a list of tags to remove.

*/ export interface RemoveTagsInput { /** - *

The Amazon EMR resource identifier from which tags will be removed. This value must be a - * cluster identifier.

+ *

The Amazon EMR resource identifier from which tags will be removed. For example, a + * cluster identifier or an Amazon EMR Studio ID.

*/ ResourceId: string | undefined; /** - *

A list of tag keys to remove from a resource.

+ *

A list of tag keys to remove from the resource.

*/ TagKeys: string[] | undefined; } @@ -5235,7 +5258,7 @@ export namespace RemoveTagsInput { } /** - *

This output indicates the result of removing tags from a resource.

+ *

This output indicates the result of removing tags from the resource.

*/ export interface RemoveTagsOutput {} @@ -5732,7 +5755,7 @@ export interface Cluster { Tags?: Tag[]; /** - *

The IAM role that will be assumed by the Amazon EMR service to access Amazon Web Services resources on + *

The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on * your behalf.

*/ ServiceRole?: string; @@ -6873,7 +6896,7 @@ export interface RunJobFlowInput { JobFlowRole?: string; /** - *

The IAM role that will be assumed by the Amazon EMR service to access Amazon Web Services resources on + *

The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on * your behalf.

*/ ServiceRole?: string; diff --git a/clients/client-emr/protocols/Aws_json1_1.ts b/clients/client-emr/protocols/Aws_json1_1.ts index b624e4c7b17e..d7b9c77ca737 100644 --- a/clients/client-emr/protocols/Aws_json1_1.ts +++ b/clients/client-emr/protocols/Aws_json1_1.ts @@ -4299,6 +4299,9 @@ const serializeAws_json1_1CreateStudioInput = (input: CreateStudioInput, context ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), ...(input.EngineSecurityGroupId !== undefined && input.EngineSecurityGroupId !== null && { EngineSecurityGroupId: input.EngineSecurityGroupId }), + ...(input.IdpAuthUrl !== undefined && input.IdpAuthUrl !== null && { IdpAuthUrl: input.IdpAuthUrl }), + ...(input.IdpRelayStateParameterName !== undefined && + input.IdpRelayStateParameterName !== null && { IdpRelayStateParameterName: input.IdpRelayStateParameterName }), ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), ...(input.ServiceRole !== undefined && input.ServiceRole !== null && { ServiceRole: input.ServiceRole }), ...(input.SubnetIds !== undefined && @@ -7598,6 +7601,8 @@ const deserializeAws_json1_1Studio = (output: any, context: __SerdeContext): Stu DefaultS3Location: __expectString(output.DefaultS3Location), Description: __expectString(output.Description), EngineSecurityGroupId: __expectString(output.EngineSecurityGroupId), + IdpAuthUrl: __expectString(output.IdpAuthUrl), + IdpRelayStateParameterName: __expectString(output.IdpRelayStateParameterName), Name: __expectString(output.Name), ServiceRole: __expectString(output.ServiceRole), StudioArn: __expectString(output.StudioArn), @@ -7619,6 +7624,7 @@ const deserializeAws_json1_1Studio = (output: any, context: __SerdeContext): Stu const deserializeAws_json1_1StudioSummary = (output: any, context: __SerdeContext): StudioSummary => { return { + AuthMode: __expectString(output.AuthMode), CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) diff --git a/clients/client-forecast/Forecast.ts b/clients/client-forecast/Forecast.ts index fb0b544a24ae..0b978ff066cf 100644 --- a/clients/client-forecast/Forecast.ts +++ b/clients/client-forecast/Forecast.ts @@ -1300,21 +1300,19 @@ export class Forecast extends ForecastClient { * to decide whether to use the predictor to generate a forecast. For more information, see * Predictor * Metrics.

- *

This operation generates metrics for each backtest window that was evaluated. The number of backtest windows - * (NumberOfBacktestWindows) is specified using the - * EvaluationParameters object, which is optionally - * included in the CreatePredictor request. If - * NumberOfBacktestWindows isn't specified, the number defaults to one.

- *

The parameters of the filling method determine which items contribute to - * the metrics. If you want all items to contribute, specify zero. - * If you want only those items that have complete data in the range being evaluated to - * contribute, specify nan. - * For more information, see FeaturizationMethod.

+ *

This operation generates metrics for each backtest window that was evaluated. The number + * of backtest windows (NumberOfBacktestWindows) is specified using the EvaluationParameters object, which is optionally included in the + * CreatePredictor request. If NumberOfBacktestWindows isn't + * specified, the number defaults to one.

+ *

The parameters of the filling method determine which items contribute to the + * metrics. If you want all items to contribute, specify zero. If you want only + * those items that have complete data in the range being evaluated to contribute, specify + * nan. For more information, see FeaturizationMethod.

* * *

Before you can get accuracy metrics, the Status of the predictor must be - * ACTIVE, signifying that training has completed. - * To get the status, use the DescribePredictor operation.

+ * ACTIVE, signifying that training has completed. To get the status, use the + * DescribePredictor operation.

*
*/ public getAccuracyMetrics( diff --git a/clients/client-forecast/commands/GetAccuracyMetricsCommand.ts b/clients/client-forecast/commands/GetAccuracyMetricsCommand.ts index 8a180999c6c4..76d35c252f0e 100644 --- a/clients/client-forecast/commands/GetAccuracyMetricsCommand.ts +++ b/clients/client-forecast/commands/GetAccuracyMetricsCommand.ts @@ -25,21 +25,19 @@ export interface GetAccuracyMetricsCommandOutput extends GetAccuracyMetricsRespo * to decide whether to use the predictor to generate a forecast. For more information, see * Predictor * Metrics.

- *

This operation generates metrics for each backtest window that was evaluated. The number of backtest windows - * (NumberOfBacktestWindows) is specified using the - * EvaluationParameters object, which is optionally - * included in the CreatePredictor request. If - * NumberOfBacktestWindows isn't specified, the number defaults to one.

- *

The parameters of the filling method determine which items contribute to - * the metrics. If you want all items to contribute, specify zero. - * If you want only those items that have complete data in the range being evaluated to - * contribute, specify nan. - * For more information, see FeaturizationMethod.

+ *

This operation generates metrics for each backtest window that was evaluated. The number + * of backtest windows (NumberOfBacktestWindows) is specified using the EvaluationParameters object, which is optionally included in the + * CreatePredictor request. If NumberOfBacktestWindows isn't + * specified, the number defaults to one.

+ *

The parameters of the filling method determine which items contribute to the + * metrics. If you want all items to contribute, specify zero. If you want only + * those items that have complete data in the range being evaluated to contribute, specify + * nan. For more information, see FeaturizationMethod.

* * *

Before you can get accuracy metrics, the Status of the predictor must be - * ACTIVE, signifying that training has completed. - * To get the status, use the DescribePredictor operation.

+ * ACTIVE, signifying that training has completed. To get the status, use the + * DescribePredictor operation.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-forecast/models/models_0.ts b/clients/client-forecast/models/models_0.ts index b98580c05888..a88dd73cc8a9 100644 --- a/clients/client-forecast/models/models_0.ts +++ b/clients/client-forecast/models/models_0.ts @@ -1509,6 +1509,14 @@ export namespace InputDataConfig { }); } +export enum OptimizationMetric { + AverageWeightedQuantileLoss = "AverageWeightedQuantileLoss", + MAPE = "MAPE", + MASE = "MASE", + RMSE = "RMSE", + WAPE = "WAPE", +} + export interface CreatePredictorRequest { /** *

A name for the predictor.

@@ -1588,7 +1596,12 @@ export interface CreatePredictorRequest { PerformAutoML?: boolean; /** - *

Used to overide the default AutoML strategy, which is to optimize predictor accuracy. + * + *

The LatencyOptimized AutoML override strategy is only available in private beta. + * Contact AWS Support or your account manager to learn more about access privileges. + *

+ *
+ *

Used to overide the default AutoML strategy, which is to optimize predictor accuracy. * To apply an AutoML strategy that minimizes training time, use * LatencyOptimized.

*

This parameter is only valid for predictors trained using AutoML.

@@ -1685,6 +1698,11 @@ export interface CreatePredictorRequest { * */ Tags?: Tag[]; + + /** + *

The accuracy metric used to optimize the predictor.

+ */ + OptimizationMetric?: OptimizationMetric | string; } export namespace CreatePredictorRequest { @@ -2785,7 +2803,12 @@ export interface DescribePredictorResponse { PerformAutoML?: boolean; /** - *

The AutoML strategy used to train the predictor. Unless LatencyOptimized + * + *

The LatencyOptimized AutoML override strategy is only available in private beta. + * Contact AWS Support or your account manager to learn more about access privileges. + *

+ *
+ *

The AutoML strategy used to train the predictor. Unless LatencyOptimized * is specified, the AutoML strategy optimizes predictor accuracy.

*

This parameter is only valid for predictors trained using AutoML.

*/ @@ -2923,6 +2946,11 @@ export interface DescribePredictorResponse { * */ LastModificationTime?: Date; + + /** + *

The accuracy metric used to optimize the predictor.

+ */ + OptimizationMetric?: OptimizationMetric | string; } export namespace DescribePredictorResponse { @@ -3071,32 +3099,34 @@ export enum EvaluationType { } /** - *

- * Provides detailed error metrics to evaluate the performance of a predictor. This object is - * part of the Metrics object. - *

+ *

Provides detailed error metrics to evaluate the performance of a predictor. This object + * is part of the Metrics object.

*/ export interface ErrorMetric { /** - *

- * The Forecast type used to compute WAPE and RMSE. - *

+ *

The Forecast type used to compute WAPE, MAPE, MASE, and RMSE.

*/ ForecastType?: string; /** - *

- * The weighted absolute percentage error (WAPE). - *

+ *

The weighted absolute percentage error (WAPE).

*/ WAPE?: number; /** - *

- * The root-mean-square error (RMSE). - *

+ *

The root-mean-square error (RMSE).

*/ RMSE?: number; + + /** + *

The Mean Absolute Scaled Error (MASE)

+ */ + MASE?: number; + + /** + *

The Mean Absolute Percentage Error (MAPE)

+ */ + MAPE?: number; } export namespace ErrorMetric { @@ -3109,14 +3139,13 @@ export namespace ErrorMetric { } /** - *

The weighted loss value for a quantile. This object is part of the - * Metrics object.

+ *

The weighted loss value for a quantile. This object is part of the Metrics object.

*/ export interface WeightedQuantileLoss { /** *

The quantile. Quantiles divide a probability distribution into regions of equal - * probability. For example, if the distribution was divided into 5 regions of equal - * probability, the quantiles would be 0.2, 0.4, 0.6, and 0.8.

+ * probability. For example, if the distribution was divided into 5 regions of equal probability, + * the quantiles would be 0.2, 0.4, 0.6, and 0.8.

*/ Quantile?: number; @@ -3137,8 +3166,8 @@ export namespace WeightedQuantileLoss { } /** - *

Provides metrics that are used to evaluate the performance of a predictor. This object - * is part of the WindowSummary object.

+ *

Provides metrics that are used to evaluate the performance of a predictor. This object is + * part of the WindowSummary object.

*/ export interface Metrics { /** @@ -3155,12 +3184,16 @@ export interface Metrics { WeightedQuantileLosses?: WeightedQuantileLoss[]; /** - *

- * Provides detailed error metrics on forecast type, root-mean square-error (RMSE), and weighted - * average percentage error (WAPE). - *

+ *

Provides detailed error metrics for each forecast type. Metrics include root-mean + * square-error (RMSE), mean absolute percentage error (MAPE), mean absolute scaled error (MASE), + * and weighted average percentage error (WAPE).

*/ ErrorMetrics?: ErrorMetric[]; + + /** + *

The average value of all weighted quantile losses.

+ */ + AverageWeightedQuantileLoss?: number; } export namespace Metrics { @@ -3173,11 +3206,10 @@ export namespace Metrics { } /** - *

The metrics for a time range within the evaluation portion of a dataset. This object - * is part of the EvaluationResult object.

- *

The TestWindowStart and TestWindowEnd parameters are - * determined by the BackTestWindowOffset parameter of the - * EvaluationParameters object.

+ *

The metrics for a time range within the evaluation portion of a dataset. This object is + * part of the EvaluationResult object.

+ *

The TestWindowStart and TestWindowEnd parameters are determined + * by the BackTestWindowOffset parameter of the EvaluationParameters object.

*/ export interface WindowSummary { /** @@ -3226,8 +3258,7 @@ export namespace WindowSummary { } /** - *

The results of evaluating an algorithm. Returned as part of the - * GetAccuracyMetrics response.

+ *

The results of evaluating an algorithm. Returned as part of the GetAccuracyMetrics response.

*/ export interface EvaluationResult { /** @@ -3237,8 +3268,8 @@ export interface EvaluationResult { /** *

The array of test windows used for evaluating the algorithm. The - * NumberOfBacktestWindows from the EvaluationParameters - * object determines the number of windows in the array.

+ * NumberOfBacktestWindows from the EvaluationParameters object + * determines the number of windows in the array.

*/ TestWindows?: WindowSummary[]; } @@ -3259,11 +3290,21 @@ export interface GetAccuracyMetricsResponse { PredictorEvaluationResults?: EvaluationResult[]; /** - *

The AutoML strategy used to train the predictor. Unless LatencyOptimized + * + *

The LatencyOptimized AutoML override strategy is only available in private beta. + * Contact AWS Support or your account manager to learn more about access privileges. + *

+ *
+ *

The AutoML strategy used to train the predictor. Unless LatencyOptimized * is specified, the AutoML strategy optimizes predictor accuracy.

*

This parameter is only valid for predictors trained using AutoML.

*/ AutoMLOverrideStrategy?: AutoMLOverrideStrategy | string; + + /** + *

The accuracy metric used to optimize the predictor.

+ */ + OptimizationMetric?: OptimizationMetric | string; } export namespace GetAccuracyMetricsResponse { diff --git a/clients/client-forecast/protocols/Aws_json1_1.ts b/clients/client-forecast/protocols/Aws_json1_1.ts index b7b20a47ee9c..249b0f056ed1 100644 --- a/clients/client-forecast/protocols/Aws_json1_1.ts +++ b/clients/client-forecast/protocols/Aws_json1_1.ts @@ -3306,6 +3306,8 @@ const serializeAws_json1_1CreatePredictorRequest = (input: CreatePredictorReques input.InputDataConfig !== null && { InputDataConfig: serializeAws_json1_1InputDataConfig(input.InputDataConfig, context), }), + ...(input.OptimizationMetric !== undefined && + input.OptimizationMetric !== null && { OptimizationMetric: input.OptimizationMetric }), ...(input.PerformAutoML !== undefined && input.PerformAutoML !== null && { PerformAutoML: input.PerformAutoML }), ...(input.PerformHPO !== undefined && input.PerformHPO !== null && { PerformHPO: input.PerformHPO }), ...(input.PredictorName !== undefined && input.PredictorName !== null && { PredictorName: input.PredictorName }), @@ -4331,6 +4333,7 @@ const deserializeAws_json1_1DescribePredictorResponse = ( ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModificationTime))) : undefined, Message: __expectString(output.Message), + OptimizationMetric: __expectString(output.OptimizationMetric), PerformAutoML: __expectBoolean(output.PerformAutoML), PerformHPO: __expectBoolean(output.PerformHPO), PredictorArn: __expectString(output.PredictorArn), @@ -4357,6 +4360,8 @@ const deserializeAws_json1_1EncryptionConfig = (output: any, context: __SerdeCon const deserializeAws_json1_1ErrorMetric = (output: any, context: __SerdeContext): ErrorMetric => { return { ForecastType: __expectString(output.ForecastType), + MAPE: __limitedParseDouble(output.MAPE), + MASE: __limitedParseDouble(output.MASE), RMSE: __limitedParseDouble(output.RMSE), WAPE: __limitedParseDouble(output.WAPE), } as any; @@ -4566,6 +4571,7 @@ const deserializeAws_json1_1GetAccuracyMetricsResponse = ( ): GetAccuracyMetricsResponse => { return { AutoMLOverrideStrategy: __expectString(output.AutoMLOverrideStrategy), + OptimizationMetric: __expectString(output.OptimizationMetric), PredictorEvaluationResults: output.PredictorEvaluationResults !== undefined && output.PredictorEvaluationResults !== null ? deserializeAws_json1_1PredictorEvaluationResults(output.PredictorEvaluationResults, context) @@ -4733,6 +4739,7 @@ const deserializeAws_json1_1ListTagsForResourceResponse = ( const deserializeAws_json1_1Metrics = (output: any, context: __SerdeContext): Metrics => { return { + AverageWeightedQuantileLoss: __limitedParseDouble(output.AverageWeightedQuantileLoss), ErrorMetrics: output.ErrorMetrics !== undefined && output.ErrorMetrics !== null ? deserializeAws_json1_1ErrorMetrics(output.ErrorMetrics, context) diff --git a/clients/client-frauddetector/models/models_0.ts b/clients/client-frauddetector/models/models_0.ts index f117ec9a9752..265e33bee79b 100644 --- a/clients/client-frauddetector/models/models_0.ts +++ b/clients/client-frauddetector/models/models_0.ts @@ -2318,6 +2318,58 @@ export namespace GetEventPredictionRequest { }); } +export enum ModelSource { + SAGEMAKER = "SAGEMAKER", +} + +/** + *

The Amazon SageMaker model.

+ */ +export interface ExternalModelSummary { + /** + *

The endpoint of the Amazon SageMaker model.

+ */ + modelEndpoint?: string; + + /** + *

The source of the model.

+ */ + modelSource?: ModelSource | string; +} + +export namespace ExternalModelSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExternalModelSummary): any => ({ + ...obj, + }); +} + +/** + *

The fraud prediction scores from Amazon SageMaker model.

+ */ +export interface ExternalModelOutputs { + /** + *

The Amazon SageMaker model.

+ */ + externalModel?: ExternalModelSummary; + + /** + *

The fraud prediction scores from Amazon SageMaker model.

+ */ + outputs?: { [key: string]: string }; +} + +export namespace ExternalModelOutputs { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExternalModelOutputs): any => ({ + ...obj, + }); +} + /** *

The fraud prediction scores.

*/ @@ -2376,6 +2428,11 @@ export interface GetEventPredictionResult { *

The results from the rules.

*/ ruleResults?: RuleResult[]; + + /** + *

The model scores for Amazon SageMaker models.

+ */ + externalModelOutputs?: ExternalModelOutputs[]; } export namespace GetEventPredictionResult { @@ -2589,10 +2646,6 @@ export enum ModelEndpointStatus { DISSOCIATED = "DISSOCIATED", } -export enum ModelSource { - SAGEMAKER = "SAGEMAKER", -} - export enum ModelOutputDataFormat { CSV = "TEXT_CSV", JSONLINES = "APPLICATION_JSONLINES", diff --git a/clients/client-frauddetector/protocols/Aws_json1_1.ts b/clients/client-frauddetector/protocols/Aws_json1_1.ts index 563090c53717..0a50fe7425bf 100644 --- a/clients/client-frauddetector/protocols/Aws_json1_1.ts +++ b/clients/client-frauddetector/protocols/Aws_json1_1.ts @@ -165,6 +165,8 @@ import { EventType, ExternalEventsDetail, ExternalModel, + ExternalModelOutputs, + ExternalModelSummary, FieldValidationMessage, FileValidationMessage, GetBatchPredictionJobsRequest, @@ -7330,6 +7332,41 @@ const deserializeAws_json1_1ExternalModelList = (output: any, context: __SerdeCo }); }; +const deserializeAws_json1_1ExternalModelOutputs = (output: any, context: __SerdeContext): ExternalModelOutputs => { + return { + externalModel: + output.externalModel !== undefined && output.externalModel !== null + ? deserializeAws_json1_1ExternalModelSummary(output.externalModel, context) + : undefined, + outputs: + output.outputs !== undefined && output.outputs !== null + ? deserializeAws_json1_1ExternalModelPredictionMap(output.outputs, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ExternalModelPredictionMap = ( + output: any, + context: __SerdeContext +): { [key: string]: string } => { + return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + +const deserializeAws_json1_1ExternalModelSummary = (output: any, context: __SerdeContext): ExternalModelSummary => { + return { + modelEndpoint: __expectString(output.modelEndpoint), + modelSource: __expectString(output.modelSource), + } as any; +}; + const deserializeAws_json1_1FieldValidationMessage = (output: any, context: __SerdeContext): FieldValidationMessage => { return { content: __expectString(output.content), @@ -7442,6 +7479,10 @@ const deserializeAws_json1_1GetEventPredictionResult = ( context: __SerdeContext ): GetEventPredictionResult => { return { + externalModelOutputs: + output.externalModelOutputs !== undefined && output.externalModelOutputs !== null + ? deserializeAws_json1_1ListOfExternalModelOutputs(output.externalModelOutputs, context) + : undefined, modelScores: output.modelScores !== undefined && output.modelScores !== null ? deserializeAws_json1_1ListOfModelScores(output.modelScores, context) @@ -7629,6 +7670,20 @@ const deserializeAws_json1_1LabelSchema = (output: any, context: __SerdeContext) } as any; }; +const deserializeAws_json1_1ListOfExternalModelOutputs = ( + output: any, + context: __SerdeContext +): ExternalModelOutputs[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ExternalModelOutputs(entry, context); + }); +}; + const deserializeAws_json1_1ListOfLogOddsMetrics = (output: any, context: __SerdeContext): LogOddsMetric[] => { return (output || []) .filter((e: any) => e != null) diff --git a/clients/client-iot-jobs-data-plane/endpoints.ts b/clients/client-iot-jobs-data-plane/endpoints.ts index b49b063d9e57..9ab6ba53e440 100644 --- a/clients/client-iot-jobs-data-plane/endpoints.ts +++ b/clients/client-iot-jobs-data-plane/endpoints.ts @@ -1,7 +1,36 @@ import { PartitionHash, RegionHash, getRegionInfo } from "@aws-sdk/config-resolver"; import { RegionInfoProvider } from "@aws-sdk/types"; -const regionHash: RegionHash = {}; +const regionHash: RegionHash = { + "fips-ca-central-1": { + hostname: "data.jobs.iot-fips.ca-central-1.amazonaws.com", + signingRegion: "ca-central-1", + }, + "fips-us-east-1": { + hostname: "data.jobs.iot-fips.us-east-1.amazonaws.com", + signingRegion: "us-east-1", + }, + "fips-us-east-2": { + hostname: "data.jobs.iot-fips.us-east-2.amazonaws.com", + signingRegion: "us-east-2", + }, + "fips-us-gov-east-1": { + hostname: "data.jobs.iot-fips.us-gov-east-1.amazonaws.com", + signingRegion: "us-gov-east-1", + }, + "fips-us-gov-west-1": { + hostname: "data.jobs.iot-fips.us-gov-west-1.amazonaws.com", + signingRegion: "us-gov-west-1", + }, + "fips-us-west-1": { + hostname: "data.jobs.iot-fips.us-west-1.amazonaws.com", + signingRegion: "us-west-1", + }, + "fips-us-west-2": { + hostname: "data.jobs.iot-fips.us-west-2.amazonaws.com", + signingRegion: "us-west-2", + }, +}; const partitionHash: PartitionHash = { aws: { @@ -21,6 +50,11 @@ const partitionHash: PartitionHash = { "eu-west-1", "eu-west-2", "eu-west-3", + "fips-ca-central-1", + "fips-us-east-1", + "fips-us-east-2", + "fips-us-west-1", + "fips-us-west-2", "me-south-1", "sa-east-1", "us-east-1", @@ -43,7 +77,7 @@ const partitionHash: PartitionHash = { hostname: "data.jobs.iot.{region}.sc2s.sgov.gov", }, "aws-us-gov": { - regions: ["us-gov-east-1", "us-gov-west-1"], + regions: ["fips-us-gov-east-1", "fips-us-gov-west-1", "us-gov-east-1", "us-gov-west-1"], hostname: "data.jobs.iot.{region}.amazonaws.com", }, }; diff --git a/clients/client-kafka/Kafka.ts b/clients/client-kafka/Kafka.ts index ed1ec577dd07..4c1a31f7169c 100644 --- a/clients/client-kafka/Kafka.ts +++ b/clients/client-kafka/Kafka.ts @@ -141,6 +141,11 @@ import { UpdateMonitoringCommandInput, UpdateMonitoringCommandOutput, } from "./commands/UpdateMonitoringCommand"; +import { + UpdateSecurityCommand, + UpdateSecurityCommandInput, + UpdateSecurityCommandOutput, +} from "./commands/UpdateSecurityCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** @@ -1088,4 +1093,36 @@ export class Kafka extends KafkaClient { return this.send(command, optionsOrCb); } } + + /** + *

Updates the security settings for the cluster. You can use this operation to specify encryption and authentication on existing clusters.

+ */ + public updateSecurity( + args: UpdateSecurityCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateSecurity( + args: UpdateSecurityCommandInput, + cb: (err: any, data?: UpdateSecurityCommandOutput) => void + ): void; + public updateSecurity( + args: UpdateSecurityCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateSecurityCommandOutput) => void + ): void; + public updateSecurity( + args: UpdateSecurityCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateSecurityCommandOutput) => void), + cb?: (err: any, data?: UpdateSecurityCommandOutput) => void + ): Promise | void { + const command = new UpdateSecurityCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-kafka/KafkaClient.ts b/clients/client-kafka/KafkaClient.ts index 76c7e1563e7d..aa9f44884e36 100644 --- a/clients/client-kafka/KafkaClient.ts +++ b/clients/client-kafka/KafkaClient.ts @@ -76,6 +76,7 @@ import { UpdateConfigurationCommandOutput, } from "./commands/UpdateConfigurationCommand"; import { UpdateMonitoringCommandInput, UpdateMonitoringCommandOutput } from "./commands/UpdateMonitoringCommand"; +import { UpdateSecurityCommandInput, UpdateSecurityCommandOutput } from "./commands/UpdateSecurityCommand"; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -158,7 +159,8 @@ export type ServiceInputTypes = | UpdateClusterConfigurationCommandInput | UpdateClusterKafkaVersionCommandInput | UpdateConfigurationCommandInput - | UpdateMonitoringCommandInput; + | UpdateMonitoringCommandInput + | UpdateSecurityCommandInput; export type ServiceOutputTypes = | BatchAssociateScramSecretCommandOutput @@ -190,7 +192,8 @@ export type ServiceOutputTypes = | UpdateClusterConfigurationCommandOutput | UpdateClusterKafkaVersionCommandOutput | UpdateConfigurationCommandOutput - | UpdateMonitoringCommandOutput; + | UpdateMonitoringCommandOutput + | UpdateSecurityCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-kafka/commands/UpdateSecurityCommand.ts b/clients/client-kafka/commands/UpdateSecurityCommand.ts new file mode 100644 index 000000000000..1b59da980e7f --- /dev/null +++ b/clients/client-kafka/commands/UpdateSecurityCommand.ts @@ -0,0 +1,94 @@ +import { KafkaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KafkaClient"; +import { UpdateSecurityRequest, UpdateSecurityResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateSecurityCommand, + serializeAws_restJson1UpdateSecurityCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateSecurityCommandInput extends UpdateSecurityRequest {} +export interface UpdateSecurityCommandOutput extends UpdateSecurityResponse, __MetadataBearer {} + +/** + *

Updates the security settings for the cluster. You can use this operation to specify encryption and authentication on existing clusters.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KafkaClient, UpdateSecurityCommand } from "@aws-sdk/client-kafka"; // ES Modules import + * // const { KafkaClient, UpdateSecurityCommand } = require("@aws-sdk/client-kafka"); // CommonJS import + * const client = new KafkaClient(config); + * const command = new UpdateSecurityCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateSecurityCommandInput} for command's `input` shape. + * @see {@link UpdateSecurityCommandOutput} for command's `response` shape. + * @see {@link KafkaClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateSecurityCommand extends $Command< + UpdateSecurityCommandInput, + UpdateSecurityCommandOutput, + KafkaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateSecurityCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KafkaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KafkaClient"; + const commandName = "UpdateSecurityCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateSecurityRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateSecurityResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateSecurityCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateSecurityCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateSecurityCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kafka/index.ts b/clients/client-kafka/index.ts index d36556656038..2188c37980a3 100644 --- a/clients/client-kafka/index.ts +++ b/clients/client-kafka/index.ts @@ -37,5 +37,6 @@ export * from "./commands/UpdateClusterConfigurationCommand"; export * from "./commands/UpdateClusterKafkaVersionCommand"; export * from "./commands/UpdateConfigurationCommand"; export * from "./commands/UpdateMonitoringCommand"; +export * from "./commands/UpdateSecurityCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-kafka/models/models_0.ts b/clients/client-kafka/models/models_0.ts index 9b47486d8650..7963b62ccdb9 100644 --- a/clients/client-kafka/models/models_0.ts +++ b/clients/client-kafka/models/models_0.ts @@ -177,6 +177,11 @@ export interface Tls { *

List of ACM Certificate Authority ARNs.

*/ CertificateAuthorityArnList?: string[]; + + /** + *

Specifies whether you want to enable or disable TLS authentication.

+ */ + Enabled?: boolean; } export namespace Tls { @@ -188,6 +193,22 @@ export namespace Tls { }); } +export interface Unauthenticated { + /** + *

Specifies whether you want to enable or disable unauthenticated traffic to your cluster.

+ */ + Enabled?: boolean; +} + +export namespace Unauthenticated { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Unauthenticated): any => ({ + ...obj, + }); +} + /** *

Includes all client authentication information.

*/ @@ -201,6 +222,11 @@ export interface ClientAuthentication { *

Details for ClientAuthentication using TLS.

*/ Tls?: Tls; + + /** + *

Contains information about unauthenticated traffic to the cluster.

+ */ + Unauthenticated?: Unauthenticated; } export namespace ClientAuthentication { @@ -727,11 +753,25 @@ export interface MutableClusterInfo { */ KafkaVersion?: string; + /** + *

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

+ */ LoggingInfo?: LoggingInfo; + /** *

Information about the Amazon MSK broker type.

*/ InstanceType?: string; + + /** + *

Includes all client authentication information.

+ */ + ClientAuthentication?: ClientAuthentication; + + /** + *

Includes all encryption-related information.

+ */ + EncryptionInfo?: EncryptionInfo; } export namespace MutableClusterInfo { @@ -2778,3 +2818,55 @@ export namespace UpdateMonitoringResponse { ...obj, }); } + +export interface UpdateSecurityRequest { + /** + *

Includes all client authentication related information.

+ */ + ClientAuthentication?: ClientAuthentication; + + /** + *

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

+ */ + ClusterArn: string | undefined; + + /** + *

The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version.

+ */ + CurrentVersion: string | undefined; + + /** + *

Includes all encryption-related information.

+ */ + EncryptionInfo?: EncryptionInfo; +} + +export namespace UpdateSecurityRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityRequest): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityResponse { + /** + *

The Amazon Resource Name (ARN) of the cluster.

+ */ + ClusterArn?: string; + + /** + *

The Amazon Resource Name (ARN) of the cluster operation.

+ */ + ClusterOperationArn?: string; +} + +export namespace UpdateSecurityResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-kafka/protocols/Aws_restJson1.ts b/clients/client-kafka/protocols/Aws_restJson1.ts index e28f92b96345..06c705270cd1 100644 --- a/clients/client-kafka/protocols/Aws_restJson1.ts +++ b/clients/client-kafka/protocols/Aws_restJson1.ts @@ -76,6 +76,7 @@ import { UpdateConfigurationCommandOutput, } from "../commands/UpdateConfigurationCommand"; import { UpdateMonitoringCommandInput, UpdateMonitoringCommandOutput } from "../commands/UpdateMonitoringCommand"; +import { UpdateSecurityCommandInput, UpdateSecurityCommandOutput } from "../commands/UpdateSecurityCommand"; import { BadRequestException, BrokerEBSVolumeInfo, @@ -124,6 +125,7 @@ import { StorageInfo, Tls, TooManyRequestsException, + Unauthenticated, UnauthorizedException, UnprocessedScramSecret, ZookeeperNodeInfo, @@ -1158,6 +1160,49 @@ export const serializeAws_restJson1UpdateMonitoringCommand = async ( }); }; +export const serializeAws_restJson1UpdateSecurityCommand = async ( + input: UpdateSecurityCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/clusters/{ClusterArn}/security"; + if (input.ClusterArn !== undefined) { + const labelValue: string = input.ClusterArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ClusterArn."); + } + resolvedPath = resolvedPath.replace("{ClusterArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ClusterArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.ClientAuthentication !== undefined && + input.ClientAuthentication !== null && { + clientAuthentication: serializeAws_restJson1ClientAuthentication(input.ClientAuthentication, context), + }), + ...(input.CurrentVersion !== undefined && + input.CurrentVersion !== null && { currentVersion: input.CurrentVersion }), + ...(input.EncryptionInfo !== undefined && + input.EncryptionInfo !== null && { + encryptionInfo: serializeAws_restJson1EncryptionInfo(input.EncryptionInfo, context), + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PATCH", + headers, + path: resolvedPath, + body, + }); +}; + export const deserializeAws_restJson1BatchAssociateScramSecretCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4012,6 +4057,113 @@ const deserializeAws_restJson1UpdateMonitoringCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateSecurityCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateSecurityCommandError(output, context); + } + const contents: UpdateSecurityCommandOutput = { + $metadata: deserializeMetadata(output), + ClusterArn: undefined, + ClusterOperationArn: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.clusterArn !== undefined && data.clusterArn !== null) { + contents.ClusterArn = __expectString(data.clusterArn); + } + if (data.clusterOperationArn !== undefined && data.clusterOperationArn !== null) { + contents.ClusterOperationArn = __expectString(data.clusterOperationArn); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateSecurityCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.kafka#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.kafka#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.kafka#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.kafka#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.kafka#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.kafka#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.kafka#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + const deserializeAws_restJson1BadRequestExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -4259,6 +4411,10 @@ const serializeAws_restJson1ClientAuthentication = (input: ClientAuthentication, return { ...(input.Sasl !== undefined && input.Sasl !== null && { sasl: serializeAws_restJson1Sasl(input.Sasl, context) }), ...(input.Tls !== undefined && input.Tls !== null && { tls: serializeAws_restJson1Tls(input.Tls, context) }), + ...(input.Unauthenticated !== undefined && + input.Unauthenticated !== null && { + unauthenticated: serializeAws_restJson1Unauthenticated(input.Unauthenticated, context), + }), }; }; @@ -4399,6 +4555,13 @@ const serializeAws_restJson1Tls = (input: Tls, context: __SerdeContext): any => input.CertificateAuthorityArnList !== null && { certificateAuthorityArnList: serializeAws_restJson1__listOf__string(input.CertificateAuthorityArnList, context), }), + ...(input.Enabled !== undefined && input.Enabled !== null && { enabled: input.Enabled }), + }; +}; + +const serializeAws_restJson1Unauthenticated = (input: Unauthenticated, context: __SerdeContext): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { enabled: input.Enabled }), }; }; @@ -4625,6 +4788,10 @@ const deserializeAws_restJson1ClientAuthentication = (output: any, context: __Se ? deserializeAws_restJson1Sasl(output.sasl, context) : undefined, Tls: output.tls !== undefined && output.tls !== null ? deserializeAws_restJson1Tls(output.tls, context) : undefined, + Unauthenticated: + output.unauthenticated !== undefined && output.unauthenticated !== null + ? deserializeAws_restJson1Unauthenticated(output.unauthenticated, context) + : undefined, } as any; }; @@ -4870,10 +5037,18 @@ const deserializeAws_restJson1MutableClusterInfo = (output: any, context: __Serd output.brokerEBSVolumeInfo !== undefined && output.brokerEBSVolumeInfo !== null ? deserializeAws_restJson1__listOfBrokerEBSVolumeInfo(output.brokerEBSVolumeInfo, context) : undefined, + ClientAuthentication: + output.clientAuthentication !== undefined && output.clientAuthentication !== null + ? deserializeAws_restJson1ClientAuthentication(output.clientAuthentication, context) + : undefined, ConfigurationInfo: output.configurationInfo !== undefined && output.configurationInfo !== null ? deserializeAws_restJson1ConfigurationInfo(output.configurationInfo, context) : undefined, + EncryptionInfo: + output.encryptionInfo !== undefined && output.encryptionInfo !== null + ? deserializeAws_restJson1EncryptionInfo(output.encryptionInfo, context) + : undefined, EnhancedMonitoring: __expectString(output.enhancedMonitoring), InstanceType: __expectString(output.instanceType), KafkaVersion: __expectString(output.kafkaVersion), @@ -4980,6 +5155,13 @@ const deserializeAws_restJson1Tls = (output: any, context: __SerdeContext): Tls output.certificateAuthorityArnList !== undefined && output.certificateAuthorityArnList !== null ? deserializeAws_restJson1__listOf__string(output.certificateAuthorityArnList, context) : undefined, + Enabled: __expectBoolean(output.enabled), + } as any; +}; + +const deserializeAws_restJson1Unauthenticated = (output: any, context: __SerdeContext): Unauthenticated => { + return { + Enabled: __expectBoolean(output.enabled), } as any; }; diff --git a/clients/client-lookoutequipment/LookoutEquipment.ts b/clients/client-lookoutequipment/LookoutEquipment.ts index a7504763953f..897d07b86f47 100644 --- a/clients/client-lookoutequipment/LookoutEquipment.ts +++ b/clients/client-lookoutequipment/LookoutEquipment.ts @@ -335,8 +335,7 @@ export class LookoutEquipment extends LookoutEquipmentClient { } /** - *

Provides information on a specified dataset such as the schema location, status, and so - * on.

+ *

Provides a JSON description of the data that is in each time series dataset, including names, column names, and data types.

*/ public describeDataset( args: DescribeDatasetCommandInput, @@ -401,7 +400,7 @@ export class LookoutEquipment extends LookoutEquipmentClient { } /** - *

Provides overall information about a specific ML model, including model name and ARN, + *

Provides a JSON containing the overall information about a specific ML model, including model name and ARN, * dataset, training and evaluation information, status, and so on.

*/ public describeModel( diff --git a/clients/client-lookoutequipment/commands/DescribeDatasetCommand.ts b/clients/client-lookoutequipment/commands/DescribeDatasetCommand.ts index 94afaa91789d..73db901d2f67 100644 --- a/clients/client-lookoutequipment/commands/DescribeDatasetCommand.ts +++ b/clients/client-lookoutequipment/commands/DescribeDatasetCommand.ts @@ -21,8 +21,7 @@ export interface DescribeDatasetCommandInput extends DescribeDatasetRequest {} export interface DescribeDatasetCommandOutput extends DescribeDatasetResponse, __MetadataBearer {} /** - *

Provides information on a specified dataset such as the schema location, status, and so - * on.

+ *

Provides a JSON description of the data that is in each time series dataset, including names, column names, and data types.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-lookoutequipment/commands/DescribeModelCommand.ts b/clients/client-lookoutequipment/commands/DescribeModelCommand.ts index 45efbb130c88..0a890a37ed52 100644 --- a/clients/client-lookoutequipment/commands/DescribeModelCommand.ts +++ b/clients/client-lookoutequipment/commands/DescribeModelCommand.ts @@ -21,7 +21,7 @@ export interface DescribeModelCommandInput extends DescribeModelRequest {} export interface DescribeModelCommandOutput extends DescribeModelResponse, __MetadataBearer {} /** - *

Provides overall information about a specific ML model, including model name and ARN, + *

Provides a JSON containing the overall information about a specific ML model, including model name and ARN, * dataset, training and evaluation information, status, and so on.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-lookoutequipment/models/models_0.ts b/clients/client-lookoutequipment/models/models_0.ts index 8862f3d7f85a..e2951eae3d72 100644 --- a/clients/client-lookoutequipment/models/models_0.ts +++ b/clients/client-lookoutequipment/models/models_0.ts @@ -96,7 +96,7 @@ export interface CreateDatasetRequest { DatasetSchema: DatasetSchema | undefined; /** - *

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt dataset data by Amazon Lookout for Equipment.

+ *

Provides the identifier of the KMS key used to encrypt dataset data by Amazon Lookout for Equipment.

*/ ServerSideKmsKeyId?: string; @@ -228,7 +228,7 @@ export namespace ValidationException { } /** - *

>> Specifies configuration information for the input data for the inference, including + *

Specifies configuration information for the input data for the inference, including * timestamp format and delimiter.

*/ export interface InferenceInputNameConfiguration { @@ -279,7 +279,7 @@ export namespace InferenceS3InputConfiguration { } /** - *

> Specifies configuration information for the input data for the inference, including S3 + *

Specifies configuration information for the input data for the inference, including S3 * location of input data..

*/ export interface InferenceInputConfiguration { @@ -295,7 +295,7 @@ export interface InferenceInputConfiguration { InputTimeZoneOffset?: string; /** - *

> Specifies configuration information for the input data for the inference, including + *

Specifies configuration information for the input data for the inference, including * timestamp format and delimiter.

*/ InferenceInputNameConfiguration?: InferenceInputNameConfiguration; @@ -382,7 +382,7 @@ export interface CreateInferenceSchedulerRequest { InferenceSchedulerName: string | undefined; /** - *

A period of time (in minutes) by which inference on the data is delayed after the data + *

A period of time (in minutes) by which inference on the data is delayed after the data * starts. For instance, if you select an offset delay time of five minutes, inference will * not begin on the data until the first data measurement after the five minute mark. For example, if * five minutes is selected, the inference scheduler will wake up at the configured frequency with the @@ -419,7 +419,7 @@ export interface CreateInferenceSchedulerRequest { RoleArn: string | undefined; /** - *

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt inference scheduler data by Amazon Lookout for Equipment.

+ *

Provides the identifier of the KMS key used to encrypt inference scheduler data by Amazon Lookout for Equipment.

*/ ServerSideKmsKeyId?: string; @@ -667,7 +667,7 @@ export interface CreateModelRequest { DataPreProcessingConfiguration?: DataPreProcessingConfiguration; /** - *

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt model data by Amazon Lookout for Equipment.

+ *

Provides the identifier of the KMS key used to encrypt model data by Amazon Lookout for Equipment.

*/ ServerSideKmsKeyId?: string; @@ -675,6 +675,11 @@ export interface CreateModelRequest { *

Any tags associated with the ML model being created.

*/ Tags?: Tag[]; + + /** + *

Indicates that the asset associated with this sensor has been shut off. As long as this condition is met, Lookout for Equipment will not use data from this asset for training, evaluation, or inference.

+ */ + OffCondition?: string; } export namespace CreateModelRequest { @@ -928,7 +933,7 @@ export interface DescribeDatasetResponse { Schema?: __LazyJsonString | string; /** - *

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt dataset data by Amazon Lookout for Equipment.

+ *

Provides the identifier of the KMS key used to encrypt dataset data by Amazon Lookout for Equipment.

*/ ServerSideKmsKeyId?: string; @@ -1038,7 +1043,7 @@ export interface DescribeInferenceSchedulerResponse { RoleArn?: string; /** - *

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt inference scheduler data by Amazon Lookout for Equipment.

+ *

Provides the identifier of the KMS key used to encrypt inference scheduler data by Amazon Lookout for Equipment.

*/ ServerSideKmsKeyId?: string; } @@ -1187,9 +1192,14 @@ export interface DescribeModelResponse { CreatedAt?: Date; /** - *

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt model data by Amazon Lookout for Equipment.

+ *

Provides the identifier of the KMS key used to encrypt model data by Amazon Lookout for Equipment.

*/ ServerSideKmsKeyId?: string; + + /** + *

Indicates that the asset associated with this sensor has been shut off. As long as this condition is met, Lookout for Equipment will not use data from this asset for training, evaluation, or inference.

+ */ + OffCondition?: string; } export namespace DescribeModelResponse { @@ -1626,7 +1636,7 @@ export interface InferenceSchedulerSummary { Status?: InferenceSchedulerStatus | string; /** - *

> A period of time (in minutes) by which inference on the data is delayed after the data + *

A period of time (in minutes) by which inference on the data is delayed after the data * starts. For instance, if an offset delay time of five minutes was selected, inference will * not begin on the data until the first data measurement after the five minute mark. For example, if * five minutes is selected, the inference scheduler will wake up at the configured frequency with the @@ -2051,7 +2061,7 @@ export interface UpdateInferenceSchedulerRequest { InferenceSchedulerName: string | undefined; /** - *

> A period of time (in minutes) by which inference on the data is delayed after the data + *

A period of time (in minutes) by which inference on the data is delayed after the data * starts. For instance, if you select an offset delay time of five minutes, inference will * not begin on the data until the first data measurement after the five minute mark. For example, if * five minutes is selected, the inference scheduler will wake up at the configured frequency with the diff --git a/clients/client-lookoutequipment/protocols/Aws_json1_0.ts b/clients/client-lookoutequipment/protocols/Aws_json1_0.ts index 32b66893b130..756218a9235c 100644 --- a/clients/client-lookoutequipment/protocols/Aws_json1_0.ts +++ b/clients/client-lookoutequipment/protocols/Aws_json1_0.ts @@ -2550,6 +2550,7 @@ const serializeAws_json1_0CreateModelRequest = (input: CreateModelRequest, conte LabelsInputConfiguration: serializeAws_json1_0LabelsInputConfiguration(input.LabelsInputConfiguration, context), }), ...(input.ModelName !== undefined && input.ModelName !== null && { ModelName: input.ModelName }), + ...(input.OffCondition !== undefined && input.OffCondition !== null && { OffCondition: input.OffCondition }), ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), ...(input.ServerSideKmsKeyId !== undefined && input.ServerSideKmsKeyId !== null && { ServerSideKmsKeyId: input.ServerSideKmsKeyId }), @@ -3143,6 +3144,7 @@ const deserializeAws_json1_0DescribeModelResponse = (output: any, context: __Ser ? new __LazyJsonString(output.ModelMetrics) : undefined, ModelName: __expectString(output.ModelName), + OffCondition: __expectString(output.OffCondition), RoleArn: __expectString(output.RoleArn), Schema: output.Schema !== undefined && output.Schema !== null ? new __LazyJsonString(output.Schema) : undefined, ServerSideKmsKeyId: __expectString(output.ServerSideKmsKeyId), diff --git a/clients/client-mediapackage/models/models_0.ts b/clients/client-mediapackage/models/models_0.ts index 19dc218db955..a9779925c9ce 100644 --- a/clients/client-mediapackage/models/models_0.ts +++ b/clients/client-mediapackage/models/models_0.ts @@ -468,7 +468,7 @@ export enum PresetSpeke20Video { * The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. * To configure the encryption contract, specify which audio and video encryption presets to use. * Note the following considerations when using encryptionContractConfiguration: - * encryptionContractConfiguration can be used for DASH endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification. + * encryptionContractConfiguration can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification. * You must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0. */ export interface EncryptionContractConfiguration { @@ -508,7 +508,7 @@ export interface SpekeKeyProvider { * The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. * To configure the encryption contract, specify which audio and video encryption presets to use. * Note the following considerations when using encryptionContractConfiguration: - * encryptionContractConfiguration can be used for DASH endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification. + * encryptionContractConfiguration can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification. * You must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0. */ EncryptionContractConfiguration?: EncryptionContractConfiguration; diff --git a/clients/client-network-firewall/endpoints.ts b/clients/client-network-firewall/endpoints.ts index d578cf6d7525..c9698cdc8de7 100644 --- a/clients/client-network-firewall/endpoints.ts +++ b/clients/client-network-firewall/endpoints.ts @@ -1,7 +1,36 @@ import { PartitionHash, RegionHash, getRegionInfo } from "@aws-sdk/config-resolver"; import { RegionInfoProvider } from "@aws-sdk/types"; -const regionHash: RegionHash = {}; +const regionHash: RegionHash = { + "fips-ca-central-1": { + hostname: "network-firewall-fips.ca-central-1.amazonaws.com", + signingRegion: "ca-central-1", + }, + "fips-us-east-1": { + hostname: "network-firewall-fips.us-east-1.amazonaws.com", + signingRegion: "us-east-1", + }, + "fips-us-east-2": { + hostname: "network-firewall-fips.us-east-2.amazonaws.com", + signingRegion: "us-east-2", + }, + "fips-us-gov-east-1": { + hostname: "network-firewall-fips.us-gov-east-1.amazonaws.com", + signingRegion: "us-gov-east-1", + }, + "fips-us-gov-west-1": { + hostname: "network-firewall-fips.us-gov-west-1.amazonaws.com", + signingRegion: "us-gov-west-1", + }, + "fips-us-west-1": { + hostname: "network-firewall-fips.us-west-1.amazonaws.com", + signingRegion: "us-west-1", + }, + "fips-us-west-2": { + hostname: "network-firewall-fips.us-west-2.amazonaws.com", + signingRegion: "us-west-2", + }, +}; const partitionHash: PartitionHash = { aws: { @@ -21,6 +50,11 @@ const partitionHash: PartitionHash = { "eu-west-1", "eu-west-2", "eu-west-3", + "fips-ca-central-1", + "fips-us-east-1", + "fips-us-east-2", + "fips-us-west-1", + "fips-us-west-2", "me-south-1", "sa-east-1", "us-east-1", @@ -43,7 +77,7 @@ const partitionHash: PartitionHash = { hostname: "network-firewall.{region}.sc2s.sgov.gov", }, "aws-us-gov": { - regions: ["us-gov-east-1", "us-gov-west-1"], + regions: ["fips-us-gov-east-1", "fips-us-gov-west-1", "us-gov-east-1", "us-gov-west-1"], hostname: "network-firewall.{region}.amazonaws.com", }, }; diff --git a/clients/client-opensearch/.gitignore b/clients/client-opensearch/.gitignore new file mode 100644 index 000000000000..5f8b6ab5eab2 --- /dev/null +++ b/clients/client-opensearch/.gitignore @@ -0,0 +1,9 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json diff --git a/clients/client-opensearch/.npmignore b/clients/client-opensearch/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-opensearch/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-opensearch/LICENSE b/clients/client-opensearch/LICENSE new file mode 100644 index 000000000000..f9e0c8672bca --- /dev/null +++ b/clients/client-opensearch/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-opensearch/OpenSearch.ts b/clients/client-opensearch/OpenSearch.ts new file mode 100644 index 000000000000..f3efaadc8a7b --- /dev/null +++ b/clients/client-opensearch/OpenSearch.ts @@ -0,0 +1,1458 @@ +import { OpenSearchClient } from "./OpenSearchClient"; +import { + AcceptInboundConnectionCommand, + AcceptInboundConnectionCommandInput, + AcceptInboundConnectionCommandOutput, +} from "./commands/AcceptInboundConnectionCommand"; +import { AddTagsCommand, AddTagsCommandInput, AddTagsCommandOutput } from "./commands/AddTagsCommand"; +import { + AssociatePackageCommand, + AssociatePackageCommandInput, + AssociatePackageCommandOutput, +} from "./commands/AssociatePackageCommand"; +import { + CancelServiceSoftwareUpdateCommand, + CancelServiceSoftwareUpdateCommandInput, + CancelServiceSoftwareUpdateCommandOutput, +} from "./commands/CancelServiceSoftwareUpdateCommand"; +import { + CreateDomainCommand, + CreateDomainCommandInput, + CreateDomainCommandOutput, +} from "./commands/CreateDomainCommand"; +import { + CreateOutboundConnectionCommand, + CreateOutboundConnectionCommandInput, + CreateOutboundConnectionCommandOutput, +} from "./commands/CreateOutboundConnectionCommand"; +import { + CreatePackageCommand, + CreatePackageCommandInput, + CreatePackageCommandOutput, +} from "./commands/CreatePackageCommand"; +import { + DeleteDomainCommand, + DeleteDomainCommandInput, + DeleteDomainCommandOutput, +} from "./commands/DeleteDomainCommand"; +import { + DeleteInboundConnectionCommand, + DeleteInboundConnectionCommandInput, + DeleteInboundConnectionCommandOutput, +} from "./commands/DeleteInboundConnectionCommand"; +import { + DeleteOutboundConnectionCommand, + DeleteOutboundConnectionCommandInput, + DeleteOutboundConnectionCommandOutput, +} from "./commands/DeleteOutboundConnectionCommand"; +import { + DeletePackageCommand, + DeletePackageCommandInput, + DeletePackageCommandOutput, +} from "./commands/DeletePackageCommand"; +import { + DescribeDomainAutoTunesCommand, + DescribeDomainAutoTunesCommandInput, + DescribeDomainAutoTunesCommandOutput, +} from "./commands/DescribeDomainAutoTunesCommand"; +import { + DescribeDomainCommand, + DescribeDomainCommandInput, + DescribeDomainCommandOutput, +} from "./commands/DescribeDomainCommand"; +import { + DescribeDomainConfigCommand, + DescribeDomainConfigCommandInput, + DescribeDomainConfigCommandOutput, +} from "./commands/DescribeDomainConfigCommand"; +import { + DescribeDomainsCommand, + DescribeDomainsCommandInput, + DescribeDomainsCommandOutput, +} from "./commands/DescribeDomainsCommand"; +import { + DescribeInboundConnectionsCommand, + DescribeInboundConnectionsCommandInput, + DescribeInboundConnectionsCommandOutput, +} from "./commands/DescribeInboundConnectionsCommand"; +import { + DescribeInstanceTypeLimitsCommand, + DescribeInstanceTypeLimitsCommandInput, + DescribeInstanceTypeLimitsCommandOutput, +} from "./commands/DescribeInstanceTypeLimitsCommand"; +import { + DescribeOutboundConnectionsCommand, + DescribeOutboundConnectionsCommandInput, + DescribeOutboundConnectionsCommandOutput, +} from "./commands/DescribeOutboundConnectionsCommand"; +import { + DescribePackagesCommand, + DescribePackagesCommandInput, + DescribePackagesCommandOutput, +} from "./commands/DescribePackagesCommand"; +import { + DescribeReservedInstanceOfferingsCommand, + DescribeReservedInstanceOfferingsCommandInput, + DescribeReservedInstanceOfferingsCommandOutput, +} from "./commands/DescribeReservedInstanceOfferingsCommand"; +import { + DescribeReservedInstancesCommand, + DescribeReservedInstancesCommandInput, + DescribeReservedInstancesCommandOutput, +} from "./commands/DescribeReservedInstancesCommand"; +import { + DissociatePackageCommand, + DissociatePackageCommandInput, + DissociatePackageCommandOutput, +} from "./commands/DissociatePackageCommand"; +import { + GetCompatibleVersionsCommand, + GetCompatibleVersionsCommandInput, + GetCompatibleVersionsCommandOutput, +} from "./commands/GetCompatibleVersionsCommand"; +import { + GetPackageVersionHistoryCommand, + GetPackageVersionHistoryCommandInput, + GetPackageVersionHistoryCommandOutput, +} from "./commands/GetPackageVersionHistoryCommand"; +import { + GetUpgradeHistoryCommand, + GetUpgradeHistoryCommandInput, + GetUpgradeHistoryCommandOutput, +} from "./commands/GetUpgradeHistoryCommand"; +import { + GetUpgradeStatusCommand, + GetUpgradeStatusCommandInput, + GetUpgradeStatusCommandOutput, +} from "./commands/GetUpgradeStatusCommand"; +import { + ListDomainNamesCommand, + ListDomainNamesCommandInput, + ListDomainNamesCommandOutput, +} from "./commands/ListDomainNamesCommand"; +import { + ListDomainsForPackageCommand, + ListDomainsForPackageCommandInput, + ListDomainsForPackageCommandOutput, +} from "./commands/ListDomainsForPackageCommand"; +import { + ListInstanceTypeDetailsCommand, + ListInstanceTypeDetailsCommandInput, + ListInstanceTypeDetailsCommandOutput, +} from "./commands/ListInstanceTypeDetailsCommand"; +import { + ListPackagesForDomainCommand, + ListPackagesForDomainCommandInput, + ListPackagesForDomainCommandOutput, +} from "./commands/ListPackagesForDomainCommand"; +import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { + ListVersionsCommand, + ListVersionsCommandInput, + ListVersionsCommandOutput, +} from "./commands/ListVersionsCommand"; +import { + PurchaseReservedInstanceOfferingCommand, + PurchaseReservedInstanceOfferingCommandInput, + PurchaseReservedInstanceOfferingCommandOutput, +} from "./commands/PurchaseReservedInstanceOfferingCommand"; +import { + RejectInboundConnectionCommand, + RejectInboundConnectionCommandInput, + RejectInboundConnectionCommandOutput, +} from "./commands/RejectInboundConnectionCommand"; +import { RemoveTagsCommand, RemoveTagsCommandInput, RemoveTagsCommandOutput } from "./commands/RemoveTagsCommand"; +import { + StartServiceSoftwareUpdateCommand, + StartServiceSoftwareUpdateCommandInput, + StartServiceSoftwareUpdateCommandOutput, +} from "./commands/StartServiceSoftwareUpdateCommand"; +import { + UpdateDomainConfigCommand, + UpdateDomainConfigCommandInput, + UpdateDomainConfigCommandOutput, +} from "./commands/UpdateDomainConfigCommand"; +import { + UpdatePackageCommand, + UpdatePackageCommandInput, + UpdatePackageCommandOutput, +} from "./commands/UpdatePackageCommand"; +import { + UpgradeDomainCommand, + UpgradeDomainCommandInput, + UpgradeDomainCommandOutput, +} from "./commands/UpgradeDomainCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + * Amazon OpenSearch Configuration Service + *

Use the Amazon OpenSearch configuration API to create, configure, and manage Amazon OpenSearch Service domains.

+ *

For sample code that uses the configuration API, see the + * Amazon OpenSearch Service Developer Guide. + * The guide also contains + * sample + * code for sending signed HTTP requests to the OpenSearch APIs. + *

+ *

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. + * For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, + * see Regions and Endpoints. + *

+ */ +export class OpenSearch extends OpenSearchClient { + /** + *

Allows the remote domain owner to accept an inbound cross-cluster connection request.

+ */ + public acceptInboundConnection( + args: AcceptInboundConnectionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public acceptInboundConnection( + args: AcceptInboundConnectionCommandInput, + cb: (err: any, data?: AcceptInboundConnectionCommandOutput) => void + ): void; + public acceptInboundConnection( + args: AcceptInboundConnectionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AcceptInboundConnectionCommandOutput) => void + ): void; + public acceptInboundConnection( + args: AcceptInboundConnectionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AcceptInboundConnectionCommandOutput) => void), + cb?: (err: any, data?: AcceptInboundConnectionCommandOutput) => void + ): Promise | void { + const command = new AcceptInboundConnectionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Attaches tags to an existing domain. Tags are a set of case-sensitive key value pairs. An + * domain can have up to 10 tags. See + * + * Tagging Amazon OpenSearch Service domains for more information. + *

+ */ + public addTags(args: AddTagsCommandInput, options?: __HttpHandlerOptions): Promise; + public addTags(args: AddTagsCommandInput, cb: (err: any, data?: AddTagsCommandOutput) => void): void; + public addTags( + args: AddTagsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AddTagsCommandOutput) => void + ): void; + public addTags( + args: AddTagsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AddTagsCommandOutput) => void), + cb?: (err: any, data?: AddTagsCommandOutput) => void + ): Promise | void { + const command = new AddTagsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Associates a package with an Amazon OpenSearch Service domain.

+ */ + public associatePackage( + args: AssociatePackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associatePackage( + args: AssociatePackageCommandInput, + cb: (err: any, data?: AssociatePackageCommandOutput) => void + ): void; + public associatePackage( + args: AssociatePackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociatePackageCommandOutput) => void + ): void; + public associatePackage( + args: AssociatePackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociatePackageCommandOutput) => void), + cb?: (err: any, data?: AssociatePackageCommandOutput) => void + ): Promise | void { + const command = new AssociatePackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Cancels a scheduled service software update for an Amazon OpenSearch Service domain. You can only perform this operation before + * the AutomatedUpdateDate and when the UpdateStatus is in the PENDING_UPDATE state. + *

+ */ + public cancelServiceSoftwareUpdate( + args: CancelServiceSoftwareUpdateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public cancelServiceSoftwareUpdate( + args: CancelServiceSoftwareUpdateCommandInput, + cb: (err: any, data?: CancelServiceSoftwareUpdateCommandOutput) => void + ): void; + public cancelServiceSoftwareUpdate( + args: CancelServiceSoftwareUpdateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelServiceSoftwareUpdateCommandOutput) => void + ): void; + public cancelServiceSoftwareUpdate( + args: CancelServiceSoftwareUpdateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelServiceSoftwareUpdateCommandOutput) => void), + cb?: (err: any, data?: CancelServiceSoftwareUpdateCommandOutput) => void + ): Promise | void { + const command = new CancelServiceSoftwareUpdateCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Creates a new Amazon OpenSearch Service domain. For more information, + * see Creating and managing Amazon OpenSearch Service domains + * in the Amazon OpenSearch Service Developer Guide. + *

+ */ + public createDomain( + args: CreateDomainCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createDomain(args: CreateDomainCommandInput, cb: (err: any, data?: CreateDomainCommandOutput) => void): void; + public createDomain( + args: CreateDomainCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateDomainCommandOutput) => void + ): void; + public createDomain( + args: CreateDomainCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateDomainCommandOutput) => void), + cb?: (err: any, data?: CreateDomainCommandOutput) => void + ): Promise | void { + const command = new CreateDomainCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Creates a new cross-cluster connection from a local OpenSearch domain to a remote OpenSearch domain.

+ */ + public createOutboundConnection( + args: CreateOutboundConnectionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createOutboundConnection( + args: CreateOutboundConnectionCommandInput, + cb: (err: any, data?: CreateOutboundConnectionCommandOutput) => void + ): void; + public createOutboundConnection( + args: CreateOutboundConnectionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateOutboundConnectionCommandOutput) => void + ): void; + public createOutboundConnection( + args: CreateOutboundConnectionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateOutboundConnectionCommandOutput) => void), + cb?: (err: any, data?: CreateOutboundConnectionCommandOutput) => void + ): Promise | void { + const command = new CreateOutboundConnectionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Create a package for use with Amazon OpenSearch Service domains.

+ */ + public createPackage( + args: CreatePackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createPackage( + args: CreatePackageCommandInput, + cb: (err: any, data?: CreatePackageCommandOutput) => void + ): void; + public createPackage( + args: CreatePackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePackageCommandOutput) => void + ): void; + public createPackage( + args: CreatePackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreatePackageCommandOutput) => void), + cb?: (err: any, data?: CreatePackageCommandOutput) => void + ): Promise | void { + const command = new CreatePackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Permanently deletes the specified domain and all of its data. Once a domain is deleted, it cannot + * be recovered. + *

+ */ + public deleteDomain( + args: DeleteDomainCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteDomain(args: DeleteDomainCommandInput, cb: (err: any, data?: DeleteDomainCommandOutput) => void): void; + public deleteDomain( + args: DeleteDomainCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteDomainCommandOutput) => void + ): void; + public deleteDomain( + args: DeleteDomainCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteDomainCommandOutput) => void), + cb?: (err: any, data?: DeleteDomainCommandOutput) => void + ): Promise | void { + const command = new DeleteDomainCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Allows the remote domain owner to delete an existing inbound cross-cluster connection.

+ */ + public deleteInboundConnection( + args: DeleteInboundConnectionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteInboundConnection( + args: DeleteInboundConnectionCommandInput, + cb: (err: any, data?: DeleteInboundConnectionCommandOutput) => void + ): void; + public deleteInboundConnection( + args: DeleteInboundConnectionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteInboundConnectionCommandOutput) => void + ): void; + public deleteInboundConnection( + args: DeleteInboundConnectionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteInboundConnectionCommandOutput) => void), + cb?: (err: any, data?: DeleteInboundConnectionCommandOutput) => void + ): Promise | void { + const command = new DeleteInboundConnectionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Allows the local domain owner to delete an existing outbound cross-cluster connection.

+ */ + public deleteOutboundConnection( + args: DeleteOutboundConnectionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteOutboundConnection( + args: DeleteOutboundConnectionCommandInput, + cb: (err: any, data?: DeleteOutboundConnectionCommandOutput) => void + ): void; + public deleteOutboundConnection( + args: DeleteOutboundConnectionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteOutboundConnectionCommandOutput) => void + ): void; + public deleteOutboundConnection( + args: DeleteOutboundConnectionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteOutboundConnectionCommandOutput) => void), + cb?: (err: any, data?: DeleteOutboundConnectionCommandOutput) => void + ): Promise | void { + const command = new DeleteOutboundConnectionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes the package.

+ */ + public deletePackage( + args: DeletePackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePackage( + args: DeletePackageCommandInput, + cb: (err: any, data?: DeletePackageCommandOutput) => void + ): void; + public deletePackage( + args: DeletePackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePackageCommandOutput) => void + ): void; + public deletePackage( + args: DeletePackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePackageCommandOutput) => void), + cb?: (err: any, data?: DeletePackageCommandOutput) => void + ): Promise | void { + const command = new DeletePackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns domain configuration information about the specified domain, including the domain ID, + * domain endpoint, and domain ARN. + *

+ */ + public describeDomain( + args: DescribeDomainCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeDomain( + args: DescribeDomainCommandInput, + cb: (err: any, data?: DescribeDomainCommandOutput) => void + ): void; + public describeDomain( + args: DescribeDomainCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeDomainCommandOutput) => void + ): void; + public describeDomain( + args: DescribeDomainCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeDomainCommandOutput) => void), + cb?: (err: any, data?: DescribeDomainCommandOutput) => void + ): Promise | void { + const command = new DescribeDomainCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Provides scheduled Auto-Tune action details for the domain, such as Auto-Tune action type, + * description, severity, and scheduled date. + *

+ */ + public describeDomainAutoTunes( + args: DescribeDomainAutoTunesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeDomainAutoTunes( + args: DescribeDomainAutoTunesCommandInput, + cb: (err: any, data?: DescribeDomainAutoTunesCommandOutput) => void + ): void; + public describeDomainAutoTunes( + args: DescribeDomainAutoTunesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeDomainAutoTunesCommandOutput) => void + ): void; + public describeDomainAutoTunes( + args: DescribeDomainAutoTunesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeDomainAutoTunesCommandOutput) => void), + cb?: (err: any, data?: DescribeDomainAutoTunesCommandOutput) => void + ): Promise | void { + const command = new DescribeDomainAutoTunesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Provides cluster configuration information about the specified domain, such as the state, creation + * date, update version, and update date for cluster options. + *

+ */ + public describeDomainConfig( + args: DescribeDomainConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeDomainConfig( + args: DescribeDomainConfigCommandInput, + cb: (err: any, data?: DescribeDomainConfigCommandOutput) => void + ): void; + public describeDomainConfig( + args: DescribeDomainConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeDomainConfigCommandOutput) => void + ): void; + public describeDomainConfig( + args: DescribeDomainConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeDomainConfigCommandOutput) => void), + cb?: (err: any, data?: DescribeDomainConfigCommandOutput) => void + ): Promise | void { + const command = new DescribeDomainConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns domain configuration information about the specified domains, including the domain ID, + * domain endpoint, and domain ARN. + *

+ */ + public describeDomains( + args: DescribeDomainsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeDomains( + args: DescribeDomainsCommandInput, + cb: (err: any, data?: DescribeDomainsCommandOutput) => void + ): void; + public describeDomains( + args: DescribeDomainsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeDomainsCommandOutput) => void + ): void; + public describeDomains( + args: DescribeDomainsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeDomainsCommandOutput) => void), + cb?: (err: any, data?: DescribeDomainsCommandOutput) => void + ): Promise | void { + const command = new DescribeDomainsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists all the inbound cross-cluster connections for a remote domain.

+ */ + public describeInboundConnections( + args: DescribeInboundConnectionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInboundConnections( + args: DescribeInboundConnectionsCommandInput, + cb: (err: any, data?: DescribeInboundConnectionsCommandOutput) => void + ): void; + public describeInboundConnections( + args: DescribeInboundConnectionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInboundConnectionsCommandOutput) => void + ): void; + public describeInboundConnections( + args: DescribeInboundConnectionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeInboundConnectionsCommandOutput) => void), + cb?: (err: any, data?: DescribeInboundConnectionsCommandOutput) => void + ): Promise | void { + const command = new DescribeInboundConnectionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

+ * Describe the limits for a given instance type and OpenSearch or Elasticsearch version. + * When modifying an existing domain, specify the + * + * DomainName + * + * to see which limits you can modify. + *

+ */ + public describeInstanceTypeLimits( + args: DescribeInstanceTypeLimitsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInstanceTypeLimits( + args: DescribeInstanceTypeLimitsCommandInput, + cb: (err: any, data?: DescribeInstanceTypeLimitsCommandOutput) => void + ): void; + public describeInstanceTypeLimits( + args: DescribeInstanceTypeLimitsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInstanceTypeLimitsCommandOutput) => void + ): void; + public describeInstanceTypeLimits( + args: DescribeInstanceTypeLimitsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeInstanceTypeLimitsCommandOutput) => void), + cb?: (err: any, data?: DescribeInstanceTypeLimitsCommandOutput) => void + ): Promise | void { + const command = new DescribeInstanceTypeLimitsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists all the outbound cross-cluster connections for a local domain.

+ */ + public describeOutboundConnections( + args: DescribeOutboundConnectionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeOutboundConnections( + args: DescribeOutboundConnectionsCommandInput, + cb: (err: any, data?: DescribeOutboundConnectionsCommandOutput) => void + ): void; + public describeOutboundConnections( + args: DescribeOutboundConnectionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeOutboundConnectionsCommandOutput) => void + ): void; + public describeOutboundConnections( + args: DescribeOutboundConnectionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeOutboundConnectionsCommandOutput) => void), + cb?: (err: any, data?: DescribeOutboundConnectionsCommandOutput) => void + ): Promise | void { + const command = new DescribeOutboundConnectionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Describes all packages available to Amazon OpenSearch Service domains. Includes options for filtering, limiting the number of results, + * and pagination. + *

+ */ + public describePackages( + args: DescribePackagesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describePackages( + args: DescribePackagesCommandInput, + cb: (err: any, data?: DescribePackagesCommandOutput) => void + ): void; + public describePackages( + args: DescribePackagesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribePackagesCommandOutput) => void + ): void; + public describePackages( + args: DescribePackagesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribePackagesCommandOutput) => void), + cb?: (err: any, data?: DescribePackagesCommandOutput) => void + ): Promise | void { + const command = new DescribePackagesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists available reserved OpenSearch instance offerings.

+ */ + public describeReservedInstanceOfferings( + args: DescribeReservedInstanceOfferingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeReservedInstanceOfferings( + args: DescribeReservedInstanceOfferingsCommandInput, + cb: (err: any, data?: DescribeReservedInstanceOfferingsCommandOutput) => void + ): void; + public describeReservedInstanceOfferings( + args: DescribeReservedInstanceOfferingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReservedInstanceOfferingsCommandOutput) => void + ): void; + public describeReservedInstanceOfferings( + args: DescribeReservedInstanceOfferingsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeReservedInstanceOfferingsCommandOutput) => void), + cb?: (err: any, data?: DescribeReservedInstanceOfferingsCommandOutput) => void + ): Promise | void { + const command = new DescribeReservedInstanceOfferingsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns information about reserved OpenSearch instances for this account.

+ */ + public describeReservedInstances( + args: DescribeReservedInstancesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeReservedInstances( + args: DescribeReservedInstancesCommandInput, + cb: (err: any, data?: DescribeReservedInstancesCommandOutput) => void + ): void; + public describeReservedInstances( + args: DescribeReservedInstancesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReservedInstancesCommandOutput) => void + ): void; + public describeReservedInstances( + args: DescribeReservedInstancesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeReservedInstancesCommandOutput) => void), + cb?: (err: any, data?: DescribeReservedInstancesCommandOutput) => void + ): Promise | void { + const command = new DescribeReservedInstancesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Dissociates a package from the Amazon OpenSearch Service domain.

+ */ + public dissociatePackage( + args: DissociatePackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public dissociatePackage( + args: DissociatePackageCommandInput, + cb: (err: any, data?: DissociatePackageCommandOutput) => void + ): void; + public dissociatePackage( + args: DissociatePackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DissociatePackageCommandOutput) => void + ): void; + public dissociatePackage( + args: DissociatePackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DissociatePackageCommandOutput) => void), + cb?: (err: any, data?: DissociatePackageCommandOutput) => void + ): Promise | void { + const command = new DissociatePackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

+ * Returns a list of upgrade-compatible versions of OpenSearch/Elasticsearch. + * You can optionally pass a + * + * DomainName + * + * to get all upgrade-compatible versions of OpenSearch/Elasticsearch for that specific domain. + *

+ */ + public getCompatibleVersions( + args: GetCompatibleVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getCompatibleVersions( + args: GetCompatibleVersionsCommandInput, + cb: (err: any, data?: GetCompatibleVersionsCommandOutput) => void + ): void; + public getCompatibleVersions( + args: GetCompatibleVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetCompatibleVersionsCommandOutput) => void + ): void; + public getCompatibleVersions( + args: GetCompatibleVersionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetCompatibleVersionsCommandOutput) => void), + cb?: (err: any, data?: GetCompatibleVersionsCommandOutput) => void + ): Promise | void { + const command = new GetCompatibleVersionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns a list of package versions, along with their creation time and commit message.

+ */ + public getPackageVersionHistory( + args: GetPackageVersionHistoryCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getPackageVersionHistory( + args: GetPackageVersionHistoryCommandInput, + cb: (err: any, data?: GetPackageVersionHistoryCommandOutput) => void + ): void; + public getPackageVersionHistory( + args: GetPackageVersionHistoryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetPackageVersionHistoryCommandOutput) => void + ): void; + public getPackageVersionHistory( + args: GetPackageVersionHistoryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetPackageVersionHistoryCommandOutput) => void), + cb?: (err: any, data?: GetPackageVersionHistoryCommandOutput) => void + ): Promise | void { + const command = new GetPackageVersionHistoryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Retrieves the complete history of the last 10 upgrades performed on the domain.

+ */ + public getUpgradeHistory( + args: GetUpgradeHistoryCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getUpgradeHistory( + args: GetUpgradeHistoryCommandInput, + cb: (err: any, data?: GetUpgradeHistoryCommandOutput) => void + ): void; + public getUpgradeHistory( + args: GetUpgradeHistoryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetUpgradeHistoryCommandOutput) => void + ): void; + public getUpgradeHistory( + args: GetUpgradeHistoryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetUpgradeHistoryCommandOutput) => void), + cb?: (err: any, data?: GetUpgradeHistoryCommandOutput) => void + ): Promise | void { + const command = new GetUpgradeHistoryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Retrieves the latest status of the last upgrade or upgrade eligibility check performed on the domain. + *

+ */ + public getUpgradeStatus( + args: GetUpgradeStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getUpgradeStatus( + args: GetUpgradeStatusCommandInput, + cb: (err: any, data?: GetUpgradeStatusCommandOutput) => void + ): void; + public getUpgradeStatus( + args: GetUpgradeStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetUpgradeStatusCommandOutput) => void + ): void; + public getUpgradeStatus( + args: GetUpgradeStatusCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetUpgradeStatusCommandOutput) => void), + cb?: (err: any, data?: GetUpgradeStatusCommandOutput) => void + ): Promise | void { + const command = new GetUpgradeStatusCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the names of all domains owned by the current user's account.

+ */ + public listDomainNames( + args: ListDomainNamesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listDomainNames( + args: ListDomainNamesCommandInput, + cb: (err: any, data?: ListDomainNamesCommandOutput) => void + ): void; + public listDomainNames( + args: ListDomainNamesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDomainNamesCommandOutput) => void + ): void; + public listDomainNames( + args: ListDomainNamesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListDomainNamesCommandOutput) => void), + cb?: (err: any, data?: ListDomainNamesCommandOutput) => void + ): Promise | void { + const command = new ListDomainNamesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists all Amazon OpenSearch Service domains associated with the package.

+ */ + public listDomainsForPackage( + args: ListDomainsForPackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listDomainsForPackage( + args: ListDomainsForPackageCommandInput, + cb: (err: any, data?: ListDomainsForPackageCommandOutput) => void + ): void; + public listDomainsForPackage( + args: ListDomainsForPackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDomainsForPackageCommandOutput) => void + ): void; + public listDomainsForPackage( + args: ListDomainsForPackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListDomainsForPackageCommandOutput) => void), + cb?: (err: any, data?: ListDomainsForPackageCommandOutput) => void + ): Promise | void { + const command = new ListDomainsForPackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + public listInstanceTypeDetails( + args: ListInstanceTypeDetailsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listInstanceTypeDetails( + args: ListInstanceTypeDetailsCommandInput, + cb: (err: any, data?: ListInstanceTypeDetailsCommandOutput) => void + ): void; + public listInstanceTypeDetails( + args: ListInstanceTypeDetailsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListInstanceTypeDetailsCommandOutput) => void + ): void; + public listInstanceTypeDetails( + args: ListInstanceTypeDetailsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListInstanceTypeDetailsCommandOutput) => void), + cb?: (err: any, data?: ListInstanceTypeDetailsCommandOutput) => void + ): Promise | void { + const command = new ListInstanceTypeDetailsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists all packages associated with the Amazon OpenSearch Service domain.

+ */ + public listPackagesForDomain( + args: ListPackagesForDomainCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPackagesForDomain( + args: ListPackagesForDomainCommandInput, + cb: (err: any, data?: ListPackagesForDomainCommandOutput) => void + ): void; + public listPackagesForDomain( + args: ListPackagesForDomainCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPackagesForDomainCommandOutput) => void + ): void; + public listPackagesForDomain( + args: ListPackagesForDomainCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPackagesForDomainCommandOutput) => void), + cb?: (err: any, data?: ListPackagesForDomainCommandOutput) => void + ): Promise | void { + const command = new ListPackagesForDomainCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns all tags for the given domain.

+ */ + public listTags(args: ListTagsCommandInput, options?: __HttpHandlerOptions): Promise; + public listTags(args: ListTagsCommandInput, cb: (err: any, data?: ListTagsCommandOutput) => void): void; + public listTags( + args: ListTagsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTagsCommandOutput) => void + ): void; + public listTags( + args: ListTagsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTagsCommandOutput) => void), + cb?: (err: any, data?: ListTagsCommandOutput) => void + ): Promise | void { + const command = new ListTagsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

List all supported versions of OpenSearch and Elasticsearch.

+ */ + public listVersions( + args: ListVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listVersions(args: ListVersionsCommandInput, cb: (err: any, data?: ListVersionsCommandOutput) => void): void; + public listVersions( + args: ListVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListVersionsCommandOutput) => void + ): void; + public listVersions( + args: ListVersionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListVersionsCommandOutput) => void), + cb?: (err: any, data?: ListVersionsCommandOutput) => void + ): Promise | void { + const command = new ListVersionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Allows you to purchase reserved OpenSearch instances.

+ */ + public purchaseReservedInstanceOffering( + args: PurchaseReservedInstanceOfferingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public purchaseReservedInstanceOffering( + args: PurchaseReservedInstanceOfferingCommandInput, + cb: (err: any, data?: PurchaseReservedInstanceOfferingCommandOutput) => void + ): void; + public purchaseReservedInstanceOffering( + args: PurchaseReservedInstanceOfferingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PurchaseReservedInstanceOfferingCommandOutput) => void + ): void; + public purchaseReservedInstanceOffering( + args: PurchaseReservedInstanceOfferingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PurchaseReservedInstanceOfferingCommandOutput) => void), + cb?: (err: any, data?: PurchaseReservedInstanceOfferingCommandOutput) => void + ): Promise | void { + const command = new PurchaseReservedInstanceOfferingCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Allows the remote domain owner to reject an inbound cross-cluster connection request.

+ */ + public rejectInboundConnection( + args: RejectInboundConnectionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public rejectInboundConnection( + args: RejectInboundConnectionCommandInput, + cb: (err: any, data?: RejectInboundConnectionCommandOutput) => void + ): void; + public rejectInboundConnection( + args: RejectInboundConnectionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RejectInboundConnectionCommandOutput) => void + ): void; + public rejectInboundConnection( + args: RejectInboundConnectionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RejectInboundConnectionCommandOutput) => void), + cb?: (err: any, data?: RejectInboundConnectionCommandOutput) => void + ): Promise | void { + const command = new RejectInboundConnectionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Removes the specified set of tags from the given domain.

+ */ + public removeTags(args: RemoveTagsCommandInput, options?: __HttpHandlerOptions): Promise; + public removeTags(args: RemoveTagsCommandInput, cb: (err: any, data?: RemoveTagsCommandOutput) => void): void; + public removeTags( + args: RemoveTagsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RemoveTagsCommandOutput) => void + ): void; + public removeTags( + args: RemoveTagsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RemoveTagsCommandOutput) => void), + cb?: (err: any, data?: RemoveTagsCommandOutput) => void + ): Promise | void { + const command = new RemoveTagsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Schedules a service software update for an Amazon OpenSearch Service domain.

+ */ + public startServiceSoftwareUpdate( + args: StartServiceSoftwareUpdateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startServiceSoftwareUpdate( + args: StartServiceSoftwareUpdateCommandInput, + cb: (err: any, data?: StartServiceSoftwareUpdateCommandOutput) => void + ): void; + public startServiceSoftwareUpdate( + args: StartServiceSoftwareUpdateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartServiceSoftwareUpdateCommandOutput) => void + ): void; + public startServiceSoftwareUpdate( + args: StartServiceSoftwareUpdateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartServiceSoftwareUpdateCommandOutput) => void), + cb?: (err: any, data?: StartServiceSoftwareUpdateCommandOutput) => void + ): Promise | void { + const command = new StartServiceSoftwareUpdateCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Modifies the cluster configuration of the specified domain, such as setting the instance type + * and the number of instances. + *

+ */ + public updateDomainConfig( + args: UpdateDomainConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateDomainConfig( + args: UpdateDomainConfigCommandInput, + cb: (err: any, data?: UpdateDomainConfigCommandOutput) => void + ): void; + public updateDomainConfig( + args: UpdateDomainConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateDomainConfigCommandOutput) => void + ): void; + public updateDomainConfig( + args: UpdateDomainConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateDomainConfigCommandOutput) => void), + cb?: (err: any, data?: UpdateDomainConfigCommandOutput) => void + ): Promise | void { + const command = new UpdateDomainConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Updates a package for use with Amazon OpenSearch Service domains.

+ */ + public updatePackage( + args: UpdatePackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updatePackage( + args: UpdatePackageCommandInput, + cb: (err: any, data?: UpdatePackageCommandOutput) => void + ): void; + public updatePackage( + args: UpdatePackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdatePackageCommandOutput) => void + ): void; + public updatePackage( + args: UpdatePackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdatePackageCommandOutput) => void), + cb?: (err: any, data?: UpdatePackageCommandOutput) => void + ): Promise | void { + const command = new UpdatePackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Allows you to either upgrade your domain or perform an upgrade eligibility check to a compatible version of OpenSearch or Elasticsearch. + *

+ */ + public upgradeDomain( + args: UpgradeDomainCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public upgradeDomain( + args: UpgradeDomainCommandInput, + cb: (err: any, data?: UpgradeDomainCommandOutput) => void + ): void; + public upgradeDomain( + args: UpgradeDomainCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpgradeDomainCommandOutput) => void + ): void; + public upgradeDomain( + args: UpgradeDomainCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpgradeDomainCommandOutput) => void), + cb?: (err: any, data?: UpgradeDomainCommandOutput) => void + ): Promise | void { + const command = new UpgradeDomainCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } +} diff --git a/clients/client-opensearch/OpenSearchClient.ts b/clients/client-opensearch/OpenSearchClient.ts new file mode 100644 index 000000000000..0c546c69ae12 --- /dev/null +++ b/clients/client-opensearch/OpenSearchClient.ts @@ -0,0 +1,423 @@ +import { + AcceptInboundConnectionCommandInput, + AcceptInboundConnectionCommandOutput, +} from "./commands/AcceptInboundConnectionCommand"; +import { AddTagsCommandInput, AddTagsCommandOutput } from "./commands/AddTagsCommand"; +import { AssociatePackageCommandInput, AssociatePackageCommandOutput } from "./commands/AssociatePackageCommand"; +import { + CancelServiceSoftwareUpdateCommandInput, + CancelServiceSoftwareUpdateCommandOutput, +} from "./commands/CancelServiceSoftwareUpdateCommand"; +import { CreateDomainCommandInput, CreateDomainCommandOutput } from "./commands/CreateDomainCommand"; +import { + CreateOutboundConnectionCommandInput, + CreateOutboundConnectionCommandOutput, +} from "./commands/CreateOutboundConnectionCommand"; +import { CreatePackageCommandInput, CreatePackageCommandOutput } from "./commands/CreatePackageCommand"; +import { DeleteDomainCommandInput, DeleteDomainCommandOutput } from "./commands/DeleteDomainCommand"; +import { + DeleteInboundConnectionCommandInput, + DeleteInboundConnectionCommandOutput, +} from "./commands/DeleteInboundConnectionCommand"; +import { + DeleteOutboundConnectionCommandInput, + DeleteOutboundConnectionCommandOutput, +} from "./commands/DeleteOutboundConnectionCommand"; +import { DeletePackageCommandInput, DeletePackageCommandOutput } from "./commands/DeletePackageCommand"; +import { + DescribeDomainAutoTunesCommandInput, + DescribeDomainAutoTunesCommandOutput, +} from "./commands/DescribeDomainAutoTunesCommand"; +import { DescribeDomainCommandInput, DescribeDomainCommandOutput } from "./commands/DescribeDomainCommand"; +import { + DescribeDomainConfigCommandInput, + DescribeDomainConfigCommandOutput, +} from "./commands/DescribeDomainConfigCommand"; +import { DescribeDomainsCommandInput, DescribeDomainsCommandOutput } from "./commands/DescribeDomainsCommand"; +import { + DescribeInboundConnectionsCommandInput, + DescribeInboundConnectionsCommandOutput, +} from "./commands/DescribeInboundConnectionsCommand"; +import { + DescribeInstanceTypeLimitsCommandInput, + DescribeInstanceTypeLimitsCommandOutput, +} from "./commands/DescribeInstanceTypeLimitsCommand"; +import { + DescribeOutboundConnectionsCommandInput, + DescribeOutboundConnectionsCommandOutput, +} from "./commands/DescribeOutboundConnectionsCommand"; +import { DescribePackagesCommandInput, DescribePackagesCommandOutput } from "./commands/DescribePackagesCommand"; +import { + DescribeReservedInstanceOfferingsCommandInput, + DescribeReservedInstanceOfferingsCommandOutput, +} from "./commands/DescribeReservedInstanceOfferingsCommand"; +import { + DescribeReservedInstancesCommandInput, + DescribeReservedInstancesCommandOutput, +} from "./commands/DescribeReservedInstancesCommand"; +import { DissociatePackageCommandInput, DissociatePackageCommandOutput } from "./commands/DissociatePackageCommand"; +import { + GetCompatibleVersionsCommandInput, + GetCompatibleVersionsCommandOutput, +} from "./commands/GetCompatibleVersionsCommand"; +import { + GetPackageVersionHistoryCommandInput, + GetPackageVersionHistoryCommandOutput, +} from "./commands/GetPackageVersionHistoryCommand"; +import { GetUpgradeHistoryCommandInput, GetUpgradeHistoryCommandOutput } from "./commands/GetUpgradeHistoryCommand"; +import { GetUpgradeStatusCommandInput, GetUpgradeStatusCommandOutput } from "./commands/GetUpgradeStatusCommand"; +import { ListDomainNamesCommandInput, ListDomainNamesCommandOutput } from "./commands/ListDomainNamesCommand"; +import { + ListDomainsForPackageCommandInput, + ListDomainsForPackageCommandOutput, +} from "./commands/ListDomainsForPackageCommand"; +import { + ListInstanceTypeDetailsCommandInput, + ListInstanceTypeDetailsCommandOutput, +} from "./commands/ListInstanceTypeDetailsCommand"; +import { + ListPackagesForDomainCommandInput, + ListPackagesForDomainCommandOutput, +} from "./commands/ListPackagesForDomainCommand"; +import { ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { ListVersionsCommandInput, ListVersionsCommandOutput } from "./commands/ListVersionsCommand"; +import { + PurchaseReservedInstanceOfferingCommandInput, + PurchaseReservedInstanceOfferingCommandOutput, +} from "./commands/PurchaseReservedInstanceOfferingCommand"; +import { + RejectInboundConnectionCommandInput, + RejectInboundConnectionCommandOutput, +} from "./commands/RejectInboundConnectionCommand"; +import { RemoveTagsCommandInput, RemoveTagsCommandOutput } from "./commands/RemoveTagsCommand"; +import { + StartServiceSoftwareUpdateCommandInput, + StartServiceSoftwareUpdateCommandOutput, +} from "./commands/StartServiceSoftwareUpdateCommand"; +import { UpdateDomainConfigCommandInput, UpdateDomainConfigCommandOutput } from "./commands/UpdateDomainConfigCommand"; +import { UpdatePackageCommandInput, UpdatePackageCommandOutput } from "./commands/UpdatePackageCommand"; +import { UpgradeDomainCommandInput, UpgradeDomainCommandOutput } from "./commands/UpgradeDomainCommand"; +import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + Provider, + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + Hash as __Hash, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, + UserAgent as __UserAgent, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | AcceptInboundConnectionCommandInput + | AddTagsCommandInput + | AssociatePackageCommandInput + | CancelServiceSoftwareUpdateCommandInput + | CreateDomainCommandInput + | CreateOutboundConnectionCommandInput + | CreatePackageCommandInput + | DeleteDomainCommandInput + | DeleteInboundConnectionCommandInput + | DeleteOutboundConnectionCommandInput + | DeletePackageCommandInput + | DescribeDomainAutoTunesCommandInput + | DescribeDomainCommandInput + | DescribeDomainConfigCommandInput + | DescribeDomainsCommandInput + | DescribeInboundConnectionsCommandInput + | DescribeInstanceTypeLimitsCommandInput + | DescribeOutboundConnectionsCommandInput + | DescribePackagesCommandInput + | DescribeReservedInstanceOfferingsCommandInput + | DescribeReservedInstancesCommandInput + | DissociatePackageCommandInput + | GetCompatibleVersionsCommandInput + | GetPackageVersionHistoryCommandInput + | GetUpgradeHistoryCommandInput + | GetUpgradeStatusCommandInput + | ListDomainNamesCommandInput + | ListDomainsForPackageCommandInput + | ListInstanceTypeDetailsCommandInput + | ListPackagesForDomainCommandInput + | ListTagsCommandInput + | ListVersionsCommandInput + | PurchaseReservedInstanceOfferingCommandInput + | RejectInboundConnectionCommandInput + | RemoveTagsCommandInput + | StartServiceSoftwareUpdateCommandInput + | UpdateDomainConfigCommandInput + | UpdatePackageCommandInput + | UpgradeDomainCommandInput; + +export type ServiceOutputTypes = + | AcceptInboundConnectionCommandOutput + | AddTagsCommandOutput + | AssociatePackageCommandOutput + | CancelServiceSoftwareUpdateCommandOutput + | CreateDomainCommandOutput + | CreateOutboundConnectionCommandOutput + | CreatePackageCommandOutput + | DeleteDomainCommandOutput + | DeleteInboundConnectionCommandOutput + | DeleteOutboundConnectionCommandOutput + | DeletePackageCommandOutput + | DescribeDomainAutoTunesCommandOutput + | DescribeDomainCommandOutput + | DescribeDomainConfigCommandOutput + | DescribeDomainsCommandOutput + | DescribeInboundConnectionsCommandOutput + | DescribeInstanceTypeLimitsCommandOutput + | DescribeOutboundConnectionsCommandOutput + | DescribePackagesCommandOutput + | DescribeReservedInstanceOfferingsCommandOutput + | DescribeReservedInstancesCommandOutput + | DissociatePackageCommandOutput + | GetCompatibleVersionsCommandOutput + | GetPackageVersionHistoryCommandOutput + | GetUpgradeHistoryCommandOutput + | GetUpgradeStatusCommandOutput + | ListDomainNamesCommandOutput + | ListDomainsForPackageCommandOutput + | ListInstanceTypeDetailsCommandOutput + | ListPackagesForDomainCommandOutput + | ListTagsCommandOutput + | ListVersionsCommandOutput + | PurchaseReservedInstanceOfferingCommandOutput + | RejectInboundConnectionCommandOutput + | RemoveTagsCommandOutput + | StartServiceSoftwareUpdateCommandOutput + | UpdateDomainConfigCommandOutput + | UpdatePackageCommandOutput + | UpgradeDomainCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the {@link __Hash} interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + * @internal + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + * @internal + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + * @internal + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + * @internal + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array. + * @internal + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string. + * @internal + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array. + * @internal + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string. + * @internal + */ + utf8Encoder?: __Encoder; + + /** + * The runtime environment. + * @internal + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Specifies which retry algorithm to use. + */ + retryMode?: string | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Unique service identifier. + * @internal + */ + serviceId?: string; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Default credentials provider; Not available in browser runtime. + * @internal + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * Fetch related hostname, signing name or signing region with given region. + * @internal + */ + regionInfoProvider?: RegionInfoProvider; + + /** + * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header + * @internal + */ + defaultUserAgentProvider?: Provider<__UserAgent>; +} + +type OpenSearchClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + RetryInputConfig & + HostHeaderInputConfig & + AwsAuthInputConfig & + UserAgentInputConfig; +/** + * The configuration interface of OpenSearchClient class constructor that set the region, credentials and other options. + */ +export interface OpenSearchClientConfig extends OpenSearchClientConfigType {} + +type OpenSearchClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + RetryResolvedConfig & + HostHeaderResolvedConfig & + AwsAuthResolvedConfig & + UserAgentResolvedConfig; +/** + * The resolved configuration interface of OpenSearchClient class. This is resolved and normalized from the {@link OpenSearchClientConfig | constructor configuration interface}. + */ +export interface OpenSearchClientResolvedConfig extends OpenSearchClientResolvedConfigType {} + +/** + * Amazon OpenSearch Configuration Service + *

Use the Amazon OpenSearch configuration API to create, configure, and manage Amazon OpenSearch Service domains.

+ *

For sample code that uses the configuration API, see the + * Amazon OpenSearch Service Developer Guide. + * The guide also contains + * sample + * code for sending signed HTTP requests to the OpenSearch APIs. + *

+ *

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. + * For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, + * see Regions and Endpoints. + *

+ */ +export class OpenSearchClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + OpenSearchClientResolvedConfig +> { + /** + * The resolved configuration of OpenSearchClient class. This is resolved and normalized from the {@link OpenSearchClientConfig | constructor configuration interface}. + */ + readonly config: OpenSearchClientResolvedConfig; + + constructor(configuration: OpenSearchClientConfig) { + let _config_0 = __getRuntimeConfig(configuration); + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveRetryConfig(_config_2); + let _config_4 = resolveHostHeaderConfig(_config_3); + let _config_5 = resolveAwsAuthConfig(_config_4); + let _config_6 = resolveUserAgentConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + } + + /** + * Destroy underlying resources, like sockets. It's usually not necessary to do this. + * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. + * Otherwise, sockets might stay open for quite a long time before the server terminates them. + */ + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-opensearch/README.md b/clients/client-opensearch/README.md new file mode 100644 index 000000000000..2bdc581f7408 --- /dev/null +++ b/clients/client-opensearch/README.md @@ -0,0 +1,215 @@ +# @aws-sdk/client-opensearch + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-opensearch/latest.svg)](https://www.npmjs.com/package/@aws-sdk/client-opensearch) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-opensearch.svg)](https://www.npmjs.com/package/@aws-sdk/client-opensearch) + +## Description + +AWS SDK for JavaScript OpenSearch Client for Node.js, Browser and React Native. + +Amazon OpenSearch Configuration Service + +

Use the Amazon OpenSearch configuration API to create, configure, and manage Amazon OpenSearch Service domains.

+

For sample code that uses the configuration API, see the +Amazon OpenSearch Service Developer Guide. +The guide also contains +sample +code for sending signed HTTP requests to the OpenSearch APIs. +

+

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. +For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, +see Regions and Endpoints. +

+ +## Installing + +To install the this package, simply type add or install @aws-sdk/client-opensearch +using your favorite package manager: + +- `npm install @aws-sdk/client-opensearch` +- `yarn add @aws-sdk/client-opensearch` +- `pnpm add @aws-sdk/client-opensearch` + +## Getting Started + +### Import + +The AWS SDK is modulized by clients and commands. +To send a request, you only need to import the `OpenSearchClient` and +the commands you need, for example `AcceptInboundConnectionCommand`: + +```js +// ES5 example +const { OpenSearchClient, AcceptInboundConnectionCommand } = require("@aws-sdk/client-opensearch"); +``` + +```ts +// ES6+ example +import { OpenSearchClient, AcceptInboundConnectionCommand } from "@aws-sdk/client-opensearch"; +``` + +### Usage + +To send a request, you: + +- Initiate client with configuration (e.g. credentials, region). +- Initiate command with input parameters. +- Call `send` operation on client with command object as input. +- If you are using a custom http handler, you may call `destroy()` to close open connections. + +```js +// a client can be shared by different commands. +const client = new OpenSearchClient({ region: "REGION" }); + +const params = { + /** input parameters */ +}; +const command = new AcceptInboundConnectionCommand(params); +``` + +#### Async/await + +We recommend using [await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await) +operator to wait for the promise returned by send operation as follows: + +```js +// async/await. +try { + const data = await client.send(command); + // process data. +} catch (error) { + // error handling. +} finally { + // finally. +} +``` + +Async-await is clean, concise, intuitive, easy to debug and has better error handling +as compared to using Promise chains or callbacks. + +#### Promises + +You can also use [Promise chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining) +to execute send operation. + +```js +client.send(command).then( + (data) => { + // process data. + }, + (error) => { + // error handling. + } +); +``` + +Promises can also be called using `.catch()` and `.finally()` as follows: + +```js +client + .send(command) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }) + .finally(() => { + // finally. + }); +``` + +#### Callbacks + +We do not recommend using callbacks because of [callback hell](http://callbackhell.com/), +but they are supported by the send operation. + +```js +// callbacks. +client.send(command, (err, data) => { + // proccess err and data. +}); +``` + +#### v2 compatible style + +The client can also send requests using v2 compatible style. +However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post +on [modular packages in AWS SDK for JavaScript](https://aws.amazon.com/blogs/developer/modular-packages-in-aws-sdk-for-javascript/) + +```ts +import * as AWS from "@aws-sdk/client-opensearch"; +const client = new AWS.OpenSearch({ region: "REGION" }); + +// async/await. +try { + const data = await client.acceptInboundConnection(params); + // process data. +} catch (error) { + // error handling. +} + +// Promises. +client + .acceptInboundConnection(params) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }); + +// callbacks. +client.acceptInboundConnection(params, (err, data) => { + // proccess err and data. +}); +``` + +### Troubleshooting + +When the service returns an exception, the error will include the exception information, +as well as response metadata (e.g. request id). + +```js +try { + const data = await client.send(command); + // process data. +} catch (error) { + const { requestId, cfId, extendedRequestId } = error.$metadata; + console.log({ requestId, cfId, extendedRequestId }); + /** + * The keys within exceptions are also parsed. + * You can access them by specifying exception names: + * if (error.name === 'SomeServiceException') { + * const value = error.specialKeyInException; + * } + */ +} +``` + +## Getting Help + +Please use these community resources for getting help. +We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them. + +- Visit [Developer Guide](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html) + or [API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html). +- Check out the blog posts tagged with [`aws-sdk-js`](https://aws.amazon.com/blogs/developer/tag/aws-sdk-js/) + on AWS Developer Blog. +- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/aws-sdk-js) and tag it with `aws-sdk-js`. +- Join the AWS JavaScript community on [gitter](https://gitter.im/aws/aws-sdk-js-v3). +- If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-js-v3/issues/new/choose). + +To test your universal JavaScript code in Node.js, browser and react-native environments, +visit our [code samples repo](https://github.com/aws-samples/aws-sdk-js-tests). + +## Contributing + +This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/client-opensearch` package is updated. +To contribute to client you can check our [generate clients scripts](https://github.com/aws/aws-sdk-js-v3/tree/main/scripts/generate-clients). + +## License + +This SDK is distributed under the +[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0), +see LICENSE for more information. diff --git a/clients/client-opensearch/commands/AcceptInboundConnectionCommand.ts b/clients/client-opensearch/commands/AcceptInboundConnectionCommand.ts new file mode 100644 index 000000000000..7ce6c7ea7e7d --- /dev/null +++ b/clients/client-opensearch/commands/AcceptInboundConnectionCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { AcceptInboundConnectionRequest, AcceptInboundConnectionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1AcceptInboundConnectionCommand, + serializeAws_restJson1AcceptInboundConnectionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface AcceptInboundConnectionCommandInput extends AcceptInboundConnectionRequest {} +export interface AcceptInboundConnectionCommandOutput extends AcceptInboundConnectionResponse, __MetadataBearer {} + +/** + *

Allows the remote domain owner to accept an inbound cross-cluster connection request.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, AcceptInboundConnectionCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, AcceptInboundConnectionCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new AcceptInboundConnectionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AcceptInboundConnectionCommandInput} for command's `input` shape. + * @see {@link AcceptInboundConnectionCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class AcceptInboundConnectionCommand extends $Command< + AcceptInboundConnectionCommandInput, + AcceptInboundConnectionCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AcceptInboundConnectionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "AcceptInboundConnectionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AcceptInboundConnectionRequest.filterSensitiveLog, + outputFilterSensitiveLog: AcceptInboundConnectionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AcceptInboundConnectionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AcceptInboundConnectionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AcceptInboundConnectionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/AddTagsCommand.ts b/clients/client-opensearch/commands/AddTagsCommand.ts new file mode 100644 index 000000000000..f6ec91f64995 --- /dev/null +++ b/clients/client-opensearch/commands/AddTagsCommand.ts @@ -0,0 +1,98 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { AddTagsRequest } from "../models/models_0"; +import { + deserializeAws_restJson1AddTagsCommand, + serializeAws_restJson1AddTagsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface AddTagsCommandInput extends AddTagsRequest {} +export interface AddTagsCommandOutput extends __MetadataBearer {} + +/** + *

Attaches tags to an existing domain. Tags are a set of case-sensitive key value pairs. An + * domain can have up to 10 tags. See + * + * Tagging Amazon OpenSearch Service domains for more information. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, AddTagsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, AddTagsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new AddTagsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AddTagsCommandInput} for command's `input` shape. + * @see {@link AddTagsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class AddTagsCommand extends $Command< + AddTagsCommandInput, + AddTagsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AddTagsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "AddTagsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AddTagsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AddTagsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AddTagsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AddTagsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/AssociatePackageCommand.ts b/clients/client-opensearch/commands/AssociatePackageCommand.ts new file mode 100644 index 000000000000..d374ec7f6de0 --- /dev/null +++ b/clients/client-opensearch/commands/AssociatePackageCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { AssociatePackageRequest, AssociatePackageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1AssociatePackageCommand, + serializeAws_restJson1AssociatePackageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface AssociatePackageCommandInput extends AssociatePackageRequest {} +export interface AssociatePackageCommandOutput extends AssociatePackageResponse, __MetadataBearer {} + +/** + *

Associates a package with an Amazon OpenSearch Service domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, AssociatePackageCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, AssociatePackageCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new AssociatePackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AssociatePackageCommandInput} for command's `input` shape. + * @see {@link AssociatePackageCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class AssociatePackageCommand extends $Command< + AssociatePackageCommandInput, + AssociatePackageCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociatePackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "AssociatePackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociatePackageRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociatePackageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociatePackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AssociatePackageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AssociatePackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/CancelServiceSoftwareUpdateCommand.ts b/clients/client-opensearch/commands/CancelServiceSoftwareUpdateCommand.ts new file mode 100644 index 000000000000..0e2d0e404133 --- /dev/null +++ b/clients/client-opensearch/commands/CancelServiceSoftwareUpdateCommand.ts @@ -0,0 +1,101 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { CancelServiceSoftwareUpdateRequest, CancelServiceSoftwareUpdateResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CancelServiceSoftwareUpdateCommand, + serializeAws_restJson1CancelServiceSoftwareUpdateCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CancelServiceSoftwareUpdateCommandInput extends CancelServiceSoftwareUpdateRequest {} +export interface CancelServiceSoftwareUpdateCommandOutput + extends CancelServiceSoftwareUpdateResponse, + __MetadataBearer {} + +/** + *

Cancels a scheduled service software update for an Amazon OpenSearch Service domain. You can only perform this operation before + * the AutomatedUpdateDate and when the UpdateStatus is in the PENDING_UPDATE state. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, CancelServiceSoftwareUpdateCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, CancelServiceSoftwareUpdateCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new CancelServiceSoftwareUpdateCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CancelServiceSoftwareUpdateCommandInput} for command's `input` shape. + * @see {@link CancelServiceSoftwareUpdateCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CancelServiceSoftwareUpdateCommand extends $Command< + CancelServiceSoftwareUpdateCommandInput, + CancelServiceSoftwareUpdateCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelServiceSoftwareUpdateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "CancelServiceSoftwareUpdateCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CancelServiceSoftwareUpdateRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelServiceSoftwareUpdateResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelServiceSoftwareUpdateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CancelServiceSoftwareUpdateCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1CancelServiceSoftwareUpdateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/CreateDomainCommand.ts b/clients/client-opensearch/commands/CreateDomainCommand.ts new file mode 100644 index 000000000000..12010ebd2e67 --- /dev/null +++ b/clients/client-opensearch/commands/CreateDomainCommand.ts @@ -0,0 +1,97 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { CreateDomainRequest, CreateDomainResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateDomainCommand, + serializeAws_restJson1CreateDomainCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateDomainCommandInput extends CreateDomainRequest {} +export interface CreateDomainCommandOutput extends CreateDomainResponse, __MetadataBearer {} + +/** + *

Creates a new Amazon OpenSearch Service domain. For more information, + * see Creating and managing Amazon OpenSearch Service domains + * in the Amazon OpenSearch Service Developer Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, CreateDomainCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, CreateDomainCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new CreateDomainCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateDomainCommandInput} for command's `input` shape. + * @see {@link CreateDomainCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateDomainCommand extends $Command< + CreateDomainCommandInput, + CreateDomainCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateDomainCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "CreateDomainCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateDomainRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateDomainResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateDomainCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateDomainCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateDomainCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/CreateOutboundConnectionCommand.ts b/clients/client-opensearch/commands/CreateOutboundConnectionCommand.ts new file mode 100644 index 000000000000..36c5630f7753 --- /dev/null +++ b/clients/client-opensearch/commands/CreateOutboundConnectionCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { CreateOutboundConnectionRequest, CreateOutboundConnectionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateOutboundConnectionCommand, + serializeAws_restJson1CreateOutboundConnectionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateOutboundConnectionCommandInput extends CreateOutboundConnectionRequest {} +export interface CreateOutboundConnectionCommandOutput extends CreateOutboundConnectionResponse, __MetadataBearer {} + +/** + *

Creates a new cross-cluster connection from a local OpenSearch domain to a remote OpenSearch domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, CreateOutboundConnectionCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, CreateOutboundConnectionCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new CreateOutboundConnectionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateOutboundConnectionCommandInput} for command's `input` shape. + * @see {@link CreateOutboundConnectionCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateOutboundConnectionCommand extends $Command< + CreateOutboundConnectionCommandInput, + CreateOutboundConnectionCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateOutboundConnectionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "CreateOutboundConnectionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateOutboundConnectionRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateOutboundConnectionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateOutboundConnectionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateOutboundConnectionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateOutboundConnectionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/CreatePackageCommand.ts b/clients/client-opensearch/commands/CreatePackageCommand.ts new file mode 100644 index 000000000000..3e2dc1a1683d --- /dev/null +++ b/clients/client-opensearch/commands/CreatePackageCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { CreatePackageRequest, CreatePackageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreatePackageCommand, + serializeAws_restJson1CreatePackageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreatePackageCommandInput extends CreatePackageRequest {} +export interface CreatePackageCommandOutput extends CreatePackageResponse, __MetadataBearer {} + +/** + *

Create a package for use with Amazon OpenSearch Service domains.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, CreatePackageCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, CreatePackageCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new CreatePackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreatePackageCommandInput} for command's `input` shape. + * @see {@link CreatePackageCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreatePackageCommand extends $Command< + CreatePackageCommandInput, + CreatePackageCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreatePackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "CreatePackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreatePackageRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreatePackageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreatePackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreatePackageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreatePackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DeleteDomainCommand.ts b/clients/client-opensearch/commands/DeleteDomainCommand.ts new file mode 100644 index 000000000000..efa470ac33c4 --- /dev/null +++ b/clients/client-opensearch/commands/DeleteDomainCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DeleteDomainRequest, DeleteDomainResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteDomainCommand, + serializeAws_restJson1DeleteDomainCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteDomainCommandInput extends DeleteDomainRequest {} +export interface DeleteDomainCommandOutput extends DeleteDomainResponse, __MetadataBearer {} + +/** + *

Permanently deletes the specified domain and all of its data. Once a domain is deleted, it cannot + * be recovered. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DeleteDomainCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DeleteDomainCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DeleteDomainCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteDomainCommandInput} for command's `input` shape. + * @see {@link DeleteDomainCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteDomainCommand extends $Command< + DeleteDomainCommandInput, + DeleteDomainCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteDomainCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DeleteDomainCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteDomainRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteDomainResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteDomainCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteDomainCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteDomainCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DeleteInboundConnectionCommand.ts b/clients/client-opensearch/commands/DeleteInboundConnectionCommand.ts new file mode 100644 index 000000000000..007e9be9ab87 --- /dev/null +++ b/clients/client-opensearch/commands/DeleteInboundConnectionCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DeleteInboundConnectionRequest, DeleteInboundConnectionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteInboundConnectionCommand, + serializeAws_restJson1DeleteInboundConnectionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteInboundConnectionCommandInput extends DeleteInboundConnectionRequest {} +export interface DeleteInboundConnectionCommandOutput extends DeleteInboundConnectionResponse, __MetadataBearer {} + +/** + *

Allows the remote domain owner to delete an existing inbound cross-cluster connection.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DeleteInboundConnectionCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DeleteInboundConnectionCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DeleteInboundConnectionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteInboundConnectionCommandInput} for command's `input` shape. + * @see {@link DeleteInboundConnectionCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteInboundConnectionCommand extends $Command< + DeleteInboundConnectionCommandInput, + DeleteInboundConnectionCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteInboundConnectionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DeleteInboundConnectionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteInboundConnectionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteInboundConnectionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteInboundConnectionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteInboundConnectionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteInboundConnectionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DeleteOutboundConnectionCommand.ts b/clients/client-opensearch/commands/DeleteOutboundConnectionCommand.ts new file mode 100644 index 000000000000..f60a11c344ae --- /dev/null +++ b/clients/client-opensearch/commands/DeleteOutboundConnectionCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DeleteOutboundConnectionRequest, DeleteOutboundConnectionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteOutboundConnectionCommand, + serializeAws_restJson1DeleteOutboundConnectionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteOutboundConnectionCommandInput extends DeleteOutboundConnectionRequest {} +export interface DeleteOutboundConnectionCommandOutput extends DeleteOutboundConnectionResponse, __MetadataBearer {} + +/** + *

Allows the local domain owner to delete an existing outbound cross-cluster connection.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DeleteOutboundConnectionCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DeleteOutboundConnectionCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DeleteOutboundConnectionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteOutboundConnectionCommandInput} for command's `input` shape. + * @see {@link DeleteOutboundConnectionCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteOutboundConnectionCommand extends $Command< + DeleteOutboundConnectionCommandInput, + DeleteOutboundConnectionCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteOutboundConnectionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DeleteOutboundConnectionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteOutboundConnectionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteOutboundConnectionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteOutboundConnectionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteOutboundConnectionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteOutboundConnectionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DeletePackageCommand.ts b/clients/client-opensearch/commands/DeletePackageCommand.ts new file mode 100644 index 000000000000..0ff78d01bc1e --- /dev/null +++ b/clients/client-opensearch/commands/DeletePackageCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DeletePackageRequest, DeletePackageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeletePackageCommand, + serializeAws_restJson1DeletePackageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeletePackageCommandInput extends DeletePackageRequest {} +export interface DeletePackageCommandOutput extends DeletePackageResponse, __MetadataBearer {} + +/** + *

Deletes the package.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DeletePackageCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DeletePackageCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DeletePackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeletePackageCommandInput} for command's `input` shape. + * @see {@link DeletePackageCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeletePackageCommand extends $Command< + DeletePackageCommandInput, + DeletePackageCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DeletePackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeletePackageRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeletePackageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeletePackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeletePackageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeletePackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeDomainAutoTunesCommand.ts b/clients/client-opensearch/commands/DescribeDomainAutoTunesCommand.ts new file mode 100644 index 000000000000..2ab3d70b2025 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeDomainAutoTunesCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeDomainAutoTunesRequest, DescribeDomainAutoTunesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeDomainAutoTunesCommand, + serializeAws_restJson1DescribeDomainAutoTunesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeDomainAutoTunesCommandInput extends DescribeDomainAutoTunesRequest {} +export interface DescribeDomainAutoTunesCommandOutput extends DescribeDomainAutoTunesResponse, __MetadataBearer {} + +/** + *

Provides scheduled Auto-Tune action details for the domain, such as Auto-Tune action type, + * description, severity, and scheduled date. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeDomainAutoTunesCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeDomainAutoTunesCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeDomainAutoTunesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeDomainAutoTunesCommandInput} for command's `input` shape. + * @see {@link DescribeDomainAutoTunesCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeDomainAutoTunesCommand extends $Command< + DescribeDomainAutoTunesCommandInput, + DescribeDomainAutoTunesCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeDomainAutoTunesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeDomainAutoTunesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeDomainAutoTunesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeDomainAutoTunesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeDomainAutoTunesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeDomainAutoTunesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeDomainAutoTunesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeDomainCommand.ts b/clients/client-opensearch/commands/DescribeDomainCommand.ts new file mode 100644 index 000000000000..836015c118f5 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeDomainCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeDomainRequest, DescribeDomainResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeDomainCommand, + serializeAws_restJson1DescribeDomainCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeDomainCommandInput extends DescribeDomainRequest {} +export interface DescribeDomainCommandOutput extends DescribeDomainResponse, __MetadataBearer {} + +/** + *

Returns domain configuration information about the specified domain, including the domain ID, + * domain endpoint, and domain ARN. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeDomainCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeDomainCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeDomainCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeDomainCommandInput} for command's `input` shape. + * @see {@link DescribeDomainCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeDomainCommand extends $Command< + DescribeDomainCommandInput, + DescribeDomainCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeDomainCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeDomainCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeDomainRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeDomainResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeDomainCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeDomainCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeDomainCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeDomainConfigCommand.ts b/clients/client-opensearch/commands/DescribeDomainConfigCommand.ts new file mode 100644 index 000000000000..e3a97446e5c8 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeDomainConfigCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeDomainConfigRequest, DescribeDomainConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeDomainConfigCommand, + serializeAws_restJson1DescribeDomainConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeDomainConfigCommandInput extends DescribeDomainConfigRequest {} +export interface DescribeDomainConfigCommandOutput extends DescribeDomainConfigResponse, __MetadataBearer {} + +/** + *

Provides cluster configuration information about the specified domain, such as the state, creation + * date, update version, and update date for cluster options. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeDomainConfigCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeDomainConfigCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeDomainConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeDomainConfigCommandInput} for command's `input` shape. + * @see {@link DescribeDomainConfigCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeDomainConfigCommand extends $Command< + DescribeDomainConfigCommandInput, + DescribeDomainConfigCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeDomainConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeDomainConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeDomainConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeDomainConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeDomainConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeDomainConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeDomainConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeDomainsCommand.ts b/clients/client-opensearch/commands/DescribeDomainsCommand.ts new file mode 100644 index 000000000000..ac57e8695762 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeDomainsCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeDomainsRequest, DescribeDomainsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeDomainsCommand, + serializeAws_restJson1DescribeDomainsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeDomainsCommandInput extends DescribeDomainsRequest {} +export interface DescribeDomainsCommandOutput extends DescribeDomainsResponse, __MetadataBearer {} + +/** + *

Returns domain configuration information about the specified domains, including the domain ID, + * domain endpoint, and domain ARN. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeDomainsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeDomainsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeDomainsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeDomainsCommandInput} for command's `input` shape. + * @see {@link DescribeDomainsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeDomainsCommand extends $Command< + DescribeDomainsCommandInput, + DescribeDomainsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeDomainsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeDomainsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeDomainsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeDomainsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeDomainsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeDomainsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeDomainsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeInboundConnectionsCommand.ts b/clients/client-opensearch/commands/DescribeInboundConnectionsCommand.ts new file mode 100644 index 000000000000..07856b2c33c9 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeInboundConnectionsCommand.ts @@ -0,0 +1,97 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeInboundConnectionsRequest, DescribeInboundConnectionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeInboundConnectionsCommand, + serializeAws_restJson1DescribeInboundConnectionsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeInboundConnectionsCommandInput extends DescribeInboundConnectionsRequest {} +export interface DescribeInboundConnectionsCommandOutput extends DescribeInboundConnectionsResponse, __MetadataBearer {} + +/** + *

Lists all the inbound cross-cluster connections for a remote domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeInboundConnectionsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeInboundConnectionsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeInboundConnectionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeInboundConnectionsCommandInput} for command's `input` shape. + * @see {@link DescribeInboundConnectionsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeInboundConnectionsCommand extends $Command< + DescribeInboundConnectionsCommandInput, + DescribeInboundConnectionsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInboundConnectionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeInboundConnectionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInboundConnectionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInboundConnectionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeInboundConnectionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeInboundConnectionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeInboundConnectionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeInstanceTypeLimitsCommand.ts b/clients/client-opensearch/commands/DescribeInstanceTypeLimitsCommand.ts new file mode 100644 index 000000000000..24f69eb566d2 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeInstanceTypeLimitsCommand.ts @@ -0,0 +1,104 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeInstanceTypeLimitsRequest, DescribeInstanceTypeLimitsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeInstanceTypeLimitsCommand, + serializeAws_restJson1DescribeInstanceTypeLimitsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeInstanceTypeLimitsCommandInput extends DescribeInstanceTypeLimitsRequest {} +export interface DescribeInstanceTypeLimitsCommandOutput extends DescribeInstanceTypeLimitsResponse, __MetadataBearer {} + +/** + *

+ * Describe the limits for a given instance type and OpenSearch or Elasticsearch version. + * When modifying an existing domain, specify the + * + * DomainName + * + * to see which limits you can modify. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeInstanceTypeLimitsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeInstanceTypeLimitsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeInstanceTypeLimitsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeInstanceTypeLimitsCommandInput} for command's `input` shape. + * @see {@link DescribeInstanceTypeLimitsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeInstanceTypeLimitsCommand extends $Command< + DescribeInstanceTypeLimitsCommandInput, + DescribeInstanceTypeLimitsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInstanceTypeLimitsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeInstanceTypeLimitsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInstanceTypeLimitsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInstanceTypeLimitsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeInstanceTypeLimitsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeInstanceTypeLimitsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeInstanceTypeLimitsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeOutboundConnectionsCommand.ts b/clients/client-opensearch/commands/DescribeOutboundConnectionsCommand.ts new file mode 100644 index 000000000000..74e1e006d95e --- /dev/null +++ b/clients/client-opensearch/commands/DescribeOutboundConnectionsCommand.ts @@ -0,0 +1,99 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeOutboundConnectionsRequest, DescribeOutboundConnectionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeOutboundConnectionsCommand, + serializeAws_restJson1DescribeOutboundConnectionsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeOutboundConnectionsCommandInput extends DescribeOutboundConnectionsRequest {} +export interface DescribeOutboundConnectionsCommandOutput + extends DescribeOutboundConnectionsResponse, + __MetadataBearer {} + +/** + *

Lists all the outbound cross-cluster connections for a local domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeOutboundConnectionsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeOutboundConnectionsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeOutboundConnectionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeOutboundConnectionsCommandInput} for command's `input` shape. + * @see {@link DescribeOutboundConnectionsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeOutboundConnectionsCommand extends $Command< + DescribeOutboundConnectionsCommandInput, + DescribeOutboundConnectionsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeOutboundConnectionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeOutboundConnectionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeOutboundConnectionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeOutboundConnectionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeOutboundConnectionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeOutboundConnectionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeOutboundConnectionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribePackagesCommand.ts b/clients/client-opensearch/commands/DescribePackagesCommand.ts new file mode 100644 index 000000000000..c299ee425d57 --- /dev/null +++ b/clients/client-opensearch/commands/DescribePackagesCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribePackagesRequest, DescribePackagesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribePackagesCommand, + serializeAws_restJson1DescribePackagesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribePackagesCommandInput extends DescribePackagesRequest {} +export interface DescribePackagesCommandOutput extends DescribePackagesResponse, __MetadataBearer {} + +/** + *

Describes all packages available to Amazon OpenSearch Service domains. Includes options for filtering, limiting the number of results, + * and pagination. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribePackagesCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribePackagesCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribePackagesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribePackagesCommandInput} for command's `input` shape. + * @see {@link DescribePackagesCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribePackagesCommand extends $Command< + DescribePackagesCommandInput, + DescribePackagesCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribePackagesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribePackagesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribePackagesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribePackagesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribePackagesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribePackagesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribePackagesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeReservedInstanceOfferingsCommand.ts b/clients/client-opensearch/commands/DescribeReservedInstanceOfferingsCommand.ts new file mode 100644 index 000000000000..b3422d2f32f0 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeReservedInstanceOfferingsCommand.ts @@ -0,0 +1,105 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { + DescribeReservedInstanceOfferingsRequest, + DescribeReservedInstanceOfferingsResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1DescribeReservedInstanceOfferingsCommand, + serializeAws_restJson1DescribeReservedInstanceOfferingsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeReservedInstanceOfferingsCommandInput extends DescribeReservedInstanceOfferingsRequest {} +export interface DescribeReservedInstanceOfferingsCommandOutput + extends DescribeReservedInstanceOfferingsResponse, + __MetadataBearer {} + +/** + *

Lists available reserved OpenSearch instance offerings.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeReservedInstanceOfferingsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeReservedInstanceOfferingsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeReservedInstanceOfferingsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeReservedInstanceOfferingsCommandInput} for command's `input` shape. + * @see {@link DescribeReservedInstanceOfferingsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeReservedInstanceOfferingsCommand extends $Command< + DescribeReservedInstanceOfferingsCommandInput, + DescribeReservedInstanceOfferingsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeReservedInstanceOfferingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeReservedInstanceOfferingsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeReservedInstanceOfferingsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeReservedInstanceOfferingsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeReservedInstanceOfferingsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeReservedInstanceOfferingsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeReservedInstanceOfferingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DescribeReservedInstancesCommand.ts b/clients/client-opensearch/commands/DescribeReservedInstancesCommand.ts new file mode 100644 index 000000000000..807d5522bc83 --- /dev/null +++ b/clients/client-opensearch/commands/DescribeReservedInstancesCommand.ts @@ -0,0 +1,97 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DescribeReservedInstancesRequest, DescribeReservedInstancesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeReservedInstancesCommand, + serializeAws_restJson1DescribeReservedInstancesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeReservedInstancesCommandInput extends DescribeReservedInstancesRequest {} +export interface DescribeReservedInstancesCommandOutput extends DescribeReservedInstancesResponse, __MetadataBearer {} + +/** + *

Returns information about reserved OpenSearch instances for this account.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DescribeReservedInstancesCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DescribeReservedInstancesCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DescribeReservedInstancesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeReservedInstancesCommandInput} for command's `input` shape. + * @see {@link DescribeReservedInstancesCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeReservedInstancesCommand extends $Command< + DescribeReservedInstancesCommandInput, + DescribeReservedInstancesCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeReservedInstancesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DescribeReservedInstancesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeReservedInstancesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeReservedInstancesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeReservedInstancesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeReservedInstancesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeReservedInstancesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/DissociatePackageCommand.ts b/clients/client-opensearch/commands/DissociatePackageCommand.ts new file mode 100644 index 000000000000..f3f9f66fc28a --- /dev/null +++ b/clients/client-opensearch/commands/DissociatePackageCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { DissociatePackageRequest, DissociatePackageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DissociatePackageCommand, + serializeAws_restJson1DissociatePackageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DissociatePackageCommandInput extends DissociatePackageRequest {} +export interface DissociatePackageCommandOutput extends DissociatePackageResponse, __MetadataBearer {} + +/** + *

Dissociates a package from the Amazon OpenSearch Service domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, DissociatePackageCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, DissociatePackageCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new DissociatePackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DissociatePackageCommandInput} for command's `input` shape. + * @see {@link DissociatePackageCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DissociatePackageCommand extends $Command< + DissociatePackageCommandInput, + DissociatePackageCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DissociatePackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "DissociatePackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DissociatePackageRequest.filterSensitiveLog, + outputFilterSensitiveLog: DissociatePackageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DissociatePackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DissociatePackageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DissociatePackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/GetCompatibleVersionsCommand.ts b/clients/client-opensearch/commands/GetCompatibleVersionsCommand.ts new file mode 100644 index 000000000000..7ebc2b41da25 --- /dev/null +++ b/clients/client-opensearch/commands/GetCompatibleVersionsCommand.ts @@ -0,0 +1,101 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { GetCompatibleVersionsRequest, GetCompatibleVersionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetCompatibleVersionsCommand, + serializeAws_restJson1GetCompatibleVersionsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface GetCompatibleVersionsCommandInput extends GetCompatibleVersionsRequest {} +export interface GetCompatibleVersionsCommandOutput extends GetCompatibleVersionsResponse, __MetadataBearer {} + +/** + *

+ * Returns a list of upgrade-compatible versions of OpenSearch/Elasticsearch. + * You can optionally pass a + * + * DomainName + * + * to get all upgrade-compatible versions of OpenSearch/Elasticsearch for that specific domain. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, GetCompatibleVersionsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, GetCompatibleVersionsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new GetCompatibleVersionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetCompatibleVersionsCommandInput} for command's `input` shape. + * @see {@link GetCompatibleVersionsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetCompatibleVersionsCommand extends $Command< + GetCompatibleVersionsCommandInput, + GetCompatibleVersionsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetCompatibleVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "GetCompatibleVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetCompatibleVersionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetCompatibleVersionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetCompatibleVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetCompatibleVersionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetCompatibleVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/GetPackageVersionHistoryCommand.ts b/clients/client-opensearch/commands/GetPackageVersionHistoryCommand.ts new file mode 100644 index 000000000000..cd0d73e70980 --- /dev/null +++ b/clients/client-opensearch/commands/GetPackageVersionHistoryCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { GetPackageVersionHistoryRequest, GetPackageVersionHistoryResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetPackageVersionHistoryCommand, + serializeAws_restJson1GetPackageVersionHistoryCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface GetPackageVersionHistoryCommandInput extends GetPackageVersionHistoryRequest {} +export interface GetPackageVersionHistoryCommandOutput extends GetPackageVersionHistoryResponse, __MetadataBearer {} + +/** + *

Returns a list of package versions, along with their creation time and commit message.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, GetPackageVersionHistoryCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, GetPackageVersionHistoryCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new GetPackageVersionHistoryCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetPackageVersionHistoryCommandInput} for command's `input` shape. + * @see {@link GetPackageVersionHistoryCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetPackageVersionHistoryCommand extends $Command< + GetPackageVersionHistoryCommandInput, + GetPackageVersionHistoryCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetPackageVersionHistoryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "GetPackageVersionHistoryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetPackageVersionHistoryRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetPackageVersionHistoryResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetPackageVersionHistoryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetPackageVersionHistoryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetPackageVersionHistoryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/GetUpgradeHistoryCommand.ts b/clients/client-opensearch/commands/GetUpgradeHistoryCommand.ts new file mode 100644 index 000000000000..23649b1c3cfa --- /dev/null +++ b/clients/client-opensearch/commands/GetUpgradeHistoryCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { GetUpgradeHistoryRequest, GetUpgradeHistoryResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetUpgradeHistoryCommand, + serializeAws_restJson1GetUpgradeHistoryCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface GetUpgradeHistoryCommandInput extends GetUpgradeHistoryRequest {} +export interface GetUpgradeHistoryCommandOutput extends GetUpgradeHistoryResponse, __MetadataBearer {} + +/** + *

Retrieves the complete history of the last 10 upgrades performed on the domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, GetUpgradeHistoryCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, GetUpgradeHistoryCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new GetUpgradeHistoryCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetUpgradeHistoryCommandInput} for command's `input` shape. + * @see {@link GetUpgradeHistoryCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetUpgradeHistoryCommand extends $Command< + GetUpgradeHistoryCommandInput, + GetUpgradeHistoryCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetUpgradeHistoryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "GetUpgradeHistoryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetUpgradeHistoryRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetUpgradeHistoryResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetUpgradeHistoryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetUpgradeHistoryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetUpgradeHistoryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/GetUpgradeStatusCommand.ts b/clients/client-opensearch/commands/GetUpgradeStatusCommand.ts new file mode 100644 index 000000000000..d0b7a17f9717 --- /dev/null +++ b/clients/client-opensearch/commands/GetUpgradeStatusCommand.ts @@ -0,0 +1,95 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { GetUpgradeStatusRequest, GetUpgradeStatusResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetUpgradeStatusCommand, + serializeAws_restJson1GetUpgradeStatusCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface GetUpgradeStatusCommandInput extends GetUpgradeStatusRequest {} +export interface GetUpgradeStatusCommandOutput extends GetUpgradeStatusResponse, __MetadataBearer {} + +/** + *

Retrieves the latest status of the last upgrade or upgrade eligibility check performed on the domain. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, GetUpgradeStatusCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, GetUpgradeStatusCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new GetUpgradeStatusCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetUpgradeStatusCommandInput} for command's `input` shape. + * @see {@link GetUpgradeStatusCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetUpgradeStatusCommand extends $Command< + GetUpgradeStatusCommandInput, + GetUpgradeStatusCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetUpgradeStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "GetUpgradeStatusCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetUpgradeStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetUpgradeStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetUpgradeStatusCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetUpgradeStatusCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetUpgradeStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/ListDomainNamesCommand.ts b/clients/client-opensearch/commands/ListDomainNamesCommand.ts new file mode 100644 index 000000000000..9f1f894ceca8 --- /dev/null +++ b/clients/client-opensearch/commands/ListDomainNamesCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { ListDomainNamesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListDomainNamesCommand, + serializeAws_restJson1ListDomainNamesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListDomainNamesCommandInput {} +export interface ListDomainNamesCommandOutput extends ListDomainNamesResponse, __MetadataBearer {} + +/** + *

Returns the names of all domains owned by the current user's account.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, ListDomainNamesCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, ListDomainNamesCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new ListDomainNamesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListDomainNamesCommandInput} for command's `input` shape. + * @see {@link ListDomainNamesCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListDomainNamesCommand extends $Command< + ListDomainNamesCommandInput, + ListDomainNamesCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListDomainNamesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "ListDomainNamesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (input: any) => input, + outputFilterSensitiveLog: ListDomainNamesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListDomainNamesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListDomainNamesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListDomainNamesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/ListDomainsForPackageCommand.ts b/clients/client-opensearch/commands/ListDomainsForPackageCommand.ts new file mode 100644 index 000000000000..6488712fbba4 --- /dev/null +++ b/clients/client-opensearch/commands/ListDomainsForPackageCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { ListDomainsForPackageRequest, ListDomainsForPackageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListDomainsForPackageCommand, + serializeAws_restJson1ListDomainsForPackageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListDomainsForPackageCommandInput extends ListDomainsForPackageRequest {} +export interface ListDomainsForPackageCommandOutput extends ListDomainsForPackageResponse, __MetadataBearer {} + +/** + *

Lists all Amazon OpenSearch Service domains associated with the package.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, ListDomainsForPackageCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, ListDomainsForPackageCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new ListDomainsForPackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListDomainsForPackageCommandInput} for command's `input` shape. + * @see {@link ListDomainsForPackageCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListDomainsForPackageCommand extends $Command< + ListDomainsForPackageCommandInput, + ListDomainsForPackageCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListDomainsForPackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "ListDomainsForPackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListDomainsForPackageRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListDomainsForPackageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListDomainsForPackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListDomainsForPackageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListDomainsForPackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/ListInstanceTypeDetailsCommand.ts b/clients/client-opensearch/commands/ListInstanceTypeDetailsCommand.ts new file mode 100644 index 000000000000..0943f5fe8f02 --- /dev/null +++ b/clients/client-opensearch/commands/ListInstanceTypeDetailsCommand.ts @@ -0,0 +1,77 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { ListInstanceTypeDetailsRequest, ListInstanceTypeDetailsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListInstanceTypeDetailsCommand, + serializeAws_restJson1ListInstanceTypeDetailsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListInstanceTypeDetailsCommandInput extends ListInstanceTypeDetailsRequest {} +export interface ListInstanceTypeDetailsCommandOutput extends ListInstanceTypeDetailsResponse, __MetadataBearer {} + +export class ListInstanceTypeDetailsCommand extends $Command< + ListInstanceTypeDetailsCommandInput, + ListInstanceTypeDetailsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListInstanceTypeDetailsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "ListInstanceTypeDetailsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListInstanceTypeDetailsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInstanceTypeDetailsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListInstanceTypeDetailsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListInstanceTypeDetailsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListInstanceTypeDetailsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/ListPackagesForDomainCommand.ts b/clients/client-opensearch/commands/ListPackagesForDomainCommand.ts new file mode 100644 index 000000000000..6e128c1367a1 --- /dev/null +++ b/clients/client-opensearch/commands/ListPackagesForDomainCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { ListPackagesForDomainRequest, ListPackagesForDomainResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListPackagesForDomainCommand, + serializeAws_restJson1ListPackagesForDomainCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListPackagesForDomainCommandInput extends ListPackagesForDomainRequest {} +export interface ListPackagesForDomainCommandOutput extends ListPackagesForDomainResponse, __MetadataBearer {} + +/** + *

Lists all packages associated with the Amazon OpenSearch Service domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, ListPackagesForDomainCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, ListPackagesForDomainCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new ListPackagesForDomainCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListPackagesForDomainCommandInput} for command's `input` shape. + * @see {@link ListPackagesForDomainCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListPackagesForDomainCommand extends $Command< + ListPackagesForDomainCommandInput, + ListPackagesForDomainCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPackagesForDomainCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "ListPackagesForDomainCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListPackagesForDomainRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPackagesForDomainResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListPackagesForDomainCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListPackagesForDomainCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListPackagesForDomainCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/ListTagsCommand.ts b/clients/client-opensearch/commands/ListTagsCommand.ts new file mode 100644 index 000000000000..4b8f5a547e8f --- /dev/null +++ b/clients/client-opensearch/commands/ListTagsCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { ListTagsRequest, ListTagsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListTagsCommand, + serializeAws_restJson1ListTagsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListTagsCommandInput extends ListTagsRequest {} +export interface ListTagsCommandOutput extends ListTagsResponse, __MetadataBearer {} + +/** + *

Returns all tags for the given domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, ListTagsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, ListTagsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new ListTagsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListTagsCommandInput} for command's `input` shape. + * @see {@link ListTagsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListTagsCommand extends $Command< + ListTagsCommandInput, + ListTagsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTagsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "ListTagsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListTagsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTagsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListTagsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListTagsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/ListVersionsCommand.ts b/clients/client-opensearch/commands/ListVersionsCommand.ts new file mode 100644 index 000000000000..305bf67a8ac1 --- /dev/null +++ b/clients/client-opensearch/commands/ListVersionsCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { ListVersionsRequest, ListVersionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListVersionsCommand, + serializeAws_restJson1ListVersionsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListVersionsCommandInput extends ListVersionsRequest {} +export interface ListVersionsCommandOutput extends ListVersionsResponse, __MetadataBearer {} + +/** + *

List all supported versions of OpenSearch and Elasticsearch.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, ListVersionsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, ListVersionsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new ListVersionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListVersionsCommandInput} for command's `input` shape. + * @see {@link ListVersionsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListVersionsCommand extends $Command< + ListVersionsCommandInput, + ListVersionsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "ListVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListVersionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListVersionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListVersionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/PurchaseReservedInstanceOfferingCommand.ts b/clients/client-opensearch/commands/PurchaseReservedInstanceOfferingCommand.ts new file mode 100644 index 000000000000..19666952de07 --- /dev/null +++ b/clients/client-opensearch/commands/PurchaseReservedInstanceOfferingCommand.ts @@ -0,0 +1,102 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { PurchaseReservedInstanceOfferingRequest, PurchaseReservedInstanceOfferingResponse } from "../models/models_0"; +import { + deserializeAws_restJson1PurchaseReservedInstanceOfferingCommand, + serializeAws_restJson1PurchaseReservedInstanceOfferingCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface PurchaseReservedInstanceOfferingCommandInput extends PurchaseReservedInstanceOfferingRequest {} +export interface PurchaseReservedInstanceOfferingCommandOutput + extends PurchaseReservedInstanceOfferingResponse, + __MetadataBearer {} + +/** + *

Allows you to purchase reserved OpenSearch instances.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, PurchaseReservedInstanceOfferingCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, PurchaseReservedInstanceOfferingCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new PurchaseReservedInstanceOfferingCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link PurchaseReservedInstanceOfferingCommandInput} for command's `input` shape. + * @see {@link PurchaseReservedInstanceOfferingCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class PurchaseReservedInstanceOfferingCommand extends $Command< + PurchaseReservedInstanceOfferingCommandInput, + PurchaseReservedInstanceOfferingCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PurchaseReservedInstanceOfferingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "PurchaseReservedInstanceOfferingCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PurchaseReservedInstanceOfferingRequest.filterSensitiveLog, + outputFilterSensitiveLog: PurchaseReservedInstanceOfferingResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PurchaseReservedInstanceOfferingCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1PurchaseReservedInstanceOfferingCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1PurchaseReservedInstanceOfferingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/RejectInboundConnectionCommand.ts b/clients/client-opensearch/commands/RejectInboundConnectionCommand.ts new file mode 100644 index 000000000000..f4a949665693 --- /dev/null +++ b/clients/client-opensearch/commands/RejectInboundConnectionCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { RejectInboundConnectionRequest, RejectInboundConnectionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1RejectInboundConnectionCommand, + serializeAws_restJson1RejectInboundConnectionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface RejectInboundConnectionCommandInput extends RejectInboundConnectionRequest {} +export interface RejectInboundConnectionCommandOutput extends RejectInboundConnectionResponse, __MetadataBearer {} + +/** + *

Allows the remote domain owner to reject an inbound cross-cluster connection request.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, RejectInboundConnectionCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, RejectInboundConnectionCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new RejectInboundConnectionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link RejectInboundConnectionCommandInput} for command's `input` shape. + * @see {@link RejectInboundConnectionCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class RejectInboundConnectionCommand extends $Command< + RejectInboundConnectionCommandInput, + RejectInboundConnectionCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RejectInboundConnectionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "RejectInboundConnectionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RejectInboundConnectionRequest.filterSensitiveLog, + outputFilterSensitiveLog: RejectInboundConnectionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RejectInboundConnectionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RejectInboundConnectionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RejectInboundConnectionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/RemoveTagsCommand.ts b/clients/client-opensearch/commands/RemoveTagsCommand.ts new file mode 100644 index 000000000000..b90548d9080e --- /dev/null +++ b/clients/client-opensearch/commands/RemoveTagsCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { RemoveTagsRequest } from "../models/models_0"; +import { + deserializeAws_restJson1RemoveTagsCommand, + serializeAws_restJson1RemoveTagsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface RemoveTagsCommandInput extends RemoveTagsRequest {} +export interface RemoveTagsCommandOutput extends __MetadataBearer {} + +/** + *

Removes the specified set of tags from the given domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, RemoveTagsCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, RemoveTagsCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new RemoveTagsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link RemoveTagsCommandInput} for command's `input` shape. + * @see {@link RemoveTagsCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class RemoveTagsCommand extends $Command< + RemoveTagsCommandInput, + RemoveTagsCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RemoveTagsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "RemoveTagsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RemoveTagsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RemoveTagsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RemoveTagsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RemoveTagsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/StartServiceSoftwareUpdateCommand.ts b/clients/client-opensearch/commands/StartServiceSoftwareUpdateCommand.ts new file mode 100644 index 000000000000..ab4b57982f8c --- /dev/null +++ b/clients/client-opensearch/commands/StartServiceSoftwareUpdateCommand.ts @@ -0,0 +1,97 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { StartServiceSoftwareUpdateRequest, StartServiceSoftwareUpdateResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StartServiceSoftwareUpdateCommand, + serializeAws_restJson1StartServiceSoftwareUpdateCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface StartServiceSoftwareUpdateCommandInput extends StartServiceSoftwareUpdateRequest {} +export interface StartServiceSoftwareUpdateCommandOutput extends StartServiceSoftwareUpdateResponse, __MetadataBearer {} + +/** + *

Schedules a service software update for an Amazon OpenSearch Service domain.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, StartServiceSoftwareUpdateCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, StartServiceSoftwareUpdateCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new StartServiceSoftwareUpdateCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartServiceSoftwareUpdateCommandInput} for command's `input` shape. + * @see {@link StartServiceSoftwareUpdateCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class StartServiceSoftwareUpdateCommand extends $Command< + StartServiceSoftwareUpdateCommandInput, + StartServiceSoftwareUpdateCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartServiceSoftwareUpdateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "StartServiceSoftwareUpdateCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartServiceSoftwareUpdateRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartServiceSoftwareUpdateResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartServiceSoftwareUpdateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1StartServiceSoftwareUpdateCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1StartServiceSoftwareUpdateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/UpdateDomainConfigCommand.ts b/clients/client-opensearch/commands/UpdateDomainConfigCommand.ts new file mode 100644 index 000000000000..65437220f757 --- /dev/null +++ b/clients/client-opensearch/commands/UpdateDomainConfigCommand.ts @@ -0,0 +1,96 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { UpdateDomainConfigRequest, UpdateDomainConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateDomainConfigCommand, + serializeAws_restJson1UpdateDomainConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateDomainConfigCommandInput extends UpdateDomainConfigRequest {} +export interface UpdateDomainConfigCommandOutput extends UpdateDomainConfigResponse, __MetadataBearer {} + +/** + *

Modifies the cluster configuration of the specified domain, such as setting the instance type + * and the number of instances. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, UpdateDomainConfigCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, UpdateDomainConfigCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new UpdateDomainConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateDomainConfigCommandInput} for command's `input` shape. + * @see {@link UpdateDomainConfigCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateDomainConfigCommand extends $Command< + UpdateDomainConfigCommandInput, + UpdateDomainConfigCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateDomainConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "UpdateDomainConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateDomainConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateDomainConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateDomainConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateDomainConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateDomainConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/UpdatePackageCommand.ts b/clients/client-opensearch/commands/UpdatePackageCommand.ts new file mode 100644 index 000000000000..0fe3156b58d2 --- /dev/null +++ b/clients/client-opensearch/commands/UpdatePackageCommand.ts @@ -0,0 +1,94 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { UpdatePackageRequest, UpdatePackageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdatePackageCommand, + serializeAws_restJson1UpdatePackageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdatePackageCommandInput extends UpdatePackageRequest {} +export interface UpdatePackageCommandOutput extends UpdatePackageResponse, __MetadataBearer {} + +/** + *

Updates a package for use with Amazon OpenSearch Service domains.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, UpdatePackageCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, UpdatePackageCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new UpdatePackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdatePackageCommandInput} for command's `input` shape. + * @see {@link UpdatePackageCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdatePackageCommand extends $Command< + UpdatePackageCommandInput, + UpdatePackageCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdatePackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "UpdatePackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdatePackageRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdatePackageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdatePackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdatePackageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdatePackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/commands/UpgradeDomainCommand.ts b/clients/client-opensearch/commands/UpgradeDomainCommand.ts new file mode 100644 index 000000000000..d97bb252e10b --- /dev/null +++ b/clients/client-opensearch/commands/UpgradeDomainCommand.ts @@ -0,0 +1,95 @@ +import { OpenSearchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OpenSearchClient"; +import { UpgradeDomainRequest, UpgradeDomainResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpgradeDomainCommand, + serializeAws_restJson1UpgradeDomainCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpgradeDomainCommandInput extends UpgradeDomainRequest {} +export interface UpgradeDomainCommandOutput extends UpgradeDomainResponse, __MetadataBearer {} + +/** + *

Allows you to either upgrade your domain or perform an upgrade eligibility check to a compatible version of OpenSearch or Elasticsearch. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OpenSearchClient, UpgradeDomainCommand } from "@aws-sdk/client-opensearch"; // ES Modules import + * // const { OpenSearchClient, UpgradeDomainCommand } = require("@aws-sdk/client-opensearch"); // CommonJS import + * const client = new OpenSearchClient(config); + * const command = new UpgradeDomainCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpgradeDomainCommandInput} for command's `input` shape. + * @see {@link UpgradeDomainCommandOutput} for command's `response` shape. + * @see {@link OpenSearchClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpgradeDomainCommand extends $Command< + UpgradeDomainCommandInput, + UpgradeDomainCommandOutput, + OpenSearchClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpgradeDomainCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OpenSearchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OpenSearchClient"; + const commandName = "UpgradeDomainCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpgradeDomainRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpgradeDomainResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpgradeDomainCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpgradeDomainCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpgradeDomainCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-opensearch/endpoints.ts b/clients/client-opensearch/endpoints.ts new file mode 100644 index 000000000000..b250df0f90db --- /dev/null +++ b/clients/client-opensearch/endpoints.ts @@ -0,0 +1,63 @@ +import { PartitionHash, RegionHash, getRegionInfo } from "@aws-sdk/config-resolver"; +import { RegionInfoProvider } from "@aws-sdk/types"; + +const regionHash: RegionHash = { + fips: { + hostname: "es-fips.us-gov-west-1.amazonaws.com", + signingRegion: "us-gov-west-1", + }, +}; + +const partitionHash: PartitionHash = { + aws: { + regions: [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-southeast-1", + "ap-southeast-2", + "ca-central-1", + "eu-central-1", + "eu-north-1", + "eu-south-1", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "fips", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", + ], + hostname: "es.{region}.amazonaws.com", + }, + "aws-cn": { + regions: ["cn-north-1", "cn-northwest-1"], + hostname: "es.{region}.amazonaws.com.cn", + }, + "aws-iso": { + regions: ["us-iso-east-1"], + hostname: "es.{region}.c2s.ic.gov", + }, + "aws-iso-b": { + regions: ["us-isob-east-1"], + hostname: "es.{region}.sc2s.sgov.gov", + }, + "aws-us-gov": { + regions: ["fips", "us-gov-east-1", "us-gov-west-1"], + hostname: "es.{region}.amazonaws.com", + }, +}; + +export const defaultRegionInfoProvider: RegionInfoProvider = async (region: string, options?: any) => + getRegionInfo(region, { + ...options, + signingService: "es", + regionHash, + partitionHash, + }); diff --git a/clients/client-opensearch/index.ts b/clients/client-opensearch/index.ts new file mode 100644 index 000000000000..56af7e9eac13 --- /dev/null +++ b/clients/client-opensearch/index.ts @@ -0,0 +1,55 @@ +export * from "./OpenSearchClient"; +export * from "./OpenSearch"; +export * from "./commands/AcceptInboundConnectionCommand"; +export * from "./commands/AddTagsCommand"; +export * from "./commands/AssociatePackageCommand"; +export * from "./commands/CancelServiceSoftwareUpdateCommand"; +export * from "./commands/CreateDomainCommand"; +export * from "./commands/CreateOutboundConnectionCommand"; +export * from "./commands/CreatePackageCommand"; +export * from "./commands/DeleteDomainCommand"; +export * from "./commands/DeleteInboundConnectionCommand"; +export * from "./commands/DeleteOutboundConnectionCommand"; +export * from "./commands/DeletePackageCommand"; +export * from "./commands/DescribeDomainCommand"; +export * from "./commands/DescribeDomainAutoTunesCommand"; +export * from "./pagination/DescribeDomainAutoTunesPaginator"; +export * from "./commands/DescribeDomainConfigCommand"; +export * from "./commands/DescribeDomainsCommand"; +export * from "./commands/DescribeInboundConnectionsCommand"; +export * from "./pagination/DescribeInboundConnectionsPaginator"; +export * from "./commands/DescribeInstanceTypeLimitsCommand"; +export * from "./commands/DescribeOutboundConnectionsCommand"; +export * from "./pagination/DescribeOutboundConnectionsPaginator"; +export * from "./commands/DescribePackagesCommand"; +export * from "./pagination/DescribePackagesPaginator"; +export * from "./commands/DescribeReservedInstanceOfferingsCommand"; +export * from "./pagination/DescribeReservedInstanceOfferingsPaginator"; +export * from "./commands/DescribeReservedInstancesCommand"; +export * from "./pagination/DescribeReservedInstancesPaginator"; +export * from "./commands/DissociatePackageCommand"; +export * from "./commands/GetCompatibleVersionsCommand"; +export * from "./commands/GetPackageVersionHistoryCommand"; +export * from "./pagination/GetPackageVersionHistoryPaginator"; +export * from "./commands/GetUpgradeHistoryCommand"; +export * from "./pagination/GetUpgradeHistoryPaginator"; +export * from "./commands/GetUpgradeStatusCommand"; +export * from "./commands/ListDomainNamesCommand"; +export * from "./commands/ListDomainsForPackageCommand"; +export * from "./pagination/ListDomainsForPackagePaginator"; +export * from "./commands/ListInstanceTypeDetailsCommand"; +export * from "./pagination/ListInstanceTypeDetailsPaginator"; +export * from "./commands/ListPackagesForDomainCommand"; +export * from "./pagination/ListPackagesForDomainPaginator"; +export * from "./commands/ListTagsCommand"; +export * from "./commands/ListVersionsCommand"; +export * from "./pagination/ListVersionsPaginator"; +export * from "./commands/PurchaseReservedInstanceOfferingCommand"; +export * from "./commands/RejectInboundConnectionCommand"; +export * from "./commands/RemoveTagsCommand"; +export * from "./commands/StartServiceSoftwareUpdateCommand"; +export * from "./commands/UpdateDomainConfigCommand"; +export * from "./commands/UpdatePackageCommand"; +export * from "./commands/UpgradeDomainCommand"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-opensearch/jest.config.js b/clients/client-opensearch/jest.config.js new file mode 100644 index 000000000000..02eed352c6a8 --- /dev/null +++ b/clients/client-opensearch/jest.config.js @@ -0,0 +1,4 @@ +module.exports = { + preset: "ts-jest", + testMatch: ["**/*.spec.ts", "!**/*.browser.spec.ts", "!**/*.integ.spec.ts"], +}; diff --git a/clients/client-opensearch/models/index.ts b/clients/client-opensearch/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-opensearch/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-opensearch/models/models_0.ts b/clients/client-opensearch/models/models_0.ts new file mode 100644 index 000000000000..dec7b3523b76 --- /dev/null +++ b/clients/client-opensearch/models/models_0.ts @@ -0,0 +1,5704 @@ +import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; + +/** + *

Container for the parameters to the + * + * AcceptInboundConnection + * + * operation. + *

+ */ +export interface AcceptInboundConnectionRequest { + /** + *

The ID of the inbound connection you want to accept.

+ */ + ConnectionId: string | undefined; +} + +export namespace AcceptInboundConnectionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceptInboundConnectionRequest): any => ({ + ...obj, + }); +} + +export enum InboundConnectionStatusCode { + ACTIVE = "ACTIVE", + APPROVED = "APPROVED", + DELETED = "DELETED", + DELETING = "DELETING", + PENDING_ACCEPTANCE = "PENDING_ACCEPTANCE", + PROVISIONING = "PROVISIONING", + REJECTED = "REJECTED", + REJECTING = "REJECTING", +} + +/** + *

The connection status of an inbound cross-cluster connection.

+ */ +export interface InboundConnectionStatus { + /** + *

The state code for the inbound connection. Can be one of the following:

+ *
    + *
  • PENDING_ACCEPTANCE: Inbound connection is not yet accepted by the remote domain owner.
  • + *
  • APPROVED: Inbound connection is pending acceptance by the remote domain owner.
  • + *
  • PROVISIONING: Inbound connection provisioning is in progress.
  • + *
  • ACTIVE: Inbound connection is active and ready to use.
  • + *
  • REJECTING: Inbound connection rejection is in process.
  • + *
  • REJECTED: Inbound connection is rejected.
  • + *
  • DELETING: Inbound connection deletion is in progress.
  • + *
  • DELETED: Inbound connection is deleted and can no longer be used.
  • + *
+ */ + StatusCode?: InboundConnectionStatusCode | string; + + /** + *

Verbose information for the inbound connection status.

+ */ + Message?: string; +} + +export namespace InboundConnectionStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InboundConnectionStatus): any => ({ + ...obj, + }); +} + +export interface AWSDomainInformation { + OwnerId?: string; + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName: string | undefined; + + Region?: string; +} + +export namespace AWSDomainInformation { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AWSDomainInformation): any => ({ + ...obj, + }); +} + +export interface DomainInformationContainer { + AWSDomainInformation?: AWSDomainInformation; +} + +export namespace DomainInformationContainer { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainInformationContainer): any => ({ + ...obj, + }); +} + +/** + *

Details of an inbound connection.

+ */ +export interface InboundConnection { + /** + *

The + * + * AWSDomainInformation + * + * for the local OpenSearch domain. + *

+ */ + LocalDomainInfo?: DomainInformationContainer; + + /** + *

The + * + * AWSDomainInformation + * + * for the remote OpenSearch domain. + *

+ */ + RemoteDomainInfo?: DomainInformationContainer; + + /** + *

The connection ID for the inbound cross-cluster connection.

+ */ + ConnectionId?: string; + + /** + *

The + * + * InboundConnectionStatus + * + * for the outbound connection. + *

+ */ + ConnectionStatus?: InboundConnectionStatus; +} + +export namespace InboundConnection { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InboundConnection): any => ({ + ...obj, + }); +} + +/** + *

The result of an + * + * AcceptInboundConnection + * + * operation. Contains details about the accepted inbound connection. + *

+ */ +export interface AcceptInboundConnectionResponse { + /** + *

The + * + * InboundConnection + * + * of the accepted inbound connection. + *

+ */ + Connection?: InboundConnection; +} + +export namespace AcceptInboundConnectionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceptInboundConnectionResponse): any => ({ + ...obj, + }); +} + +/** + *

An error occured because the client wanted to access a not supported operation. Gives http status code of 409.

+ */ +export interface DisabledOperationException extends __SmithyException, $MetadataBearer { + name: "DisabledOperationException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace DisabledOperationException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisabledOperationException): any => ({ + ...obj, + }); +} + +/** + *

An exception for trying to create more than allowed resources or sub-resources. Gives http status code of 409.

+ */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace LimitExceededException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ + ...obj, + }); +} + +/** + *

An exception for accessing or deleting a resource that does not exist. Gives http status code of 400.

+ */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace ResourceNotFoundException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

An error occurred because user does not have permissions to access the resource. Returns HTTP status code 403.

+ */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace AccessDeniedException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +export enum OptionState { + Active = "Active", + Processing = "Processing", + RequiresIndexDocuments = "RequiresIndexDocuments", +} + +/** + *

Provides the current status of the entity.

+ */ +export interface OptionStatus { + /** + *

The timestamp of when the entity was created.

+ */ + CreationDate: Date | undefined; + + /** + *

The timestamp of the last time the entity was updated.

+ */ + UpdateDate: Date | undefined; + + /** + *

The latest version of the entity.

+ */ + UpdateVersion?: number; + + /** + *

Provides the OptionState for the domain. + *

+ */ + State: OptionState | string | undefined; + + /** + *

Indicates whether the domain is being deleted.

+ */ + PendingDeletion?: boolean; +} + +export namespace OptionStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OptionStatus): any => ({ + ...obj, + }); +} + +/** + *

The configured access rules for the domain's document and search endpoints, and the current status of those + * rules. + *

+ */ +export interface AccessPoliciesStatus { + /** + *

The access policy configured for the domain. Access policies can be resource-based, IP-based, or + * IAM-based. See + * Configuring access policiesfor more information. + *

+ */ + Options: string | undefined; + + /** + *

The status of the access policy for the domain. See OptionStatus for the status + * information that's included. + *

+ */ + Status: OptionStatus | undefined; +} + +export namespace AccessPoliciesStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AccessPoliciesStatus): any => ({ + ...obj, + }); +} + +/** + *

+ * List of limits that are specific to a given InstanceType and for each of its + * + * InstanceRole + * + * . + *

+ */ +export interface AdditionalLimit { + /** + *

+ * Additional limit is specific to a given InstanceType and for each of its + * + * InstanceRole + * + * etc. + *

+ * Attributes and their details: + *

+ *

    + *
  • MaximumNumberOfDataNodesSupported
  • + * This attribute is present on the master node only to specify how + * much data nodes up to which given + * + * ESPartitionInstanceType + * + * can support as master node. + *
  • MaximumNumberOfDataNodesWithoutMasterNode
  • + * This attribute is present on data node only to specify how much + * data nodes of given + * + * ESPartitionInstanceType + * + * up to which you don't need any master nodes to govern them. + *
+ *

+ */ + LimitName?: string; + + /** + *

+ * Value for a given + * + * AdditionalLimit$LimitName + * + * . + *

+ */ + LimitValues?: string[]; +} + +export namespace AdditionalLimit { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AdditionalLimit): any => ({ + ...obj, + }); +} + +/** + *

A key value pair for a resource tag.

+ */ +export interface Tag { + /** + *

The TagKey, the name of the tag. Tag keys must be unique for the domain to + * which they are attached. + *

+ */ + Key: string | undefined; + + /** + *

The TagValue, the value assigned to the corresponding tag key. Tag values can be null and + * don't have to be unique in a tag set. For example, you can have a key value + * pair in a tag set of project : Trinity and + * cost-center : Trinity + *

+ */ + Value: string | undefined; +} + +export namespace Tag { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Tag): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * AddTags + * + * operation. Specifies the tags to attach to the domain. + *

+ */ +export interface AddTagsRequest { + /** + *

Specify the ARN of the domain you want to add tags to. + *

+ */ + ARN: string | undefined; + + /** + *

List of Tag to add to the domain. + *

+ */ + TagList: Tag[] | undefined; +} + +export namespace AddTagsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AddTagsRequest): any => ({ + ...obj, + }); +} + +/** + *

An error occurred while processing the request.

+ */ +export interface BaseException extends __SmithyException, $MetadataBearer { + name: "BaseException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace BaseException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BaseException): any => ({ + ...obj, + }); +} + +/** + *

The request processing has failed because of an unknown error, exception or failure (the failure is internal to the service) . Gives http status code of 500.

+ */ +export interface InternalException extends __SmithyException, $MetadataBearer { + name: "InternalException"; + $fault: "server"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace InternalException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InternalException): any => ({ + ...obj, + }); +} + +/** + *

An exception for missing / invalid input fields. Gives http status code of 400.

+ */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace ValidationException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +/** + *

Status of the advanced options for the specified domain. Currently, the following advanced options + * are available: + *

+ *
    + *
  • Option to allow references to indices in an HTTP request body. Must be false when configuring + * access to individual sub-resources. By default, the value is true. + * See Advanced cluster parameters + * for more information. + *
  • + *
  • Option to specify the percentage of heap space allocated to field data. By default, this setting is + * unbounded. + *
  • + *
+ *

For more information, see + * Advanced cluster parameters. + *

+ */ +export interface AdvancedOptionsStatus { + /** + *

The status of advanced options for the specified domain.

+ */ + Options: { [key: string]: string } | undefined; + + /** + *

The OptionStatus for advanced options for the specified domain. + *

+ */ + Status: OptionStatus | undefined; +} + +export namespace AdvancedOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AdvancedOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

The SAML identity povider's information.

+ */ +export interface SAMLIdp { + /** + *

The metadata of the SAML application in XML format.

+ */ + MetadataContent: string | undefined; + + /** + *

The unique entity ID of the application in SAML identity provider.

+ */ + EntityId: string | undefined; +} + +export namespace SAMLIdp { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAMLIdp): any => ({ + ...obj, + }); +} + +/** + *

Describes the SAML application configured for the domain.

+ */ +export interface SAMLOptionsOutput { + /** + *

True if SAML is enabled.

+ */ + Enabled?: boolean; + + /** + *

Describes the SAML identity provider's information.

+ */ + Idp?: SAMLIdp; + + /** + *

The key used for matching the SAML subject attribute.

+ */ + SubjectKey?: string; + + /** + *

The key used for matching the SAML roles attribute.

+ */ + RolesKey?: string; + + /** + *

The duration, in minutes, after which a user session becomes inactive.

+ */ + SessionTimeoutMinutes?: number; +} + +export namespace SAMLOptionsOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAMLOptionsOutput): any => ({ + ...obj, + }); +} + +/** + *

The advanced security configuration: whether advanced security is enabled, whether the internal + * database option is enabled. + *

+ */ +export interface AdvancedSecurityOptions { + /** + *

True if advanced security is enabled.

+ */ + Enabled?: boolean; + + /** + *

True if the internal user database is enabled.

+ */ + InternalUserDatabaseEnabled?: boolean; + + /** + *

Describes the SAML application configured for a domain.

+ */ + SAMLOptions?: SAMLOptionsOutput; +} + +export namespace AdvancedSecurityOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AdvancedSecurityOptions): any => ({ + ...obj, + }); +} + +/** + *

Credentials for the master user: username and password, ARN, or both.

+ */ +export interface MasterUserOptions { + /** + *

ARN for the master user (if IAM is enabled).

+ */ + MasterUserARN?: string; + + /** + *

The master user's username, which is stored in the Amazon OpenSearch Service domain's internal database.

+ */ + MasterUserName?: string; + + /** + *

The master user's password, which is stored in the Amazon OpenSearch Service domain's internal database.

+ */ + MasterUserPassword?: string; +} + +export namespace MasterUserOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MasterUserOptions): any => ({ + ...obj, + ...(obj.MasterUserName && { MasterUserName: SENSITIVE_STRING }), + ...(obj.MasterUserPassword && { MasterUserPassword: SENSITIVE_STRING }), + }); +} + +/** + *

The SAML application configuration for the domain.

+ */ +export interface SAMLOptionsInput { + /** + *

True if SAML is enabled.

+ */ + Enabled?: boolean; + + /** + *

The SAML Identity Provider's information.

+ */ + Idp?: SAMLIdp; + + /** + *

The SAML master username, which is stored in the Amazon OpenSearch Service domain's internal database.

+ */ + MasterUserName?: string; + + /** + *

The backend role that the SAML master user is mapped to.

+ */ + MasterBackendRole?: string; + + /** + *

Element of the SAML assertion to use for username. Default is NameID.

+ */ + SubjectKey?: string; + + /** + *

Element of the SAML assertion to use for backend roles. Default is roles.

+ */ + RolesKey?: string; + + /** + *

The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440, + * and the default value is 60. + *

+ */ + SessionTimeoutMinutes?: number; +} + +export namespace SAMLOptionsInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAMLOptionsInput): any => ({ + ...obj, + ...(obj.MasterUserName && { MasterUserName: SENSITIVE_STRING }), + }); +} + +/** + *

The advanced security configuration: whether advanced security is enabled, whether the internal + * database option is enabled, master username and password (if internal database is enabled), and master user ARN + * (if IAM is enabled). + *

+ */ +export interface AdvancedSecurityOptionsInput { + /** + *

True if advanced security is enabled.

+ */ + Enabled?: boolean; + + /** + *

True if the internal user database is enabled.

+ */ + InternalUserDatabaseEnabled?: boolean; + + /** + *

Credentials for the master user: username and password, ARN, or both.

+ */ + MasterUserOptions?: MasterUserOptions; + + /** + *

The SAML application configuration for the domain.

+ */ + SAMLOptions?: SAMLOptionsInput; +} + +export namespace AdvancedSecurityOptionsInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AdvancedSecurityOptionsInput): any => ({ + ...obj, + ...(obj.MasterUserOptions && { MasterUserOptions: MasterUserOptions.filterSensitiveLog(obj.MasterUserOptions) }), + ...(obj.SAMLOptions && { SAMLOptions: SAMLOptionsInput.filterSensitiveLog(obj.SAMLOptions) }), + }); +} + +/** + *

The status of advanced security options for the specified domain.

+ */ +export interface AdvancedSecurityOptionsStatus { + /** + *

Advanced security options for the specified domain.

+ */ + Options: AdvancedSecurityOptions | undefined; + + /** + *

Status of the advanced security options for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace AdvancedSecurityOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AdvancedSecurityOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * AssociatePackage + * + * operation. + *

+ */ +export interface AssociatePackageRequest { + /** + *

Internal ID of the package to associate with a domain. Use DescribePackages to find + * this value. + *

+ */ + PackageID: string | undefined; + + /** + *

The name of the domain to associate the package with.

+ */ + DomainName: string | undefined; +} + +export namespace AssociatePackageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociatePackageRequest): any => ({ + ...obj, + }); +} + +export enum DomainPackageStatus { + ACTIVE = "ACTIVE", + ASSOCIATING = "ASSOCIATING", + ASSOCIATION_FAILED = "ASSOCIATION_FAILED", + DISSOCIATING = "DISSOCIATING", + DISSOCIATION_FAILED = "DISSOCIATION_FAILED", +} + +export interface ErrorDetails { + ErrorType?: string; + ErrorMessage?: string; +} + +export namespace ErrorDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ErrorDetails): any => ({ + ...obj, + }); +} + +export enum PackageType { + TXT_DICTIONARY = "TXT-DICTIONARY", +} + +/** + *

Information on a package associated with a domain.

+ */ +export interface DomainPackageDetails { + /** + *

The internal ID of the package.

+ */ + PackageID?: string; + + /** + *

User-specified name of the package.

+ */ + PackageName?: string; + + /** + *

Currently supports only TXT-DICTIONARY.

+ */ + PackageType?: PackageType | string; + + /** + *

The timestamp of the most recent update to the package association status.

+ */ + LastUpdated?: Date; + + /** + *

The name of the domain you've associated a package with.

+ */ + DomainName?: string; + + /** + *

State of the association. Values are ASSOCIATING, ASSOCIATION_FAILED, ACTIVE, DISSOCIATING, and DISSOCIATION_FAILED.

+ */ + DomainPackageStatus?: DomainPackageStatus | string; + + PackageVersion?: string; + /** + *

The relative path on Amazon OpenSearch Service nodes, which can be used as synonym_path when the package is a synonym file.

+ */ + ReferencePath?: string; + + /** + *

Additional information if the package is in an error state. Null otherwise.

+ */ + ErrorDetails?: ErrorDetails; +} + +export namespace DomainPackageDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainPackageDetails): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by + * + * AssociatePackage + * + * operation. + *

+ */ +export interface AssociatePackageResponse { + /** + *

+ * DomainPackageDetails + *

+ */ + DomainPackageDetails?: DomainPackageDetails; +} + +export namespace AssociatePackageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociatePackageResponse): any => ({ + ...obj, + }); +} + +/** + *

An error occurred because the client attempts to remove a resource that is currently in use. Returns HTTP status code 409.

+ */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace ConflictException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * CancelServiceSoftwareUpdate + * + * operation. Specifies the name of the domain that you wish to cancel a service software update on. + *

+ */ +export interface CancelServiceSoftwareUpdateRequest { + /** + *

The name of the domain that you want to stop the latest service software update on.

+ */ + DomainName: string | undefined; +} + +export namespace CancelServiceSoftwareUpdateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CancelServiceSoftwareUpdateRequest): any => ({ + ...obj, + }); +} + +export enum DeploymentStatus { + COMPLETED = "COMPLETED", + ELIGIBLE = "ELIGIBLE", + IN_PROGRESS = "IN_PROGRESS", + NOT_ELIGIBLE = "NOT_ELIGIBLE", + PENDING_UPDATE = "PENDING_UPDATE", +} + +/** + *

The current options of an domain service software options.

+ */ +export interface ServiceSoftwareOptions { + /** + *

The current service software version present on the domain.

+ */ + CurrentVersion?: string; + + /** + *

The new service software version if one is available.

+ */ + NewVersion?: string; + + /** + *

+ * True + * if you're able to update your service software version. False if you can't update your + * service software version. + *

+ */ + UpdateAvailable?: boolean; + + /** + *

+ * True + * if you're able to cancel your service software version update. False if you can't cancel + * your service software update. + *

+ */ + Cancellable?: boolean; + + /** + *

The status of your service software update. This field can take the following values: + * ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and + * NOT_ELIGIBLE. + *

+ */ + UpdateStatus?: DeploymentStatus | string; + + /** + *

The description of the UpdateStatus. + *

+ */ + Description?: string; + + /** + *

The timestamp, in Epoch time, until which you can manually request a service software update. After this date, we + * automatically update your service software. + *

+ */ + AutomatedUpdateDate?: Date; + + /** + *

+ * True + * if a service software is never automatically updated. False if a service software is automatically + * updated after AutomatedUpdateDate. + *

+ */ + OptionalDeployment?: boolean; +} + +export namespace ServiceSoftwareOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceSoftwareOptions): any => ({ + ...obj, + }); +} + +/** + *

The result of a CancelServiceSoftwareUpdate operation. Contains the status of the + * update. + *

+ */ +export interface CancelServiceSoftwareUpdateResponse { + /** + *

The current status of the OpenSearch service software update.

+ */ + ServiceSoftwareOptions?: ServiceSoftwareOptions; +} + +export namespace CancelServiceSoftwareUpdateResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CancelServiceSoftwareUpdateResponse): any => ({ + ...obj, + }); +} + +export enum AutoTuneDesiredState { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum TimeUnit { + HOURS = "HOURS", +} + +/** + *

The maintenance schedule duration: duration value and duration unit. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ +export interface Duration { + /** + *

Integer to specify the value of a maintenance schedule duration. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + Value?: number; + + /** + *

The unit of a maintenance schedule duration. Valid value is HOURS. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + Unit?: TimeUnit | string; +} + +export namespace Duration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Duration): any => ({ + ...obj, + }); +} + +/** + *

Specifies the Auto-Tune maintenance schedule. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ +export interface AutoTuneMaintenanceSchedule { + /** + *

The timestamp at which the Auto-Tune maintenance schedule starts.

+ */ + StartAt?: Date; + + /** + *

Specifies maintenance schedule duration: duration value and duration unit. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + Duration?: Duration; + + /** + *

A cron expression for a recurring maintenance schedule. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + CronExpressionForRecurrence?: string; +} + +export namespace AutoTuneMaintenanceSchedule { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneMaintenanceSchedule): any => ({ + ...obj, + }); +} + +/** + *

The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules. + *

+ */ +export interface AutoTuneOptionsInput { + /** + *

The Auto-Tune desired state. Valid values are ENABLED and DISABLED.

+ */ + DesiredState?: AutoTuneDesiredState | string; + + /** + *

A list of maintenance schedules. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + MaintenanceSchedules?: AutoTuneMaintenanceSchedule[]; +} + +export namespace AutoTuneOptionsInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneOptionsInput): any => ({ + ...obj, + }); +} + +export interface ColdStorageOptions { + Enabled: boolean | undefined; +} + +export namespace ColdStorageOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ColdStorageOptions): any => ({ + ...obj, + }); +} + +export enum OpenSearchPartitionInstanceType { + c4_2xlarge_search = "c4.2xlarge.search", + c4_4xlarge_search = "c4.4xlarge.search", + c4_8xlarge_search = "c4.8xlarge.search", + c4_large_search = "c4.large.search", + c4_xlarge_search = "c4.xlarge.search", + c5_18xlarge_search = "c5.18xlarge.search", + c5_2xlarge_search = "c5.2xlarge.search", + c5_4xlarge_search = "c5.4xlarge.search", + c5_9xlarge_search = "c5.9xlarge.search", + c5_large_search = "c5.large.search", + c5_xlarge_search = "c5.xlarge.search", + c6g_12xlarge_search = "c6g.12xlarge.search", + c6g_2xlarge_search = "c6g.2xlarge.search", + c6g_4xlarge_search = "c6g.4xlarge.search", + c6g_8xlarge_search = "c6g.8xlarge.search", + c6g_large_search = "c6g.large.search", + c6g_xlarge_search = "c6g.xlarge.search", + d2_2xlarge_search = "d2.2xlarge.search", + d2_4xlarge_search = "d2.4xlarge.search", + d2_8xlarge_search = "d2.8xlarge.search", + d2_xlarge_search = "d2.xlarge.search", + i2_2xlarge_search = "i2.2xlarge.search", + i2_xlarge_search = "i2.xlarge.search", + i3_16xlarge_search = "i3.16xlarge.search", + i3_2xlarge_search = "i3.2xlarge.search", + i3_4xlarge_search = "i3.4xlarge.search", + i3_8xlarge_search = "i3.8xlarge.search", + i3_large_search = "i3.large.search", + i3_xlarge_search = "i3.xlarge.search", + m3_2xlarge_search = "m3.2xlarge.search", + m3_large_search = "m3.large.search", + m3_medium_search = "m3.medium.search", + m3_xlarge_search = "m3.xlarge.search", + m4_10xlarge_search = "m4.10xlarge.search", + m4_2xlarge_search = "m4.2xlarge.search", + m4_4xlarge_search = "m4.4xlarge.search", + m4_large_search = "m4.large.search", + m4_xlarge_search = "m4.xlarge.search", + m5_12xlarge_search = "m5.12xlarge.search", + m5_24xlarge_search = "m5.24xlarge.search", + m5_2xlarge_search = "m5.2xlarge.search", + m5_4xlarge_search = "m5.4xlarge.search", + m5_large_search = "m5.large.search", + m5_xlarge_search = "m5.xlarge.search", + m6g_12xlarge_search = "m6g.12xlarge.search", + m6g_2xlarge_search = "m6g.2xlarge.search", + m6g_4xlarge_search = "m6g.4xlarge.search", + m6g_8xlarge_search = "m6g.8xlarge.search", + m6g_large_search = "m6g.large.search", + m6g_xlarge_search = "m6g.xlarge.search", + r3_2xlarge_search = "r3.2xlarge.search", + r3_4xlarge_search = "r3.4xlarge.search", + r3_8xlarge_search = "r3.8xlarge.search", + r3_large_search = "r3.large.search", + r3_xlarge_search = "r3.xlarge.search", + r4_16xlarge_search = "r4.16xlarge.search", + r4_2xlarge_search = "r4.2xlarge.search", + r4_4xlarge_search = "r4.4xlarge.search", + r4_8xlarge_search = "r4.8xlarge.search", + r4_large_search = "r4.large.search", + r4_xlarge_search = "r4.xlarge.search", + r5_12xlarge_search = "r5.12xlarge.search", + r5_24xlarge_search = "r5.24xlarge.search", + r5_2xlarge_search = "r5.2xlarge.search", + r5_4xlarge_search = "r5.4xlarge.search", + r5_large_search = "r5.large.search", + r5_xlarge_search = "r5.xlarge.search", + r6g_12xlarge_search = "r6g.12xlarge.search", + r6g_2xlarge_search = "r6g.2xlarge.search", + r6g_4xlarge_search = "r6g.4xlarge.search", + r6g_8xlarge_search = "r6g.8xlarge.search", + r6g_large_search = "r6g.large.search", + r6g_xlarge_search = "r6g.xlarge.search", + r6gd_12xlarge_search = "r6gd.12xlarge.search", + r6gd_16xlarge_search = "r6gd.16xlarge.search", + r6gd_2xlarge_search = "r6gd.2xlarge.search", + r6gd_4xlarge_search = "r6gd.4xlarge.search", + r6gd_8xlarge_search = "r6gd.8xlarge.search", + r6gd_large_search = "r6gd.large.search", + r6gd_xlarge_search = "r6gd.xlarge.search", + t2_medium_search = "t2.medium.search", + t2_micro_search = "t2.micro.search", + t2_small_search = "t2.small.search", + t3_2xlarge_search = "t3.2xlarge.search", + t3_large_search = "t3.large.search", + t3_medium_search = "t3.medium.search", + t3_micro_search = "t3.micro.search", + t3_nano_search = "t3.nano.search", + t3_small_search = "t3.small.search", + t3_xlarge_search = "t3.xlarge.search", + t4g_medium_search = "t4g.medium.search", + t4g_small_search = "t4g.small.search", + ultrawarm1_large_search = "ultrawarm1.large.search", + ultrawarm1_medium_search = "ultrawarm1.medium.search", + ultrawarm1_xlarge_search = "ultrawarm1.xlarge.search", +} + +export enum OpenSearchWarmPartitionInstanceType { + ultrawarm1_large_search = "ultrawarm1.large.search", + ultrawarm1_medium_search = "ultrawarm1.medium.search", + ultrawarm1_xlarge_search = "ultrawarm1.xlarge.search", +} + +/** + *

The zone awareness configuration for the domain cluster, such as the number of availability zones.

+ */ +export interface ZoneAwarenessConfig { + /** + *

An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This + * should be equal to number of subnets if VPC endpoints is enabled. + *

+ */ + AvailabilityZoneCount?: number; +} + +export namespace ZoneAwarenessConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ZoneAwarenessConfig): any => ({ + ...obj, + }); +} + +/** + *

The configuration for the domain cluster, such as the type and number of instances.

+ */ +export interface ClusterConfig { + /** + *

The instance type for an OpenSearch cluster. UltraWarm instance types are not supported for data instances. + *

+ */ + InstanceType?: OpenSearchPartitionInstanceType | string; + + /** + *

The number of instances in the specified domain cluster.

+ */ + InstanceCount?: number; + + /** + *

A boolean value to indicate whether a dedicated master node is enabled. See Dedicated master nodes in Amazon OpenSearch Service + * for more information. + *

+ */ + DedicatedMasterEnabled?: boolean; + + /** + *

A boolean value to indicate whether zone awareness is enabled. See Configuring a multi-AZ domain in Amazon OpenSearch Service + * for more information. + *

+ */ + ZoneAwarenessEnabled?: boolean; + + /** + *

The zone awareness configuration for a domain when zone awareness is enabled.

+ */ + ZoneAwarenessConfig?: ZoneAwarenessConfig; + + /** + *

The instance type for a dedicated master node.

+ */ + DedicatedMasterType?: OpenSearchPartitionInstanceType | string; + + /** + *

Total number of dedicated master nodes, active and on standby, for the cluster.

+ */ + DedicatedMasterCount?: number; + + /** + *

True to enable UltraWarm storage.

+ */ + WarmEnabled?: boolean; + + /** + *

The instance type for the OpenSearch cluster's warm nodes.

+ */ + WarmType?: OpenSearchWarmPartitionInstanceType | string; + + /** + *

The number of UltraWarm nodes in the cluster.

+ */ + WarmCount?: number; + + ColdStorageOptions?: ColdStorageOptions; +} + +export namespace ClusterConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterConfig): any => ({ + ...obj, + }); +} + +/** + *

Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards. + *

+ */ +export interface CognitoOptions { + /** + *

The option to enable Cognito for OpenSearch Dashboards authentication.

+ */ + Enabled?: boolean; + + /** + *

The Cognito user pool ID for OpenSearch Dashboards authentication.

+ */ + UserPoolId?: string; + + /** + *

The Cognito identity pool ID for OpenSearch Dashboards authentication.

+ */ + IdentityPoolId?: string; + + /** + *

The role ARN that provides OpenSearch permissions for accessing Cognito resources.

+ */ + RoleArn?: string; +} + +export namespace CognitoOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CognitoOptions): any => ({ + ...obj, + }); +} + +export enum TLSSecurityPolicy { + POLICY_MIN_TLS_1_0_2019_07 = "Policy-Min-TLS-1-0-2019-07", + POLICY_MIN_TLS_1_2_2019_07 = "Policy-Min-TLS-1-2-2019-07", +} + +/** + *

Options to configure the endpoint for the domain.

+ */ +export interface DomainEndpointOptions { + /** + *

Whether only HTTPS endpoint should be enabled for the domain.

+ */ + EnforceHTTPS?: boolean; + + /** + *

Specify the TLS security policy to apply to the HTTPS endpoint of the domain. + *

+ * Can be one of the following values: + *

    + *
  • + * Policy-Min-TLS-1-0-2019-07: + * TLS security policy which supports TLSv1.0 and higher. + *
  • + *
  • + * Policy-Min-TLS-1-2-2019-07: + * TLS security policy which supports only TLSv1.2 + *
  • + *
+ *

+ */ + TLSSecurityPolicy?: TLSSecurityPolicy | string; + + /** + *

Whether to enable a custom endpoint for the domain.

+ */ + CustomEndpointEnabled?: boolean; + + /** + *

The fully qualified domain for your custom endpoint.

+ */ + CustomEndpoint?: string; + + /** + *

The ACM certificate ARN for your custom endpoint.

+ */ + CustomEndpointCertificateArn?: string; +} + +export namespace DomainEndpointOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainEndpointOptions): any => ({ + ...obj, + }); +} + +export enum VolumeType { + gp2 = "gp2", + io1 = "io1", + standard = "standard", +} + +/** + *

Options to enable, disable, and specify the properties of EBS storage volumes.

+ */ +export interface EBSOptions { + /** + *

Whether EBS-based storage is enabled.

+ */ + EBSEnabled?: boolean; + + /** + *

The volume type for EBS-based storage.

+ */ + VolumeType?: VolumeType | string; + + /** + *

Integer to specify the size of an EBS volume.

+ */ + VolumeSize?: number; + + /** + *

The IOPD for a Provisioned IOPS EBS volume (SSD).

+ */ + Iops?: number; +} + +export namespace EBSOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EBSOptions): any => ({ + ...obj, + }); +} + +/** + *

Specifies encryption at rest options.

+ */ +export interface EncryptionAtRestOptions { + /** + *

The option to enable encryption at rest.

+ */ + Enabled?: boolean; + + /** + *

The KMS key ID for encryption at rest options.

+ */ + KmsKeyId?: string; +} + +export namespace EncryptionAtRestOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EncryptionAtRestOptions): any => ({ + ...obj, + }); +} + +export enum LogType { + AUDIT_LOGS = "AUDIT_LOGS", + ES_APPLICATION_LOGS = "ES_APPLICATION_LOGS", + INDEX_SLOW_LOGS = "INDEX_SLOW_LOGS", + SEARCH_SLOW_LOGS = "SEARCH_SLOW_LOGS", +} + +/** + *

Log Publishing option that is set for a given domain. + *

Attributes and their details: + *

    + *
  • CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to publish logs to.
  • + *
  • Enabled: Whether the log publishing for a given log type is enabled or not.
  • + *
+ *

+ */ +export interface LogPublishingOption { + /** + *

ARN of the Cloudwatch log group to publish logs to.

+ */ + CloudWatchLogsLogGroupArn?: string; + + /** + *

Whether the given log publishing option is enabled or not.

+ */ + Enabled?: boolean; +} + +export namespace LogPublishingOption { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LogPublishingOption): any => ({ + ...obj, + }); +} + +/** + *

The node-to-node encryption options.

+ */ +export interface NodeToNodeEncryptionOptions { + /** + *

True to enable node-to-node encryption.

+ */ + Enabled?: boolean; +} + +export namespace NodeToNodeEncryptionOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NodeToNodeEncryptionOptions): any => ({ + ...obj, + }); +} + +/** + *

The time, in UTC format, when the service takes a daily automated snapshot of the specified + * domain. Default is 0 hours. + *

+ */ +export interface SnapshotOptions { + /** + *

The time, in UTC format, when the service takes a daily automated snapshot of the specified + * domain. Default is 0 hours. + *

+ */ + AutomatedSnapshotStartHour?: number; +} + +export namespace SnapshotOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SnapshotOptions): any => ({ + ...obj, + }); +} + +/** + *

Options to specify the subnets and security groups for the VPC endpoint. For more information, see + * Launching your Amazon OpenSearch Service domains using a VPC. + *

+ */ +export interface VPCOptions { + /** + *

The subnets for the VPC endpoint.

+ */ + SubnetIds?: string[]; + + /** + *

The security groups for the VPC endpoint.

+ */ + SecurityGroupIds?: string[]; +} + +export namespace VPCOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VPCOptions): any => ({ + ...obj, + }); +} + +export interface CreateDomainRequest { + /** + *

The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the domains owned by + * an account within an AWS region. Domain names must start with a lowercase letter and can contain the following + * characters: a-z (lowercase), 0-9, and - (hyphen). + *

+ */ + DomainName: string | undefined; + + /** + *

String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch Service domain. + * For example, "OpenSearch_1.0" or "Elasticsearch_7.9". For more information, + * see Creating and managing Amazon OpenSearch Service domains + * . + *

+ */ + EngineVersion?: string; + + /** + *

Configuration options for a domain. Specifies the instance type and number of instances in the + * domain. + *

+ */ + ClusterConfig?: ClusterConfig; + + /** + *

Options to enable, disable, and specify the type and size of EBS storage volumes.

+ */ + EBSOptions?: EBSOptions; + + /** + *

IAM access policy as a JSON-formatted string.

+ */ + AccessPolicies?: string; + + /** + *

Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

+ */ + SnapshotOptions?: SnapshotOptions; + + /** + *

Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC + * . + *

+ */ + VPCOptions?: VPCOptions; + + /** + *

Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards. + *

+ */ + CognitoOptions?: CognitoOptions; + + /** + *

Options for encryption of data at rest.

+ */ + EncryptionAtRestOptions?: EncryptionAtRestOptions; + + /** + *

Node-to-node encryption options.

+ */ + NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptions; + + /** + *

Option to allow references to indices in an HTTP request body. Must be false when configuring access + * to individual sub-resources. By default, the value is true. + * See Advanced cluster parameters + * for more information. + *

+ */ + AdvancedOptions?: { [key: string]: string }; + + /** + *

Map of LogType and LogPublishingOption, each containing options to publish a given type + * of OpenSearch log. + *

+ */ + LogPublishingOptions?: { [key: string]: LogPublishingOption }; + + /** + *

Options to specify configurations that will be applied to the domain endpoint.

+ */ + DomainEndpointOptions?: DomainEndpointOptions; + + /** + *

Specifies advanced security options.

+ */ + AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; + + /** + *

A list of Tag added during domain creation. + *

+ */ + TagList?: Tag[]; + + /** + *

Specifies Auto-Tune options.

+ */ + AutoTuneOptions?: AutoTuneOptionsInput; +} + +export namespace CreateDomainRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateDomainRequest): any => ({ + ...obj, + ...(obj.AdvancedSecurityOptions && { + AdvancedSecurityOptions: AdvancedSecurityOptionsInput.filterSensitiveLog(obj.AdvancedSecurityOptions), + }), + }); +} + +export enum AutoTuneState { + DISABLED = "DISABLED", + DISABLED_AND_ROLLBACK_COMPLETE = "DISABLED_AND_ROLLBACK_COMPLETE", + DISABLED_AND_ROLLBACK_ERROR = "DISABLED_AND_ROLLBACK_ERROR", + DISABLED_AND_ROLLBACK_IN_PROGRESS = "DISABLED_AND_ROLLBACK_IN_PROGRESS", + DISABLED_AND_ROLLBACK_SCHEDULED = "DISABLED_AND_ROLLBACK_SCHEDULED", + DISABLE_IN_PROGRESS = "DISABLE_IN_PROGRESS", + ENABLED = "ENABLED", + ENABLE_IN_PROGRESS = "ENABLE_IN_PROGRESS", + ERROR = "ERROR", +} + +/** + *

The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules. + *

+ */ +export interface AutoTuneOptionsOutput { + /** + *

The AutoTuneState for the domain. + *

+ */ + State?: AutoTuneState | string; + + /** + *

The error message while enabling or disabling Auto-Tune.

+ */ + ErrorMessage?: string; +} + +export namespace AutoTuneOptionsOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneOptionsOutput): any => ({ + ...obj, + }); +} + +/** + *

Options to specify the subnets and security groups for the VPC endpoint. For more information, see + * Launching your Amazon OpenSearch Service domains using a VPC. + *

+ */ +export interface VPCDerivedInfo { + /** + *

The VPC ID for the domain. Exists only if the domain was created with VPCOptions.

+ */ + VPCId?: string; + + /** + *

The subnets for the VPC endpoint.

+ */ + SubnetIds?: string[]; + + /** + *

The Availability Zones for the domain. Exists only if the domain was created with VPCOptions.

+ */ + AvailabilityZones?: string[]; + + /** + *

The security groups for the VPC endpoint.

+ */ + SecurityGroupIds?: string[]; +} + +export namespace VPCDerivedInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VPCDerivedInfo): any => ({ + ...obj, + }); +} + +/** + *

The current status of a domain.

+ */ +export interface DomainStatus { + /** + *

The unique identifier for the specified domain.

+ */ + DomainId: string | undefined; + + /** + *

The name of a domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of a domain. See IAM identifiers + * in the AWS Identity and Access Management User Guide for more information. + *

+ */ + ARN: string | undefined; + + /** + *

The domain creation status. True if the creation of a domain is complete. + * False + * if domain creation is still in progress. + *

+ */ + Created?: boolean; + + /** + *

The domain deletion status. True if a delete request has been received for the domain but resource + * cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is + * complete, the status of the domain is no longer returned. + *

+ */ + Deleted?: boolean; + + /** + *

The domain endpoint that you use to submit index and search requests.

+ */ + Endpoint?: string; + + /** + *

Map containing the domain endpoints used to submit index and search requests. Example key, + * value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'. + *

+ */ + Endpoints?: { [key: string]: string }; + + /** + *

The status of the domain configuration. True if Amazon OpenSearch Service is + * processing configuration changes. False if the configuration is active. + *

+ */ + Processing?: boolean; + + /** + *

The status of a domain version upgrade. True if Amazon OpenSearch Service is + * undergoing a version upgrade. False if the configuration is active. + *

+ */ + UpgradeProcessing?: boolean; + + EngineVersion?: string; + /** + *

The type and number of instances in the domain.

+ */ + ClusterConfig: ClusterConfig | undefined; + + /** + *

The EBSOptions for the specified domain. + *

+ */ + EBSOptions?: EBSOptions; + + /** + *

IAM access policy as a JSON-formatted string.

+ */ + AccessPolicies?: string; + + /** + *

The status of the + * SnapshotOptions. + *

+ */ + SnapshotOptions?: SnapshotOptions; + + /** + *

The VPCOptions for the specified domain. For more information, see + * Launching your Amazon OpenSearch Service domains using a VPC. + *

+ */ + VPCOptions?: VPCDerivedInfo; + + /** + *

The CognitoOptions for the specified domain. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards. + *

+ */ + CognitoOptions?: CognitoOptions; + + /** + *

The status of the EncryptionAtRestOptions. + *

+ */ + EncryptionAtRestOptions?: EncryptionAtRestOptions; + + /** + *

The status of the NodeToNodeEncryptionOptions. + *

+ */ + NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptions; + + /** + *

The status of the + * AdvancedOptions. + *

+ */ + AdvancedOptions?: { [key: string]: string }; + + /** + *

Log publishing options for the given domain.

+ */ + LogPublishingOptions?: { [key: string]: LogPublishingOption }; + + /** + *

The current status of the domain's service software.

+ */ + ServiceSoftwareOptions?: ServiceSoftwareOptions; + + /** + *

The current status of the domain's endpoint options.

+ */ + DomainEndpointOptions?: DomainEndpointOptions; + + /** + *

The current status of the domain's advanced security options.

+ */ + AdvancedSecurityOptions?: AdvancedSecurityOptions; + + /** + *

The current status of the domain's Auto-Tune options.

+ */ + AutoTuneOptions?: AutoTuneOptionsOutput; +} + +export namespace DomainStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainStatus): any => ({ + ...obj, + }); +} + +/** + *

The result of a CreateDomain operation. Contains the status of the newly created + * Amazon OpenSearch Service domain. + *

+ */ +export interface CreateDomainResponse { + /** + *

The status of the newly created domain.

+ */ + DomainStatus?: DomainStatus; +} + +export namespace CreateDomainResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateDomainResponse): any => ({ + ...obj, + }); +} + +/** + *

An exception for trying to create or access sub-resource that is either invalid or not supported. Gives http status code of 409.

+ */ +export interface InvalidTypeException extends __SmithyException, $MetadataBearer { + name: "InvalidTypeException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace InvalidTypeException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidTypeException): any => ({ + ...obj, + }); +} + +/** + *

An exception for creating a resource that already exists. Gives http status code of 400.

+ */ +export interface ResourceAlreadyExistsException extends __SmithyException, $MetadataBearer { + name: "ResourceAlreadyExistsException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace ResourceAlreadyExistsException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceAlreadyExistsException): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * CreateOutboundConnection + * + * operation. + *

+ */ +export interface CreateOutboundConnectionRequest { + /** + *

The + * + * AWSDomainInformation + * + * for the local OpenSearch domain. + *

+ */ + LocalDomainInfo: DomainInformationContainer | undefined; + + /** + *

The + * + * AWSDomainInformation + * + * for the remote OpenSearch domain. + *

+ */ + RemoteDomainInfo: DomainInformationContainer | undefined; + + /** + *

The connection alias used used by the customer for this cross-cluster connection.

+ */ + ConnectionAlias: string | undefined; +} + +export namespace CreateOutboundConnectionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateOutboundConnectionRequest): any => ({ + ...obj, + }); +} + +export enum OutboundConnectionStatusCode { + ACTIVE = "ACTIVE", + APPROVED = "APPROVED", + DELETED = "DELETED", + DELETING = "DELETING", + PENDING_ACCEPTANCE = "PENDING_ACCEPTANCE", + PROVISIONING = "PROVISIONING", + REJECTED = "REJECTED", + REJECTING = "REJECTING", + VALIDATING = "VALIDATING", + VALIDATION_FAILED = "VALIDATION_FAILED", +} + +/** + *

The connection status of an outbound cross-cluster connection.

+ */ +export interface OutboundConnectionStatus { + /** + *

The state code for the outbound connection. Can be one of the following:

+ *
    + *
  • VALIDATING: The outbound connection request is being validated.
  • + *
  • VALIDATION_FAILED: Validation failed for the connection request.
  • + *
  • PENDING_ACCEPTANCE: Outbound connection request is validated and is not yet accepted by the remote domain + * owner. + *
  • + *
  • APPROVED: Outbound connection has been approved by the remote domain owner for getting provisioned.
  • + *
  • PROVISIONING: Outbound connection request is in process.
  • + *
  • ACTIVE: Outbound connection is active and ready to use.
  • + *
  • REJECTING: Outbound connection rejection by remote domain owner is in progress.
  • + *
  • REJECTED: Outbound connection request is rejected by remote domain owner.
  • + *
  • DELETING: Outbound connection deletion is in progress.
  • + *
  • DELETED: Outbound connection is deleted and can no longer be used.
  • + *
+ */ + StatusCode?: OutboundConnectionStatusCode | string; + + /** + *

Verbose information for the outbound connection status.

+ */ + Message?: string; +} + +export namespace OutboundConnectionStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OutboundConnectionStatus): any => ({ + ...obj, + }); +} + +/** + *

The result of a + * + * CreateOutboundConnection + * + * request. Contains the details about the newly created cross-cluster connection. + *

+ */ +export interface CreateOutboundConnectionResponse { + /** + *

The + * + * AWSDomainInformation + * + * for the local OpenSearch domain. + *

+ */ + LocalDomainInfo?: DomainInformationContainer; + + /** + *

The + * + * AWSDomainInformation + * + * for the remote OpenSearch domain. + *

+ */ + RemoteDomainInfo?: DomainInformationContainer; + + /** + *

The connection alias provided during the create connection request.

+ */ + ConnectionAlias?: string; + + /** + *

The + * + * OutboundConnectionStatus + * + * for the newly created connection. + *

+ */ + ConnectionStatus?: OutboundConnectionStatus; + + /** + *

The unique ID for the created outbound connection, which is used for subsequent operations on the connection.

+ */ + ConnectionId?: string; +} + +export namespace CreateOutboundConnectionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateOutboundConnectionResponse): any => ({ + ...obj, + }); +} + +/** + *

The Amazon S3 location for importing the package specified as S3BucketName and + * S3Key + *

+ */ +export interface PackageSource { + /** + *

The name of the Amazon S3 bucket containing the package.

+ */ + S3BucketName?: string; + + /** + *

Key (file name) of the package.

+ */ + S3Key?: string; +} + +export namespace PackageSource { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PackageSource): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for request parameters to the + * + * CreatePackage + * + * operation. + *

+ */ +export interface CreatePackageRequest { + /** + *

Unique identifier for the package.

+ */ + PackageName: string | undefined; + + /** + *

Type of package. Currently supports only TXT-DICTIONARY.

+ */ + PackageType: PackageType | string | undefined; + + /** + *

Description of the package.

+ */ + PackageDescription?: string; + + /** + *

The Amazon S3 location from which to import the package. + *

+ */ + PackageSource: PackageSource | undefined; +} + +export namespace CreatePackageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreatePackageRequest): any => ({ + ...obj, + }); +} + +export enum PackageStatus { + AVAILABLE = "AVAILABLE", + COPYING = "COPYING", + COPY_FAILED = "COPY_FAILED", + DELETED = "DELETED", + DELETE_FAILED = "DELETE_FAILED", + DELETING = "DELETING", + VALIDATING = "VALIDATING", + VALIDATION_FAILED = "VALIDATION_FAILED", +} + +/** + *

Basic information about a package.

+ */ +export interface PackageDetails { + /** + *

Internal ID of the package.

+ */ + PackageID?: string; + + /** + *

User-specified name of the package.

+ */ + PackageName?: string; + + /** + *

Currently supports only TXT-DICTIONARY.

+ */ + PackageType?: PackageType | string; + + /** + *

User-specified description of the package.

+ */ + PackageDescription?: string; + + /** + *

Current state of the package. Values are COPYING, COPY_FAILED, AVAILABLE, DELETING, and DELETE_FAILED.

+ */ + PackageStatus?: PackageStatus | string; + + /** + *

The timestamp of when the package was created.

+ */ + CreatedAt?: Date; + + LastUpdatedAt?: Date; + AvailablePackageVersion?: string; + /** + *

Additional information if the package is in an error state. Null otherwise.

+ */ + ErrorDetails?: ErrorDetails; +} + +export namespace PackageDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PackageDetails): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by the + * + * CreatePackage + * + * operation. + *

+ */ +export interface CreatePackageResponse { + /** + *

Information about the package. + *

+ */ + PackageDetails?: PackageDetails; +} + +export namespace CreatePackageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreatePackageResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DeleteDomain + * + * operation. Specifies the name of the domain you want to delete. + *

+ */ +export interface DeleteDomainRequest { + /** + *

The name of the domain you want to permanently delete.

+ */ + DomainName: string | undefined; +} + +export namespace DeleteDomainRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteDomainRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a DeleteDomain request. Contains the status of the pending deletion, or + * a "domain not found" error if the domain and all of its resources have been deleted. + *

+ */ +export interface DeleteDomainResponse { + /** + *

The status of the domain being deleted.

+ */ + DomainStatus?: DomainStatus; +} + +export namespace DeleteDomainResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteDomainResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DeleteInboundConnection + * + * operation. + *

+ */ +export interface DeleteInboundConnectionRequest { + /** + *

The ID of the inbound connection to permanently delete.

+ */ + ConnectionId: string | undefined; +} + +export namespace DeleteInboundConnectionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteInboundConnectionRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a + * + * DeleteInboundConnection + * + * operation. Contains details about the deleted inbound connection. + *

+ */ +export interface DeleteInboundConnectionResponse { + /** + *

The + * + * InboundConnection + * + * of the deleted inbound connection. + *

+ */ + Connection?: InboundConnection; +} + +export namespace DeleteInboundConnectionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteInboundConnectionResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DeleteOutboundConnection + * + * operation. + *

+ */ +export interface DeleteOutboundConnectionRequest { + /** + *

The ID of the outbound connection you want to permanently delete.

+ */ + ConnectionId: string | undefined; +} + +export namespace DeleteOutboundConnectionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteOutboundConnectionRequest): any => ({ + ...obj, + }); +} + +/** + *

Specifies details about an outbound connection.

+ */ +export interface OutboundConnection { + /** + *

The + * + * DomainInformation + * + * for the local OpenSearch domain. + *

+ */ + LocalDomainInfo?: DomainInformationContainer; + + /** + *

The + * + * DomainInformation + * + * for the remote OpenSearch domain. + *

+ */ + RemoteDomainInfo?: DomainInformationContainer; + + /** + *

The connection ID for the outbound cross-cluster connection.

+ */ + ConnectionId?: string; + + /** + *

The connection alias for the outbound cross-cluster connection.

+ */ + ConnectionAlias?: string; + + /** + *

The + * + * OutboundConnectionStatus + * + * for the outbound connection. + *

+ */ + ConnectionStatus?: OutboundConnectionStatus; +} + +export namespace OutboundConnection { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OutboundConnection): any => ({ + ...obj, + }); +} + +/** + *

The result of a + * + * DeleteOutboundConnection + * + * operation. Contains details about the deleted outbound connection. + *

+ */ +export interface DeleteOutboundConnectionResponse { + /** + *

The + * + * OutboundConnection + * + * of the deleted outbound connection. + *

+ */ + Connection?: OutboundConnection; +} + +export namespace DeleteOutboundConnectionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteOutboundConnectionResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * DeletePackage + * + * operation. + *

+ */ +export interface DeletePackageRequest { + /** + *

The internal ID of the package you want to delete. Use DescribePackages to find this value. + *

+ */ + PackageID: string | undefined; +} + +export namespace DeletePackageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeletePackageRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response parameters to the + * + * DeletePackage + * + * operation. + *

+ */ +export interface DeletePackageResponse { + /** + *

+ * PackageDetails + *

+ */ + PackageDetails?: PackageDetails; +} + +export namespace DeletePackageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeletePackageResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DescribeDomain + * + * operation. + *

+ */ +export interface DescribeDomainRequest { + /** + *

The name of the domain for which you want information.

+ */ + DomainName: string | undefined; +} + +export namespace DescribeDomainRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a DescribeDomain request. Contains the status of the domain specified in + * the request. + *

+ */ +export interface DescribeDomainResponse { + /** + *

The current status of the domain.

+ */ + DomainStatus: DomainStatus | undefined; +} + +export namespace DescribeDomainResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the DescribeDomainAutoTunes operation. + *

+ */ +export interface DescribeDomainAutoTunesRequest { + /** + *

The domain name for which you want Auto-Tune action details.

+ */ + DomainName: string | undefined; + + /** + *

Set this value to limit the number of results returned. If not specified, defaults to 100.

+ */ + MaxResults?: number; + + /** + *

NextToken is sent in case the earlier API call results contain the NextToken. Used for pagination.

+ */ + NextToken?: string; +} + +export namespace DescribeDomainAutoTunesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainAutoTunesRequest): any => ({ + ...obj, + }); +} + +export enum ScheduledAutoTuneActionType { + JVM_HEAP_SIZE_TUNING = "JVM_HEAP_SIZE_TUNING", + JVM_YOUNG_GEN_TUNING = "JVM_YOUNG_GEN_TUNING", +} + +export enum ScheduledAutoTuneSeverityType { + HIGH = "HIGH", + LOW = "LOW", + MEDIUM = "MEDIUM", +} + +/** + *

Specifies details about the scheduled Auto-Tune action. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ +export interface ScheduledAutoTuneDetails { + /** + *

The timestamp of the Auto-Tune action scheduled for the domain.

+ */ + Date?: Date; + + /** + *

The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and JVM_YOUNG_GEN_TUNING.

+ */ + ActionType?: ScheduledAutoTuneActionType | string; + + /** + *

The Auto-Tune action description.

+ */ + Action?: string; + + /** + *

The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.

+ */ + Severity?: ScheduledAutoTuneSeverityType | string; +} + +export namespace ScheduledAutoTuneDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledAutoTuneDetails): any => ({ + ...obj, + }); +} + +/** + *

Specifies details about the Auto-Tune action. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ +export interface AutoTuneDetails { + /** + *

Specifies details about the scheduled Auto-Tune action. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + ScheduledAutoTuneDetails?: ScheduledAutoTuneDetails; +} + +export namespace AutoTuneDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneDetails): any => ({ + ...obj, + }); +} + +export enum AutoTuneType { + SCHEDULED_ACTION = "SCHEDULED_ACTION", +} + +/** + *

Specifies the Auto-Tune type and Auto-Tune action details.

+ */ +export interface AutoTune { + /** + *

Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.

+ */ + AutoTuneType?: AutoTuneType | string; + + /** + *

Specifies details about the Auto-Tune action. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + AutoTuneDetails?: AutoTuneDetails; +} + +export namespace AutoTune { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTune): any => ({ + ...obj, + }); +} + +/** + *

The result of a DescribeDomainAutoTunes request. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ +export interface DescribeDomainAutoTunesResponse { + /** + *

The list of setting adjustments that Auto-Tune has made to the domain. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + AutoTunes?: AutoTune[]; + + /** + *

An identifier to allow retrieval of paginated results.

+ */ + NextToken?: string; +} + +export namespace DescribeDomainAutoTunesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainAutoTunesResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the DescribeDomainConfig operation. Specifies the + * domain name for which you want configuration information. + *

+ */ +export interface DescribeDomainConfigRequest { + /** + *

The domain you want to get information about.

+ */ + DomainName: string | undefined; +} + +export namespace DescribeDomainConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainConfigRequest): any => ({ + ...obj, + }); +} + +export enum RollbackOnDisable { + DEFAULT_ROLLBACK = "DEFAULT_ROLLBACK", + NO_ROLLBACK = "NO_ROLLBACK", +} + +/** + *

The Auto-Tune options: the Auto-Tune desired state for the domain, rollback state when disabling + * Auto-Tune options and list of maintenance schedules. + *

+ */ +export interface AutoTuneOptions { + /** + *

The Auto-Tune desired state. Valid values are ENABLED and DISABLED.

+ */ + DesiredState?: AutoTuneDesiredState | string; + + /** + *

The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK. + *

+ */ + RollbackOnDisable?: RollbackOnDisable | string; + + /** + *

A list of maintenance schedules. See + * Auto-Tune for Amazon OpenSearch Service + * for more information. + *

+ */ + MaintenanceSchedules?: AutoTuneMaintenanceSchedule[]; +} + +export namespace AutoTuneOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneOptions): any => ({ + ...obj, + }); +} + +/** + *

Provides the current Auto-Tune status for the domain.

+ */ +export interface AutoTuneStatus { + /** + *

The timestamp of the Auto-Tune options creation date.

+ */ + CreationDate: Date | undefined; + + /** + *

The timestamp of when the Auto-Tune options were last updated.

+ */ + UpdateDate: Date | undefined; + + /** + *

The latest version of the Auto-Tune options.

+ */ + UpdateVersion?: number; + + /** + *

The AutoTuneState for the domain. + *

+ */ + State: AutoTuneState | string | undefined; + + /** + *

The error message while enabling or disabling Auto-Tune.

+ */ + ErrorMessage?: string; + + /** + *

Indicates whether the domain is being deleted.

+ */ + PendingDeletion?: boolean; +} + +export namespace AutoTuneStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneStatus): any => ({ + ...obj, + }); +} + +/** + *

The Auto-Tune status for the domain.

+ */ +export interface AutoTuneOptionsStatus { + /** + *

Specifies Auto-Tune options for the domain.

+ */ + Options?: AutoTuneOptions; + + /** + *

The status of the Auto-Tune options for the domain.

+ */ + Status?: AutoTuneStatus; +} + +export namespace AutoTuneOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AutoTuneOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

The configuration status for the specified domain.

+ */ +export interface ClusterConfigStatus { + /** + *

The cluster configuration for the specified domain.

+ */ + Options: ClusterConfig | undefined; + + /** + *

The cluster configuration status for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace ClusterConfigStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterConfigStatus): any => ({ + ...obj, + }); +} + +/** + *

The status of the Cognito options for the specified domain.

+ */ +export interface CognitoOptionsStatus { + /** + *

Cognito options for the specified domain.

+ */ + Options: CognitoOptions | undefined; + + /** + *

The status of the Cognito options for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace CognitoOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CognitoOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

The configured endpoint options for the domain and their current status.

+ */ +export interface DomainEndpointOptionsStatus { + /** + *

Options to configure the endpoint for the domain.

+ */ + Options: DomainEndpointOptions | undefined; + + /** + *

The status of the endpoint options for the domain. See OptionStatus for the status + * information that's included. + *

+ */ + Status: OptionStatus | undefined; +} + +export namespace DomainEndpointOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainEndpointOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

Status of the EBS options for the specified domain.

+ */ +export interface EBSOptionsStatus { + /** + *

The EBS options for the specified domain.

+ */ + Options: EBSOptions | undefined; + + /** + *

The status of the EBS options for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace EBSOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EBSOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

Status of the encryption At Rest options for the specified domain.

+ */ +export interface EncryptionAtRestOptionsStatus { + /** + *

The Encryption At Rest options for the specified domain.

+ */ + Options: EncryptionAtRestOptions | undefined; + + /** + *

The status of the Encryption At Rest options for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace EncryptionAtRestOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EncryptionAtRestOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

The status of the OpenSearch version options for the specified OpenSearch domain.

+ */ +export interface VersionStatus { + /** + *

The OpenSearch version for the specified OpenSearch domain.

+ */ + Options: string | undefined; + + /** + *

The status of the OpenSearch version options for the specified OpenSearch domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace VersionStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VersionStatus): any => ({ + ...obj, + }); +} + +/** + *

The configured log publishing options for the domain and their current status.

+ */ +export interface LogPublishingOptionsStatus { + /** + *

The log publishing options configured for the domain.

+ */ + Options?: { [key: string]: LogPublishingOption }; + + /** + *

The status of the log publishing options for the domain. See OptionStatus for the + * status information that's included. + *

+ */ + Status?: OptionStatus; +} + +export namespace LogPublishingOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LogPublishingOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

Status of the node-to-node encryption options for the specified domain.

+ */ +export interface NodeToNodeEncryptionOptionsStatus { + /** + *

The node-to-node encryption options for the specified domain.

+ */ + Options: NodeToNodeEncryptionOptions | undefined; + + /** + *

The status of the node-to-node encryption options for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace NodeToNodeEncryptionOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NodeToNodeEncryptionOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

Status of a daily automated snapshot.

+ */ +export interface SnapshotOptionsStatus { + /** + *

The daily snapshot options specified for the domain.

+ */ + Options: SnapshotOptions | undefined; + + /** + *

The status of a daily automated snapshot.

+ */ + Status: OptionStatus | undefined; +} + +export namespace SnapshotOptionsStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SnapshotOptionsStatus): any => ({ + ...obj, + }); +} + +/** + *

Status of the VPC options for the specified domain.

+ */ +export interface VPCDerivedInfoStatus { + /** + *

The VPC options for the specified domain.

+ */ + Options: VPCDerivedInfo | undefined; + + /** + *

The status of the VPC options for the specified domain.

+ */ + Status: OptionStatus | undefined; +} + +export namespace VPCDerivedInfoStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VPCDerivedInfoStatus): any => ({ + ...obj, + }); +} + +/** + *

The configuration of a domain.

+ */ +export interface DomainConfig { + /** + *

String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch or Elasticsearch domain.

+ */ + EngineVersion?: VersionStatus; + + /** + *

The ClusterConfig for the domain. + *

+ */ + ClusterConfig?: ClusterConfigStatus; + + /** + *

The EBSOptions for the domain. + *

+ */ + EBSOptions?: EBSOptionsStatus; + + /** + *

IAM access policy as a JSON-formatted string.

+ */ + AccessPolicies?: AccessPoliciesStatus; + + /** + *

The SnapshotOptions for the domain. + *

+ */ + SnapshotOptions?: SnapshotOptionsStatus; + + /** + *

The VPCOptions for the specified domain. For more information, see + * Launching your Amazon OpenSearch Service domains using a VPC. + *

+ */ + VPCOptions?: VPCDerivedInfoStatus; + + /** + *

The CognitoOptions for the specified domain. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards. + *

+ */ + CognitoOptions?: CognitoOptionsStatus; + + /** + *

The EncryptionAtRestOptions for the domain. + *

+ */ + EncryptionAtRestOptions?: EncryptionAtRestOptionsStatus; + + /** + *

The NodeToNodeEncryptionOptions for the domain. + *

+ */ + NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptionsStatus; + + /** + *

The AdvancedOptions for the domain. See Advanced options + * for more information. + *

+ */ + AdvancedOptions?: AdvancedOptionsStatus; + + /** + *

Log publishing options for the given domain.

+ */ + LogPublishingOptions?: LogPublishingOptionsStatus; + + /** + *

The DomainEndpointOptions for the domain. + *

+ */ + DomainEndpointOptions?: DomainEndpointOptionsStatus; + + /** + *

Specifies AdvancedSecurityOptions for the domain. + *

+ */ + AdvancedSecurityOptions?: AdvancedSecurityOptionsStatus; + + /** + *

Specifies AutoTuneOptions for the domain. + *

+ */ + AutoTuneOptions?: AutoTuneOptionsStatus; +} + +export namespace DomainConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainConfig): any => ({ + ...obj, + }); +} + +/** + *

The result of a DescribeDomainConfig request. Contains the configuration information of + * the requested domain. + *

+ */ +export interface DescribeDomainConfigResponse { + /** + *

The configuration information of the domain requested in the DescribeDomainConfig request. + *

+ */ + DomainConfig: DomainConfig | undefined; +} + +export namespace DescribeDomainConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainConfigResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DescribeDomains + * + * operation. By default, the API returns the status of all domains. + *

+ */ +export interface DescribeDomainsRequest { + /** + *

The domains for which you want information.

+ */ + DomainNames: string[] | undefined; +} + +export namespace DescribeDomainsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainsRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a DescribeDomains request. Contains the status of the specified domains + * or all domains owned by the account. + *

+ */ +export interface DescribeDomainsResponse { + /** + *

The status of the domains requested in the DescribeDomains request. + *

+ */ + DomainStatusList: DomainStatus[] | undefined; +} + +export namespace DescribeDomainsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDomainsResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * A filter used to limit results when describing inbound or outbound cross-cluster connections. + * Multiple values can be specified per filter. + * A cross-cluster connection must match at least one of the specified values for it to be + * returned from an operation. + *

+ */ +export interface Filter { + /** + *

+ * The name of the filter. + *

+ */ + Name?: string; + + /** + *

+ * Contains one or more values for the filter. + *

+ */ + Values?: string[]; +} + +export namespace Filter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Filter): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DescribeInboundConnections + * + * operation. + *

+ */ +export interface DescribeInboundConnectionsRequest { + /** + *

+ * A list of filters used to match properties for inbound cross-cluster connections. + * Available + * + * Filter + * + * values are: + *

    + *
  • connection-id
  • + *
  • local-domain-info.domain-name
  • + *
  • local-domain-info.owner-id
  • + *
  • local-domain-info.region
  • + *
  • remote-domain-info.domain-name
  • + *
+ *

+ */ + Filters?: Filter[]; + + /** + *

Set this value to limit the number of results returned. If not specified, defaults to 100.

+ */ + MaxResults?: number; + + /** + *

If more results are available and NextToken is present, make the next request to the same API with the received + * NextToken to paginate the remaining results.

+ */ + NextToken?: string; +} + +export namespace DescribeInboundConnectionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeInboundConnectionsRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a + * + * DescribeInboundConnections + * + * request. Contains a list of connections matching the filter criteria. + *

+ */ +export interface DescribeInboundConnectionsResponse { + /** + *

A list of + * + * InboundConnection + * + * matching the specified filter criteria. + *

+ */ + Connections?: InboundConnection[]; + + /** + *

If more results are available and NextToken is present, make the next request to the same API with the received + * NextToken to paginate the remaining results. + *

+ */ + NextToken?: string; +} + +export namespace DescribeInboundConnectionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeInboundConnectionsResponse): any => ({ + ...obj, + }); +} + +/** + *

The request processing has failed because of invalid pagination token provided by customer. Returns an HTTP status code of 400.

+ */ +export interface InvalidPaginationTokenException extends __SmithyException, $MetadataBearer { + name: "InvalidPaginationTokenException"; + $fault: "client"; + /** + *

A description of the error.

+ */ + message?: string; +} + +export namespace InvalidPaginationTokenException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidPaginationTokenException): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the parameters to the + * + * DescribeInstanceTypeLimits + * + * operation. + *

+ */ +export interface DescribeInstanceTypeLimitsRequest { + /** + *

+ * The name of the domain you want to modify. Only include this value if you're + * querying OpenSearch + * + * Limits + * + * for an existing domain. + *

+ */ + DomainName?: string; + + /** + *

+ * The instance type for an OpenSearch cluster for which OpenSearch + * + * Limits + * + * are needed. + *

+ */ + InstanceType: OpenSearchPartitionInstanceType | string | undefined; + + /** + *

+ * Version of OpenSearch for which + * + * Limits + * + * are needed. + *

+ */ + EngineVersion: string | undefined; +} + +export namespace DescribeInstanceTypeLimitsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeInstanceTypeLimitsRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * InstanceCountLimits represents the limits on the number of instances that can be created in Amazon OpenSearch Service for + * a given InstanceType. + *

+ */ +export interface InstanceCountLimits { + /** + *

+ * Minimum number of instances that can be instantiated for a given InstanceType. + *

+ */ + MinimumInstanceCount?: number; + + /** + *

+ * Maximum number of instances that can be instantiated for a given InstanceType. + *

+ */ + MaximumInstanceCount?: number; +} + +export namespace InstanceCountLimits { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceCountLimits): any => ({ + ...obj, + }); +} + +/** + *

InstanceLimits represents the list of instance-related attributes that are available for a given InstanceType. + *

+ */ +export interface InstanceLimits { + /** + *

+ * InstanceCountLimits represents the limits on the number of instances that can be created in Amazon OpenSearch Service for + * a given InstanceType. + *

+ */ + InstanceCountLimits?: InstanceCountLimits; +} + +export namespace InstanceLimits { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceLimits): any => ({ + ...obj, + }); +} + +/** + *

Limits that are applicable for the given storage type. + *

+ */ +export interface StorageTypeLimit { + /** + *

+ * Name of storage limits that are applicable for the given storage type. + * If + * + * StorageType + * + * is "ebs", the following storage options are applicable: + *

    + *
  1. MinimumVolumeSize
  2. + * Minimum amount of volume size that is applicable for the given storage type. Can be empty if not applicable. + *
  3. MaximumVolumeSize
  4. + * Maximum amount of volume size that is applicable for the given storage type. Can be empty if not applicable. + *
  5. MaximumIops
  6. + * Maximum amount of Iops that is applicable for given the storage type. Can be empty if not applicable. + *
  7. MinimumIops
  8. + * Minimum amount of Iops that is applicable for given the storage type. Can be empty if not applicable. + *
+ *

+ */ + LimitName?: string; + + /** + *

+ * Values for the + * + * StorageTypeLimit$LimitName + * + * . + *

+ */ + LimitValues?: string[]; +} + +export namespace StorageTypeLimit { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StorageTypeLimit): any => ({ + ...obj, + }); +} + +/** + *

StorageTypes represents the list of storage-related types and their attributes + * that are available for a given InstanceType. + *

+ */ +export interface StorageType { + /** + *

+ * Type of storage. + * List of available storage options: + *

    + *
  1. instance
  2. + * Built-in storage available for the instance + *
  3. ebs
  4. + * Elastic block storage attached to the instance + *
+ *

+ */ + StorageTypeName?: string; + + /** + *

+ * Sub-type of the given storage type. + * List of available sub-storage options: + * "instance" storageType has no storageSubType. + * "ebs" storageType has the following valid storageSubTypes: + *

    + *
  1. standard
  2. + *
  3. gp2
  4. + *
  5. io1
  6. + *
+ * See + * + * VolumeType + * + * for more information regarding each EBS storage option. + *

+ */ + StorageSubTypeName?: string; + + /** + *

Limits that are applicable for the given storage type. + *

+ */ + StorageTypeLimits?: StorageTypeLimit[]; +} + +export namespace StorageType { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StorageType): any => ({ + ...obj, + }); +} + +/** + *

+ * Limits for a given InstanceType and for each of its roles. + *

+ * Limits contains the following: + * + * StorageTypes + * , + * + * InstanceLimits + * , + * and + * + * AdditionalLimits + * + *

+ */ +export interface Limits { + /** + *

Storage-related types and attributes + * that are available for a given InstanceType. + *

+ */ + StorageTypes?: StorageType[]; + + /** + *

InstanceLimits represents the list of instance-related attributes that are available for a given InstanceType. + *

+ */ + InstanceLimits?: InstanceLimits; + + /** + *

+ * List of additional limits that are specific to a given InstanceType and for each of its + * + * InstanceRole + * + * . + *

+ */ + AdditionalLimits?: AdditionalLimit[]; +} + +export namespace Limits { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Limits): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the parameters received from the + * + * DescribeInstanceTypeLimits + * + * operation. + *

+ */ +export interface DescribeInstanceTypeLimitsResponse { + /** + *

+ * The role of a given instance and all applicable limits. + * The role performed by a given OpenSearch instance + * can be one of the following: + *

    + *
  • data: If the given InstanceType is used as a data node
  • + *
  • master: If the given InstanceType is used as a master node
  • + *
  • ultra_warm: If the given InstanceType is used as a warm node
  • + *
+ *

+ */ + LimitsByRole?: { [key: string]: Limits }; +} + +export namespace DescribeInstanceTypeLimitsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeInstanceTypeLimitsResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * DescribeOutboundConnections + * + * operation. + *

+ */ +export interface DescribeOutboundConnectionsRequest { + /** + *

+ * A list of filters used to match properties for outbound cross-cluster connections. + * Available + * + * Filter + * + * names for this operation are: + *

    + *
  • connection-id
  • + *
  • remote-domain-info.domain-name
  • + *
  • remote-domain-info.owner-id
  • + *
  • remote-domain-info.region
  • + *
  • local-domain-info.domain-name
  • + *
+ *

+ */ + Filters?: Filter[]; + + /** + *

Set this value to limit the number of results returned. If not specified, defaults to 100.

+ */ + MaxResults?: number; + + /** + *

NextToken is sent in case the earlier API call results contain the NextToken parameter. Used for pagination.

+ */ + NextToken?: string; +} + +export namespace DescribeOutboundConnectionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeOutboundConnectionsRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a + * + * DescribeOutboundConnections + * + * request. Contains the list of connections matching the filter criteria. + *

+ */ +export interface DescribeOutboundConnectionsResponse { + /** + *

A list of + * + * OutboundConnection + * + * matching the specified filter criteria. + *

+ */ + Connections?: OutboundConnection[]; + + /** + *

If more results are available and NextToken is present, make the next request to the same API with the received + * NextToken to paginate the remaining results. + *

+ */ + NextToken?: string; +} + +export namespace DescribeOutboundConnectionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeOutboundConnectionsResponse): any => ({ + ...obj, + }); +} + +export enum DescribePackagesFilterName { + PackageID = "PackageID", + PackageName = "PackageName", + PackageStatus = "PackageStatus", +} + +/** + *

A filter to apply to the DescribePackage response. + *

+ */ +export interface DescribePackagesFilter { + /** + *

Any field from PackageDetails. + *

+ */ + Name?: DescribePackagesFilterName | string; + + /** + *

A list of values for the specified field.

+ */ + Value?: string[]; +} + +export namespace DescribePackagesFilter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribePackagesFilter): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * DescribePackage + * + * operation. + *

+ */ +export interface DescribePackagesRequest { + /** + *

Only returns packages that match the DescribePackagesFilterList values. + *

+ */ + Filters?: DescribePackagesFilter[]; + + /** + *

Limits results to a maximum number of packages.

+ */ + MaxResults?: number; + + /** + *

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, + * returns results for the next page. + *

+ */ + NextToken?: string; +} + +export namespace DescribePackagesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribePackagesRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by the + * + * DescribePackages + * + * operation. + *

+ */ +export interface DescribePackagesResponse { + /** + *

List of PackageDetails objects. + *

+ */ + PackageDetailsList?: PackageDetails[]; + + NextToken?: string; +} + +export namespace DescribePackagesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribePackagesResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for parameters to + * DescribeReservedInstanceOfferings + *

+ */ +export interface DescribeReservedInstanceOfferingsRequest { + /** + *

The offering identifier filter value. Use this parameter to show only the available offering that matches the + * specified reservation identifier. + *

+ */ + ReservedInstanceOfferingId?: string; + + /** + *

Set this value to limit the number of results returned. If not specified, defaults to 100.

+ */ + MaxResults?: number; + + /** + *

Provides an identifier to allow retrieval of paginated results. + *

+ */ + NextToken?: string; +} + +export namespace DescribeReservedInstanceOfferingsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstanceOfferingsRequest): any => ({ + ...obj, + }); +} + +export enum ReservedInstancePaymentOption { + ALL_UPFRONT = "ALL_UPFRONT", + NO_UPFRONT = "NO_UPFRONT", + PARTIAL_UPFRONT = "PARTIAL_UPFRONT", +} + +/** + *

Contains the specific price and frequency of a recurring charges for a reserved OpenSearch instance, or for a + * reserved OpenSearch instance offering. + *

+ */ +export interface RecurringCharge { + /** + *

The monetary amount of the recurring charge.

+ */ + RecurringChargeAmount?: number; + + /** + *

The frequency of the recurring charge.

+ */ + RecurringChargeFrequency?: string; +} + +export namespace RecurringCharge { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RecurringCharge): any => ({ + ...obj, + }); +} + +/** + *

Details of a reserved OpenSearch instance offering.

+ */ +export interface ReservedInstanceOffering { + /** + *

The OpenSearch reserved instance offering identifier.

+ */ + ReservedInstanceOfferingId?: string; + + /** + *

The OpenSearch instance type offered by the reserved instance offering.

+ */ + InstanceType?: OpenSearchPartitionInstanceType | string; + + /** + *

The duration, in seconds, for which the offering will reserve the OpenSearch instance.

+ */ + Duration?: number; + + /** + *

The upfront fixed charge you will pay to purchase the specific reserved OpenSearch instance offering.

+ */ + FixedPrice?: number; + + /** + *

The rate you are charged for each hour the domain that is using the offering is running.

+ */ + UsagePrice?: number; + + /** + *

The currency code for the reserved OpenSearch instance offering.

+ */ + CurrencyCode?: string; + + /** + *

Payment option for the reserved OpenSearch instance offering

+ */ + PaymentOption?: ReservedInstancePaymentOption | string; + + /** + *

The charge to your account regardless of whether you are creating any domains using the instance offering.

+ */ + RecurringCharges?: RecurringCharge[]; +} + +export namespace ReservedInstanceOffering { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReservedInstanceOffering): any => ({ + ...obj, + }); +} + +/** + *

Container for results from + * DescribeReservedInstanceOfferings + *

+ */ +export interface DescribeReservedInstanceOfferingsResponse { + /** + *

Provides an identifier to allow retrieval of paginated results.

+ */ + NextToken?: string; + + /** + *

List of reserved OpenSearch instance offerings

+ */ + ReservedInstanceOfferings?: ReservedInstanceOffering[]; +} + +export namespace DescribeReservedInstanceOfferingsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstanceOfferingsResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for parameters to + * DescribeReservedInstances + *

+ */ +export interface DescribeReservedInstancesRequest { + /** + *

The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the + * specified reserved OpenSearch instance ID. + *

+ */ + ReservedInstanceId?: string; + + /** + *

Set this value to limit the number of results returned. If not specified, defaults to 100.

+ */ + MaxResults?: number; + + /** + *

Provides an identifier to allow retrieval of paginated results. + *

+ */ + NextToken?: string; +} + +export namespace DescribeReservedInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstancesRequest): any => ({ + ...obj, + }); +} + +/** + *

Details of a reserved OpenSearch instance.

+ */ +export interface ReservedInstance { + /** + *

The customer-specified identifier to track this reservation.

+ */ + ReservationName?: string; + + /** + *

The unique identifier for the reservation.

+ */ + ReservedInstanceId?: string; + + BillingSubscriptionId?: number; + /** + *

The offering identifier.

+ */ + ReservedInstanceOfferingId?: string; + + /** + *

The OpenSearch instance type offered by the reserved instance offering.

+ */ + InstanceType?: OpenSearchPartitionInstanceType | string; + + /** + *

The time the reservation started.

+ */ + StartTime?: Date; + + /** + *

The duration, in seconds, for which the OpenSearch instance is reserved.

+ */ + Duration?: number; + + /** + *

The upfront fixed charge you will paid to purchase the specific reserved OpenSearch instance offering.

+ */ + FixedPrice?: number; + + /** + *

The rate you are charged for each hour for the domain that is using this reserved instance.

+ */ + UsagePrice?: number; + + /** + *

The currency code for the reserved OpenSearch instance offering.

+ */ + CurrencyCode?: string; + + /** + *

The number of OpenSearch instances that have been reserved.

+ */ + InstanceCount?: number; + + /** + *

The state of the reserved OpenSearch instance.

+ */ + State?: string; + + /** + *

The payment option as defined in the reserved OpenSearch instance offering.

+ */ + PaymentOption?: ReservedInstancePaymentOption | string; + + /** + *

The charge to your account regardless of whether you are creating any domains using the instance offering.

+ */ + RecurringCharges?: RecurringCharge[]; +} + +export namespace ReservedInstance { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReservedInstance): any => ({ + ...obj, + }); +} + +/** + *

Container for results from + * DescribeReservedInstances + *

+ */ +export interface DescribeReservedInstancesResponse { + /** + *

Provides an identifier to allow retrieval of paginated results.

+ */ + NextToken?: string; + + /** + *

List of reserved OpenSearch instances.

+ */ + ReservedInstances?: ReservedInstance[]; +} + +export namespace DescribeReservedInstancesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstancesResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * DissociatePackage + * + * operation. + *

+ */ +export interface DissociatePackageRequest { + /** + *

The internal ID of the package to associate with a domain. Use DescribePackages to find + * this value. + *

+ */ + PackageID: string | undefined; + + /** + *

The name of the domain to associate the package with.

+ */ + DomainName: string | undefined; +} + +export namespace DissociatePackageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DissociatePackageRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by + * + * DissociatePackage + * + * operation. + *

+ */ +export interface DissociatePackageResponse { + /** + *

+ * DomainPackageDetails + *

+ */ + DomainPackageDetails?: DomainPackageDetails; +} + +export namespace DissociatePackageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DissociatePackageResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to + * + * GetCompatibleVersions + * + * operation. + *

+ */ +export interface GetCompatibleVersionsRequest { + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName?: string; +} + +export namespace GetCompatibleVersionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetCompatibleVersionsRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * A map from an + * + * EngineVersion + * + * to a list of compatible + * + * EngineVersion + * + * s to which the domain can be upgraded. + *

+ */ +export interface CompatibleVersionsMap { + /** + *

The current version of OpenSearch a domain is on.

+ */ + SourceVersion?: string; + + /** + *

List of supported OpenSearch versions. + *

+ */ + TargetVersions?: string[]; +} + +export namespace CompatibleVersionsMap { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CompatibleVersionsMap): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by the + * + * GetCompatibleVersions + * + * operation. + *

+ */ +export interface GetCompatibleVersionsResponse { + /** + *

+ * A map of compatible OpenSearch versions returned as part of the + * + * GetCompatibleVersions + * + * operation. + *

+ */ + CompatibleVersions?: CompatibleVersionsMap[]; +} + +export namespace GetCompatibleVersionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetCompatibleVersionsResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * GetPackageVersionHistory + * + * operation. + *

+ */ +export interface GetPackageVersionHistoryRequest { + /** + *

Returns an audit history of package versions.

+ */ + PackageID: string | undefined; + + /** + *

Limits results to a maximum number of package versions.

+ */ + MaxResults?: number; + + /** + *

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, + * returns results for the next page. + *

+ */ + NextToken?: string; +} + +export namespace GetPackageVersionHistoryRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetPackageVersionHistoryRequest): any => ({ + ...obj, + }); +} + +/** + *

Details of a package version.

+ */ +export interface PackageVersionHistory { + /** + *

The package version.

+ */ + PackageVersion?: string; + + /** + *

A message associated with the package version.

+ */ + CommitMessage?: string; + + /** + *

The timestamp of when the package was created.

+ */ + CreatedAt?: Date; +} + +export namespace PackageVersionHistory { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PackageVersionHistory): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for response returned by + * + * GetPackageVersionHistory + * + * operation. + *

+ */ +export interface GetPackageVersionHistoryResponse { + PackageID?: string; + /** + *

List of PackageVersionHistory objects. + *

+ */ + PackageVersionHistoryList?: PackageVersionHistory[]; + + NextToken?: string; +} + +export namespace GetPackageVersionHistoryResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetPackageVersionHistoryResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * GetUpgradeHistory + * + * operation. + *

+ */ +export interface GetUpgradeHistoryRequest { + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName: string | undefined; + + /** + *

+ * Set this value to limit the number of results returned. + *

+ */ + MaxResults?: number; + + /** + *

+ * Paginated APIs accept the NextToken input to return the next page of results and provide + * a NextToken output in the response, which you can use to retrieve more results. + *

+ */ + NextToken?: string; +} + +export namespace GetUpgradeHistoryRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetUpgradeHistoryRequest): any => ({ + ...obj, + }); +} + +export enum UpgradeStep { + PRE_UPGRADE_CHECK = "PRE_UPGRADE_CHECK", + SNAPSHOT = "SNAPSHOT", + UPGRADE = "UPGRADE", +} + +export enum UpgradeStatus { + FAILED = "FAILED", + IN_PROGRESS = "IN_PROGRESS", + SUCCEEDED = "SUCCEEDED", + SUCCEEDED_WITH_ISSUES = "SUCCEEDED_WITH_ISSUES", +} + +/** + *

Represents a single step of the upgrade or upgrade eligibility check workflow.

+ */ +export interface UpgradeStepItem { + /** + *

+ * One of three steps an upgrade or upgrade eligibility check goes through: + *

    + *
  • PreUpgradeCheck
  • + *
  • Snapshot
  • + *
  • Upgrade
  • + *
+ *

+ */ + UpgradeStep?: UpgradeStep | string; + + /** + *

+ * The current status of the upgrade. The status can take one of the following values: + *

    + *
  • In Progress
  • + *
  • Succeeded
  • + *
  • Succeeded with Issues
  • + *
  • Failed
  • + *
+ *

+ */ + UpgradeStepStatus?: UpgradeStatus | string; + + /** + *

A list of strings containing detailed information about the errors encountered in a particular step.

+ */ + Issues?: string[]; + + /** + *

The floating point value representing the progress percentage of a particular step.

+ */ + ProgressPercent?: number; +} + +export namespace UpgradeStepItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpgradeStepItem): any => ({ + ...obj, + }); +} + +/** + *

History of the last 10 upgrades and upgrade eligibility checks.

+ */ +export interface UpgradeHistory { + /** + *

A string that briefly describes the upgrade.

+ */ + UpgradeName?: string; + + /** + *

UTC timestamp at which the upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ" format.

+ */ + StartTimestamp?: Date; + + /** + *

+ * The current status of the upgrade. The status can take one of the following values: + *

    + *
  • In Progress
  • + *
  • Succeeded
  • + *
  • Succeeded with Issues
  • + *
  • Failed
  • + *
+ *

+ */ + UpgradeStatus?: UpgradeStatus | string; + + /** + *

+ * A list of + * + * UpgradeStepItem + * + * s representing information about each step performed as part of a specific upgrade or upgrade eligibility check. + *

+ */ + StepsList?: UpgradeStepItem[]; +} + +export namespace UpgradeHistory { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpgradeHistory): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by the + * + * GetUpgradeHistory + * + * operation. + *

+ */ +export interface GetUpgradeHistoryResponse { + /** + *

+ * A list of + * + * UpgradeHistory + * + * objects corresponding to each upgrade or upgrade eligibility check performed on a domain returned as part of the + * + * GetUpgradeHistoryResponse + * + * object. + *

+ */ + UpgradeHistories?: UpgradeHistory[]; + + /** + *

Pagination token that needs to be supplied to the next call to get the next page of results.

+ */ + NextToken?: string; +} + +export namespace GetUpgradeHistoryResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetUpgradeHistoryResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * GetUpgradeStatus + * + * operation. + *

+ */ +export interface GetUpgradeStatusRequest { + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName: string | undefined; +} + +export namespace GetUpgradeStatusRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetUpgradeStatusRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by the + * + * GetUpgradeStatus + * + * operation. + *

+ */ +export interface GetUpgradeStatusResponse { + /** + *

+ * One of three steps an upgrade or upgrade eligibility check goes through: + *

    + *
  • PreUpgradeCheck
  • + *
  • Snapshot
  • + *
  • Upgrade
  • + *
+ *

+ */ + UpgradeStep?: UpgradeStep | string; + + /** + *

+ * One of four statuses an upgrade have, returned as part of the + * + * GetUpgradeStatusResponse + * + * object. The status can take one of the following values: + *

    + *
  • In Progress
  • + *
  • Succeeded
  • + *
  • Succeeded with Issues
  • + *
  • Failed
  • + *
+ *

+ */ + StepStatus?: UpgradeStatus | string; + + /** + *

A string that briefly describes the update.

+ */ + UpgradeName?: string; +} + +export namespace GetUpgradeStatusResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetUpgradeStatusResponse): any => ({ + ...obj, + }); +} + +export interface DomainInfo { + /** + *

The DomainName. + *

+ */ + DomainName?: string; +} + +export namespace DomainInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainInfo): any => ({ + ...obj, + }); +} + +/** + *

The result of a ListDomainNames operation. Contains the names of all domains owned by + * this account. + *

+ */ +export interface ListDomainNamesResponse { + /** + *

List of domain names.

+ */ + DomainNames?: DomainInfo[]; +} + +export namespace ListDomainNamesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDomainNamesResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * ListDomainsForPackage + * + * operation. + *

+ */ +export interface ListDomainsForPackageRequest { + /** + *

The package for which to list associated domains.

+ */ + PackageID: string | undefined; + + /** + *

Limits the results to a maximum number of domains.

+ */ + MaxResults?: number; + + /** + *

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, + * returns results for the next page. + *

+ */ + NextToken?: string; +} + +export namespace ListDomainsForPackageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDomainsForPackageRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response parameters to the + * + * ListDomainsForPackage + * + * operation. + *

+ */ +export interface ListDomainsForPackageResponse { + /** + *

List of DomainPackageDetails objects. + *

+ */ + DomainPackageDetailsList?: DomainPackageDetails[]; + + NextToken?: string; +} + +export namespace ListDomainsForPackageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDomainsForPackageResponse): any => ({ + ...obj, + }); +} + +export interface ListInstanceTypeDetailsRequest { + EngineVersion: string | undefined; + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName?: string; + + /** + *

+ * Set this value to limit the number of results returned. + *

+ */ + MaxResults?: number; + + /** + *

+ * Paginated APIs accept the NextToken input to return the next page of results and provide + * a NextToken output in the response, which you can use to retrieve more results. + *

+ */ + NextToken?: string; +} + +export namespace ListInstanceTypeDetailsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListInstanceTypeDetailsRequest): any => ({ + ...obj, + }); +} + +export interface InstanceTypeDetails { + InstanceType?: OpenSearchPartitionInstanceType | string; + EncryptionEnabled?: boolean; + CognitoEnabled?: boolean; + AppLogsEnabled?: boolean; + AdvancedSecurityEnabled?: boolean; + WarmEnabled?: boolean; + InstanceRole?: string[]; +} + +export namespace InstanceTypeDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceTypeDetails): any => ({ + ...obj, + }); +} + +export interface ListInstanceTypeDetailsResponse { + InstanceTypeDetails?: InstanceTypeDetails[]; + /** + *

+ * Paginated APIs accept the NextToken input to return the next page of results and provide + * a NextToken output in the response, which you can use to retrieve more results. + *

+ */ + NextToken?: string; +} + +export namespace ListInstanceTypeDetailsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListInstanceTypeDetailsResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to the + * + * ListPackagesForDomain + * + * operation. + *

+ */ +export interface ListPackagesForDomainRequest { + /** + *

The name of the domain for which you want to list associated packages.

+ */ + DomainName: string | undefined; + + /** + *

Limits results to a maximum number of packages.

+ */ + MaxResults?: number; + + /** + *

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, + * returns results for the next page. + *

+ */ + NextToken?: string; +} + +export namespace ListPackagesForDomainRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListPackagesForDomainRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response parameters to the + * + * ListPackagesForDomain + * + * operation. + *

+ */ +export interface ListPackagesForDomainResponse { + /** + *

List of DomainPackageDetails objects. + *

+ */ + DomainPackageDetailsList?: DomainPackageDetails[]; + + /** + *

Pagination token to supply to the next call to get the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListPackagesForDomainResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListPackagesForDomainResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * ListTags + * + * operation. Specify the ARN of the domain that the tags you want + * to view are attached to. + *

+ */ +export interface ListTagsRequest { + /** + *

Specify the ARN of the domain that the tags you want + * to view are attached to. + *

+ */ + ARN: string | undefined; +} + +export namespace ListTagsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a ListTags operation. Contains tags for all requested domains. + *

+ */ +export interface ListTagsResponse { + /** + *

List of Tag for the requested domain. + *

+ */ + TagList?: Tag[]; +} + +export namespace ListTagsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the parameters to the + * + * ListVersions + * + * operation. + *

+ * Use + * + * MaxResults + * + * to control the maximum number of results to retrieve in a single + * call. + *

+ *

+ * Use + * + * NextToken + * + * in response to retrieve more results. If the received response does + * not contain a NextToken, there are no more results to retrieve. + *

+ *

+ */ +export interface ListVersionsRequest { + /** + *

+ * Set this value to limit the number of results returned. + * Value must be greater than 10 or it won't be honored. + *

+ */ + MaxResults?: number; + + /** + *

+ * Paginated APIs accept the NextToken input to return the next page of results and provide + * a NextToken output in the response, which you can use to retrieve more results. + *

+ */ + NextToken?: string; +} + +export namespace ListVersionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListVersionsRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the parameters for response received from the + * + * ListVersions + * + * operation. + *

+ */ +export interface ListVersionsResponse { + /** + *

List of supported OpenSearch versions. + *

+ */ + Versions?: string[]; + + /** + *

+ * Paginated APIs accept the NextToken input to return the next page of results and provide + * a NextToken output in the response, which you can use to retrieve more results. + *

+ */ + NextToken?: string; +} + +export namespace ListVersionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListVersionsResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for parameters to + * PurchaseReservedInstanceOffering + *

+ */ +export interface PurchaseReservedInstanceOfferingRequest { + /** + *

The ID of the reserved OpenSearch instance offering to purchase.

+ */ + ReservedInstanceOfferingId: string | undefined; + + /** + *

A customer-specified identifier to track this reservation.

+ */ + ReservationName: string | undefined; + + /** + *

The number of OpenSearch instances to reserve.

+ */ + InstanceCount?: number; +} + +export namespace PurchaseReservedInstanceOfferingRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PurchaseReservedInstanceOfferingRequest): any => ({ + ...obj, + }); +} + +/** + *

Represents the output of a PurchaseReservedInstanceOffering operation. + *

+ */ +export interface PurchaseReservedInstanceOfferingResponse { + /** + *

Details of the reserved OpenSearch instance which was purchased.

+ */ + ReservedInstanceId?: string; + + /** + *

The customer-specified identifier used to track this reservation.

+ */ + ReservationName?: string; +} + +export namespace PurchaseReservedInstanceOfferingResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PurchaseReservedInstanceOfferingResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * RejectInboundConnection + * + * operation. + *

+ */ +export interface RejectInboundConnectionRequest { + /** + *

The ID of the inbound connection to reject.

+ */ + ConnectionId: string | undefined; +} + +export namespace RejectInboundConnectionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RejectInboundConnectionRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a + * + * RejectInboundConnection + * + * operation. Contains details about the rejected inbound connection. + *

+ */ +export interface RejectInboundConnectionResponse { + /** + *

The + * + * InboundConnection + * + * of the rejected inbound connection. + *

+ */ + Connection?: InboundConnection; +} + +export namespace RejectInboundConnectionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RejectInboundConnectionResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * RemoveTags + * + * operation. Specify the ARN for the domain from which you want to remove the + * specified TagKey. + *

+ */ +export interface RemoveTagsRequest { + /** + *

The ARN of the domain from which you want to delete the specified tags. + *

+ */ + ARN: string | undefined; + + /** + *

The TagKey list you want to remove from the domain. + *

+ */ + TagKeys: string[] | undefined; +} + +export namespace RemoveTagsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RemoveTagsRequest): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * StartServiceSoftwareUpdate + * + * operation. Specifies the name of the domain to schedule a service software update for. + *

+ */ +export interface StartServiceSoftwareUpdateRequest { + /** + *

The name of the domain that you want to update to the latest service software.

+ */ + DomainName: string | undefined; +} + +export namespace StartServiceSoftwareUpdateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartServiceSoftwareUpdateRequest): any => ({ + ...obj, + }); +} + +/** + *

The result of a StartServiceSoftwareUpdate operation. Contains the status of the + * update. + *

+ */ +export interface StartServiceSoftwareUpdateResponse { + /** + *

The current status of the OpenSearch service software update.

+ */ + ServiceSoftwareOptions?: ServiceSoftwareOptions; +} + +export namespace StartServiceSoftwareUpdateResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartServiceSoftwareUpdateResponse): any => ({ + ...obj, + }); +} + +/** + *

Container for the parameters to the + * + * UpdateDomain + * + * operation. Specifies the type and number of instances in the domain cluster. + *

+ */ +export interface UpdateDomainConfigRequest { + /** + *

The name of the domain you're updating.

+ */ + DomainName: string | undefined; + + /** + *

The type and number of instances to instantiate for the domain cluster.

+ */ + ClusterConfig?: ClusterConfig; + + /** + *

Specify the type and size of the EBS volume to use.

+ */ + EBSOptions?: EBSOptions; + + /** + *

Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours. + *

+ */ + SnapshotOptions?: SnapshotOptions; + + /** + *

Options to specify the subnets and security groups for the VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC + * . + *

+ */ + VPCOptions?: VPCOptions; + + /** + *

Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards. + *

+ */ + CognitoOptions?: CognitoOptions; + + /** + *

Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when + * configuring access to individual sub-resources. By default, the value is true. + * See Advanced options + * for more information. + *

+ */ + AdvancedOptions?: { [key: string]: string }; + + /** + *

IAM access policy as a JSON-formatted string.

+ */ + AccessPolicies?: string; + + /** + *

Map of LogType and LogPublishingOption, each containing options to publish a given type + * of OpenSearch log. + *

+ */ + LogPublishingOptions?: { [key: string]: LogPublishingOption }; + + /** + *

Specifies encryption of data at rest options.

+ */ + EncryptionAtRestOptions?: EncryptionAtRestOptions; + + /** + *

Options to specify configuration that will be applied to the domain endpoint.

+ */ + DomainEndpointOptions?: DomainEndpointOptions; + + /** + *

Specifies node-to-node encryption options.

+ */ + NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptions; + + /** + *

Specifies advanced security options.

+ */ + AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; + + /** + *

Specifies Auto-Tune options.

+ */ + AutoTuneOptions?: AutoTuneOptions; +} + +export namespace UpdateDomainConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateDomainConfigRequest): any => ({ + ...obj, + ...(obj.AdvancedSecurityOptions && { + AdvancedSecurityOptions: AdvancedSecurityOptionsInput.filterSensitiveLog(obj.AdvancedSecurityOptions), + }), + }); +} + +/** + *

The result of an UpdateDomain request. Contains the status of the domain + * being updated. + *

+ */ +export interface UpdateDomainConfigResponse { + /** + *

The status of the updated domain.

+ */ + DomainConfig: DomainConfig | undefined; +} + +export namespace UpdateDomainConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateDomainConfigResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for request parameters to the + * + * UpdatePackage + * + * operation. + *

+ */ +export interface UpdatePackageRequest { + /** + *

The unique identifier for the package.

+ */ + PackageID: string | undefined; + + /** + *

The Amazon S3 location for importing the package specified as S3BucketName and + * S3Key + *

+ */ + PackageSource: PackageSource | undefined; + + /** + *

A new description of the package.

+ */ + PackageDescription?: string; + + /** + *

A commit message for the new version which is shown as part of GetPackageVersionHistoryResponse. + *

+ */ + CommitMessage?: string; +} + +export namespace UpdatePackageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdatePackageRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the response returned by the + * + * UpdatePackage + * + * operation. + *

+ */ +export interface UpdatePackageResponse { + /** + *

Information about the package. + *

+ */ + PackageDetails?: PackageDetails; +} + +export namespace UpdatePackageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdatePackageResponse): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for the request parameters to + * + * UpgradeDomain + * + * operation. + *

+ */ +export interface UpgradeDomainRequest { + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName: string | undefined; + + /** + *

The version of OpenSearch you intend to upgrade the domain to.

+ */ + TargetVersion: string | undefined; + + /** + *

+ * When true, indicates that an upgrade eligibility check needs to be performed. + * Does not actually perform the upgrade. + *

+ */ + PerformCheckOnly?: boolean; + + /** + *

Exposes select native OpenSearch configuration values from opensearch.yml. Currently, the + * following advanced options are available: + *

+ *
    + *
  • Option to allow references to indices in an HTTP request body. Must be false when configuring + * access to individual sub-resources. By default, the value is true. + * See Advanced cluster parameters + * for more information. + *
  • + *
  • Option to specify the percentage of heap space allocated to field data. By default, this setting is + * unbounded. + *
  • + *
+ *

For more information, see + * Advanced cluster parameters. + *

+ */ + AdvancedOptions?: { [key: string]: string }; +} + +export namespace UpgradeDomainRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpgradeDomainRequest): any => ({ + ...obj, + }); +} + +/** + *

+ * Container for response returned by + * + * UpgradeDomain + * + * operation. + *

+ */ +export interface UpgradeDomainResponse { + UpgradeId?: string; + /** + *

The name of an domain. Domain names are unique across the domains owned by an account within an AWS + * region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, + * and - (hyphen). + *

+ */ + DomainName?: string; + + /** + *

The version of OpenSearch that you intend to upgrade the domain to.

+ */ + TargetVersion?: string; + + /** + *

+ * When true, indicates that an upgrade eligibility check needs to be performed. + * Does not actually perform the upgrade. + *

+ */ + PerformCheckOnly?: boolean; + + /** + *

Exposes select native OpenSearch configuration values from opensearch.yml. Currently, the + * following advanced options are available: + *

+ *
    + *
  • Option to allow references to indices in an HTTP request body. Must be false when configuring + * access to individual sub-resources. By default, the value is true. + * See Advanced cluster parameters + * for more information. + *
  • + *
  • Option to specify the percentage of heap space allocated to field data. By default, this setting is + * unbounded. + *
  • + *
+ *

For more information, see + * Advanced cluster parameters. + *

+ */ + AdvancedOptions?: { [key: string]: string }; +} + +export namespace UpgradeDomainResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpgradeDomainResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-opensearch/package.json b/clients/client-opensearch/package.json new file mode 100644 index 000000000000..fb71396cd812 --- /dev/null +++ b/clients/client-opensearch/package.json @@ -0,0 +1,91 @@ +{ + "name": "@aws-sdk/client-opensearch", + "description": "AWS SDK for JavaScript Opensearch Client for Node.js, Browser and React Native", + "version": "3.0.0", + "scripts": { + "clean": "yarn remove-definitions && yarn remove-dist && yarn remove-documentation", + "build-documentation": "yarn remove-documentation && typedoc ./", + "downlevel-dts": "downlevel-dts dist/types dist/types/ts3.4", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.1.0", + "@aws-crypto/sha256-js": "^1.1.0", + "@aws-sdk/client-sts": "3.30.0", + "@aws-sdk/config-resolver": "3.30.0", + "@aws-sdk/credential-provider-node": "3.30.0", + "@aws-sdk/fetch-http-handler": "3.29.0", + "@aws-sdk/hash-node": "3.29.0", + "@aws-sdk/invalid-dependency": "3.29.0", + "@aws-sdk/middleware-content-length": "3.29.0", + "@aws-sdk/middleware-host-header": "3.29.0", + "@aws-sdk/middleware-logger": "3.29.0", + "@aws-sdk/middleware-retry": "3.29.0", + "@aws-sdk/middleware-serde": "3.29.0", + "@aws-sdk/middleware-signing": "3.30.0", + "@aws-sdk/middleware-stack": "3.29.0", + "@aws-sdk/middleware-user-agent": "3.29.0", + "@aws-sdk/node-config-provider": "3.29.0", + "@aws-sdk/node-http-handler": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/smithy-client": "3.30.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/url-parser": "3.29.0", + "@aws-sdk/util-base64-browser": "3.29.0", + "@aws-sdk/util-base64-node": "3.29.0", + "@aws-sdk/util-body-length-browser": "3.29.0", + "@aws-sdk/util-body-length-node": "3.29.0", + "@aws-sdk/util-user-agent-browser": "3.29.0", + "@aws-sdk/util-user-agent-node": "3.29.0", + "@aws-sdk/util-utf8-browser": "3.29.0", + "@aws-sdk/util-utf8-node": "3.29.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "3.29.0", + "@types/node": "^12.7.5", + "downlevel-dts": "0.7.0", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "ts-jest": "^26.4.1", + "typedoc": "^0.19.2", + "typescript": "~4.4.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "typesVersions": { + "<4.0": { + "dist/types/*": [ + "dist/types/ts3.4/*" + ] + } + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0", + "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-opensearch", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-js-v3.git", + "directory": "clients/client-opensearch" + } +} diff --git a/clients/client-opensearch/pagination/DescribeDomainAutoTunesPaginator.ts b/clients/client-opensearch/pagination/DescribeDomainAutoTunesPaginator.ts new file mode 100644 index 000000000000..0126551a8361 --- /dev/null +++ b/clients/client-opensearch/pagination/DescribeDomainAutoTunesPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + DescribeDomainAutoTunesCommand, + DescribeDomainAutoTunesCommandInput, + DescribeDomainAutoTunesCommandOutput, +} from "../commands/DescribeDomainAutoTunesCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: DescribeDomainAutoTunesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDomainAutoTunesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: DescribeDomainAutoTunesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDomainAutoTunes(input, ...args); +}; +export async function* paginateDescribeDomainAutoTunes( + config: OpenSearchPaginationConfiguration, + input: DescribeDomainAutoTunesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeDomainAutoTunesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/DescribeInboundConnectionsPaginator.ts b/clients/client-opensearch/pagination/DescribeInboundConnectionsPaginator.ts new file mode 100644 index 000000000000..680d3f4a01f5 --- /dev/null +++ b/clients/client-opensearch/pagination/DescribeInboundConnectionsPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + DescribeInboundConnectionsCommand, + DescribeInboundConnectionsCommandInput, + DescribeInboundConnectionsCommandOutput, +} from "../commands/DescribeInboundConnectionsCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: DescribeInboundConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInboundConnectionsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: DescribeInboundConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInboundConnections(input, ...args); +}; +export async function* paginateDescribeInboundConnections( + config: OpenSearchPaginationConfiguration, + input: DescribeInboundConnectionsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeInboundConnectionsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/DescribeOutboundConnectionsPaginator.ts b/clients/client-opensearch/pagination/DescribeOutboundConnectionsPaginator.ts new file mode 100644 index 000000000000..5f6ffcfa8b69 --- /dev/null +++ b/clients/client-opensearch/pagination/DescribeOutboundConnectionsPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + DescribeOutboundConnectionsCommand, + DescribeOutboundConnectionsCommandInput, + DescribeOutboundConnectionsCommandOutput, +} from "../commands/DescribeOutboundConnectionsCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: DescribeOutboundConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeOutboundConnectionsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: DescribeOutboundConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeOutboundConnections(input, ...args); +}; +export async function* paginateDescribeOutboundConnections( + config: OpenSearchPaginationConfiguration, + input: DescribeOutboundConnectionsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeOutboundConnectionsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/DescribePackagesPaginator.ts b/clients/client-opensearch/pagination/DescribePackagesPaginator.ts new file mode 100644 index 000000000000..3485d5881675 --- /dev/null +++ b/clients/client-opensearch/pagination/DescribePackagesPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + DescribePackagesCommand, + DescribePackagesCommandInput, + DescribePackagesCommandOutput, +} from "../commands/DescribePackagesCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: DescribePackagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePackagesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: DescribePackagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePackages(input, ...args); +}; +export async function* paginateDescribePackages( + config: OpenSearchPaginationConfiguration, + input: DescribePackagesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribePackagesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/DescribeReservedInstanceOfferingsPaginator.ts b/clients/client-opensearch/pagination/DescribeReservedInstanceOfferingsPaginator.ts new file mode 100644 index 000000000000..745970377481 --- /dev/null +++ b/clients/client-opensearch/pagination/DescribeReservedInstanceOfferingsPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + DescribeReservedInstanceOfferingsCommand, + DescribeReservedInstanceOfferingsCommandInput, + DescribeReservedInstanceOfferingsCommandOutput, +} from "../commands/DescribeReservedInstanceOfferingsCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: DescribeReservedInstanceOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReservedInstanceOfferingsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: DescribeReservedInstanceOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeReservedInstanceOfferings(input, ...args); +}; +export async function* paginateDescribeReservedInstanceOfferings( + config: OpenSearchPaginationConfiguration, + input: DescribeReservedInstanceOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeReservedInstanceOfferingsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/DescribeReservedInstancesPaginator.ts b/clients/client-opensearch/pagination/DescribeReservedInstancesPaginator.ts new file mode 100644 index 000000000000..38f506ebd7e7 --- /dev/null +++ b/clients/client-opensearch/pagination/DescribeReservedInstancesPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + DescribeReservedInstancesCommand, + DescribeReservedInstancesCommandInput, + DescribeReservedInstancesCommandOutput, +} from "../commands/DescribeReservedInstancesCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: DescribeReservedInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReservedInstancesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: DescribeReservedInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeReservedInstances(input, ...args); +}; +export async function* paginateDescribeReservedInstances( + config: OpenSearchPaginationConfiguration, + input: DescribeReservedInstancesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeReservedInstancesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/GetPackageVersionHistoryPaginator.ts b/clients/client-opensearch/pagination/GetPackageVersionHistoryPaginator.ts new file mode 100644 index 000000000000..eec159e82a15 --- /dev/null +++ b/clients/client-opensearch/pagination/GetPackageVersionHistoryPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + GetPackageVersionHistoryCommand, + GetPackageVersionHistoryCommandInput, + GetPackageVersionHistoryCommandOutput, +} from "../commands/GetPackageVersionHistoryCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: GetPackageVersionHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetPackageVersionHistoryCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: GetPackageVersionHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getPackageVersionHistory(input, ...args); +}; +export async function* paginateGetPackageVersionHistory( + config: OpenSearchPaginationConfiguration, + input: GetPackageVersionHistoryCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetPackageVersionHistoryCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/GetUpgradeHistoryPaginator.ts b/clients/client-opensearch/pagination/GetUpgradeHistoryPaginator.ts new file mode 100644 index 000000000000..c4afc8f10006 --- /dev/null +++ b/clients/client-opensearch/pagination/GetUpgradeHistoryPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + GetUpgradeHistoryCommand, + GetUpgradeHistoryCommandInput, + GetUpgradeHistoryCommandOutput, +} from "../commands/GetUpgradeHistoryCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: GetUpgradeHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetUpgradeHistoryCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: GetUpgradeHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getUpgradeHistory(input, ...args); +}; +export async function* paginateGetUpgradeHistory( + config: OpenSearchPaginationConfiguration, + input: GetUpgradeHistoryCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetUpgradeHistoryCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/Interfaces.ts b/clients/client-opensearch/pagination/Interfaces.ts new file mode 100644 index 000000000000..a7edcd2e3e1e --- /dev/null +++ b/clients/client-opensearch/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface OpenSearchPaginationConfiguration extends PaginationConfiguration { + client: OpenSearch | OpenSearchClient; +} diff --git a/clients/client-opensearch/pagination/ListDomainsForPackagePaginator.ts b/clients/client-opensearch/pagination/ListDomainsForPackagePaginator.ts new file mode 100644 index 000000000000..464a08bc9b80 --- /dev/null +++ b/clients/client-opensearch/pagination/ListDomainsForPackagePaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + ListDomainsForPackageCommand, + ListDomainsForPackageCommandInput, + ListDomainsForPackageCommandOutput, +} from "../commands/ListDomainsForPackageCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: ListDomainsForPackageCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDomainsForPackageCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: ListDomainsForPackageCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDomainsForPackage(input, ...args); +}; +export async function* paginateListDomainsForPackage( + config: OpenSearchPaginationConfiguration, + input: ListDomainsForPackageCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListDomainsForPackageCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/ListInstanceTypeDetailsPaginator.ts b/clients/client-opensearch/pagination/ListInstanceTypeDetailsPaginator.ts new file mode 100644 index 000000000000..0908ac35b105 --- /dev/null +++ b/clients/client-opensearch/pagination/ListInstanceTypeDetailsPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + ListInstanceTypeDetailsCommand, + ListInstanceTypeDetailsCommandInput, + ListInstanceTypeDetailsCommandOutput, +} from "../commands/ListInstanceTypeDetailsCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: ListInstanceTypeDetailsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInstanceTypeDetailsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: ListInstanceTypeDetailsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInstanceTypeDetails(input, ...args); +}; +export async function* paginateListInstanceTypeDetails( + config: OpenSearchPaginationConfiguration, + input: ListInstanceTypeDetailsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListInstanceTypeDetailsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/ListPackagesForDomainPaginator.ts b/clients/client-opensearch/pagination/ListPackagesForDomainPaginator.ts new file mode 100644 index 000000000000..22ebad9245d5 --- /dev/null +++ b/clients/client-opensearch/pagination/ListPackagesForDomainPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + ListPackagesForDomainCommand, + ListPackagesForDomainCommandInput, + ListPackagesForDomainCommandOutput, +} from "../commands/ListPackagesForDomainCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: ListPackagesForDomainCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPackagesForDomainCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: ListPackagesForDomainCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPackagesForDomain(input, ...args); +}; +export async function* paginateListPackagesForDomain( + config: OpenSearchPaginationConfiguration, + input: ListPackagesForDomainCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListPackagesForDomainCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/pagination/ListVersionsPaginator.ts b/clients/client-opensearch/pagination/ListVersionsPaginator.ts new file mode 100644 index 000000000000..d489f5277eb5 --- /dev/null +++ b/clients/client-opensearch/pagination/ListVersionsPaginator.ts @@ -0,0 +1,58 @@ +import { OpenSearch } from "../OpenSearch"; +import { OpenSearchClient } from "../OpenSearchClient"; +import { + ListVersionsCommand, + ListVersionsCommandInput, + ListVersionsCommandOutput, +} from "../commands/ListVersionsCommand"; +import { OpenSearchPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: OpenSearchClient, + input: ListVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListVersionsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: OpenSearch, + input: ListVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listVersions(input, ...args); +}; +export async function* paginateListVersions( + config: OpenSearchPaginationConfiguration, + input: ListVersionsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListVersionsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof OpenSearch) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof OpenSearchClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected OpenSearch | OpenSearchClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-opensearch/protocols/Aws_restJson1.ts b/clients/client-opensearch/protocols/Aws_restJson1.ts new file mode 100644 index 000000000000..ef0110755943 --- /dev/null +++ b/clients/client-opensearch/protocols/Aws_restJson1.ts @@ -0,0 +1,6700 @@ +import { + AcceptInboundConnectionCommandInput, + AcceptInboundConnectionCommandOutput, +} from "../commands/AcceptInboundConnectionCommand"; +import { AddTagsCommandInput, AddTagsCommandOutput } from "../commands/AddTagsCommand"; +import { AssociatePackageCommandInput, AssociatePackageCommandOutput } from "../commands/AssociatePackageCommand"; +import { + CancelServiceSoftwareUpdateCommandInput, + CancelServiceSoftwareUpdateCommandOutput, +} from "../commands/CancelServiceSoftwareUpdateCommand"; +import { CreateDomainCommandInput, CreateDomainCommandOutput } from "../commands/CreateDomainCommand"; +import { + CreateOutboundConnectionCommandInput, + CreateOutboundConnectionCommandOutput, +} from "../commands/CreateOutboundConnectionCommand"; +import { CreatePackageCommandInput, CreatePackageCommandOutput } from "../commands/CreatePackageCommand"; +import { DeleteDomainCommandInput, DeleteDomainCommandOutput } from "../commands/DeleteDomainCommand"; +import { + DeleteInboundConnectionCommandInput, + DeleteInboundConnectionCommandOutput, +} from "../commands/DeleteInboundConnectionCommand"; +import { + DeleteOutboundConnectionCommandInput, + DeleteOutboundConnectionCommandOutput, +} from "../commands/DeleteOutboundConnectionCommand"; +import { DeletePackageCommandInput, DeletePackageCommandOutput } from "../commands/DeletePackageCommand"; +import { + DescribeDomainAutoTunesCommandInput, + DescribeDomainAutoTunesCommandOutput, +} from "../commands/DescribeDomainAutoTunesCommand"; +import { DescribeDomainCommandInput, DescribeDomainCommandOutput } from "../commands/DescribeDomainCommand"; +import { + DescribeDomainConfigCommandInput, + DescribeDomainConfigCommandOutput, +} from "../commands/DescribeDomainConfigCommand"; +import { DescribeDomainsCommandInput, DescribeDomainsCommandOutput } from "../commands/DescribeDomainsCommand"; +import { + DescribeInboundConnectionsCommandInput, + DescribeInboundConnectionsCommandOutput, +} from "../commands/DescribeInboundConnectionsCommand"; +import { + DescribeInstanceTypeLimitsCommandInput, + DescribeInstanceTypeLimitsCommandOutput, +} from "../commands/DescribeInstanceTypeLimitsCommand"; +import { + DescribeOutboundConnectionsCommandInput, + DescribeOutboundConnectionsCommandOutput, +} from "../commands/DescribeOutboundConnectionsCommand"; +import { DescribePackagesCommandInput, DescribePackagesCommandOutput } from "../commands/DescribePackagesCommand"; +import { + DescribeReservedInstanceOfferingsCommandInput, + DescribeReservedInstanceOfferingsCommandOutput, +} from "../commands/DescribeReservedInstanceOfferingsCommand"; +import { + DescribeReservedInstancesCommandInput, + DescribeReservedInstancesCommandOutput, +} from "../commands/DescribeReservedInstancesCommand"; +import { DissociatePackageCommandInput, DissociatePackageCommandOutput } from "../commands/DissociatePackageCommand"; +import { + GetCompatibleVersionsCommandInput, + GetCompatibleVersionsCommandOutput, +} from "../commands/GetCompatibleVersionsCommand"; +import { + GetPackageVersionHistoryCommandInput, + GetPackageVersionHistoryCommandOutput, +} from "../commands/GetPackageVersionHistoryCommand"; +import { GetUpgradeHistoryCommandInput, GetUpgradeHistoryCommandOutput } from "../commands/GetUpgradeHistoryCommand"; +import { GetUpgradeStatusCommandInput, GetUpgradeStatusCommandOutput } from "../commands/GetUpgradeStatusCommand"; +import { ListDomainNamesCommandInput, ListDomainNamesCommandOutput } from "../commands/ListDomainNamesCommand"; +import { + ListDomainsForPackageCommandInput, + ListDomainsForPackageCommandOutput, +} from "../commands/ListDomainsForPackageCommand"; +import { + ListInstanceTypeDetailsCommandInput, + ListInstanceTypeDetailsCommandOutput, +} from "../commands/ListInstanceTypeDetailsCommand"; +import { + ListPackagesForDomainCommandInput, + ListPackagesForDomainCommandOutput, +} from "../commands/ListPackagesForDomainCommand"; +import { ListTagsCommandInput, ListTagsCommandOutput } from "../commands/ListTagsCommand"; +import { ListVersionsCommandInput, ListVersionsCommandOutput } from "../commands/ListVersionsCommand"; +import { + PurchaseReservedInstanceOfferingCommandInput, + PurchaseReservedInstanceOfferingCommandOutput, +} from "../commands/PurchaseReservedInstanceOfferingCommand"; +import { + RejectInboundConnectionCommandInput, + RejectInboundConnectionCommandOutput, +} from "../commands/RejectInboundConnectionCommand"; +import { RemoveTagsCommandInput, RemoveTagsCommandOutput } from "../commands/RemoveTagsCommand"; +import { + StartServiceSoftwareUpdateCommandInput, + StartServiceSoftwareUpdateCommandOutput, +} from "../commands/StartServiceSoftwareUpdateCommand"; +import { UpdateDomainConfigCommandInput, UpdateDomainConfigCommandOutput } from "../commands/UpdateDomainConfigCommand"; +import { UpdatePackageCommandInput, UpdatePackageCommandOutput } from "../commands/UpdatePackageCommand"; +import { UpgradeDomainCommandInput, UpgradeDomainCommandOutput } from "../commands/UpgradeDomainCommand"; +import { + AWSDomainInformation, + AccessDeniedException, + AccessPoliciesStatus, + AdditionalLimit, + AdvancedOptionsStatus, + AdvancedSecurityOptions, + AdvancedSecurityOptionsInput, + AdvancedSecurityOptionsStatus, + AutoTune, + AutoTuneDetails, + AutoTuneMaintenanceSchedule, + AutoTuneOptions, + AutoTuneOptionsInput, + AutoTuneOptionsOutput, + AutoTuneOptionsStatus, + AutoTuneStatus, + BaseException, + ClusterConfig, + ClusterConfigStatus, + CognitoOptions, + CognitoOptionsStatus, + ColdStorageOptions, + CompatibleVersionsMap, + ConflictException, + DescribePackagesFilter, + DisabledOperationException, + DomainConfig, + DomainEndpointOptions, + DomainEndpointOptionsStatus, + DomainInfo, + DomainInformationContainer, + DomainPackageDetails, + DomainStatus, + Duration, + EBSOptions, + EBSOptionsStatus, + EncryptionAtRestOptions, + EncryptionAtRestOptionsStatus, + ErrorDetails, + Filter, + InboundConnection, + InboundConnectionStatus, + InstanceCountLimits, + InstanceLimits, + InstanceTypeDetails, + InternalException, + InvalidPaginationTokenException, + InvalidTypeException, + LimitExceededException, + Limits, + LogPublishingOption, + LogPublishingOptionsStatus, + LogType, + MasterUserOptions, + NodeToNodeEncryptionOptions, + NodeToNodeEncryptionOptionsStatus, + OptionStatus, + OutboundConnection, + OutboundConnectionStatus, + PackageDetails, + PackageSource, + PackageVersionHistory, + RecurringCharge, + ReservedInstance, + ReservedInstanceOffering, + ResourceAlreadyExistsException, + ResourceNotFoundException, + SAMLIdp, + SAMLOptionsInput, + SAMLOptionsOutput, + ScheduledAutoTuneDetails, + ServiceSoftwareOptions, + SnapshotOptions, + SnapshotOptionsStatus, + StorageType, + StorageTypeLimit, + Tag, + UpgradeHistory, + UpgradeStepItem, + VPCDerivedInfo, + VPCDerivedInfoStatus, + VPCOptions, + ValidationException, + VersionStatus, + ZoneAwarenessConfig, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { + expectBoolean as __expectBoolean, + expectInt32 as __expectInt32, + expectLong as __expectLong, + expectNonNull as __expectNonNull, + expectNumber as __expectNumber, + expectObject as __expectObject, + expectString as __expectString, + extendedEncodeURIComponent as __extendedEncodeURIComponent, + limitedParseDouble as __limitedParseDouble, + parseEpochTimestamp as __parseEpochTimestamp, +} from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, + SmithyException as __SmithyException, +} from "@aws-sdk/types"; + +export const serializeAws_restJson1AcceptInboundConnectionCommand = async ( + input: AcceptInboundConnectionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/accept"; + if (input.ConnectionId !== undefined) { + const labelValue: string = input.ConnectionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConnectionId."); + } + resolvedPath = resolvedPath.replace("{ConnectionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConnectionId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1AddTagsCommand = async ( + input: AddTagsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/tags"; + let body: any; + body = JSON.stringify({ + ...(input.ARN !== undefined && input.ARN !== null && { ARN: input.ARN }), + ...(input.TagList !== undefined && + input.TagList !== null && { TagList: serializeAws_restJson1TagList(input.TagList, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1AssociatePackageCommand = async ( + input: AssociatePackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/packages/associate/{PackageID}/{DomainName}"; + if (input.PackageID !== undefined) { + const labelValue: string = input.PackageID; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PackageID."); + } + resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PackageID."); + } + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CancelServiceSoftwareUpdateCommand = async ( + input: CancelServiceSoftwareUpdateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/serviceSoftwareUpdate/cancel"; + let body: any; + body = JSON.stringify({ + ...(input.DomainName !== undefined && input.DomainName !== null && { DomainName: input.DomainName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateDomainCommand = async ( + input: CreateDomainCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/opensearch/domain"; + let body: any; + body = JSON.stringify({ + ...(input.AccessPolicies !== undefined && + input.AccessPolicies !== null && { AccessPolicies: input.AccessPolicies }), + ...(input.AdvancedOptions !== undefined && + input.AdvancedOptions !== null && { + AdvancedOptions: serializeAws_restJson1AdvancedOptions(input.AdvancedOptions, context), + }), + ...(input.AdvancedSecurityOptions !== undefined && + input.AdvancedSecurityOptions !== null && { + AdvancedSecurityOptions: serializeAws_restJson1AdvancedSecurityOptionsInput( + input.AdvancedSecurityOptions, + context + ), + }), + ...(input.AutoTuneOptions !== undefined && + input.AutoTuneOptions !== null && { + AutoTuneOptions: serializeAws_restJson1AutoTuneOptionsInput(input.AutoTuneOptions, context), + }), + ...(input.ClusterConfig !== undefined && + input.ClusterConfig !== null && { + ClusterConfig: serializeAws_restJson1ClusterConfig(input.ClusterConfig, context), + }), + ...(input.CognitoOptions !== undefined && + input.CognitoOptions !== null && { + CognitoOptions: serializeAws_restJson1CognitoOptions(input.CognitoOptions, context), + }), + ...(input.DomainEndpointOptions !== undefined && + input.DomainEndpointOptions !== null && { + DomainEndpointOptions: serializeAws_restJson1DomainEndpointOptions(input.DomainEndpointOptions, context), + }), + ...(input.DomainName !== undefined && input.DomainName !== null && { DomainName: input.DomainName }), + ...(input.EBSOptions !== undefined && + input.EBSOptions !== null && { EBSOptions: serializeAws_restJson1EBSOptions(input.EBSOptions, context) }), + ...(input.EncryptionAtRestOptions !== undefined && + input.EncryptionAtRestOptions !== null && { + EncryptionAtRestOptions: serializeAws_restJson1EncryptionAtRestOptions(input.EncryptionAtRestOptions, context), + }), + ...(input.EngineVersion !== undefined && input.EngineVersion !== null && { EngineVersion: input.EngineVersion }), + ...(input.LogPublishingOptions !== undefined && + input.LogPublishingOptions !== null && { + LogPublishingOptions: serializeAws_restJson1LogPublishingOptions(input.LogPublishingOptions, context), + }), + ...(input.NodeToNodeEncryptionOptions !== undefined && + input.NodeToNodeEncryptionOptions !== null && { + NodeToNodeEncryptionOptions: serializeAws_restJson1NodeToNodeEncryptionOptions( + input.NodeToNodeEncryptionOptions, + context + ), + }), + ...(input.SnapshotOptions !== undefined && + input.SnapshotOptions !== null && { + SnapshotOptions: serializeAws_restJson1SnapshotOptions(input.SnapshotOptions, context), + }), + ...(input.TagList !== undefined && + input.TagList !== null && { TagList: serializeAws_restJson1TagList(input.TagList, context) }), + ...(input.VPCOptions !== undefined && + input.VPCOptions !== null && { VPCOptions: serializeAws_restJson1VPCOptions(input.VPCOptions, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateOutboundConnectionCommand = async ( + input: CreateOutboundConnectionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/outboundConnection"; + let body: any; + body = JSON.stringify({ + ...(input.ConnectionAlias !== undefined && + input.ConnectionAlias !== null && { ConnectionAlias: input.ConnectionAlias }), + ...(input.LocalDomainInfo !== undefined && + input.LocalDomainInfo !== null && { + LocalDomainInfo: serializeAws_restJson1DomainInformationContainer(input.LocalDomainInfo, context), + }), + ...(input.RemoteDomainInfo !== undefined && + input.RemoteDomainInfo !== null && { + RemoteDomainInfo: serializeAws_restJson1DomainInformationContainer(input.RemoteDomainInfo, context), + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreatePackageCommand = async ( + input: CreatePackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/packages"; + let body: any; + body = JSON.stringify({ + ...(input.PackageDescription !== undefined && + input.PackageDescription !== null && { PackageDescription: input.PackageDescription }), + ...(input.PackageName !== undefined && input.PackageName !== null && { PackageName: input.PackageName }), + ...(input.PackageSource !== undefined && + input.PackageSource !== null && { + PackageSource: serializeAws_restJson1PackageSource(input.PackageSource, context), + }), + ...(input.PackageType !== undefined && input.PackageType !== null && { PackageType: input.PackageType }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeleteDomainCommand = async ( + input: DeleteDomainCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/domain/{DomainName}"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeleteInboundConnectionCommand = async ( + input: DeleteInboundConnectionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}"; + if (input.ConnectionId !== undefined) { + const labelValue: string = input.ConnectionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConnectionId."); + } + resolvedPath = resolvedPath.replace("{ConnectionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConnectionId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeleteOutboundConnectionCommand = async ( + input: DeleteOutboundConnectionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/outboundConnection/{ConnectionId}"; + if (input.ConnectionId !== undefined) { + const labelValue: string = input.ConnectionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConnectionId."); + } + resolvedPath = resolvedPath.replace("{ConnectionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConnectionId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeletePackageCommand = async ( + input: DeletePackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/packages/{PackageID}"; + if (input.PackageID !== undefined) { + const labelValue: string = input.PackageID; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PackageID."); + } + resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PackageID."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeDomainCommand = async ( + input: DescribeDomainCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/domain/{DomainName}"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeDomainAutoTunesCommand = async ( + input: DescribeDomainAutoTunesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/domain/{DomainName}/autoTunes"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + body = JSON.stringify({ + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeDomainConfigCommand = async ( + input: DescribeDomainConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/domain/{DomainName}/config"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeDomainsCommand = async ( + input: DescribeDomainsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/opensearch/domain-info"; + let body: any; + body = JSON.stringify({ + ...(input.DomainNames !== undefined && + input.DomainNames !== null && { DomainNames: serializeAws_restJson1DomainNameList(input.DomainNames, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeInboundConnectionsCommand = async ( + input: DescribeInboundConnectionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/inboundConnection/search"; + let body: any; + body = JSON.stringify({ + ...(input.Filters !== undefined && + input.Filters !== null && { Filters: serializeAws_restJson1FilterList(input.Filters, context) }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeInstanceTypeLimitsCommand = async ( + input: DescribeInstanceTypeLimitsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/instanceTypeLimits/{EngineVersion}/{InstanceType}"; + if (input.InstanceType !== undefined) { + const labelValue: string = input.InstanceType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceType."); + } + resolvedPath = resolvedPath.replace("{InstanceType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceType."); + } + if (input.EngineVersion !== undefined) { + const labelValue: string = input.EngineVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EngineVersion."); + } + resolvedPath = resolvedPath.replace("{EngineVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EngineVersion."); + } + const query: any = { + ...(input.DomainName !== undefined && { domainName: input.DomainName }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1DescribeOutboundConnectionsCommand = async ( + input: DescribeOutboundConnectionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/outboundConnection/search"; + let body: any; + body = JSON.stringify({ + ...(input.Filters !== undefined && + input.Filters !== null && { Filters: serializeAws_restJson1FilterList(input.Filters, context) }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribePackagesCommand = async ( + input: DescribePackagesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/packages/describe"; + let body: any; + body = JSON.stringify({ + ...(input.Filters !== undefined && + input.Filters !== null && { Filters: serializeAws_restJson1DescribePackagesFilterList(input.Filters, context) }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeReservedInstanceOfferingsCommand = async ( + input: DescribeReservedInstanceOfferingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/reservedInstanceOfferings"; + const query: any = { + ...(input.ReservedInstanceOfferingId !== undefined && { offeringId: input.ReservedInstanceOfferingId }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1DescribeReservedInstancesCommand = async ( + input: DescribeReservedInstancesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/opensearch/reservedInstances"; + const query: any = { + ...(input.ReservedInstanceId !== undefined && { reservationId: input.ReservedInstanceId }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1DissociatePackageCommand = async ( + input: DissociatePackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/packages/dissociate/{PackageID}/{DomainName}"; + if (input.PackageID !== undefined) { + const labelValue: string = input.PackageID; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PackageID."); + } + resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PackageID."); + } + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1GetCompatibleVersionsCommand = async ( + input: GetCompatibleVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/opensearch/compatibleVersions"; + const query: any = { + ...(input.DomainName !== undefined && { domainName: input.DomainName }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1GetPackageVersionHistoryCommand = async ( + input: GetPackageVersionHistoryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/packages/{PackageID}/history"; + if (input.PackageID !== undefined) { + const labelValue: string = input.PackageID; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PackageID."); + } + resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PackageID."); + } + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1GetUpgradeHistoryCommand = async ( + input: GetUpgradeHistoryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/upgradeDomain/{DomainName}/history"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1GetUpgradeStatusCommand = async ( + input: GetUpgradeStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/upgradeDomain/{DomainName}/status"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListDomainNamesCommand = async ( + input: ListDomainNamesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/domain"; + let body: any; + body = ""; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListDomainsForPackageCommand = async ( + input: ListDomainsForPackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/packages/{PackageID}/domains"; + if (input.PackageID !== undefined) { + const labelValue: string = input.PackageID; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PackageID."); + } + resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PackageID."); + } + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListInstanceTypeDetailsCommand = async ( + input: ListInstanceTypeDetailsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/instanceTypeDetails/{EngineVersion}"; + if (input.EngineVersion !== undefined) { + const labelValue: string = input.EngineVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EngineVersion."); + } + resolvedPath = resolvedPath.replace("{EngineVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EngineVersion."); + } + const query: any = { + ...(input.DomainName !== undefined && { domainName: input.DomainName }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListPackagesForDomainCommand = async ( + input: ListPackagesForDomainCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/domain/{DomainName}/packages"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListTagsCommand = async ( + input: ListTagsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/tags"; + const query: any = { + ...(input.ARN !== undefined && { arn: input.ARN }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListVersionsCommand = async ( + input: ListVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/opensearch/versions"; + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1PurchaseReservedInstanceOfferingCommand = async ( + input: PurchaseReservedInstanceOfferingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/purchaseReservedInstanceOffering"; + let body: any; + body = JSON.stringify({ + ...(input.InstanceCount !== undefined && input.InstanceCount !== null && { InstanceCount: input.InstanceCount }), + ...(input.ReservationName !== undefined && + input.ReservationName !== null && { ReservationName: input.ReservationName }), + ...(input.ReservedInstanceOfferingId !== undefined && + input.ReservedInstanceOfferingId !== null && { ReservedInstanceOfferingId: input.ReservedInstanceOfferingId }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1RejectInboundConnectionCommand = async ( + input: RejectInboundConnectionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/reject"; + if (input.ConnectionId !== undefined) { + const labelValue: string = input.ConnectionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConnectionId."); + } + resolvedPath = resolvedPath.replace("{ConnectionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConnectionId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1RemoveTagsCommand = async ( + input: RemoveTagsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/tags-removal"; + let body: any; + body = JSON.stringify({ + ...(input.ARN !== undefined && input.ARN !== null && { ARN: input.ARN }), + ...(input.TagKeys !== undefined && + input.TagKeys !== null && { TagKeys: serializeAws_restJson1StringList(input.TagKeys, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1StartServiceSoftwareUpdateCommand = async ( + input: StartServiceSoftwareUpdateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/serviceSoftwareUpdate/start"; + let body: any; + body = JSON.stringify({ + ...(input.DomainName !== undefined && input.DomainName !== null && { DomainName: input.DomainName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateDomainConfigCommand = async ( + input: UpdateDomainConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2021-01-01/opensearch/domain/{DomainName}/config"; + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } + let body: any; + body = JSON.stringify({ + ...(input.AccessPolicies !== undefined && + input.AccessPolicies !== null && { AccessPolicies: input.AccessPolicies }), + ...(input.AdvancedOptions !== undefined && + input.AdvancedOptions !== null && { + AdvancedOptions: serializeAws_restJson1AdvancedOptions(input.AdvancedOptions, context), + }), + ...(input.AdvancedSecurityOptions !== undefined && + input.AdvancedSecurityOptions !== null && { + AdvancedSecurityOptions: serializeAws_restJson1AdvancedSecurityOptionsInput( + input.AdvancedSecurityOptions, + context + ), + }), + ...(input.AutoTuneOptions !== undefined && + input.AutoTuneOptions !== null && { + AutoTuneOptions: serializeAws_restJson1AutoTuneOptions(input.AutoTuneOptions, context), + }), + ...(input.ClusterConfig !== undefined && + input.ClusterConfig !== null && { + ClusterConfig: serializeAws_restJson1ClusterConfig(input.ClusterConfig, context), + }), + ...(input.CognitoOptions !== undefined && + input.CognitoOptions !== null && { + CognitoOptions: serializeAws_restJson1CognitoOptions(input.CognitoOptions, context), + }), + ...(input.DomainEndpointOptions !== undefined && + input.DomainEndpointOptions !== null && { + DomainEndpointOptions: serializeAws_restJson1DomainEndpointOptions(input.DomainEndpointOptions, context), + }), + ...(input.EBSOptions !== undefined && + input.EBSOptions !== null && { EBSOptions: serializeAws_restJson1EBSOptions(input.EBSOptions, context) }), + ...(input.EncryptionAtRestOptions !== undefined && + input.EncryptionAtRestOptions !== null && { + EncryptionAtRestOptions: serializeAws_restJson1EncryptionAtRestOptions(input.EncryptionAtRestOptions, context), + }), + ...(input.LogPublishingOptions !== undefined && + input.LogPublishingOptions !== null && { + LogPublishingOptions: serializeAws_restJson1LogPublishingOptions(input.LogPublishingOptions, context), + }), + ...(input.NodeToNodeEncryptionOptions !== undefined && + input.NodeToNodeEncryptionOptions !== null && { + NodeToNodeEncryptionOptions: serializeAws_restJson1NodeToNodeEncryptionOptions( + input.NodeToNodeEncryptionOptions, + context + ), + }), + ...(input.SnapshotOptions !== undefined && + input.SnapshotOptions !== null && { + SnapshotOptions: serializeAws_restJson1SnapshotOptions(input.SnapshotOptions, context), + }), + ...(input.VPCOptions !== undefined && + input.VPCOptions !== null && { VPCOptions: serializeAws_restJson1VPCOptions(input.VPCOptions, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdatePackageCommand = async ( + input: UpdatePackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/packages/update"; + let body: any; + body = JSON.stringify({ + ...(input.CommitMessage !== undefined && input.CommitMessage !== null && { CommitMessage: input.CommitMessage }), + ...(input.PackageDescription !== undefined && + input.PackageDescription !== null && { PackageDescription: input.PackageDescription }), + ...(input.PackageID !== undefined && input.PackageID !== null && { PackageID: input.PackageID }), + ...(input.PackageSource !== undefined && + input.PackageSource !== null && { + PackageSource: serializeAws_restJson1PackageSource(input.PackageSource, context), + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpgradeDomainCommand = async ( + input: UpgradeDomainCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2021-01-01/opensearch/upgradeDomain"; + let body: any; + body = JSON.stringify({ + ...(input.AdvancedOptions !== undefined && + input.AdvancedOptions !== null && { + AdvancedOptions: serializeAws_restJson1AdvancedOptions(input.AdvancedOptions, context), + }), + ...(input.DomainName !== undefined && input.DomainName !== null && { DomainName: input.DomainName }), + ...(input.PerformCheckOnly !== undefined && + input.PerformCheckOnly !== null && { PerformCheckOnly: input.PerformCheckOnly }), + ...(input.TargetVersion !== undefined && input.TargetVersion !== null && { TargetVersion: input.TargetVersion }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const deserializeAws_restJson1AcceptInboundConnectionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AcceptInboundConnectionCommandError(output, context); + } + const contents: AcceptInboundConnectionCommandOutput = { + $metadata: deserializeMetadata(output), + Connection: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Connection !== undefined && data.Connection !== null) { + contents.Connection = deserializeAws_restJson1InboundConnection(data.Connection, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AcceptInboundConnectionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AddTagsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AddTagsCommandError(output, context); + } + const contents: AddTagsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AddTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociatePackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociatePackageCommandError(output, context); + } + const contents: AssociatePackageCommandOutput = { + $metadata: deserializeMetadata(output), + DomainPackageDetails: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainPackageDetails !== undefined && data.DomainPackageDetails !== null) { + contents.DomainPackageDetails = deserializeAws_restJson1DomainPackageDetails(data.DomainPackageDetails, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociatePackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.opensearch#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CancelServiceSoftwareUpdateCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CancelServiceSoftwareUpdateCommandError(output, context); + } + const contents: CancelServiceSoftwareUpdateCommandOutput = { + $metadata: deserializeMetadata(output), + ServiceSoftwareOptions: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.ServiceSoftwareOptions !== undefined && data.ServiceSoftwareOptions !== null) { + contents.ServiceSoftwareOptions = deserializeAws_restJson1ServiceSoftwareOptions( + data.ServiceSoftwareOptions, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CancelServiceSoftwareUpdateCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateDomainCommandError(output, context); + } + const contents: CreateDomainCommandOutput = { + $metadata: deserializeMetadata(output), + DomainStatus: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainStatus !== undefined && data.DomainStatus !== null) { + contents.DomainStatus = deserializeAws_restJson1DomainStatus(data.DomainStatus, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidTypeException": + case "com.amazonaws.opensearch#InvalidTypeException": + response = { + ...(await deserializeAws_restJson1InvalidTypeExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.opensearch#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateOutboundConnectionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateOutboundConnectionCommandError(output, context); + } + const contents: CreateOutboundConnectionCommandOutput = { + $metadata: deserializeMetadata(output), + ConnectionAlias: undefined, + ConnectionId: undefined, + ConnectionStatus: undefined, + LocalDomainInfo: undefined, + RemoteDomainInfo: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.ConnectionAlias !== undefined && data.ConnectionAlias !== null) { + contents.ConnectionAlias = __expectString(data.ConnectionAlias); + } + if (data.ConnectionId !== undefined && data.ConnectionId !== null) { + contents.ConnectionId = __expectString(data.ConnectionId); + } + if (data.ConnectionStatus !== undefined && data.ConnectionStatus !== null) { + contents.ConnectionStatus = deserializeAws_restJson1OutboundConnectionStatus(data.ConnectionStatus, context); + } + if (data.LocalDomainInfo !== undefined && data.LocalDomainInfo !== null) { + contents.LocalDomainInfo = deserializeAws_restJson1DomainInformationContainer(data.LocalDomainInfo, context); + } + if (data.RemoteDomainInfo !== undefined && data.RemoteDomainInfo !== null) { + contents.RemoteDomainInfo = deserializeAws_restJson1DomainInformationContainer(data.RemoteDomainInfo, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateOutboundConnectionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.opensearch#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreatePackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreatePackageCommandError(output, context); + } + const contents: CreatePackageCommandOutput = { + $metadata: deserializeMetadata(output), + PackageDetails: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.PackageDetails !== undefined && data.PackageDetails !== null) { + contents.PackageDetails = deserializeAws_restJson1PackageDetails(data.PackageDetails, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreatePackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidTypeException": + case "com.amazonaws.opensearch#InvalidTypeException": + response = { + ...(await deserializeAws_restJson1InvalidTypeExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.opensearch#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteDomainCommandError(output, context); + } + const contents: DeleteDomainCommandOutput = { + $metadata: deserializeMetadata(output), + DomainStatus: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainStatus !== undefined && data.DomainStatus !== null) { + contents.DomainStatus = deserializeAws_restJson1DomainStatus(data.DomainStatus, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteInboundConnectionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteInboundConnectionCommandError(output, context); + } + const contents: DeleteInboundConnectionCommandOutput = { + $metadata: deserializeMetadata(output), + Connection: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Connection !== undefined && data.Connection !== null) { + contents.Connection = deserializeAws_restJson1InboundConnection(data.Connection, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteInboundConnectionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteOutboundConnectionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteOutboundConnectionCommandError(output, context); + } + const contents: DeleteOutboundConnectionCommandOutput = { + $metadata: deserializeMetadata(output), + Connection: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Connection !== undefined && data.Connection !== null) { + contents.Connection = deserializeAws_restJson1OutboundConnection(data.Connection, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteOutboundConnectionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeletePackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeletePackageCommandError(output, context); + } + const contents: DeletePackageCommandOutput = { + $metadata: deserializeMetadata(output), + PackageDetails: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.PackageDetails !== undefined && data.PackageDetails !== null) { + contents.PackageDetails = deserializeAws_restJson1PackageDetails(data.PackageDetails, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeletePackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.opensearch#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDomainCommandError(output, context); + } + const contents: DescribeDomainCommandOutput = { + $metadata: deserializeMetadata(output), + DomainStatus: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainStatus !== undefined && data.DomainStatus !== null) { + contents.DomainStatus = deserializeAws_restJson1DomainStatus(data.DomainStatus, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeDomainAutoTunesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDomainAutoTunesCommandError(output, context); + } + const contents: DescribeDomainAutoTunesCommandOutput = { + $metadata: deserializeMetadata(output), + AutoTunes: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AutoTunes !== undefined && data.AutoTunes !== null) { + contents.AutoTunes = deserializeAws_restJson1AutoTuneList(data.AutoTunes, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDomainAutoTunesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeDomainConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDomainConfigCommandError(output, context); + } + const contents: DescribeDomainConfigCommandOutput = { + $metadata: deserializeMetadata(output), + DomainConfig: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainConfig !== undefined && data.DomainConfig !== null) { + contents.DomainConfig = deserializeAws_restJson1DomainConfig(data.DomainConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDomainConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeDomainsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDomainsCommandError(output, context); + } + const contents: DescribeDomainsCommandOutput = { + $metadata: deserializeMetadata(output), + DomainStatusList: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainStatusList !== undefined && data.DomainStatusList !== null) { + contents.DomainStatusList = deserializeAws_restJson1DomainStatusList(data.DomainStatusList, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDomainsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeInboundConnectionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeInboundConnectionsCommandError(output, context); + } + const contents: DescribeInboundConnectionsCommandOutput = { + $metadata: deserializeMetadata(output), + Connections: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Connections !== undefined && data.Connections !== null) { + contents.Connections = deserializeAws_restJson1InboundConnections(data.Connections, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeInboundConnectionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidPaginationTokenException": + case "com.amazonaws.opensearch#InvalidPaginationTokenException": + response = { + ...(await deserializeAws_restJson1InvalidPaginationTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeInstanceTypeLimitsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeInstanceTypeLimitsCommandError(output, context); + } + const contents: DescribeInstanceTypeLimitsCommandOutput = { + $metadata: deserializeMetadata(output), + LimitsByRole: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.LimitsByRole !== undefined && data.LimitsByRole !== null) { + contents.LimitsByRole = deserializeAws_restJson1LimitsByRole(data.LimitsByRole, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeInstanceTypeLimitsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidTypeException": + case "com.amazonaws.opensearch#InvalidTypeException": + response = { + ...(await deserializeAws_restJson1InvalidTypeExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeOutboundConnectionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeOutboundConnectionsCommandError(output, context); + } + const contents: DescribeOutboundConnectionsCommandOutput = { + $metadata: deserializeMetadata(output), + Connections: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Connections !== undefined && data.Connections !== null) { + contents.Connections = deserializeAws_restJson1OutboundConnections(data.Connections, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeOutboundConnectionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidPaginationTokenException": + case "com.amazonaws.opensearch#InvalidPaginationTokenException": + response = { + ...(await deserializeAws_restJson1InvalidPaginationTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribePackagesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribePackagesCommandError(output, context); + } + const contents: DescribePackagesCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + PackageDetailsList: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + if (data.PackageDetailsList !== undefined && data.PackageDetailsList !== null) { + contents.PackageDetailsList = deserializeAws_restJson1PackageDetailsList(data.PackageDetailsList, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribePackagesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeReservedInstanceOfferingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeReservedInstanceOfferingsCommandError(output, context); + } + const contents: DescribeReservedInstanceOfferingsCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + ReservedInstanceOfferings: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + if (data.ReservedInstanceOfferings !== undefined && data.ReservedInstanceOfferings !== null) { + contents.ReservedInstanceOfferings = deserializeAws_restJson1ReservedInstanceOfferingList( + data.ReservedInstanceOfferings, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeReservedInstanceOfferingsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeReservedInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeReservedInstancesCommandError(output, context); + } + const contents: DescribeReservedInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + ReservedInstances: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + if (data.ReservedInstances !== undefined && data.ReservedInstances !== null) { + contents.ReservedInstances = deserializeAws_restJson1ReservedInstanceList(data.ReservedInstances, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeReservedInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DissociatePackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DissociatePackageCommandError(output, context); + } + const contents: DissociatePackageCommandOutput = { + $metadata: deserializeMetadata(output), + DomainPackageDetails: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainPackageDetails !== undefined && data.DomainPackageDetails !== null) { + contents.DomainPackageDetails = deserializeAws_restJson1DomainPackageDetails(data.DomainPackageDetails, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DissociatePackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.opensearch#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1GetCompatibleVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetCompatibleVersionsCommandError(output, context); + } + const contents: GetCompatibleVersionsCommandOutput = { + $metadata: deserializeMetadata(output), + CompatibleVersions: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.CompatibleVersions !== undefined && data.CompatibleVersions !== null) { + contents.CompatibleVersions = deserializeAws_restJson1CompatibleVersionsList(data.CompatibleVersions, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetCompatibleVersionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1GetPackageVersionHistoryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetPackageVersionHistoryCommandError(output, context); + } + const contents: GetPackageVersionHistoryCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + PackageID: undefined, + PackageVersionHistoryList: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + if (data.PackageID !== undefined && data.PackageID !== null) { + contents.PackageID = __expectString(data.PackageID); + } + if (data.PackageVersionHistoryList !== undefined && data.PackageVersionHistoryList !== null) { + contents.PackageVersionHistoryList = deserializeAws_restJson1PackageVersionHistoryList( + data.PackageVersionHistoryList, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetPackageVersionHistoryCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1GetUpgradeHistoryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetUpgradeHistoryCommandError(output, context); + } + const contents: GetUpgradeHistoryCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + UpgradeHistories: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + if (data.UpgradeHistories !== undefined && data.UpgradeHistories !== null) { + contents.UpgradeHistories = deserializeAws_restJson1UpgradeHistoryList(data.UpgradeHistories, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetUpgradeHistoryCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1GetUpgradeStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetUpgradeStatusCommandError(output, context); + } + const contents: GetUpgradeStatusCommandOutput = { + $metadata: deserializeMetadata(output), + StepStatus: undefined, + UpgradeName: undefined, + UpgradeStep: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.StepStatus !== undefined && data.StepStatus !== null) { + contents.StepStatus = __expectString(data.StepStatus); + } + if (data.UpgradeName !== undefined && data.UpgradeName !== null) { + contents.UpgradeName = __expectString(data.UpgradeName); + } + if (data.UpgradeStep !== undefined && data.UpgradeStep !== null) { + contents.UpgradeStep = __expectString(data.UpgradeStep); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetUpgradeStatusCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListDomainNamesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListDomainNamesCommandError(output, context); + } + const contents: ListDomainNamesCommandOutput = { + $metadata: deserializeMetadata(output), + DomainNames: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainNames !== undefined && data.DomainNames !== null) { + contents.DomainNames = deserializeAws_restJson1DomainInfoList(data.DomainNames, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListDomainNamesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListDomainsForPackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListDomainsForPackageCommandError(output, context); + } + const contents: ListDomainsForPackageCommandOutput = { + $metadata: deserializeMetadata(output), + DomainPackageDetailsList: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainPackageDetailsList !== undefined && data.DomainPackageDetailsList !== null) { + contents.DomainPackageDetailsList = deserializeAws_restJson1DomainPackageDetailsList( + data.DomainPackageDetailsList, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListDomainsForPackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListInstanceTypeDetailsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListInstanceTypeDetailsCommandError(output, context); + } + const contents: ListInstanceTypeDetailsCommandOutput = { + $metadata: deserializeMetadata(output), + InstanceTypeDetails: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.InstanceTypeDetails !== undefined && data.InstanceTypeDetails !== null) { + contents.InstanceTypeDetails = deserializeAws_restJson1InstanceTypeDetailsList(data.InstanceTypeDetails, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListInstanceTypeDetailsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListPackagesForDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListPackagesForDomainCommandError(output, context); + } + const contents: ListPackagesForDomainCommandOutput = { + $metadata: deserializeMetadata(output), + DomainPackageDetailsList: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainPackageDetailsList !== undefined && data.DomainPackageDetailsList !== null) { + contents.DomainPackageDetailsList = deserializeAws_restJson1DomainPackageDetailsList( + data.DomainPackageDetailsList, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListPackagesForDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListTagsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListTagsCommandError(output, context); + } + const contents: ListTagsCommandOutput = { + $metadata: deserializeMetadata(output), + TagList: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.TagList !== undefined && data.TagList !== null) { + contents.TagList = deserializeAws_restJson1TagList(data.TagList, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListVersionsCommandError(output, context); + } + const contents: ListVersionsCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + Versions: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + if (data.Versions !== undefined && data.Versions !== null) { + contents.Versions = deserializeAws_restJson1VersionList(data.Versions, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListVersionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1PurchaseReservedInstanceOfferingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PurchaseReservedInstanceOfferingCommandError(output, context); + } + const contents: PurchaseReservedInstanceOfferingCommandOutput = { + $metadata: deserializeMetadata(output), + ReservationName: undefined, + ReservedInstanceId: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.ReservationName !== undefined && data.ReservationName !== null) { + contents.ReservationName = __expectString(data.ReservationName); + } + if (data.ReservedInstanceId !== undefined && data.ReservedInstanceId !== null) { + contents.ReservedInstanceId = __expectString(data.ReservedInstanceId); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PurchaseReservedInstanceOfferingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.opensearch#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1RejectInboundConnectionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1RejectInboundConnectionCommandError(output, context); + } + const contents: RejectInboundConnectionCommandOutput = { + $metadata: deserializeMetadata(output), + Connection: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Connection !== undefined && data.Connection !== null) { + contents.Connection = deserializeAws_restJson1InboundConnection(data.Connection, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1RejectInboundConnectionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1RemoveTagsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1RemoveTagsCommandError(output, context); + } + const contents: RemoveTagsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1RemoveTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1StartServiceSoftwareUpdateCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1StartServiceSoftwareUpdateCommandError(output, context); + } + const contents: StartServiceSoftwareUpdateCommandOutput = { + $metadata: deserializeMetadata(output), + ServiceSoftwareOptions: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.ServiceSoftwareOptions !== undefined && data.ServiceSoftwareOptions !== null) { + contents.ServiceSoftwareOptions = deserializeAws_restJson1ServiceSoftwareOptions( + data.ServiceSoftwareOptions, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StartServiceSoftwareUpdateCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1UpdateDomainConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateDomainConfigCommandError(output, context); + } + const contents: UpdateDomainConfigCommandOutput = { + $metadata: deserializeMetadata(output), + DomainConfig: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.DomainConfig !== undefined && data.DomainConfig !== null) { + contents.DomainConfig = deserializeAws_restJson1DomainConfig(data.DomainConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateDomainConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidTypeException": + case "com.amazonaws.opensearch#InvalidTypeException": + response = { + ...(await deserializeAws_restJson1InvalidTypeExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1UpdatePackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdatePackageCommandError(output, context); + } + const contents: UpdatePackageCommandOutput = { + $metadata: deserializeMetadata(output), + PackageDetails: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.PackageDetails !== undefined && data.PackageDetails !== null) { + contents.PackageDetails = deserializeAws_restJson1PackageDetails(data.PackageDetails, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdatePackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.opensearch#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.opensearch#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1UpgradeDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpgradeDomainCommandError(output, context); + } + const contents: UpgradeDomainCommandOutput = { + $metadata: deserializeMetadata(output), + AdvancedOptions: undefined, + DomainName: undefined, + PerformCheckOnly: undefined, + TargetVersion: undefined, + UpgradeId: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AdvancedOptions !== undefined && data.AdvancedOptions !== null) { + contents.AdvancedOptions = deserializeAws_restJson1AdvancedOptions(data.AdvancedOptions, context); + } + if (data.DomainName !== undefined && data.DomainName !== null) { + contents.DomainName = __expectString(data.DomainName); + } + if (data.PerformCheckOnly !== undefined && data.PerformCheckOnly !== null) { + contents.PerformCheckOnly = __expectBoolean(data.PerformCheckOnly); + } + if (data.TargetVersion !== undefined && data.TargetVersion !== null) { + contents.TargetVersion = __expectString(data.TargetVersion); + } + if (data.UpgradeId !== undefined && data.UpgradeId !== null) { + contents.UpgradeId = __expectString(data.UpgradeId); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpgradeDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BaseException": + case "com.amazonaws.opensearch#BaseException": + response = { + ...(await deserializeAws_restJson1BaseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DisabledOperationException": + case "com.amazonaws.opensearch#DisabledOperationException": + response = { + ...(await deserializeAws_restJson1DisabledOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalException": + case "com.amazonaws.opensearch#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.opensearch#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.opensearch#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.opensearch#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +const deserializeAws_restJson1AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1BaseExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: BaseException = { + name: "BaseException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1DisabledOperationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: DisabledOperationException = { + name: "DisabledOperationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1InternalExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InternalException = { + name: "InternalException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1InvalidPaginationTokenExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InvalidPaginationTokenException = { + name: "InvalidPaginationTokenException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1InvalidTypeExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InvalidTypeException = { + name: "InvalidTypeException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1LimitExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: LimitExceededException = { + name: "LimitExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceAlreadyExistsException = { + name: "ResourceAlreadyExistsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const deserializeAws_restJson1ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ValidationException = { + name: "ValidationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.message !== undefined && data.message !== null) { + contents.message = __expectString(data.message); + } + return contents; +}; + +const serializeAws_restJson1AdvancedOptions = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: value, + }; + }, {}); +}; + +const serializeAws_restJson1AdvancedSecurityOptionsInput = ( + input: AdvancedSecurityOptionsInput, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + ...(input.InternalUserDatabaseEnabled !== undefined && + input.InternalUserDatabaseEnabled !== null && { InternalUserDatabaseEnabled: input.InternalUserDatabaseEnabled }), + ...(input.MasterUserOptions !== undefined && + input.MasterUserOptions !== null && { + MasterUserOptions: serializeAws_restJson1MasterUserOptions(input.MasterUserOptions, context), + }), + ...(input.SAMLOptions !== undefined && + input.SAMLOptions !== null && { + SAMLOptions: serializeAws_restJson1SAMLOptionsInput(input.SAMLOptions, context), + }), + }; +}; + +const serializeAws_restJson1AutoTuneMaintenanceSchedule = ( + input: AutoTuneMaintenanceSchedule, + context: __SerdeContext +): any => { + return { + ...(input.CronExpressionForRecurrence !== undefined && + input.CronExpressionForRecurrence !== null && { CronExpressionForRecurrence: input.CronExpressionForRecurrence }), + ...(input.Duration !== undefined && + input.Duration !== null && { Duration: serializeAws_restJson1Duration(input.Duration, context) }), + ...(input.StartAt !== undefined && + input.StartAt !== null && { StartAt: Math.round(input.StartAt.getTime() / 1000) }), + }; +}; + +const serializeAws_restJson1AutoTuneMaintenanceScheduleList = ( + input: AutoTuneMaintenanceSchedule[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1AutoTuneMaintenanceSchedule(entry, context); + }); +}; + +const serializeAws_restJson1AutoTuneOptions = (input: AutoTuneOptions, context: __SerdeContext): any => { + return { + ...(input.DesiredState !== undefined && input.DesiredState !== null && { DesiredState: input.DesiredState }), + ...(input.MaintenanceSchedules !== undefined && + input.MaintenanceSchedules !== null && { + MaintenanceSchedules: serializeAws_restJson1AutoTuneMaintenanceScheduleList( + input.MaintenanceSchedules, + context + ), + }), + ...(input.RollbackOnDisable !== undefined && + input.RollbackOnDisable !== null && { RollbackOnDisable: input.RollbackOnDisable }), + }; +}; + +const serializeAws_restJson1AutoTuneOptionsInput = (input: AutoTuneOptionsInput, context: __SerdeContext): any => { + return { + ...(input.DesiredState !== undefined && input.DesiredState !== null && { DesiredState: input.DesiredState }), + ...(input.MaintenanceSchedules !== undefined && + input.MaintenanceSchedules !== null && { + MaintenanceSchedules: serializeAws_restJson1AutoTuneMaintenanceScheduleList( + input.MaintenanceSchedules, + context + ), + }), + }; +}; + +const serializeAws_restJson1AWSDomainInformation = (input: AWSDomainInformation, context: __SerdeContext): any => { + return { + ...(input.DomainName !== undefined && input.DomainName !== null && { DomainName: input.DomainName }), + ...(input.OwnerId !== undefined && input.OwnerId !== null && { OwnerId: input.OwnerId }), + ...(input.Region !== undefined && input.Region !== null && { Region: input.Region }), + }; +}; + +const serializeAws_restJson1ClusterConfig = (input: ClusterConfig, context: __SerdeContext): any => { + return { + ...(input.ColdStorageOptions !== undefined && + input.ColdStorageOptions !== null && { + ColdStorageOptions: serializeAws_restJson1ColdStorageOptions(input.ColdStorageOptions, context), + }), + ...(input.DedicatedMasterCount !== undefined && + input.DedicatedMasterCount !== null && { DedicatedMasterCount: input.DedicatedMasterCount }), + ...(input.DedicatedMasterEnabled !== undefined && + input.DedicatedMasterEnabled !== null && { DedicatedMasterEnabled: input.DedicatedMasterEnabled }), + ...(input.DedicatedMasterType !== undefined && + input.DedicatedMasterType !== null && { DedicatedMasterType: input.DedicatedMasterType }), + ...(input.InstanceCount !== undefined && input.InstanceCount !== null && { InstanceCount: input.InstanceCount }), + ...(input.InstanceType !== undefined && input.InstanceType !== null && { InstanceType: input.InstanceType }), + ...(input.WarmCount !== undefined && input.WarmCount !== null && { WarmCount: input.WarmCount }), + ...(input.WarmEnabled !== undefined && input.WarmEnabled !== null && { WarmEnabled: input.WarmEnabled }), + ...(input.WarmType !== undefined && input.WarmType !== null && { WarmType: input.WarmType }), + ...(input.ZoneAwarenessConfig !== undefined && + input.ZoneAwarenessConfig !== null && { + ZoneAwarenessConfig: serializeAws_restJson1ZoneAwarenessConfig(input.ZoneAwarenessConfig, context), + }), + ...(input.ZoneAwarenessEnabled !== undefined && + input.ZoneAwarenessEnabled !== null && { ZoneAwarenessEnabled: input.ZoneAwarenessEnabled }), + }; +}; + +const serializeAws_restJson1CognitoOptions = (input: CognitoOptions, context: __SerdeContext): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + ...(input.IdentityPoolId !== undefined && + input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }), + ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), + ...(input.UserPoolId !== undefined && input.UserPoolId !== null && { UserPoolId: input.UserPoolId }), + }; +}; + +const serializeAws_restJson1ColdStorageOptions = (input: ColdStorageOptions, context: __SerdeContext): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + }; +}; + +const serializeAws_restJson1DescribePackagesFilter = (input: DescribePackagesFilter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.Value !== undefined && + input.Value !== null && { Value: serializeAws_restJson1DescribePackagesFilterValues(input.Value, context) }), + }; +}; + +const serializeAws_restJson1DescribePackagesFilterList = ( + input: DescribePackagesFilter[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1DescribePackagesFilter(entry, context); + }); +}; + +const serializeAws_restJson1DescribePackagesFilterValues = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_restJson1DomainEndpointOptions = (input: DomainEndpointOptions, context: __SerdeContext): any => { + return { + ...(input.CustomEndpoint !== undefined && + input.CustomEndpoint !== null && { CustomEndpoint: input.CustomEndpoint }), + ...(input.CustomEndpointCertificateArn !== undefined && + input.CustomEndpointCertificateArn !== null && { + CustomEndpointCertificateArn: input.CustomEndpointCertificateArn, + }), + ...(input.CustomEndpointEnabled !== undefined && + input.CustomEndpointEnabled !== null && { CustomEndpointEnabled: input.CustomEndpointEnabled }), + ...(input.EnforceHTTPS !== undefined && input.EnforceHTTPS !== null && { EnforceHTTPS: input.EnforceHTTPS }), + ...(input.TLSSecurityPolicy !== undefined && + input.TLSSecurityPolicy !== null && { TLSSecurityPolicy: input.TLSSecurityPolicy }), + }; +}; + +const serializeAws_restJson1DomainInformationContainer = ( + input: DomainInformationContainer, + context: __SerdeContext +): any => { + return { + ...(input.AWSDomainInformation !== undefined && + input.AWSDomainInformation !== null && { + AWSDomainInformation: serializeAws_restJson1AWSDomainInformation(input.AWSDomainInformation, context), + }), + }; +}; + +const serializeAws_restJson1DomainNameList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_restJson1Duration = (input: Duration, context: __SerdeContext): any => { + return { + ...(input.Unit !== undefined && input.Unit !== null && { Unit: input.Unit }), + ...(input.Value !== undefined && input.Value !== null && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1EBSOptions = (input: EBSOptions, context: __SerdeContext): any => { + return { + ...(input.EBSEnabled !== undefined && input.EBSEnabled !== null && { EBSEnabled: input.EBSEnabled }), + ...(input.Iops !== undefined && input.Iops !== null && { Iops: input.Iops }), + ...(input.VolumeSize !== undefined && input.VolumeSize !== null && { VolumeSize: input.VolumeSize }), + ...(input.VolumeType !== undefined && input.VolumeType !== null && { VolumeType: input.VolumeType }), + }; +}; + +const serializeAws_restJson1EncryptionAtRestOptions = ( + input: EncryptionAtRestOptions, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), + }; +}; + +const serializeAws_restJson1Filter = (input: Filter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.Values !== undefined && + input.Values !== null && { Values: serializeAws_restJson1ValueStringList(input.Values, context) }), + }; +}; + +const serializeAws_restJson1FilterList = (input: Filter[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1Filter(entry, context); + }); +}; + +const serializeAws_restJson1LogPublishingOption = (input: LogPublishingOption, context: __SerdeContext): any => { + return { + ...(input.CloudWatchLogsLogGroupArn !== undefined && + input.CloudWatchLogsLogGroupArn !== null && { CloudWatchLogsLogGroupArn: input.CloudWatchLogsLogGroupArn }), + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + }; +}; + +const serializeAws_restJson1LogPublishingOptions = ( + input: { [key: string]: LogPublishingOption }, + context: __SerdeContext +): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [LogType | string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: serializeAws_restJson1LogPublishingOption(value, context), + }; + }, {}); +}; + +const serializeAws_restJson1MasterUserOptions = (input: MasterUserOptions, context: __SerdeContext): any => { + return { + ...(input.MasterUserARN !== undefined && input.MasterUserARN !== null && { MasterUserARN: input.MasterUserARN }), + ...(input.MasterUserName !== undefined && + input.MasterUserName !== null && { MasterUserName: input.MasterUserName }), + ...(input.MasterUserPassword !== undefined && + input.MasterUserPassword !== null && { MasterUserPassword: input.MasterUserPassword }), + }; +}; + +const serializeAws_restJson1NodeToNodeEncryptionOptions = ( + input: NodeToNodeEncryptionOptions, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + }; +}; + +const serializeAws_restJson1PackageSource = (input: PackageSource, context: __SerdeContext): any => { + return { + ...(input.S3BucketName !== undefined && input.S3BucketName !== null && { S3BucketName: input.S3BucketName }), + ...(input.S3Key !== undefined && input.S3Key !== null && { S3Key: input.S3Key }), + }; +}; + +const serializeAws_restJson1SAMLIdp = (input: SAMLIdp, context: __SerdeContext): any => { + return { + ...(input.EntityId !== undefined && input.EntityId !== null && { EntityId: input.EntityId }), + ...(input.MetadataContent !== undefined && + input.MetadataContent !== null && { MetadataContent: input.MetadataContent }), + }; +}; + +const serializeAws_restJson1SAMLOptionsInput = (input: SAMLOptionsInput, context: __SerdeContext): any => { + return { + ...(input.Enabled !== undefined && input.Enabled !== null && { Enabled: input.Enabled }), + ...(input.Idp !== undefined && input.Idp !== null && { Idp: serializeAws_restJson1SAMLIdp(input.Idp, context) }), + ...(input.MasterBackendRole !== undefined && + input.MasterBackendRole !== null && { MasterBackendRole: input.MasterBackendRole }), + ...(input.MasterUserName !== undefined && + input.MasterUserName !== null && { MasterUserName: input.MasterUserName }), + ...(input.RolesKey !== undefined && input.RolesKey !== null && { RolesKey: input.RolesKey }), + ...(input.SessionTimeoutMinutes !== undefined && + input.SessionTimeoutMinutes !== null && { SessionTimeoutMinutes: input.SessionTimeoutMinutes }), + ...(input.SubjectKey !== undefined && input.SubjectKey !== null && { SubjectKey: input.SubjectKey }), + }; +}; + +const serializeAws_restJson1SnapshotOptions = (input: SnapshotOptions, context: __SerdeContext): any => { + return { + ...(input.AutomatedSnapshotStartHour !== undefined && + input.AutomatedSnapshotStartHour !== null && { AutomatedSnapshotStartHour: input.AutomatedSnapshotStartHour }), + }; +}; + +const serializeAws_restJson1StringList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_restJson1Tag = (input: Tag, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), + ...(input.Value !== undefined && input.Value !== null && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1TagList = (input: Tag[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1Tag(entry, context); + }); +}; + +const serializeAws_restJson1ValueStringList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_restJson1VPCOptions = (input: VPCOptions, context: __SerdeContext): any => { + return { + ...(input.SecurityGroupIds !== undefined && + input.SecurityGroupIds !== null && { + SecurityGroupIds: serializeAws_restJson1StringList(input.SecurityGroupIds, context), + }), + ...(input.SubnetIds !== undefined && + input.SubnetIds !== null && { SubnetIds: serializeAws_restJson1StringList(input.SubnetIds, context) }), + }; +}; + +const serializeAws_restJson1ZoneAwarenessConfig = (input: ZoneAwarenessConfig, context: __SerdeContext): any => { + return { + ...(input.AvailabilityZoneCount !== undefined && + input.AvailabilityZoneCount !== null && { AvailabilityZoneCount: input.AvailabilityZoneCount }), + }; +}; + +const deserializeAws_restJson1AccessPoliciesStatus = (output: any, context: __SerdeContext): AccessPoliciesStatus => { + return { + Options: __expectString(output.Options), + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AdditionalLimit = (output: any, context: __SerdeContext): AdditionalLimit => { + return { + LimitName: __expectString(output.LimitName), + LimitValues: + output.LimitValues !== undefined && output.LimitValues !== null + ? deserializeAws_restJson1LimitValueList(output.LimitValues, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AdditionalLimitList = (output: any, context: __SerdeContext): AdditionalLimit[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AdditionalLimit(entry, context); + }); +}; + +const deserializeAws_restJson1AdvancedOptions = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + +const deserializeAws_restJson1AdvancedOptionsStatus = (output: any, context: __SerdeContext): AdvancedOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1AdvancedOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AdvancedSecurityOptions = ( + output: any, + context: __SerdeContext +): AdvancedSecurityOptions => { + return { + Enabled: __expectBoolean(output.Enabled), + InternalUserDatabaseEnabled: __expectBoolean(output.InternalUserDatabaseEnabled), + SAMLOptions: + output.SAMLOptions !== undefined && output.SAMLOptions !== null + ? deserializeAws_restJson1SAMLOptionsOutput(output.SAMLOptions, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AdvancedSecurityOptionsStatus = ( + output: any, + context: __SerdeContext +): AdvancedSecurityOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1AdvancedSecurityOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AutoTune = (output: any, context: __SerdeContext): AutoTune => { + return { + AutoTuneDetails: + output.AutoTuneDetails !== undefined && output.AutoTuneDetails !== null + ? deserializeAws_restJson1AutoTuneDetails(output.AutoTuneDetails, context) + : undefined, + AutoTuneType: __expectString(output.AutoTuneType), + } as any; +}; + +const deserializeAws_restJson1AutoTuneDetails = (output: any, context: __SerdeContext): AutoTuneDetails => { + return { + ScheduledAutoTuneDetails: + output.ScheduledAutoTuneDetails !== undefined && output.ScheduledAutoTuneDetails !== null + ? deserializeAws_restJson1ScheduledAutoTuneDetails(output.ScheduledAutoTuneDetails, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AutoTuneList = (output: any, context: __SerdeContext): AutoTune[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AutoTune(entry, context); + }); +}; + +const deserializeAws_restJson1AutoTuneMaintenanceSchedule = ( + output: any, + context: __SerdeContext +): AutoTuneMaintenanceSchedule => { + return { + CronExpressionForRecurrence: __expectString(output.CronExpressionForRecurrence), + Duration: + output.Duration !== undefined && output.Duration !== null + ? deserializeAws_restJson1Duration(output.Duration, context) + : undefined, + StartAt: + output.StartAt !== undefined && output.StartAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.StartAt))) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AutoTuneMaintenanceScheduleList = ( + output: any, + context: __SerdeContext +): AutoTuneMaintenanceSchedule[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AutoTuneMaintenanceSchedule(entry, context); + }); +}; + +const deserializeAws_restJson1AutoTuneOptions = (output: any, context: __SerdeContext): AutoTuneOptions => { + return { + DesiredState: __expectString(output.DesiredState), + MaintenanceSchedules: + output.MaintenanceSchedules !== undefined && output.MaintenanceSchedules !== null + ? deserializeAws_restJson1AutoTuneMaintenanceScheduleList(output.MaintenanceSchedules, context) + : undefined, + RollbackOnDisable: __expectString(output.RollbackOnDisable), + } as any; +}; + +const deserializeAws_restJson1AutoTuneOptionsOutput = (output: any, context: __SerdeContext): AutoTuneOptionsOutput => { + return { + ErrorMessage: __expectString(output.ErrorMessage), + State: __expectString(output.State), + } as any; +}; + +const deserializeAws_restJson1AutoTuneOptionsStatus = (output: any, context: __SerdeContext): AutoTuneOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1AutoTuneOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1AutoTuneStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AutoTuneStatus = (output: any, context: __SerdeContext): AutoTuneStatus => { + return { + CreationDate: + output.CreationDate !== undefined && output.CreationDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationDate))) + : undefined, + ErrorMessage: __expectString(output.ErrorMessage), + PendingDeletion: __expectBoolean(output.PendingDeletion), + State: __expectString(output.State), + UpdateDate: + output.UpdateDate !== undefined && output.UpdateDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.UpdateDate))) + : undefined, + UpdateVersion: __expectInt32(output.UpdateVersion), + } as any; +}; + +const deserializeAws_restJson1AWSDomainInformation = (output: any, context: __SerdeContext): AWSDomainInformation => { + return { + DomainName: __expectString(output.DomainName), + OwnerId: __expectString(output.OwnerId), + Region: __expectString(output.Region), + } as any; +}; + +const deserializeAws_restJson1ClusterConfig = (output: any, context: __SerdeContext): ClusterConfig => { + return { + ColdStorageOptions: + output.ColdStorageOptions !== undefined && output.ColdStorageOptions !== null + ? deserializeAws_restJson1ColdStorageOptions(output.ColdStorageOptions, context) + : undefined, + DedicatedMasterCount: __expectInt32(output.DedicatedMasterCount), + DedicatedMasterEnabled: __expectBoolean(output.DedicatedMasterEnabled), + DedicatedMasterType: __expectString(output.DedicatedMasterType), + InstanceCount: __expectInt32(output.InstanceCount), + InstanceType: __expectString(output.InstanceType), + WarmCount: __expectInt32(output.WarmCount), + WarmEnabled: __expectBoolean(output.WarmEnabled), + WarmType: __expectString(output.WarmType), + ZoneAwarenessConfig: + output.ZoneAwarenessConfig !== undefined && output.ZoneAwarenessConfig !== null + ? deserializeAws_restJson1ZoneAwarenessConfig(output.ZoneAwarenessConfig, context) + : undefined, + ZoneAwarenessEnabled: __expectBoolean(output.ZoneAwarenessEnabled), + } as any; +}; + +const deserializeAws_restJson1ClusterConfigStatus = (output: any, context: __SerdeContext): ClusterConfigStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1ClusterConfig(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1CognitoOptions = (output: any, context: __SerdeContext): CognitoOptions => { + return { + Enabled: __expectBoolean(output.Enabled), + IdentityPoolId: __expectString(output.IdentityPoolId), + RoleArn: __expectString(output.RoleArn), + UserPoolId: __expectString(output.UserPoolId), + } as any; +}; + +const deserializeAws_restJson1CognitoOptionsStatus = (output: any, context: __SerdeContext): CognitoOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1CognitoOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ColdStorageOptions = (output: any, context: __SerdeContext): ColdStorageOptions => { + return { + Enabled: __expectBoolean(output.Enabled), + } as any; +}; + +const deserializeAws_restJson1CompatibleVersionsList = ( + output: any, + context: __SerdeContext +): CompatibleVersionsMap[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1CompatibleVersionsMap(entry, context); + }); +}; + +const deserializeAws_restJson1CompatibleVersionsMap = (output: any, context: __SerdeContext): CompatibleVersionsMap => { + return { + SourceVersion: __expectString(output.SourceVersion), + TargetVersions: + output.TargetVersions !== undefined && output.TargetVersions !== null + ? deserializeAws_restJson1VersionList(output.TargetVersions, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DomainConfig = (output: any, context: __SerdeContext): DomainConfig => { + return { + AccessPolicies: + output.AccessPolicies !== undefined && output.AccessPolicies !== null + ? deserializeAws_restJson1AccessPoliciesStatus(output.AccessPolicies, context) + : undefined, + AdvancedOptions: + output.AdvancedOptions !== undefined && output.AdvancedOptions !== null + ? deserializeAws_restJson1AdvancedOptionsStatus(output.AdvancedOptions, context) + : undefined, + AdvancedSecurityOptions: + output.AdvancedSecurityOptions !== undefined && output.AdvancedSecurityOptions !== null + ? deserializeAws_restJson1AdvancedSecurityOptionsStatus(output.AdvancedSecurityOptions, context) + : undefined, + AutoTuneOptions: + output.AutoTuneOptions !== undefined && output.AutoTuneOptions !== null + ? deserializeAws_restJson1AutoTuneOptionsStatus(output.AutoTuneOptions, context) + : undefined, + ClusterConfig: + output.ClusterConfig !== undefined && output.ClusterConfig !== null + ? deserializeAws_restJson1ClusterConfigStatus(output.ClusterConfig, context) + : undefined, + CognitoOptions: + output.CognitoOptions !== undefined && output.CognitoOptions !== null + ? deserializeAws_restJson1CognitoOptionsStatus(output.CognitoOptions, context) + : undefined, + DomainEndpointOptions: + output.DomainEndpointOptions !== undefined && output.DomainEndpointOptions !== null + ? deserializeAws_restJson1DomainEndpointOptionsStatus(output.DomainEndpointOptions, context) + : undefined, + EBSOptions: + output.EBSOptions !== undefined && output.EBSOptions !== null + ? deserializeAws_restJson1EBSOptionsStatus(output.EBSOptions, context) + : undefined, + EncryptionAtRestOptions: + output.EncryptionAtRestOptions !== undefined && output.EncryptionAtRestOptions !== null + ? deserializeAws_restJson1EncryptionAtRestOptionsStatus(output.EncryptionAtRestOptions, context) + : undefined, + EngineVersion: + output.EngineVersion !== undefined && output.EngineVersion !== null + ? deserializeAws_restJson1VersionStatus(output.EngineVersion, context) + : undefined, + LogPublishingOptions: + output.LogPublishingOptions !== undefined && output.LogPublishingOptions !== null + ? deserializeAws_restJson1LogPublishingOptionsStatus(output.LogPublishingOptions, context) + : undefined, + NodeToNodeEncryptionOptions: + output.NodeToNodeEncryptionOptions !== undefined && output.NodeToNodeEncryptionOptions !== null + ? deserializeAws_restJson1NodeToNodeEncryptionOptionsStatus(output.NodeToNodeEncryptionOptions, context) + : undefined, + SnapshotOptions: + output.SnapshotOptions !== undefined && output.SnapshotOptions !== null + ? deserializeAws_restJson1SnapshotOptionsStatus(output.SnapshotOptions, context) + : undefined, + VPCOptions: + output.VPCOptions !== undefined && output.VPCOptions !== null + ? deserializeAws_restJson1VPCDerivedInfoStatus(output.VPCOptions, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DomainEndpointOptions = (output: any, context: __SerdeContext): DomainEndpointOptions => { + return { + CustomEndpoint: __expectString(output.CustomEndpoint), + CustomEndpointCertificateArn: __expectString(output.CustomEndpointCertificateArn), + CustomEndpointEnabled: __expectBoolean(output.CustomEndpointEnabled), + EnforceHTTPS: __expectBoolean(output.EnforceHTTPS), + TLSSecurityPolicy: __expectString(output.TLSSecurityPolicy), + } as any; +}; + +const deserializeAws_restJson1DomainEndpointOptionsStatus = ( + output: any, + context: __SerdeContext +): DomainEndpointOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1DomainEndpointOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DomainInfo = (output: any, context: __SerdeContext): DomainInfo => { + return { + DomainName: __expectString(output.DomainName), + } as any; +}; + +const deserializeAws_restJson1DomainInfoList = (output: any, context: __SerdeContext): DomainInfo[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1DomainInfo(entry, context); + }); +}; + +const deserializeAws_restJson1DomainInformationContainer = ( + output: any, + context: __SerdeContext +): DomainInformationContainer => { + return { + AWSDomainInformation: + output.AWSDomainInformation !== undefined && output.AWSDomainInformation !== null + ? deserializeAws_restJson1AWSDomainInformation(output.AWSDomainInformation, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DomainPackageDetails = (output: any, context: __SerdeContext): DomainPackageDetails => { + return { + DomainName: __expectString(output.DomainName), + DomainPackageStatus: __expectString(output.DomainPackageStatus), + ErrorDetails: + output.ErrorDetails !== undefined && output.ErrorDetails !== null + ? deserializeAws_restJson1ErrorDetails(output.ErrorDetails, context) + : undefined, + LastUpdated: + output.LastUpdated !== undefined && output.LastUpdated !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdated))) + : undefined, + PackageID: __expectString(output.PackageID), + PackageName: __expectString(output.PackageName), + PackageType: __expectString(output.PackageType), + PackageVersion: __expectString(output.PackageVersion), + ReferencePath: __expectString(output.ReferencePath), + } as any; +}; + +const deserializeAws_restJson1DomainPackageDetailsList = ( + output: any, + context: __SerdeContext +): DomainPackageDetails[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1DomainPackageDetails(entry, context); + }); +}; + +const deserializeAws_restJson1DomainStatus = (output: any, context: __SerdeContext): DomainStatus => { + return { + ARN: __expectString(output.ARN), + AccessPolicies: __expectString(output.AccessPolicies), + AdvancedOptions: + output.AdvancedOptions !== undefined && output.AdvancedOptions !== null + ? deserializeAws_restJson1AdvancedOptions(output.AdvancedOptions, context) + : undefined, + AdvancedSecurityOptions: + output.AdvancedSecurityOptions !== undefined && output.AdvancedSecurityOptions !== null + ? deserializeAws_restJson1AdvancedSecurityOptions(output.AdvancedSecurityOptions, context) + : undefined, + AutoTuneOptions: + output.AutoTuneOptions !== undefined && output.AutoTuneOptions !== null + ? deserializeAws_restJson1AutoTuneOptionsOutput(output.AutoTuneOptions, context) + : undefined, + ClusterConfig: + output.ClusterConfig !== undefined && output.ClusterConfig !== null + ? deserializeAws_restJson1ClusterConfig(output.ClusterConfig, context) + : undefined, + CognitoOptions: + output.CognitoOptions !== undefined && output.CognitoOptions !== null + ? deserializeAws_restJson1CognitoOptions(output.CognitoOptions, context) + : undefined, + Created: __expectBoolean(output.Created), + Deleted: __expectBoolean(output.Deleted), + DomainEndpointOptions: + output.DomainEndpointOptions !== undefined && output.DomainEndpointOptions !== null + ? deserializeAws_restJson1DomainEndpointOptions(output.DomainEndpointOptions, context) + : undefined, + DomainId: __expectString(output.DomainId), + DomainName: __expectString(output.DomainName), + EBSOptions: + output.EBSOptions !== undefined && output.EBSOptions !== null + ? deserializeAws_restJson1EBSOptions(output.EBSOptions, context) + : undefined, + EncryptionAtRestOptions: + output.EncryptionAtRestOptions !== undefined && output.EncryptionAtRestOptions !== null + ? deserializeAws_restJson1EncryptionAtRestOptions(output.EncryptionAtRestOptions, context) + : undefined, + Endpoint: __expectString(output.Endpoint), + Endpoints: + output.Endpoints !== undefined && output.Endpoints !== null + ? deserializeAws_restJson1EndpointsMap(output.Endpoints, context) + : undefined, + EngineVersion: __expectString(output.EngineVersion), + LogPublishingOptions: + output.LogPublishingOptions !== undefined && output.LogPublishingOptions !== null + ? deserializeAws_restJson1LogPublishingOptions(output.LogPublishingOptions, context) + : undefined, + NodeToNodeEncryptionOptions: + output.NodeToNodeEncryptionOptions !== undefined && output.NodeToNodeEncryptionOptions !== null + ? deserializeAws_restJson1NodeToNodeEncryptionOptions(output.NodeToNodeEncryptionOptions, context) + : undefined, + Processing: __expectBoolean(output.Processing), + ServiceSoftwareOptions: + output.ServiceSoftwareOptions !== undefined && output.ServiceSoftwareOptions !== null + ? deserializeAws_restJson1ServiceSoftwareOptions(output.ServiceSoftwareOptions, context) + : undefined, + SnapshotOptions: + output.SnapshotOptions !== undefined && output.SnapshotOptions !== null + ? deserializeAws_restJson1SnapshotOptions(output.SnapshotOptions, context) + : undefined, + UpgradeProcessing: __expectBoolean(output.UpgradeProcessing), + VPCOptions: + output.VPCOptions !== undefined && output.VPCOptions !== null + ? deserializeAws_restJson1VPCDerivedInfo(output.VPCOptions, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DomainStatusList = (output: any, context: __SerdeContext): DomainStatus[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1DomainStatus(entry, context); + }); +}; + +const deserializeAws_restJson1Duration = (output: any, context: __SerdeContext): Duration => { + return { + Unit: __expectString(output.Unit), + Value: __expectLong(output.Value), + } as any; +}; + +const deserializeAws_restJson1EBSOptions = (output: any, context: __SerdeContext): EBSOptions => { + return { + EBSEnabled: __expectBoolean(output.EBSEnabled), + Iops: __expectInt32(output.Iops), + VolumeSize: __expectInt32(output.VolumeSize), + VolumeType: __expectString(output.VolumeType), + } as any; +}; + +const deserializeAws_restJson1EBSOptionsStatus = (output: any, context: __SerdeContext): EBSOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1EBSOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1EncryptionAtRestOptions = ( + output: any, + context: __SerdeContext +): EncryptionAtRestOptions => { + return { + Enabled: __expectBoolean(output.Enabled), + KmsKeyId: __expectString(output.KmsKeyId), + } as any; +}; + +const deserializeAws_restJson1EncryptionAtRestOptionsStatus = ( + output: any, + context: __SerdeContext +): EncryptionAtRestOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1EncryptionAtRestOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1EndpointsMap = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + +const deserializeAws_restJson1ErrorDetails = (output: any, context: __SerdeContext): ErrorDetails => { + return { + ErrorMessage: __expectString(output.ErrorMessage), + ErrorType: __expectString(output.ErrorType), + } as any; +}; + +const deserializeAws_restJson1InboundConnection = (output: any, context: __SerdeContext): InboundConnection => { + return { + ConnectionId: __expectString(output.ConnectionId), + ConnectionStatus: + output.ConnectionStatus !== undefined && output.ConnectionStatus !== null + ? deserializeAws_restJson1InboundConnectionStatus(output.ConnectionStatus, context) + : undefined, + LocalDomainInfo: + output.LocalDomainInfo !== undefined && output.LocalDomainInfo !== null + ? deserializeAws_restJson1DomainInformationContainer(output.LocalDomainInfo, context) + : undefined, + RemoteDomainInfo: + output.RemoteDomainInfo !== undefined && output.RemoteDomainInfo !== null + ? deserializeAws_restJson1DomainInformationContainer(output.RemoteDomainInfo, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1InboundConnections = (output: any, context: __SerdeContext): InboundConnection[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1InboundConnection(entry, context); + }); +}; + +const deserializeAws_restJson1InboundConnectionStatus = ( + output: any, + context: __SerdeContext +): InboundConnectionStatus => { + return { + Message: __expectString(output.Message), + StatusCode: __expectString(output.StatusCode), + } as any; +}; + +const deserializeAws_restJson1InstanceCountLimits = (output: any, context: __SerdeContext): InstanceCountLimits => { + return { + MaximumInstanceCount: __expectInt32(output.MaximumInstanceCount), + MinimumInstanceCount: __expectInt32(output.MinimumInstanceCount), + } as any; +}; + +const deserializeAws_restJson1InstanceLimits = (output: any, context: __SerdeContext): InstanceLimits => { + return { + InstanceCountLimits: + output.InstanceCountLimits !== undefined && output.InstanceCountLimits !== null + ? deserializeAws_restJson1InstanceCountLimits(output.InstanceCountLimits, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1InstanceRoleList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1InstanceTypeDetails = (output: any, context: __SerdeContext): InstanceTypeDetails => { + return { + AdvancedSecurityEnabled: __expectBoolean(output.AdvancedSecurityEnabled), + AppLogsEnabled: __expectBoolean(output.AppLogsEnabled), + CognitoEnabled: __expectBoolean(output.CognitoEnabled), + EncryptionEnabled: __expectBoolean(output.EncryptionEnabled), + InstanceRole: + output.InstanceRole !== undefined && output.InstanceRole !== null + ? deserializeAws_restJson1InstanceRoleList(output.InstanceRole, context) + : undefined, + InstanceType: __expectString(output.InstanceType), + WarmEnabled: __expectBoolean(output.WarmEnabled), + } as any; +}; + +const deserializeAws_restJson1InstanceTypeDetailsList = ( + output: any, + context: __SerdeContext +): InstanceTypeDetails[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1InstanceTypeDetails(entry, context); + }); +}; + +const deserializeAws_restJson1Issues = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1Limits = (output: any, context: __SerdeContext): Limits => { + return { + AdditionalLimits: + output.AdditionalLimits !== undefined && output.AdditionalLimits !== null + ? deserializeAws_restJson1AdditionalLimitList(output.AdditionalLimits, context) + : undefined, + InstanceLimits: + output.InstanceLimits !== undefined && output.InstanceLimits !== null + ? deserializeAws_restJson1InstanceLimits(output.InstanceLimits, context) + : undefined, + StorageTypes: + output.StorageTypes !== undefined && output.StorageTypes !== null + ? deserializeAws_restJson1StorageTypeList(output.StorageTypes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1LimitsByRole = (output: any, context: __SerdeContext): { [key: string]: Limits } => { + return Object.entries(output).reduce((acc: { [key: string]: Limits }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: deserializeAws_restJson1Limits(value, context), + }; + }, {}); +}; + +const deserializeAws_restJson1LimitValueList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1LogPublishingOption = (output: any, context: __SerdeContext): LogPublishingOption => { + return { + CloudWatchLogsLogGroupArn: __expectString(output.CloudWatchLogsLogGroupArn), + Enabled: __expectBoolean(output.Enabled), + } as any; +}; + +const deserializeAws_restJson1LogPublishingOptions = ( + output: any, + context: __SerdeContext +): { [key: string]: LogPublishingOption } => { + return Object.entries(output).reduce( + (acc: { [key: string]: LogPublishingOption }, [key, value]: [LogType | string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: deserializeAws_restJson1LogPublishingOption(value, context), + }; + }, + {} + ); +}; + +const deserializeAws_restJson1LogPublishingOptionsStatus = ( + output: any, + context: __SerdeContext +): LogPublishingOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1LogPublishingOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1NodeToNodeEncryptionOptions = ( + output: any, + context: __SerdeContext +): NodeToNodeEncryptionOptions => { + return { + Enabled: __expectBoolean(output.Enabled), + } as any; +}; + +const deserializeAws_restJson1NodeToNodeEncryptionOptionsStatus = ( + output: any, + context: __SerdeContext +): NodeToNodeEncryptionOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1NodeToNodeEncryptionOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1OptionStatus = (output: any, context: __SerdeContext): OptionStatus => { + return { + CreationDate: + output.CreationDate !== undefined && output.CreationDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationDate))) + : undefined, + PendingDeletion: __expectBoolean(output.PendingDeletion), + State: __expectString(output.State), + UpdateDate: + output.UpdateDate !== undefined && output.UpdateDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.UpdateDate))) + : undefined, + UpdateVersion: __expectInt32(output.UpdateVersion), + } as any; +}; + +const deserializeAws_restJson1OutboundConnection = (output: any, context: __SerdeContext): OutboundConnection => { + return { + ConnectionAlias: __expectString(output.ConnectionAlias), + ConnectionId: __expectString(output.ConnectionId), + ConnectionStatus: + output.ConnectionStatus !== undefined && output.ConnectionStatus !== null + ? deserializeAws_restJson1OutboundConnectionStatus(output.ConnectionStatus, context) + : undefined, + LocalDomainInfo: + output.LocalDomainInfo !== undefined && output.LocalDomainInfo !== null + ? deserializeAws_restJson1DomainInformationContainer(output.LocalDomainInfo, context) + : undefined, + RemoteDomainInfo: + output.RemoteDomainInfo !== undefined && output.RemoteDomainInfo !== null + ? deserializeAws_restJson1DomainInformationContainer(output.RemoteDomainInfo, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1OutboundConnections = (output: any, context: __SerdeContext): OutboundConnection[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1OutboundConnection(entry, context); + }); +}; + +const deserializeAws_restJson1OutboundConnectionStatus = ( + output: any, + context: __SerdeContext +): OutboundConnectionStatus => { + return { + Message: __expectString(output.Message), + StatusCode: __expectString(output.StatusCode), + } as any; +}; + +const deserializeAws_restJson1PackageDetails = (output: any, context: __SerdeContext): PackageDetails => { + return { + AvailablePackageVersion: __expectString(output.AvailablePackageVersion), + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedAt))) + : undefined, + ErrorDetails: + output.ErrorDetails !== undefined && output.ErrorDetails !== null + ? deserializeAws_restJson1ErrorDetails(output.ErrorDetails, context) + : undefined, + LastUpdatedAt: + output.LastUpdatedAt !== undefined && output.LastUpdatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedAt))) + : undefined, + PackageDescription: __expectString(output.PackageDescription), + PackageID: __expectString(output.PackageID), + PackageName: __expectString(output.PackageName), + PackageStatus: __expectString(output.PackageStatus), + PackageType: __expectString(output.PackageType), + } as any; +}; + +const deserializeAws_restJson1PackageDetailsList = (output: any, context: __SerdeContext): PackageDetails[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1PackageDetails(entry, context); + }); +}; + +const deserializeAws_restJson1PackageVersionHistory = (output: any, context: __SerdeContext): PackageVersionHistory => { + return { + CommitMessage: __expectString(output.CommitMessage), + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedAt))) + : undefined, + PackageVersion: __expectString(output.PackageVersion), + } as any; +}; + +const deserializeAws_restJson1PackageVersionHistoryList = ( + output: any, + context: __SerdeContext +): PackageVersionHistory[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1PackageVersionHistory(entry, context); + }); +}; + +const deserializeAws_restJson1RecurringCharge = (output: any, context: __SerdeContext): RecurringCharge => { + return { + RecurringChargeAmount: __limitedParseDouble(output.RecurringChargeAmount), + RecurringChargeFrequency: __expectString(output.RecurringChargeFrequency), + } as any; +}; + +const deserializeAws_restJson1RecurringChargeList = (output: any, context: __SerdeContext): RecurringCharge[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1RecurringCharge(entry, context); + }); +}; + +const deserializeAws_restJson1ReservedInstance = (output: any, context: __SerdeContext): ReservedInstance => { + return { + BillingSubscriptionId: __expectLong(output.BillingSubscriptionId), + CurrencyCode: __expectString(output.CurrencyCode), + Duration: __expectInt32(output.Duration), + FixedPrice: __limitedParseDouble(output.FixedPrice), + InstanceCount: __expectInt32(output.InstanceCount), + InstanceType: __expectString(output.InstanceType), + PaymentOption: __expectString(output.PaymentOption), + RecurringCharges: + output.RecurringCharges !== undefined && output.RecurringCharges !== null + ? deserializeAws_restJson1RecurringChargeList(output.RecurringCharges, context) + : undefined, + ReservationName: __expectString(output.ReservationName), + ReservedInstanceId: __expectString(output.ReservedInstanceId), + ReservedInstanceOfferingId: __expectString(output.ReservedInstanceOfferingId), + StartTime: + output.StartTime !== undefined && output.StartTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.StartTime))) + : undefined, + State: __expectString(output.State), + UsagePrice: __limitedParseDouble(output.UsagePrice), + } as any; +}; + +const deserializeAws_restJson1ReservedInstanceList = (output: any, context: __SerdeContext): ReservedInstance[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1ReservedInstance(entry, context); + }); +}; + +const deserializeAws_restJson1ReservedInstanceOffering = ( + output: any, + context: __SerdeContext +): ReservedInstanceOffering => { + return { + CurrencyCode: __expectString(output.CurrencyCode), + Duration: __expectInt32(output.Duration), + FixedPrice: __limitedParseDouble(output.FixedPrice), + InstanceType: __expectString(output.InstanceType), + PaymentOption: __expectString(output.PaymentOption), + RecurringCharges: + output.RecurringCharges !== undefined && output.RecurringCharges !== null + ? deserializeAws_restJson1RecurringChargeList(output.RecurringCharges, context) + : undefined, + ReservedInstanceOfferingId: __expectString(output.ReservedInstanceOfferingId), + UsagePrice: __limitedParseDouble(output.UsagePrice), + } as any; +}; + +const deserializeAws_restJson1ReservedInstanceOfferingList = ( + output: any, + context: __SerdeContext +): ReservedInstanceOffering[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1ReservedInstanceOffering(entry, context); + }); +}; + +const deserializeAws_restJson1SAMLIdp = (output: any, context: __SerdeContext): SAMLIdp => { + return { + EntityId: __expectString(output.EntityId), + MetadataContent: __expectString(output.MetadataContent), + } as any; +}; + +const deserializeAws_restJson1SAMLOptionsOutput = (output: any, context: __SerdeContext): SAMLOptionsOutput => { + return { + Enabled: __expectBoolean(output.Enabled), + Idp: + output.Idp !== undefined && output.Idp !== null + ? deserializeAws_restJson1SAMLIdp(output.Idp, context) + : undefined, + RolesKey: __expectString(output.RolesKey), + SessionTimeoutMinutes: __expectInt32(output.SessionTimeoutMinutes), + SubjectKey: __expectString(output.SubjectKey), + } as any; +}; + +const deserializeAws_restJson1ScheduledAutoTuneDetails = ( + output: any, + context: __SerdeContext +): ScheduledAutoTuneDetails => { + return { + Action: __expectString(output.Action), + ActionType: __expectString(output.ActionType), + Date: + output.Date !== undefined && output.Date !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.Date))) + : undefined, + Severity: __expectString(output.Severity), + } as any; +}; + +const deserializeAws_restJson1ServiceSoftwareOptions = ( + output: any, + context: __SerdeContext +): ServiceSoftwareOptions => { + return { + AutomatedUpdateDate: + output.AutomatedUpdateDate !== undefined && output.AutomatedUpdateDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.AutomatedUpdateDate))) + : undefined, + Cancellable: __expectBoolean(output.Cancellable), + CurrentVersion: __expectString(output.CurrentVersion), + Description: __expectString(output.Description), + NewVersion: __expectString(output.NewVersion), + OptionalDeployment: __expectBoolean(output.OptionalDeployment), + UpdateAvailable: __expectBoolean(output.UpdateAvailable), + UpdateStatus: __expectString(output.UpdateStatus), + } as any; +}; + +const deserializeAws_restJson1SnapshotOptions = (output: any, context: __SerdeContext): SnapshotOptions => { + return { + AutomatedSnapshotStartHour: __expectInt32(output.AutomatedSnapshotStartHour), + } as any; +}; + +const deserializeAws_restJson1SnapshotOptionsStatus = (output: any, context: __SerdeContext): SnapshotOptionsStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1SnapshotOptions(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1StorageType = (output: any, context: __SerdeContext): StorageType => { + return { + StorageSubTypeName: __expectString(output.StorageSubTypeName), + StorageTypeLimits: + output.StorageTypeLimits !== undefined && output.StorageTypeLimits !== null + ? deserializeAws_restJson1StorageTypeLimitList(output.StorageTypeLimits, context) + : undefined, + StorageTypeName: __expectString(output.StorageTypeName), + } as any; +}; + +const deserializeAws_restJson1StorageTypeLimit = (output: any, context: __SerdeContext): StorageTypeLimit => { + return { + LimitName: __expectString(output.LimitName), + LimitValues: + output.LimitValues !== undefined && output.LimitValues !== null + ? deserializeAws_restJson1LimitValueList(output.LimitValues, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1StorageTypeLimitList = (output: any, context: __SerdeContext): StorageTypeLimit[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1StorageTypeLimit(entry, context); + }); +}; + +const deserializeAws_restJson1StorageTypeList = (output: any, context: __SerdeContext): StorageType[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1StorageType(entry, context); + }); +}; + +const deserializeAws_restJson1StringList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: __expectString(output.Key), + Value: __expectString(output.Value), + } as any; +}; + +const deserializeAws_restJson1TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1Tag(entry, context); + }); +}; + +const deserializeAws_restJson1UpgradeHistory = (output: any, context: __SerdeContext): UpgradeHistory => { + return { + StartTimestamp: + output.StartTimestamp !== undefined && output.StartTimestamp !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.StartTimestamp))) + : undefined, + StepsList: + output.StepsList !== undefined && output.StepsList !== null + ? deserializeAws_restJson1UpgradeStepsList(output.StepsList, context) + : undefined, + UpgradeName: __expectString(output.UpgradeName), + UpgradeStatus: __expectString(output.UpgradeStatus), + } as any; +}; + +const deserializeAws_restJson1UpgradeHistoryList = (output: any, context: __SerdeContext): UpgradeHistory[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1UpgradeHistory(entry, context); + }); +}; + +const deserializeAws_restJson1UpgradeStepItem = (output: any, context: __SerdeContext): UpgradeStepItem => { + return { + Issues: + output.Issues !== undefined && output.Issues !== null + ? deserializeAws_restJson1Issues(output.Issues, context) + : undefined, + ProgressPercent: __limitedParseDouble(output.ProgressPercent), + UpgradeStep: __expectString(output.UpgradeStep), + UpgradeStepStatus: __expectString(output.UpgradeStepStatus), + } as any; +}; + +const deserializeAws_restJson1UpgradeStepsList = (output: any, context: __SerdeContext): UpgradeStepItem[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1UpgradeStepItem(entry, context); + }); +}; + +const deserializeAws_restJson1VersionList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1VersionStatus = (output: any, context: __SerdeContext): VersionStatus => { + return { + Options: __expectString(output.Options), + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1VPCDerivedInfo = (output: any, context: __SerdeContext): VPCDerivedInfo => { + return { + AvailabilityZones: + output.AvailabilityZones !== undefined && output.AvailabilityZones !== null + ? deserializeAws_restJson1StringList(output.AvailabilityZones, context) + : undefined, + SecurityGroupIds: + output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null + ? deserializeAws_restJson1StringList(output.SecurityGroupIds, context) + : undefined, + SubnetIds: + output.SubnetIds !== undefined && output.SubnetIds !== null + ? deserializeAws_restJson1StringList(output.SubnetIds, context) + : undefined, + VPCId: __expectString(output.VPCId), + } as any; +}; + +const deserializeAws_restJson1VPCDerivedInfoStatus = (output: any, context: __SerdeContext): VPCDerivedInfoStatus => { + return { + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1VPCDerivedInfo(output.Options, context) + : undefined, + Status: + output.Status !== undefined && output.Status !== null + ? deserializeAws_restJson1OptionStatus(output.Status, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ZoneAwarenessConfig = (output: any, context: __SerdeContext): ZoneAwarenessConfig => { + return { + AvailabilityZoneCount: __expectInt32(output.AvailabilityZoneCount), + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const isSerializableHeaderValue = (value: any): boolean => + value !== undefined && + value !== null && + value !== "" && + (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && + (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + +/** + * Load an error code for the aws.rest-json-1.1 protocol. + */ +const loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => { + const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + + const sanitizeErrorCode = (rawValue: string): string => { + let cleanValue = rawValue; + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== undefined) { + return sanitizeErrorCode(output.headers[headerKey]); + } + + if (data.code !== undefined) { + return sanitizeErrorCode(data.code); + } + + if (data["__type"] !== undefined) { + return sanitizeErrorCode(data["__type"]); + } + + return ""; +}; diff --git a/clients/client-opensearch/runtimeConfig.browser.ts b/clients/client-opensearch/runtimeConfig.browser.ts new file mode 100644 index 000000000000..9f322ee46f7e --- /dev/null +++ b/clients/client-opensearch/runtimeConfig.browser.ts @@ -0,0 +1,40 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidProvider } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { OpenSearchClientConfig } from "./OpenSearchClient"; +import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: OpenSearchClientConfig) => { + const clientSharedValues = getSharedRuntimeConfig(config); + return { + ...clientSharedValues, + ...config, + runtime: "browser", + base64Decoder: config?.base64Decoder ?? fromBase64, + base64Encoder: config?.base64Encoder ?? toBase64, + bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength, + credentialDefaultProvider: + config?.credentialDefaultProvider ?? ((_: unknown) => () => Promise.reject(new Error("Credential is missing"))), + defaultUserAgentProvider: + config?.defaultUserAgentProvider ?? + defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), + maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS, + region: config?.region ?? invalidProvider("Region is missing"), + requestHandler: config?.requestHandler ?? new FetchHttpHandler(), + retryMode: config?.retryMode ?? (() => Promise.resolve(DEFAULT_RETRY_MODE)), + sha256: config?.sha256 ?? Sha256, + streamCollector: config?.streamCollector ?? streamCollector, + utf8Decoder: config?.utf8Decoder ?? fromUtf8, + utf8Encoder: config?.utf8Encoder ?? toUtf8, + }; +}; diff --git a/clients/client-opensearch/runtimeConfig.native.ts b/clients/client-opensearch/runtimeConfig.native.ts new file mode 100644 index 000000000000..cf8fa15b030c --- /dev/null +++ b/clients/client-opensearch/runtimeConfig.native.ts @@ -0,0 +1,16 @@ +import { Sha256 } from "@aws-crypto/sha256-js"; +import { OpenSearchClientConfig } from "./OpenSearchClient"; +import { getRuntimeConfig as getBrowserRuntimeConfig } from "./runtimeConfig.browser"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: OpenSearchClientConfig) => { + const browserDefaults = getBrowserRuntimeConfig(config); + return { + ...browserDefaults, + ...config, + runtime: "react-native", + sha256: config?.sha256 ?? Sha256, + }; +}; diff --git a/clients/client-opensearch/runtimeConfig.shared.ts b/clients/client-opensearch/runtimeConfig.shared.ts new file mode 100644 index 000000000000..d6992b4329e3 --- /dev/null +++ b/clients/client-opensearch/runtimeConfig.shared.ts @@ -0,0 +1,16 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; +import { parseUrl } from "@aws-sdk/url-parser"; +import { OpenSearchClientConfig } from "./OpenSearchClient"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: OpenSearchClientConfig) => ({ + apiVersion: "2021-01-01", + disableHostPrefix: config?.disableHostPrefix ?? false, + logger: config?.logger ?? ({} as __Logger), + regionInfoProvider: config?.regionInfoProvider ?? defaultRegionInfoProvider, + serviceId: config?.serviceId ?? "OpenSearch", + urlParser: config?.urlParser ?? parseUrl, +}); diff --git a/clients/client-opensearch/runtimeConfig.ts b/clients/client-opensearch/runtimeConfig.ts new file mode 100644 index 000000000000..5679e9d7c06c --- /dev/null +++ b/clients/client-opensearch/runtimeConfig.ts @@ -0,0 +1,45 @@ +import packageInfo from "./package.json"; + +import { decorateDefaultCredentialProvider } from "@aws-sdk/client-sts"; +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { OpenSearchClientConfig } from "./OpenSearchClient"; +import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared"; +import { emitWarningIfUnsupportedVersion } from "@aws-sdk/smithy-client"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: OpenSearchClientConfig) => { + emitWarningIfUnsupportedVersion(process.version); + const clientSharedValues = getSharedRuntimeConfig(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + base64Decoder: config?.base64Decoder ?? fromBase64, + base64Encoder: config?.base64Encoder ?? toBase64, + bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength, + credentialDefaultProvider: + config?.credentialDefaultProvider ?? decorateDefaultCredentialProvider(credentialDefaultProvider), + defaultUserAgentProvider: + config?.defaultUserAgentProvider ?? + defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), + maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new NodeHttpHandler(), + retryMode: config?.retryMode ?? loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS), + sha256: config?.sha256 ?? Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? streamCollector, + utf8Decoder: config?.utf8Decoder ?? fromUtf8, + utf8Encoder: config?.utf8Encoder ?? toUtf8, + }; +}; diff --git a/clients/client-opensearch/tsconfig.es.json b/clients/client-opensearch/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-opensearch/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-opensearch/tsconfig.json b/clients/client-opensearch/tsconfig.json new file mode 100644 index 000000000000..4a6ffaf5c4d7 --- /dev/null +++ b/clients/client-opensearch/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "dist/types", + "outDir": "dist/cjs", + "useUnknownInCatchVariables": false + }, + "typedocOptions": { + "exclude": ["**/node_modules/**", "**/*.spec.ts", "**/protocols/*.ts", "**/e2e/*.ts", "**/endpoints.ts"], + "excludeNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "includeDeclarations": true, + "stripInternal": true, + "readme": "./README.md", + "mode": "file", + "out": "./docs", + "theme": "minimal", + "plugin": ["@aws-sdk/client-documentation-generator"] + } +} diff --git a/clients/client-outposts/Outposts.ts b/clients/client-outposts/Outposts.ts index aacb6b92e27d..c15e14018bf0 100644 --- a/clients/client-outposts/Outposts.ts +++ b/clients/client-outposts/Outposts.ts @@ -1,4 +1,5 @@ import { OutpostsClient } from "./OutpostsClient"; +import { CreateOrderCommand, CreateOrderCommandInput, CreateOrderCommandOutput } from "./commands/CreateOrderCommand"; import { CreateOutpostCommand, CreateOutpostCommandInput, @@ -43,6 +44,32 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * latency and local data processing needs.

*/ export class Outposts extends OutpostsClient { + /** + *

Creates an order for an Outpost.

+ */ + public createOrder(args: CreateOrderCommandInput, options?: __HttpHandlerOptions): Promise; + public createOrder(args: CreateOrderCommandInput, cb: (err: any, data?: CreateOrderCommandOutput) => void): void; + public createOrder( + args: CreateOrderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateOrderCommandOutput) => void + ): void; + public createOrder( + args: CreateOrderCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateOrderCommandOutput) => void), + cb?: (err: any, data?: CreateOrderCommandOutput) => void + ): Promise | void { + const command = new CreateOrderCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Creates an Outpost.

*

You can specify AvailabilityZone or AvailabilityZoneId.

diff --git a/clients/client-outposts/OutpostsClient.ts b/clients/client-outposts/OutpostsClient.ts index a9b4c2733244..cf4180e3ed5a 100644 --- a/clients/client-outposts/OutpostsClient.ts +++ b/clients/client-outposts/OutpostsClient.ts @@ -1,3 +1,4 @@ +import { CreateOrderCommandInput, CreateOrderCommandOutput } from "./commands/CreateOrderCommand"; import { CreateOutpostCommandInput, CreateOutpostCommandOutput } from "./commands/CreateOutpostCommand"; import { DeleteOutpostCommandInput, DeleteOutpostCommandOutput } from "./commands/DeleteOutpostCommand"; import { DeleteSiteCommandInput, DeleteSiteCommandOutput } from "./commands/DeleteSiteCommand"; @@ -67,6 +68,7 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | CreateOrderCommandInput | CreateOutpostCommandInput | DeleteOutpostCommandInput | DeleteSiteCommandInput @@ -79,6 +81,7 @@ export type ServiceInputTypes = | UntagResourceCommandInput; export type ServiceOutputTypes = + | CreateOrderCommandOutput | CreateOutpostCommandOutput | DeleteOutpostCommandOutput | DeleteSiteCommandOutput diff --git a/clients/client-outposts/README.md b/clients/client-outposts/README.md index 885308d40789..edbdb6e27a57 100644 --- a/clients/client-outposts/README.md +++ b/clients/client-outposts/README.md @@ -28,16 +28,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `OutpostsClient` and -the commands you need, for example `CreateOutpostCommand`: +the commands you need, for example `CreateOrderCommand`: ```js // ES5 example -const { OutpostsClient, CreateOutpostCommand } = require("@aws-sdk/client-outposts"); +const { OutpostsClient, CreateOrderCommand } = require("@aws-sdk/client-outposts"); ``` ```ts // ES6+ example -import { OutpostsClient, CreateOutpostCommand } from "@aws-sdk/client-outposts"; +import { OutpostsClient, CreateOrderCommand } from "@aws-sdk/client-outposts"; ``` ### Usage @@ -56,7 +56,7 @@ const client = new OutpostsClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new CreateOutpostCommand(params); +const command = new CreateOrderCommand(params); ``` #### Async/await @@ -135,7 +135,7 @@ const client = new AWS.Outposts({ region: "REGION" }); // async/await. try { - const data = await client.createOutpost(params); + const data = await client.createOrder(params); // process data. } catch (error) { // error handling. @@ -143,7 +143,7 @@ try { // Promises. client - .createOutpost(params) + .createOrder(params) .then((data) => { // process data. }) @@ -152,7 +152,7 @@ client }); // callbacks. -client.createOutpost(params, (err, data) => { +client.createOrder(params, (err, data) => { // proccess err and data. }); ``` diff --git a/clients/client-outposts/commands/CreateOrderCommand.ts b/clients/client-outposts/commands/CreateOrderCommand.ts new file mode 100644 index 000000000000..b12290101575 --- /dev/null +++ b/clients/client-outposts/commands/CreateOrderCommand.ts @@ -0,0 +1,94 @@ +import { OutpostsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OutpostsClient"; +import { CreateOrderInput, CreateOrderOutput } from "../models/models_0"; +import { + deserializeAws_restJson1CreateOrderCommand, + serializeAws_restJson1CreateOrderCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateOrderCommandInput extends CreateOrderInput {} +export interface CreateOrderCommandOutput extends CreateOrderOutput, __MetadataBearer {} + +/** + *

Creates an order for an Outpost.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OutpostsClient, CreateOrderCommand } from "@aws-sdk/client-outposts"; // ES Modules import + * // const { OutpostsClient, CreateOrderCommand } = require("@aws-sdk/client-outposts"); // CommonJS import + * const client = new OutpostsClient(config); + * const command = new CreateOrderCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateOrderCommandInput} for command's `input` shape. + * @see {@link CreateOrderCommandOutput} for command's `response` shape. + * @see {@link OutpostsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateOrderCommand extends $Command< + CreateOrderCommandInput, + CreateOrderCommandOutput, + OutpostsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateOrderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: OutpostsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "OutpostsClient"; + const commandName = "CreateOrderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateOrderInput.filterSensitiveLog, + outputFilterSensitiveLog: CreateOrderOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateOrderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateOrderCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateOrderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-outposts/index.ts b/clients/client-outposts/index.ts index 4049e8f5df44..158534f04bee 100644 --- a/clients/client-outposts/index.ts +++ b/clients/client-outposts/index.ts @@ -1,5 +1,6 @@ export * from "./OutpostsClient"; export * from "./Outposts"; +export * from "./commands/CreateOrderCommand"; export * from "./commands/CreateOutpostCommand"; export * from "./commands/DeleteOutpostCommand"; export * from "./commands/DeleteSiteCommand"; diff --git a/clients/client-outposts/models/models_0.ts b/clients/client-outposts/models/models_0.ts index 555324b4320f..55598d06a72c 100644 --- a/clients/client-outposts/models/models_0.ts +++ b/clients/client-outposts/models/models_0.ts @@ -49,128 +49,181 @@ export namespace ConflictException { }); } -export interface CreateOutpostInput { +/** + *

Information about a line item request.

+ */ +export interface LineItemRequest { /** - *

The name of the Outpost.

+ *

The ID of the catalog item.

*/ - Name: string | undefined; + CatalogItemId?: string; /** - *

The description of the Outpost.

+ *

The quantity of a line item request.

*/ - Description?: string; + Quantity?: number; +} +export namespace LineItemRequest { /** - *

The ID of the site.

+ * @internal */ - SiteId: string | undefined; + export const filterSensitiveLog = (obj: LineItemRequest): any => ({ + ...obj, + }); +} +export enum PaymentOption { + ALL_UPFRONT = "ALL_UPFRONT", + NO_UPFRONT = "NO_UPFRONT", + PARTIAL_UPFRONT = "PARTIAL_UPFRONT", +} + +export enum PaymentTerm { + THREE_YEARS = "THREE_YEARS", +} + +export interface CreateOrderInput { /** - *

The Availability Zone.

+ *

+ * The ID or the Amazon Resource Name (ARN) of the Outpost. + *

*/ - AvailabilityZone?: string; + OutpostIdentifier: string | undefined; /** - *

The ID of the Availability Zone.

+ *

The line items that make up the order.

*/ - AvailabilityZoneId?: string; + LineItems: LineItemRequest[] | undefined; /** - *

The tags to apply to the Outpost.

+ *

The payment option for the order.

*/ - Tags?: { [key: string]: string }; + PaymentOption: PaymentOption | string | undefined; + + /** + *

The payment terms for the order.

+ */ + PaymentTerm?: PaymentTerm | string; } -export namespace CreateOutpostInput { +export namespace CreateOrderInput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateOutpostInput): any => ({ + export const filterSensitiveLog = (obj: CreateOrderInput): any => ({ ...obj, }); } /** - *

Information about an Outpost.

+ *

Information about a line item.

*/ -export interface Outpost { +export interface LineItem { /** - *

The ID of the Outpost.

+ *

+ * The ID of the catalog item. + *

*/ - OutpostId?: string; + CatalogItemId?: string; /** - *

The AWS account ID of the Outpost owner.

+ *

The ID of the line item.

*/ - OwnerId?: string; + LineItemId?: string; /** - *

The Amazon Resource Name (ARN) of the Outpost.

+ *

The quantity of the line item.

*/ - OutpostArn?: string; + Quantity?: number; /** - *

The ID of the site.

+ *

The status of the line item.

*/ - SiteId?: string; + Status?: string; +} +export namespace LineItem { /** - *

The name of the Outpost.

+ * @internal */ - Name?: string; + export const filterSensitiveLog = (obj: LineItem): any => ({ + ...obj, + }); +} + +export enum OrderStatus { + CANCELLED = "CANCELLED", + FULFILLED = "FULFILLED", + INSTALLING = "INSTALLING", + PENDING = "PENDING", + PROCESSING = "PROCESSING", + RECEIVED = "RECEIVED", +} +/** + *

Information about an order.

+ */ +export interface Order { /** - *

The description of the Outpost.

+ *

+ * The ID of the Outpost. + *

*/ - Description?: string; + OutpostId?: string; /** - *

The life cycle status.

+ *

The ID of the order.

*/ - LifeCycleStatus?: string; + OrderId?: string; /** - *

The Availability Zone.

+ *

The status of the order

*/ - AvailabilityZone?: string; + Status?: OrderStatus | string; /** - *

The ID of the Availability Zone.

+ *

The line items for the order

*/ - AvailabilityZoneId?: string; + LineItems?: LineItem[]; /** - *

The Outpost tags.

+ *

The payment option for the order.

*/ - Tags?: { [key: string]: string }; + PaymentOption?: PaymentOption | string; /** - *

The Amazon Resource Name (ARN) of the site.

+ *

The submission date for the order.

*/ - SiteArn?: string; + OrderSubmissionDate?: Date; + + /** + *

The fulfillment date of the order.

+ */ + OrderFulfilledDate?: Date; } -export namespace Outpost { +export namespace Order { /** * @internal */ - export const filterSensitiveLog = (obj: Outpost): any => ({ + export const filterSensitiveLog = (obj: Order): any => ({ ...obj, }); } -export interface CreateOutpostOutput { +export interface CreateOrderOutput { /** - *

Information about an Outpost.

+ *

Information about this order.

*/ - Outpost?: Outpost; + Order?: Order; } -export namespace CreateOutpostOutput { +export namespace CreateOrderOutput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateOutpostOutput): any => ({ + export const filterSensitiveLog = (obj: CreateOrderOutput): any => ({ ...obj, }); } @@ -247,9 +300,139 @@ export namespace ValidationException { }); } +export interface CreateOutpostInput { + /** + *

The name of the Outpost.

+ */ + Name: string | undefined; + + /** + *

The description of the Outpost.

+ */ + Description?: string; + + /** + *

The ID of the site.

+ */ + SiteId: string | undefined; + + /** + *

The Availability Zone.

+ */ + AvailabilityZone?: string; + + /** + *

The ID of the Availability Zone.

+ */ + AvailabilityZoneId?: string; + + /** + *

The tags to apply to the Outpost.

+ */ + Tags?: { [key: string]: string }; +} + +export namespace CreateOutpostInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateOutpostInput): any => ({ + ...obj, + }); +} + +/** + *

Information about an Outpost.

+ */ +export interface Outpost { + /** + *

+ * The ID of the Outpost. + *

+ */ + OutpostId?: string; + + /** + *

The AWS account ID of the Outpost owner.

+ */ + OwnerId?: string; + + /** + *

The Amazon Resource Name (ARN) of the Outpost.

+ */ + OutpostArn?: string; + + /** + *

The ID of the site.

+ */ + SiteId?: string; + + /** + *

The name of the Outpost.

+ */ + Name?: string; + + /** + *

The description of the Outpost.

+ */ + Description?: string; + + /** + *

The life cycle status.

+ */ + LifeCycleStatus?: string; + + /** + *

The Availability Zone.

+ */ + AvailabilityZone?: string; + + /** + *

The ID of the Availability Zone.

+ */ + AvailabilityZoneId?: string; + + /** + *

The Outpost tags.

+ */ + Tags?: { [key: string]: string }; + + /** + *

The Amazon Resource Name (ARN) of the site.

+ */ + SiteArn?: string; +} + +export namespace Outpost { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Outpost): any => ({ + ...obj, + }); +} + +export interface CreateOutpostOutput { + /** + *

Information about an Outpost.

+ */ + Outpost?: Outpost; +} + +export namespace CreateOutpostOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateOutpostOutput): any => ({ + ...obj, + }); +} + export interface DeleteOutpostInput { /** - *

The ID of the Outpost.

+ *

+ * The ID of the Outpost. + *

*/ OutpostId: string | undefined; } @@ -303,7 +486,9 @@ export namespace DeleteSiteOutput { export interface GetOutpostInput { /** - *

The ID of the Outpost.

+ *

+ * The ID of the Outpost. + *

*/ OutpostId: string | undefined; } @@ -335,7 +520,9 @@ export namespace GetOutpostOutput { export interface GetOutpostInstanceTypesInput { /** - *

The ID of the Outpost.

+ *

+ * The ID of the Outpost. + *

*/ OutpostId: string | undefined; @@ -390,7 +577,9 @@ export interface GetOutpostInstanceTypesOutput { NextToken?: string; /** - *

The ID of the Outpost.

+ *

+ * The ID of the Outpost. + *

*/ OutpostId?: string; diff --git a/clients/client-outposts/protocols/Aws_restJson1.ts b/clients/client-outposts/protocols/Aws_restJson1.ts index 1fbe9cdcf138..c1887e1f6971 100644 --- a/clients/client-outposts/protocols/Aws_restJson1.ts +++ b/clients/client-outposts/protocols/Aws_restJson1.ts @@ -1,3 +1,4 @@ +import { CreateOrderCommandInput, CreateOrderCommandOutput } from "../commands/CreateOrderCommand"; import { CreateOutpostCommandInput, CreateOutpostCommandOutput } from "../commands/CreateOutpostCommand"; import { DeleteOutpostCommandInput, DeleteOutpostCommandOutput } from "../commands/DeleteOutpostCommand"; import { DeleteSiteCommandInput, DeleteSiteCommandOutput } from "../commands/DeleteSiteCommand"; @@ -19,7 +20,10 @@ import { ConflictException, InstanceTypeItem, InternalServerException, + LineItem, + LineItemRequest, NotFoundException, + Order, Outpost, ServiceQuotaExceededException, Site, @@ -27,10 +31,13 @@ import { } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { + expectInt32 as __expectInt32, expectNonNull as __expectNonNull, + expectNumber as __expectNumber, expectObject as __expectObject, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, + parseEpochTimestamp as __parseEpochTimestamp, } from "@aws-sdk/smithy-client"; import { Endpoint as __Endpoint, @@ -40,6 +47,37 @@ import { SmithyException as __SmithyException, } from "@aws-sdk/types"; +export const serializeAws_restJson1CreateOrderCommand = async ( + input: CreateOrderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/orders"; + let body: any; + body = JSON.stringify({ + ...(input.LineItems !== undefined && + input.LineItems !== null && { + LineItems: serializeAws_restJson1LineItemRequestListDefinition(input.LineItems, context), + }), + ...(input.OutpostIdentifier !== undefined && + input.OutpostIdentifier !== null && { OutpostIdentifier: input.OutpostIdentifier }), + ...(input.PaymentOption !== undefined && input.PaymentOption !== null && { PaymentOption: input.PaymentOption }), + ...(input.PaymentTerm !== undefined && input.PaymentTerm !== null && { PaymentTerm: input.PaymentTerm }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateOutpostCommand = async ( input: CreateOutpostCommandInput, context: __SerdeContext @@ -339,6 +377,101 @@ export const serializeAws_restJson1UntagResourceCommand = async ( }); }; +export const deserializeAws_restJson1CreateOrderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateOrderCommandError(output, context); + } + const contents: CreateOrderCommandOutput = { + $metadata: deserializeMetadata(output), + Order: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.Order !== undefined && data.Order !== null) { + contents.Order = deserializeAws_restJson1Order(data.Order, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateOrderCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.outposts#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.outposts#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.outposts#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.outposts#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.outposts#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.outposts#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1CreateOutpostCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1235,6 +1368,27 @@ const deserializeAws_restJson1ValidationExceptionResponse = async ( return contents; }; +const serializeAws_restJson1LineItemRequest = (input: LineItemRequest, context: __SerdeContext): any => { + return { + ...(input.CatalogItemId !== undefined && input.CatalogItemId !== null && { CatalogItemId: input.CatalogItemId }), + ...(input.Quantity !== undefined && input.Quantity !== null && { Quantity: input.Quantity }), + }; +}; + +const serializeAws_restJson1LineItemRequestListDefinition = ( + input: LineItemRequest[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1LineItemRequest(entry, context); + }); +}; + const serializeAws_restJson1TagMap = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { if (value === null) { @@ -1267,6 +1421,47 @@ const deserializeAws_restJson1InstanceTypeListDefinition = ( }); }; +const deserializeAws_restJson1LineItem = (output: any, context: __SerdeContext): LineItem => { + return { + CatalogItemId: __expectString(output.CatalogItemId), + LineItemId: __expectString(output.LineItemId), + Quantity: __expectInt32(output.Quantity), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_restJson1LineItemListDefinition = (output: any, context: __SerdeContext): LineItem[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1LineItem(entry, context); + }); +}; + +const deserializeAws_restJson1Order = (output: any, context: __SerdeContext): Order => { + return { + LineItems: + output.LineItems !== undefined && output.LineItems !== null + ? deserializeAws_restJson1LineItemListDefinition(output.LineItems, context) + : undefined, + OrderFulfilledDate: + output.OrderFulfilledDate !== undefined && output.OrderFulfilledDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.OrderFulfilledDate))) + : undefined, + OrderId: __expectString(output.OrderId), + OrderSubmissionDate: + output.OrderSubmissionDate !== undefined && output.OrderSubmissionDate !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.OrderSubmissionDate))) + : undefined, + OutpostId: __expectString(output.OutpostId), + PaymentOption: __expectString(output.PaymentOption), + Status: __expectString(output.Status), + } as any; +}; + const deserializeAws_restJson1Outpost = (output: any, context: __SerdeContext): Outpost => { return { AvailabilityZone: __expectString(output.AvailabilityZone), diff --git a/clients/client-quicksight/models/models_0.ts b/clients/client-quicksight/models/models_0.ts index ad968a9811d7..bdc94a52baad 100644 --- a/clients/client-quicksight/models/models_0.ts +++ b/clients/client-quicksight/models/models_0.ts @@ -154,6 +154,19 @@ export namespace AmazonElasticsearchParameters { }); } +export interface AmazonOpenSearchParameters { + Domain: string | undefined; +} + +export namespace AmazonOpenSearchParameters { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AmazonOpenSearchParameters): any => ({ + ...obj, + }); +} + export enum AnalysisErrorType { ACCESS_DENIED = "ACCESS_DENIED", COLUMN_GEOGRAPHIC_ROLE_MISMATCH = "COLUMN_GEOGRAPHIC_ROLE_MISMATCH", @@ -3293,6 +3306,7 @@ export namespace TwitterParameters { */ export type DataSourceParameters = | DataSourceParameters.AmazonElasticsearchParametersMember + | DataSourceParameters.AmazonOpenSearchParametersMember | DataSourceParameters.AthenaParametersMember | DataSourceParameters.AuroraParametersMember | DataSourceParameters.AuroraPostgreSqlParametersMember @@ -3339,6 +3353,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3366,6 +3381,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3393,6 +3409,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3420,6 +3437,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3447,6 +3465,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3474,6 +3493,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3501,6 +3521,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3528,6 +3549,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3555,6 +3577,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3582,6 +3605,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3609,6 +3633,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3636,6 +3661,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3663,6 +3689,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3690,6 +3717,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3717,6 +3745,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3744,6 +3773,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3771,6 +3801,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3798,6 +3829,7 @@ export namespace DataSourceParameters { SqlServerParameters: SqlServerParameters; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3825,6 +3857,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters: TeradataParameters; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown?: never; } @@ -3852,6 +3885,32 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters: TwitterParameters; + AmazonOpenSearchParameters?: never; + $unknown?: never; + } + + export interface AmazonOpenSearchParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + AmazonOpenSearchParameters: AmazonOpenSearchParameters; $unknown?: never; } @@ -3876,6 +3935,7 @@ export namespace DataSourceParameters { SqlServerParameters?: never; TeradataParameters?: never; TwitterParameters?: never; + AmazonOpenSearchParameters?: never; $unknown: [string, any]; } @@ -3900,6 +3960,7 @@ export namespace DataSourceParameters { SqlServerParameters: (value: SqlServerParameters) => T; TeradataParameters: (value: TeradataParameters) => T; TwitterParameters: (value: TwitterParameters) => T; + AmazonOpenSearchParameters: (value: AmazonOpenSearchParameters) => T; _: (name: string, value: any) => T; } @@ -3927,6 +3988,8 @@ export namespace DataSourceParameters { if (value.SqlServerParameters !== undefined) return visitor.SqlServerParameters(value.SqlServerParameters); if (value.TeradataParameters !== undefined) return visitor.TeradataParameters(value.TeradataParameters); if (value.TwitterParameters !== undefined) return visitor.TwitterParameters(value.TwitterParameters); + if (value.AmazonOpenSearchParameters !== undefined) + return visitor.AmazonOpenSearchParameters(value.AmazonOpenSearchParameters); return visitor._(value.$unknown[0], value.$unknown[1]); }; @@ -3978,6 +4041,10 @@ export namespace DataSourceParameters { return { TeradataParameters: TeradataParameters.filterSensitiveLog(obj.TeradataParameters) }; if (obj.TwitterParameters !== undefined) return { TwitterParameters: TwitterParameters.filterSensitiveLog(obj.TwitterParameters) }; + if (obj.AmazonOpenSearchParameters !== undefined) + return { + AmazonOpenSearchParameters: AmazonOpenSearchParameters.filterSensitiveLog(obj.AmazonOpenSearchParameters), + }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; } @@ -4076,6 +4143,7 @@ export namespace SslProperties { export enum DataSourceType { ADOBE_ANALYTICS = "ADOBE_ANALYTICS", AMAZON_ELASTICSEARCH = "AMAZON_ELASTICSEARCH", + AMAZON_OPENSEARCH = "AMAZON_OPENSEARCH", ATHENA = "ATHENA", AURORA = "AURORA", AURORA_POSTGRESQL = "AURORA_POSTGRESQL", @@ -9345,7 +9413,3 @@ export enum EmbeddingIdentityType { IAM = "IAM", QUICKSIGHT = "QUICKSIGHT", } - -export enum FolderFilterAttribute { - PARENT_FOLDER_ARN = "PARENT_FOLDER_ARN", -} diff --git a/clients/client-quicksight/models/models_1.ts b/clients/client-quicksight/models/models_1.ts index c047827144ce..f50260ede03e 100644 --- a/clients/client-quicksight/models/models_1.ts +++ b/clients/client-quicksight/models/models_1.ts @@ -22,7 +22,6 @@ import { EmbeddingIdentityType, FieldFolder, FilterOperator, - FolderFilterAttribute, FolderType, Group, GroupMember, @@ -50,6 +49,10 @@ import { import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; +export enum FolderFilterAttribute { + PARENT_FOLDER_ARN = "PARENT_FOLDER_ARN", +} + /** *

An object that consists of the member Amazon Resource Name (ARN) and member ID.

*/ diff --git a/clients/client-quicksight/protocols/Aws_restJson1.ts b/clients/client-quicksight/protocols/Aws_restJson1.ts index d7d0783db5d7..73641f0527a7 100644 --- a/clients/client-quicksight/protocols/Aws_restJson1.ts +++ b/clients/client-quicksight/protocols/Aws_restJson1.ts @@ -253,6 +253,7 @@ import { ActiveIAMPolicyAssignment, AdHocFilteringOption, AmazonElasticsearchParameters, + AmazonOpenSearchParameters, Analysis, AnalysisError, AnalysisSearchFilter, @@ -18780,6 +18781,15 @@ const serializeAws_restJson1AmazonElasticsearchParameters = ( }; }; +const serializeAws_restJson1AmazonOpenSearchParameters = ( + input: AmazonOpenSearchParameters, + context: __SerdeContext +): any => { + return { + ...(input.Domain !== undefined && input.Domain !== null && { Domain: input.Domain }), + }; +}; + const serializeAws_restJson1AnalysisSearchFilter = (input: AnalysisSearchFilter, context: __SerdeContext): any => { return { ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), @@ -19198,6 +19208,9 @@ const serializeAws_restJson1DataSourceParameters = (input: DataSourceParameters, AmazonElasticsearchParameters: (value) => ({ AmazonElasticsearchParameters: serializeAws_restJson1AmazonElasticsearchParameters(value, context), }), + AmazonOpenSearchParameters: (value) => ({ + AmazonOpenSearchParameters: serializeAws_restJson1AmazonOpenSearchParameters(value, context), + }), AthenaParameters: (value) => ({ AthenaParameters: serializeAws_restJson1AthenaParameters(value, context) }), AuroraParameters: (value) => ({ AuroraParameters: serializeAws_restJson1AuroraParameters(value, context) }), AuroraPostgreSqlParameters: (value) => ({ @@ -20189,6 +20202,15 @@ const deserializeAws_restJson1AmazonElasticsearchParameters = ( } as any; }; +const deserializeAws_restJson1AmazonOpenSearchParameters = ( + output: any, + context: __SerdeContext +): AmazonOpenSearchParameters => { + return { + Domain: __expectString(output.Domain), + } as any; +}; + const deserializeAws_restJson1Analysis = (output: any, context: __SerdeContext): Analysis => { return { AnalysisId: __expectString(output.AnalysisId), @@ -20900,6 +20922,14 @@ const deserializeAws_restJson1DataSourceParameters = (output: any, context: __Se ), }; } + if (output.AmazonOpenSearchParameters !== undefined && output.AmazonOpenSearchParameters !== null) { + return { + AmazonOpenSearchParameters: deserializeAws_restJson1AmazonOpenSearchParameters( + output.AmazonOpenSearchParameters, + context + ), + }; + } if (output.AthenaParameters !== undefined && output.AthenaParameters !== null) { return { AthenaParameters: deserializeAws_restJson1AthenaParameters(output.AthenaParameters, context), diff --git a/clients/client-ram/RAM.ts b/clients/client-ram/RAM.ts index d188826a3b86..4b64ff6eef1c 100644 --- a/clients/client-ram/RAM.ts +++ b/clients/client-ram/RAM.ts @@ -118,16 +118,33 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you - * create a resource share, associate the resource with the resource share, and specify the principals that - * can access the resources associated with the resource share. The following principals are supported: - * AWS accounts, organizational units (OU) from AWS Organizations, and organizations from - * AWS Organizations.

- *

For more information, see the AWS Resource Access Manager User Guide.

+ *

This is the Resource Access Manager API Reference. This documentation provides + * descriptions and syntax for each of the actions and data types in RAM. RAM is a + * service that helps you securely share your Amazon Web Services resources across Amazon Web Services accounts and + * within your organization or organizational units (OUs) in Organizations. For supported + * resource types, you can also share resources with IAM roles and IAM users. If you have + * multiple Amazon Web Services accounts, you can use RAM to share those resources with other + * accounts.

+ * + *

To learn more about RAM, see the following resources:

+ * + * */ export class RAM extends RAMClient { /** - *

Accepts an invitation to a resource share from another AWS account.

+ *

Accepts an invitation to a resource share from another Amazon Web Services account.

*/ public acceptResourceShareInvitation( args: AcceptResourceShareInvitationCommandInput, @@ -223,7 +240,14 @@ export class RAM extends RAMClient { } /** - *

Creates a resource share.

+ *

Creates a resource share. You must provide a list of the Amazon Resource Names (ARNs) for the + * resources you want to share. You must also specify who you want to share the resources + * with, and the permissions that you grant them.

+ * + *

Sharing a resource makes it available for use by principals outside of the + * Amazon Web Services account that created the resource. Sharing doesn't change any permissions or + * quotas that apply to the resource in the account that created it.

+ *
*/ public createResourceShare( args: CreateResourceShareCommandInput, @@ -319,7 +343,7 @@ export class RAM extends RAMClient { } /** - *

Disassociates an AWS RAM permission from a resource share.

+ *

Disassociates an RAM permission from a resource share.

*/ public disassociateResourceSharePermission( args: DisassociateResourceSharePermissionCommandInput, @@ -351,8 +375,8 @@ export class RAM extends RAMClient { } /** - *

Enables resource sharing within your AWS Organization.

- *

The caller must be the master account for the AWS Organization.

+ *

Enables resource sharing within your organization in Organizations.

+ *

The caller must be the master account for the organization.

*/ public enableSharingWithAwsOrganization( args: EnableSharingWithAwsOrganizationCommandInput, @@ -384,7 +408,7 @@ export class RAM extends RAMClient { } /** - *

Gets the contents of an AWS RAM permission in JSON format.

+ *

Gets the contents of an RAM permission in JSON format.

*/ public getPermission( args: GetPermissionCommandInput, @@ -544,7 +568,8 @@ export class RAM extends RAMClient { } /** - *

Lists the resources in a resource share that is shared with you but that the invitation is still pending for.

+ *

Lists the resources in a resource share that is shared with you but that the invitation is still + * pending for.

*/ public listPendingInvitationResources( args: ListPendingInvitationResourcesCommandInput, @@ -576,7 +601,7 @@ export class RAM extends RAMClient { } /** - *

Lists the AWS RAM permissions.

+ *

Lists the RAM permissions.

*/ public listPermissions( args: ListPermissionsCommandInput, @@ -609,7 +634,7 @@ export class RAM extends RAMClient { /** *

Lists the principals that you have shared resources with or that have shared resources - * with you.

+ * with you.

*/ public listPrincipals( args: ListPrincipalsCommandInput, @@ -641,7 +666,8 @@ export class RAM extends RAMClient { } /** - *

Lists the resources that you added to a resource shares or the resources that are shared with you.

+ *

Lists the resources that you added to a resource shares or the resources that are shared with + * you.

*/ public listResources( args: ListResourcesCommandInput, @@ -673,7 +699,7 @@ export class RAM extends RAMClient { } /** - *

Lists the AWS RAM permissions that are associated with a resource share.

+ *

Lists the RAM permissions that are associated with a resource share.

*/ public listResourceSharePermissions( args: ListResourceSharePermissionsCommandInput, @@ -705,7 +731,7 @@ export class RAM extends RAMClient { } /** - *

Lists the shareable resource types supported by AWS RAM.

+ *

Lists the shareable resource types supported by RAM.

*/ public listResourceTypes( args: ListResourceTypesCommandInput, @@ -737,18 +763,18 @@ export class RAM extends RAMClient { } /** - *

Resource shares that were created by attaching a policy to a resource are visible only to - * the resource share owner, and the resource share cannot be modified in AWS RAM.

+ *

Resource shares that were created by attaching a policy to a resource are visible only + * to the resource share owner, and the resource share cannot be modified in RAM.

* - *

Use this API action to promote the resource share. When you promote the resource share, - * it becomes:

- *
    + *

    Use this API action to promote the resource share. When you promote the resource + * share, it becomes:

    + *
      *
    • - *

      Visible to all principals that it is shared with.

      - *
    • + *

      Visible to all principals that it is shared with.

      + * *
    • - *

      Modifiable in AWS RAM.

      - *
    • + *

      Modifiable in RAM.

      + * *
    */ public promoteResourceShareCreatedFromPolicy( @@ -783,7 +809,7 @@ export class RAM extends RAMClient { } /** - *

    Rejects an invitation to a resource share from another AWS account.

    + *

    Rejects an invitation to a resource share from another Amazon Web Services account.

    */ public rejectResourceShareInvitation( args: RejectResourceShareInvitationCommandInput, diff --git a/clients/client-ram/RAMClient.ts b/clients/client-ram/RAMClient.ts index 42160c09cae2..11d769bd7146 100644 --- a/clients/client-ram/RAMClient.ts +++ b/clients/client-ram/RAMClient.ts @@ -313,12 +313,29 @@ type RAMClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOp export interface RAMClientResolvedConfig extends RAMClientResolvedConfigType {} /** - *

    Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you - * create a resource share, associate the resource with the resource share, and specify the principals that - * can access the resources associated with the resource share. The following principals are supported: - * AWS accounts, organizational units (OU) from AWS Organizations, and organizations from - * AWS Organizations.

    - *

    For more information, see the AWS Resource Access Manager User Guide.

    + *

    This is the Resource Access Manager API Reference. This documentation provides + * descriptions and syntax for each of the actions and data types in RAM. RAM is a + * service that helps you securely share your Amazon Web Services resources across Amazon Web Services accounts and + * within your organization or organizational units (OUs) in Organizations. For supported + * resource types, you can also share resources with IAM roles and IAM users. If you have + * multiple Amazon Web Services accounts, you can use RAM to share those resources with other + * accounts.

    + * + *

    To learn more about RAM, see the following resources:

    + * + * */ export class RAMClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-ram/README.md b/clients/client-ram/README.md index 52317ba8903a..51d8a00f640e 100644 --- a/clients/client-ram/README.md +++ b/clients/client-ram/README.md @@ -7,12 +7,29 @@ AWS SDK for JavaScript RAM Client for Node.js, Browser and React Native. -

    Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you -create a resource share, associate the resource with the resource share, and specify the principals that -can access the resources associated with the resource share. The following principals are supported: -AWS accounts, organizational units (OU) from AWS Organizations, and organizations from -AWS Organizations.

    -

    For more information, see the AWS Resource Access Manager User Guide.

    +

    This is the Resource Access Manager API Reference. This documentation provides +descriptions and syntax for each of the actions and data types in RAM. RAM is a +service that helps you securely share your Amazon Web Services resources across Amazon Web Services accounts and +within your organization or organizational units (OUs) in Organizations. For supported +resource types, you can also share resources with IAM roles and IAM users. If you have +multiple Amazon Web Services accounts, you can use RAM to share those resources with other +accounts.

    + +

    To learn more about RAM, see the following resources:

    + + ## Installing diff --git a/clients/client-ram/commands/AcceptResourceShareInvitationCommand.ts b/clients/client-ram/commands/AcceptResourceShareInvitationCommand.ts index 7549b83b279d..6d46bc86685b 100644 --- a/clients/client-ram/commands/AcceptResourceShareInvitationCommand.ts +++ b/clients/client-ram/commands/AcceptResourceShareInvitationCommand.ts @@ -23,7 +23,7 @@ export interface AcceptResourceShareInvitationCommandOutput __MetadataBearer {} /** - *

    Accepts an invitation to a resource share from another AWS account.

    + *

    Accepts an invitation to a resource share from another Amazon Web Services account.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/CreateResourceShareCommand.ts b/clients/client-ram/commands/CreateResourceShareCommand.ts index ba28ca14c5d2..91a2322736c9 100644 --- a/clients/client-ram/commands/CreateResourceShareCommand.ts +++ b/clients/client-ram/commands/CreateResourceShareCommand.ts @@ -21,7 +21,14 @@ export interface CreateResourceShareCommandInput extends CreateResourceShareRequ export interface CreateResourceShareCommandOutput extends CreateResourceShareResponse, __MetadataBearer {} /** - *

    Creates a resource share.

    + *

    Creates a resource share. You must provide a list of the Amazon Resource Names (ARNs) for the + * resources you want to share. You must also specify who you want to share the resources + * with, and the permissions that you grant them.

    + * + *

    Sharing a resource makes it available for use by principals outside of the + * Amazon Web Services account that created the resource. Sharing doesn't change any permissions or + * quotas that apply to the resource in the account that created it.

    + *
    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/DisassociateResourceSharePermissionCommand.ts b/clients/client-ram/commands/DisassociateResourceSharePermissionCommand.ts index 50f01f660680..548dbddbf90b 100644 --- a/clients/client-ram/commands/DisassociateResourceSharePermissionCommand.ts +++ b/clients/client-ram/commands/DisassociateResourceSharePermissionCommand.ts @@ -26,7 +26,7 @@ export interface DisassociateResourceSharePermissionCommandOutput __MetadataBearer {} /** - *

    Disassociates an AWS RAM permission from a resource share.

    + *

    Disassociates an RAM permission from a resource share.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/EnableSharingWithAwsOrganizationCommand.ts b/clients/client-ram/commands/EnableSharingWithAwsOrganizationCommand.ts index 4ffe7a76c032..f778f1201c6c 100644 --- a/clients/client-ram/commands/EnableSharingWithAwsOrganizationCommand.ts +++ b/clients/client-ram/commands/EnableSharingWithAwsOrganizationCommand.ts @@ -23,8 +23,8 @@ export interface EnableSharingWithAwsOrganizationCommandOutput __MetadataBearer {} /** - *

    Enables resource sharing within your AWS Organization.

    - *

    The caller must be the master account for the AWS Organization.

    + *

    Enables resource sharing within your organization in Organizations.

    + *

    The caller must be the master account for the organization.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/GetPermissionCommand.ts b/clients/client-ram/commands/GetPermissionCommand.ts index 604495fd5749..e9882e19f477 100644 --- a/clients/client-ram/commands/GetPermissionCommand.ts +++ b/clients/client-ram/commands/GetPermissionCommand.ts @@ -21,7 +21,7 @@ export interface GetPermissionCommandInput extends GetPermissionRequest {} export interface GetPermissionCommandOutput extends GetPermissionResponse, __MetadataBearer {} /** - *

    Gets the contents of an AWS RAM permission in JSON format.

    + *

    Gets the contents of an RAM permission in JSON format.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/ListPendingInvitationResourcesCommand.ts b/clients/client-ram/commands/ListPendingInvitationResourcesCommand.ts index b84843f4f303..17d5d5cb08f6 100644 --- a/clients/client-ram/commands/ListPendingInvitationResourcesCommand.ts +++ b/clients/client-ram/commands/ListPendingInvitationResourcesCommand.ts @@ -23,7 +23,8 @@ export interface ListPendingInvitationResourcesCommandOutput __MetadataBearer {} /** - *

    Lists the resources in a resource share that is shared with you but that the invitation is still pending for.

    + *

    Lists the resources in a resource share that is shared with you but that the invitation is still + * pending for.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/ListPermissionsCommand.ts b/clients/client-ram/commands/ListPermissionsCommand.ts index a77e679ac77f..9ed0c2b10740 100644 --- a/clients/client-ram/commands/ListPermissionsCommand.ts +++ b/clients/client-ram/commands/ListPermissionsCommand.ts @@ -21,7 +21,7 @@ export interface ListPermissionsCommandInput extends ListPermissionsRequest {} export interface ListPermissionsCommandOutput extends ListPermissionsResponse, __MetadataBearer {} /** - *

    Lists the AWS RAM permissions.

    + *

    Lists the RAM permissions.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/ListPrincipalsCommand.ts b/clients/client-ram/commands/ListPrincipalsCommand.ts index 04ac7657ae0c..fe8df137671e 100644 --- a/clients/client-ram/commands/ListPrincipalsCommand.ts +++ b/clients/client-ram/commands/ListPrincipalsCommand.ts @@ -22,7 +22,7 @@ export interface ListPrincipalsCommandOutput extends ListPrincipalsResponse, __M /** *

    Lists the principals that you have shared resources with or that have shared resources - * with you.

    + * with you.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/ListResourceSharePermissionsCommand.ts b/clients/client-ram/commands/ListResourceSharePermissionsCommand.ts index 22cddb91051a..064272dc639f 100644 --- a/clients/client-ram/commands/ListResourceSharePermissionsCommand.ts +++ b/clients/client-ram/commands/ListResourceSharePermissionsCommand.ts @@ -23,7 +23,7 @@ export interface ListResourceSharePermissionsCommandOutput __MetadataBearer {} /** - *

    Lists the AWS RAM permissions that are associated with a resource share.

    + *

    Lists the RAM permissions that are associated with a resource share.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/ListResourceTypesCommand.ts b/clients/client-ram/commands/ListResourceTypesCommand.ts index bac00aacc9e0..232a80db4b5a 100644 --- a/clients/client-ram/commands/ListResourceTypesCommand.ts +++ b/clients/client-ram/commands/ListResourceTypesCommand.ts @@ -21,7 +21,7 @@ export interface ListResourceTypesCommandInput extends ListResourceTypesRequest export interface ListResourceTypesCommandOutput extends ListResourceTypesResponse, __MetadataBearer {} /** - *

    Lists the shareable resource types supported by AWS RAM.

    + *

    Lists the shareable resource types supported by RAM.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/ListResourcesCommand.ts b/clients/client-ram/commands/ListResourcesCommand.ts index 6d9dbeaa91f6..c3f67128059b 100644 --- a/clients/client-ram/commands/ListResourcesCommand.ts +++ b/clients/client-ram/commands/ListResourcesCommand.ts @@ -21,7 +21,8 @@ export interface ListResourcesCommandInput extends ListResourcesRequest {} export interface ListResourcesCommandOutput extends ListResourcesResponse, __MetadataBearer {} /** - *

    Lists the resources that you added to a resource shares or the resources that are shared with you.

    + *

    Lists the resources that you added to a resource shares or the resources that are shared with + * you.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/commands/PromoteResourceShareCreatedFromPolicyCommand.ts b/clients/client-ram/commands/PromoteResourceShareCreatedFromPolicyCommand.ts index 27a0667f5553..b9a077a7f4a8 100644 --- a/clients/client-ram/commands/PromoteResourceShareCreatedFromPolicyCommand.ts +++ b/clients/client-ram/commands/PromoteResourceShareCreatedFromPolicyCommand.ts @@ -27,18 +27,18 @@ export interface PromoteResourceShareCreatedFromPolicyCommandOutput __MetadataBearer {} /** - *

    Resource shares that were created by attaching a policy to a resource are visible only to - * the resource share owner, and the resource share cannot be modified in AWS RAM.

    + *

    Resource shares that were created by attaching a policy to a resource are visible only + * to the resource share owner, and the resource share cannot be modified in RAM.

    * - *

    Use this API action to promote the resource share. When you promote the resource share, - * it becomes:

    - *
      + *

      Use this API action to promote the resource share. When you promote the resource + * share, it becomes:

      + *
        *
      • - *

        Visible to all principals that it is shared with.

        - *
      • + *

        Visible to all principals that it is shared with.

        + * *
      • - *

        Modifiable in AWS RAM.

        - *
      • + *

        Modifiable in RAM.

        + * *
      * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ram/commands/RejectResourceShareInvitationCommand.ts b/clients/client-ram/commands/RejectResourceShareInvitationCommand.ts index 1818cec9bb0a..0e7a4b8fd448 100644 --- a/clients/client-ram/commands/RejectResourceShareInvitationCommand.ts +++ b/clients/client-ram/commands/RejectResourceShareInvitationCommand.ts @@ -23,7 +23,7 @@ export interface RejectResourceShareInvitationCommandOutput __MetadataBearer {} /** - *

      Rejects an invitation to a resource share from another AWS account.

      + *

      Rejects an invitation to a resource share from another Amazon Web Services account.

      * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ram/models/models_0.ts b/clients/client-ram/models/models_0.ts index 5ecf5eb88192..b1c6dba43ed7 100644 --- a/clients/client-ram/models/models_0.ts +++ b/clients/client-ram/models/models_0.ts @@ -45,9 +45,25 @@ export interface ResourceShareAssociation { resourceShareName?: string; /** - *

      The associated entity. For resource associations, this is the ARN of the resource. - * For principal associations, this is the ID of an AWS account or the ARN of an OU or - * organization from AWS Organizations.

      + *

      The associated entity. For resource associations, this is the Amazon Resource Name + * (ARN) of the resource. For principal associations, this is one of the following:

      + *
        + *
      • + *

        An Amazon Web Services account ID

        + *
      • + *
      • + *

        An ARN of an organization in Organizations

        + *
      • + *
      • + *

        An ARN of an organizational unit (OU) in Organizations

        + *
      • + *
      • + *

        An ARN of an IAM role

        + *
      • + *
      • + *

        An ARN of an IAM user

        + *
      • + *
      */ associatedEntity?: string; @@ -77,7 +93,8 @@ export interface ResourceShareAssociation { lastUpdatedTime?: Date; /** - *

      Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

      + *

      Indicates whether the principal belongs to the same organization in Organizations as the + * Amazon Web Services account that owns the resource share.

      */ external?: boolean; } @@ -113,12 +130,12 @@ export interface ResourceShareInvitation { resourceShareArn?: string; /** - *

      The ID of the AWS account that sent the invitation.

      + *

      The ID of the Amazon Web Services account that sent the invitation.

      */ senderAccountId?: string; /** - *

      The ID of the AWS account that received the invitation.

      + *

      The ID of the Amazon Web Services account that received the invitation.

      */ receiverAccountId?: string; @@ -135,14 +152,14 @@ export interface ResourceShareInvitation { /** * @deprecated * - *

      To view the resources associated with a pending resource share invitation, use - * - * ListPendingInvitationResources.

      + *

      To view the resources associated with a pending resource share invitation, use + * ListPendingInvitationResources.

      */ resourceShareAssociations?: ResourceShareAssociation[]; /** - *

      The Amazon Resource Name (ARN) of the IAM user or IAM role that received the invitation.

      + *

      The Amazon Resource Name (ARN) of the IAM user or IAM role that received the + * invitation.

      */ receiverArn?: string; } @@ -178,8 +195,8 @@ export namespace AcceptResourceShareInvitationResponse { } /** - *

      A client token input parameter was reused with an operation, but at least one of - * the other input parameters is different from the previous call to the operation.

      + *

      A client token input parameter was reused with an operation, but at least one of the + * other input parameters is different from the previous call to the operation.

      */ export interface IdempotentParameterMismatchException extends __SmithyException, $MetadataBearer { name: "IdempotentParameterMismatchException"; @@ -365,14 +382,34 @@ export interface AssociateResourceShareRequest { resourceShareArn: string | undefined; /** - *

      The Amazon Resource Names (ARN) of the resources.

      + *

      The Amazon Resource Names (ARNs) of the resources.

      */ resourceArns?: string[]; /** - *

      The principals to associate with the resource share. The possible values are IDs of - * AWS accounts, and the ARNs of organizational units (OU) or organizations from AWS - * Organizations.

      + *

      The principals to associate with the resource share. The possible values are:

      + *
        + *
      • + *

        An Amazon Web Services account ID

        + *
      • + *
      • + *

        An Amazon Resource Name (ARN) of an organization in Organizations

        + *
      • + *
      • + *

        An ARN of an organizational unit (OU) in Organizations

        + *
      • + *
      • + *

        An ARN of an IAM role

        + *
      • + *
      • + *

        An ARN of an IAM user

        + *
      • + *
      + * + *

      Not all resource types can be shared with IAM roles and IAM users. For more + * information, see Sharing with IAM roles and IAM users in the Resource Access Manager User + * Guide.

      + *
      */ principals?: string[]; @@ -491,14 +528,15 @@ export interface AssociateResourceSharePermissionRequest { resourceShareArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) of the AWS RAM permissions to associate with the resource share.

      + *

      The Amazon Resource Name (ARN) of the RAM permission to associate with the + * resource share.

      */ permissionArn: string | undefined; /** *

      Indicates whether the permission should replace the permissions that are currently - * associated with the resource share. Use true to replace the current permissions. - * Use false to add the permission to the current permission.

      + * associated with the resource share. Use true to replace the current permissions. Use + * false to add the permission to the current permission.

      */ replace?: boolean; @@ -508,7 +546,7 @@ export interface AssociateResourceSharePermissionRequest { clientToken?: string; /** - *

      The version of the AWS RAM permissions to associate with the resource share.

      + *

      The version of the RAM permissions to associate with the resource share.

      */ permissionVersion?: number; } @@ -574,13 +612,34 @@ export interface CreateResourceShareRequest { name: string | undefined; /** - *

      The Amazon Resource Names (ARN) of the resources to associate with the resource share.

      + *

      The ARNs of the resources to associate with the resource share.

      */ resourceArns?: string[]; /** - *

      The principals to associate with the resource share. The possible values are IDs of AWS accounts, - * the ARN of an OU or organization from AWS Organizations.

      + *

      The principals to associate with the resource share. The possible values are:

      + *
        + *
      • + *

        An Amazon Web Services account ID

        + *
      • + *
      • + *

        An Amazon Resource Name (ARN) of an organization in Organizations

        + *
      • + *
      • + *

        An ARN of an organizational unit (OU) in Organizations

        + *
      • + *
      • + *

        An ARN of an IAM role

        + *
      • + *
      • + *

        An ARN of an IAM user

        + *
      • + *
      + * + *

      Not all resource types can be shared with IAM roles and IAM users. For more + * information, see Sharing with IAM roles and IAM users in the Resource Access Manager User + * Guide.

      + *
      */ principals?: string[]; @@ -590,7 +649,8 @@ export interface CreateResourceShareRequest { tags?: Tag[]; /** - *

      Indicates whether principals outside your AWS organization can be associated with a resource share.

      + *

      Indicates whether principals outside your organization in Organizations can be associated + * with a resource share.

      */ allowExternalPrincipals?: boolean; @@ -600,9 +660,10 @@ export interface CreateResourceShareRequest { clientToken?: string; /** - *

      The ARNs of the permissions to associate with the resource share. If you do not specify an ARN - * for the permission, AWS RAM automatically attaches the default version of the permission - * for each resource type.

      + *

      The Amazon Resource Names (ARNs) of the permissions to associate with the resource share. If you + * do not specify an ARN for the permission, RAM automatically attaches the default + * version of the permission for each resource type. Only one permission can be associated + * with each resource type in a resource share.

      */ permissionArns?: string[]; } @@ -635,12 +696,13 @@ export interface ResourceShare { name?: string; /** - *

      The ID of the AWS account that owns the resource share.

      + *

      The ID of the Amazon Web Services account that owns the resource share.

      */ owningAccountId?: string; /** - *

      Indicates whether principals outside your AWS organization can be associated with a resource share.

      + *

      Indicates whether principals outside your organization in Organizations can be associated + * with a resource share.

      */ allowExternalPrincipals?: boolean; @@ -671,26 +733,25 @@ export interface ResourceShare { /** *

      Indicates how the resource share was created. Possible values include:

      - *
        + *
          *
        • - *

          - * CREATED_FROM_POLICY - Indicates that the resource share was created from an AWS Identity - * and Access Management (AWS IAM) policy attached to a resource. These resource shares are - * visible only to the AWS account that created it. They cannot be modified in - * AWS RAM.

          - *
        • + *

          + * CREATED_FROM_POLICY - Indicates that the resource share was created from an + * Amazon Web Services Identity and Access Management (Amazon Web Services IAM) policy attached to a resource. + * These resource shares are visible only to the Amazon Web Services account that created it. They cannot + * be modified in RAM.

          + * *
        • - *

          - * PROMOTING_TO_STANDARD - The resource share is in the process - * of being promoted. For more information, see - * PromoteResourceShareCreatedFromPolicy.

          - *
        • + *

          + * PROMOTING_TO_STANDARD - The resource share is in the process of being + * promoted. For more information, see PromoteResourceShareCreatedFromPolicy.

          + * *
        • - *

          - * STANDARD - Indicates that the resource share was created in AWS RAM using the console or - * APIs. These resource shares are visible to all principals. They can be modified - * in AWS RAM.

          - *
        • + *

          + * STANDARD - Indicates that the resource share was created in RAM using the + * console or APIs. These resource shares are visible to all principals. They can + * be modified in RAM.

          + * *
        */ featureSet?: ResourceShareFeatureSet | string; @@ -845,7 +906,7 @@ export interface DisassociateResourceSharePermissionRequest { resourceShareArn: string | undefined; /** - *

        The ARN of the permission to disassociate from the resource share.

        + *

        The Amazon Resource Name (ARN) of the permission to disassociate from the resource share.

        */ permissionArn: string | undefined; @@ -914,7 +975,7 @@ export namespace EnableSharingWithAwsOrganizationResponse { export interface GetPermissionRequest { /** - *

        The ARN of the permission.

        + *

        The Amazon Resource Name (ARN) of the permission.

        */ permissionArn: string | undefined; @@ -934,11 +995,11 @@ export namespace GetPermissionRequest { } /** - *

        Information about an AWS RAM permission.

        + *

        Information about an RAM permission.

        */ export interface ResourceSharePermissionDetail { /** - *

        The ARN of the permission.

        + *

        The Amazon Resource Name (ARN) of the permission.

        */ arn?: string; @@ -948,7 +1009,8 @@ export interface ResourceSharePermissionDetail { version?: string; /** - *

        Specifies whether the version of the permission is set to the default version for this permission.

        + *

        Specifies whether the version of the permission is set to the default version for this + * permission.

        */ defaultVersion?: boolean; @@ -963,9 +1025,9 @@ export interface ResourceSharePermissionDetail { resourceType?: string; /** - *

        The permission's effect and actions in JSON format. The effect indicates whether - * the actions are allowed or denied. The actions list the API actions to - * which the principal is granted or denied access.

        + *

        The permission's effect and actions in JSON format. The effect indicates + * whether the actions are allowed or denied. The actions list the API actions + * to which the principal is granted or denied access.

        */ permission?: string; @@ -980,7 +1042,8 @@ export interface ResourceSharePermissionDetail { lastUpdatedTime?: Date; /** - *

        Specifies whether the version of the permission is set to the default version for this resource type.

        + *

        Specifies whether the version of the permission is set to the default version for this + * resource type.

        */ isResourceTypeDefault?: boolean; } @@ -1012,7 +1075,7 @@ export namespace GetPermissionResponse { export interface GetResourcePoliciesRequest { /** - *

        The Amazon Resource Names (ARN) of the resources.

        + *

        The Amazon Resource Names (ARNs) of the resources.

        */ resourceArns: string[] | undefined; @@ -1102,8 +1165,8 @@ export namespace ResourceArnNotFoundException { export interface GetResourceShareAssociationsRequest { /** *

        The association type. Specify PRINCIPAL to list the principals that are - * associated with the specified resource share. Specify RESOURCE to list - * the resources that are associated with the specified resource share.

        + * associated with the specified resource share. Specify RESOURCE to list the resources + * that are associated with the specified resource share.

        */ associationType: ResourceShareAssociationType | string | undefined; @@ -1113,14 +1176,14 @@ export interface GetResourceShareAssociationsRequest { resourceShareArns?: string[]; /** - *

        The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if the - * association type is PRINCIPAL.

        + *

        The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if + * the association type is PRINCIPAL.

        */ resourceArn?: string; /** *

        The principal. You cannot specify this parameter if the association type is - * RESOURCE.

        + * RESOURCE.

        */ principal?: string; @@ -1273,7 +1336,7 @@ export namespace TagFilter { export interface GetResourceSharesRequest { /** - *

        The ARNs of the resource shares.

        + *

        The Amazon Resource Names (ARNs) of the resource shares.

        */ resourceShareArns?: string[]; @@ -1309,7 +1372,8 @@ export interface GetResourceSharesRequest { maxResults?: number; /** - *

        The Amazon Resource Name (ARN) of the AWS RAM permission that is associated with the resource share.

        + *

        The Amazon Resource Name (ARN) of the RAM permission that is associated with the + * resource share.

        */ permissionArn?: string; } @@ -1393,8 +1457,8 @@ export interface Resource { resourceShareArn?: string; /** - *

        The ARN of the resource group. This value is returned only if the resource is a resource - * group.

        + *

        The Amazon Resource Name (ARN) of the resource group. This value is returned only if + * the resource is a resource group.

        */ resourceGroupArn?: string; @@ -1470,7 +1534,7 @@ export namespace MissingRequiredParameterException { export interface ListPermissionsRequest { /** *

        Specifies the resource type for which to list permissions. For example, to list only - * permissions that apply to EC2 subnets, specify ec2:Subnet.

        + * permissions that apply to EC2 subnets, specify ec2:Subnet.

        */ resourceType?: string; @@ -1500,7 +1564,7 @@ export namespace ListPermissionsRequest { */ export interface ResourceSharePermissionSummary { /** - *

        The ARN of the permission.

        + *

        The Amazon Resource Name (ARN) of the permission.

        */ arn?: string; @@ -1510,7 +1574,8 @@ export interface ResourceSharePermissionSummary { version?: string; /** - *

        Specifies whether the version of the permission is set to the default version for this permission.

        + *

        Specifies whether the version of the permission is set to the default version for this + * permission.

        */ defaultVersion?: boolean; @@ -1540,7 +1605,8 @@ export interface ResourceSharePermissionSummary { lastUpdatedTime?: Date; /** - *

        Specifies whether the version of the permission is set to the default version for this resource type.

        + *

        Specifies whether the version of the permission is set to the default version for this + * resource type.

        */ isResourceTypeDefault?: boolean; } @@ -1593,7 +1659,7 @@ export interface ListPrincipalsRequest { /** *

        The resource type.

        - *

        Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule + *

        Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:FirewallRuleGroup |route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule | s3-outposts:Outpost | ssm-contacts:Contact | ssm-incidents:ResponsePlan *

        */ resourceType?: string; @@ -1625,7 +1691,7 @@ export namespace ListPrincipalsRequest { } /** - *

        Describes a principal for use with AWS Resource Access Manager.

        + *

        Describes a principal for use with Resource Access Manager.

        */ export interface Principal { /** @@ -1649,7 +1715,8 @@ export interface Principal { lastUpdatedTime?: Date; /** - *

        Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

        + *

        Indicates whether the principal belongs to the same organization in Organizations as the + * Amazon Web Services account that owns the resource share.

        */ external?: boolean; } @@ -1715,13 +1782,13 @@ export interface ListResourcesRequest { /** *

        The resource type.

        - *

        Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule + *

        Valid values: acm-pca:CertificateAuthority | appmesh:Mesh | codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:LocalGatewayRouteTable | ec2:PrefixList | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | imagebuilder:ContainerRecipe | glue:Catalog | glue:Database | glue:Table | license-manager:LicenseConfiguration I network-firewall:FirewallPolicy | network-firewall:StatefulRuleGroup | network-firewall:StatelessRuleGroup | outposts:Outpost | resource-groups:Group | rds:Cluster | route53resolver:FirewallRuleGroup |route53resolver:ResolverQueryLogConfig | route53resolver:ResolverRule | s3-outposts:Outpost | ssm-contacts:Contact | ssm-incidents:ResponsePlan *

        */ resourceType?: string; /** - *

        The Amazon Resource Names (ARN) of the resources.

        + *

        The Amazon Resource Names (ARNs) of the resources.

        */ resourceArns?: string[]; @@ -1843,7 +1910,8 @@ export namespace ListResourceTypesRequest { } /** - *

        Information about the shareable resource types and the AWS services to which they belong.

        + *

        Information about the shareable resource types and the Amazon Web Services services to which they + * belong.

        */ export interface ServiceNameAndResourceType { /** @@ -1852,7 +1920,7 @@ export interface ServiceNameAndResourceType { resourceType?: string; /** - *

        The name of the AWS services to which the resources belong.

        + *

        The name of the Amazon Web Services services to which the resources belong.

        */ serviceName?: string; } @@ -1868,7 +1936,7 @@ export namespace ServiceNameAndResourceType { export interface ListResourceTypesResponse { /** - *

        The shareable resource types supported by AWS RAM.

        + *

        The shareable resource types supported by RAM.

        */ resourceTypes?: ServiceNameAndResourceType[]; @@ -1889,7 +1957,7 @@ export namespace ListResourceTypesResponse { export interface PromoteResourceShareCreatedFromPolicyRequest { /** - *

        The ARN of the resource share to promote.

        + *

        The Amazon Resource Name (ARN) of the resource share to promote.

        */ resourceShareArn: string | undefined; } @@ -2055,7 +2123,8 @@ export interface UpdateResourceShareRequest { name?: string; /** - *

        Indicates whether principals outside your AWS organization can be associated with a resource share.

        + *

        Indicates whether principals outside your organization in Organizations can be associated + * with a resource share.

        */ allowExternalPrincipals?: boolean; diff --git a/clients/client-rds/RDS.ts b/clients/client-rds/RDS.ts index 3e59316e5600..77871673f1e6 100644 --- a/clients/client-rds/RDS.ts +++ b/clients/client-rds/RDS.ts @@ -4245,7 +4245,7 @@ export class RDS extends RDSClient { * Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

        * * - *

        This action only applies to Aurora DB clusters.

        + *

        This action only applies to Aurora Serverless DB clusters.

        *
        */ public modifyCurrentDBClusterCapacity( diff --git a/clients/client-rds/commands/ModifyCurrentDBClusterCapacityCommand.ts b/clients/client-rds/commands/ModifyCurrentDBClusterCapacityCommand.ts index 5aa9d30b8399..a1fa04d88611 100644 --- a/clients/client-rds/commands/ModifyCurrentDBClusterCapacityCommand.ts +++ b/clients/client-rds/commands/ModifyCurrentDBClusterCapacityCommand.ts @@ -37,7 +37,7 @@ export interface ModifyCurrentDBClusterCapacityCommandOutput extends DBClusterCa * Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

        * * - *

        This action only applies to Aurora DB clusters.

        + *

        This action only applies to Aurora Serverless DB clusters.

        *
        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-rds/models/models_0.ts b/clients/client-rds/models/models_0.ts index 819b37c79196..e7b0dc68a1e0 100644 --- a/clients/client-rds/models/models_0.ts +++ b/clients/client-rds/models/models_0.ts @@ -3236,6 +3236,13 @@ export interface ScalingConfiguration { * Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

        */ TimeoutAction?: string; + + /** + *

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

        + *

        Specify a value between 60 and 600 seconds.

        + */ + SecondsBeforeTimeout?: number; } export namespace ScalingConfiguration { @@ -3936,10 +3943,21 @@ export interface ScalingConfigurationInfo { SecondsUntilAutoPause?: number; /** - *

        The timeout action of a call to ModifyCurrentDBClusterCapacity, either - * ForceApplyCapacityChange or RollbackCapacityChange.

        + *

        The action that occurs when Aurora times out while attempting to change the capacity of an + * Aurora Serverless cluster. The value is either ForceApplyCapacityChange or + * RollbackCapacityChange.

        + *

        + * ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible.

        + *

        + * RollbackCapacityChange ignores the capacity change if a scaling point isn't found in the timeout period.

        */ TimeoutAction?: string; + + /** + *

        The number of seconds before scaling times out. What happens when an attempted scaling action times out + * is determined by the TimeoutAction setting.

        + */ + SecondsBeforeTimeout?: number; } export namespace ScalingConfigurationInfo { diff --git a/clients/client-rds/models/models_1.ts b/clients/client-rds/models/models_1.ts index 2bdb0e696511..f7fb2e933cf0 100644 --- a/clients/client-rds/models/models_1.ts +++ b/clients/client-rds/models/models_1.ts @@ -3426,11 +3426,7 @@ export interface ModifyCurrentDBClusterCapacityMessage { *

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

        - *
          - *
        • - *

          Value must be from 10 through 600.

          - *
        • - *
        + *

        Specify a value between 10 and 600 seconds.

        */ SecondsBeforeTimeout?: number; diff --git a/clients/client-rds/protocols/Aws_query.ts b/clients/client-rds/protocols/Aws_query.ts index 3e90db7d248b..81ff8e870458 100644 --- a/clients/client-rds/protocols/Aws_query.ts +++ b/clients/client-rds/protocols/Aws_query.ts @@ -19802,6 +19802,9 @@ const serializeAws_queryScalingConfiguration = (input: ScalingConfiguration, con if (input.TimeoutAction !== undefined && input.TimeoutAction !== null) { entries["TimeoutAction"] = input.TimeoutAction; } + if (input.SecondsBeforeTimeout !== undefined && input.SecondsBeforeTimeout !== null) { + entries["SecondsBeforeTimeout"] = input.SecondsBeforeTimeout; + } return entries; }; @@ -27361,6 +27364,7 @@ const deserializeAws_queryScalingConfigurationInfo = ( AutoPause: undefined, SecondsUntilAutoPause: undefined, TimeoutAction: undefined, + SecondsBeforeTimeout: undefined, }; if (output["MinCapacity"] !== undefined) { contents.MinCapacity = __strictParseInt32(output["MinCapacity"]) as number; @@ -27377,6 +27381,9 @@ const deserializeAws_queryScalingConfigurationInfo = ( if (output["TimeoutAction"] !== undefined) { contents.TimeoutAction = __expectString(output["TimeoutAction"]); } + if (output["SecondsBeforeTimeout"] !== undefined) { + contents.SecondsBeforeTimeout = __strictParseInt32(output["SecondsBeforeTimeout"]) as number; + } return contents; }; diff --git a/clients/client-sagemaker/SageMaker.ts b/clients/client-sagemaker/SageMaker.ts index 56b07cd7731d..05e470c92653 100644 --- a/clients/client-sagemaker/SageMaker.ts +++ b/clients/client-sagemaker/SageMaker.ts @@ -183,6 +183,11 @@ import { CreateProjectCommandInput, CreateProjectCommandOutput, } from "./commands/CreateProjectCommand"; +import { + CreateStudioLifecycleConfigCommand, + CreateStudioLifecycleConfigCommandInput, + CreateStudioLifecycleConfigCommandOutput, +} from "./commands/CreateStudioLifecycleConfigCommand"; import { CreateTrainingJobCommand, CreateTrainingJobCommandInput, @@ -357,6 +362,11 @@ import { DeleteProjectCommandInput, DeleteProjectCommandOutput, } from "./commands/DeleteProjectCommand"; +import { + DeleteStudioLifecycleConfigCommand, + DeleteStudioLifecycleConfigCommandInput, + DeleteStudioLifecycleConfigCommandOutput, +} from "./commands/DeleteStudioLifecycleConfigCommand"; import { DeleteTagsCommand, DeleteTagsCommandInput, DeleteTagsCommandOutput } from "./commands/DeleteTagsCommand"; import { DeleteTrialCommand, DeleteTrialCommandInput, DeleteTrialCommandOutput } from "./commands/DeleteTrialCommand"; import { @@ -570,6 +580,11 @@ import { DescribeProjectCommandInput, DescribeProjectCommandOutput, } from "./commands/DescribeProjectCommand"; +import { + DescribeStudioLifecycleConfigCommand, + DescribeStudioLifecycleConfigCommandInput, + DescribeStudioLifecycleConfigCommandOutput, +} from "./commands/DescribeStudioLifecycleConfigCommand"; import { DescribeSubscribedWorkteamCommand, DescribeSubscribedWorkteamCommandInput, @@ -836,6 +851,11 @@ import { ListProjectsCommandInput, ListProjectsCommandOutput, } from "./commands/ListProjectsCommand"; +import { + ListStudioLifecycleConfigsCommand, + ListStudioLifecycleConfigsCommandInput, + ListStudioLifecycleConfigsCommandOutput, +} from "./commands/ListStudioLifecycleConfigsCommand"; import { ListSubscribedWorkteamsCommand, ListSubscribedWorkteamsCommandInput, @@ -1233,13 +1253,6 @@ export class SageMaker extends SageMakerClient { * Generally, an action involves at least one input or output artifact. For more information, see * Amazon SageMaker * ML Lineage Tracking.

        - * - *

        - * CreateAction can only be invoked from within an SageMaker managed - * environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker - * notebooks. A call to CreateAction from outside one of these - * environments results in an error.

        - *
        */ public createAction( args: CreateActionCommandInput, @@ -1369,13 +1382,6 @@ export class SageMaker extends SageMakerClient { * the ECR registry path of an image. For more information, see * Amazon SageMaker * ML Lineage Tracking.

        - * - *

        - * CreateArtifact can only be invoked from within an SageMaker managed - * environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker - * notebooks. A call to CreateArtifact from outside one of these - * environments results in an error.

        - *
        */ public createArtifact( args: CreateArtifactCommandInput, @@ -1548,13 +1554,6 @@ export class SageMaker extends SageMakerClient { * an endpoint and a model package. For more information, see * Amazon SageMaker * ML Lineage Tracking.

        - * - *

        - * CreateContext can only be invoked from within an SageMaker managed - * environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker - * notebooks. A call to CreateContext from outside one of these - * environments results in an error.

        - *
        */ public createContext( args: CreateContextCommandInput, @@ -1883,11 +1882,6 @@ export class SageMaker extends SageMakerClient { * you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 * for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to * model B.

        - *

        For an example that calls this method when deploying a model to Amazon SageMaker hosting services, - * see Deploy the - * Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python (Boto - * 3)). - *

        * *

        When you call CreateEndpoint, a load call is made to DynamoDB to * verify that your endpoint configuration exists. When you read data from a DynamoDB @@ -2826,6 +2820,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

        Creates a new Studio Lifecycle Configuration.

        + */ + public createStudioLifecycleConfig( + args: CreateStudioLifecycleConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createStudioLifecycleConfig( + args: CreateStudioLifecycleConfigCommandInput, + cb: (err: any, data?: CreateStudioLifecycleConfigCommandOutput) => void + ): void; + public createStudioLifecycleConfig( + args: CreateStudioLifecycleConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateStudioLifecycleConfigCommandOutput) => void + ): void; + public createStudioLifecycleConfig( + args: CreateStudioLifecycleConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateStudioLifecycleConfigCommandOutput) => void), + cb?: (err: any, data?: CreateStudioLifecycleConfigCommandOutput) => void + ): Promise | void { + const command = new CreateStudioLifecycleConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

        Starts a model training job. After training completes, Amazon SageMaker saves the resulting * model artifacts to an Amazon S3 location that you specify.

        @@ -4214,6 +4240,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

        Deletes the Studio Lifecycle Configuration. In order to delete the Lifecycle Configuration, there must be no running apps using the Lifecycle Configuration. You must also remove the Lifecycle Configuration from UserSettings in all Domains and UserProfiles.

        + */ + public deleteStudioLifecycleConfig( + args: DeleteStudioLifecycleConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteStudioLifecycleConfig( + args: DeleteStudioLifecycleConfigCommandInput, + cb: (err: any, data?: DeleteStudioLifecycleConfigCommandOutput) => void + ): void; + public deleteStudioLifecycleConfig( + args: DeleteStudioLifecycleConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteStudioLifecycleConfigCommandOutput) => void + ): void; + public deleteStudioLifecycleConfig( + args: DeleteStudioLifecycleConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteStudioLifecycleConfigCommandOutput) => void), + cb?: (err: any, data?: DeleteStudioLifecycleConfigCommandOutput) => void + ): Promise | void { + const command = new DeleteStudioLifecycleConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

        Deletes the specified tags from an Amazon SageMaker resource.

        *

        To list a resource's tags, use the ListTags API.

        @@ -5682,6 +5740,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

        Describes the Studio Lifecycle Configuration.

        + */ + public describeStudioLifecycleConfig( + args: DescribeStudioLifecycleConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeStudioLifecycleConfig( + args: DescribeStudioLifecycleConfigCommandInput, + cb: (err: any, data?: DescribeStudioLifecycleConfigCommandOutput) => void + ): void; + public describeStudioLifecycleConfig( + args: DescribeStudioLifecycleConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeStudioLifecycleConfigCommandOutput) => void + ): void; + public describeStudioLifecycleConfig( + args: DescribeStudioLifecycleConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeStudioLifecycleConfigCommandOutput) => void), + cb?: (err: any, data?: DescribeStudioLifecycleConfigCommandOutput) => void + ): Promise | void { + const command = new DescribeStudioLifecycleConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

        Gets information about a work team provided by a vendor. It returns details about the * subscription with a vendor in the Amazon Web Services Marketplace.

        @@ -7543,6 +7633,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

        Lists the Studio Lifecycle Configurations in your Amazon Web Services Account.

        + */ + public listStudioLifecycleConfigs( + args: ListStudioLifecycleConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listStudioLifecycleConfigs( + args: ListStudioLifecycleConfigsCommandInput, + cb: (err: any, data?: ListStudioLifecycleConfigsCommandOutput) => void + ): void; + public listStudioLifecycleConfigs( + args: ListStudioLifecycleConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListStudioLifecycleConfigsCommandOutput) => void + ): void; + public listStudioLifecycleConfigs( + args: ListStudioLifecycleConfigsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListStudioLifecycleConfigsCommandOutput) => void), + cb?: (err: any, data?: ListStudioLifecycleConfigsCommandOutput) => void + ): Promise | void { + const command = new ListStudioLifecycleConfigsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

        Gets a list of the work teams that you are subscribed to in the Amazon Web Services Marketplace. The * list may be empty if no work team satisfies the filter specified in the diff --git a/clients/client-sagemaker/SageMakerClient.ts b/clients/client-sagemaker/SageMakerClient.ts index 34797c968082..bc9f8ecc6282 100644 --- a/clients/client-sagemaker/SageMakerClient.ts +++ b/clients/client-sagemaker/SageMakerClient.ts @@ -95,6 +95,10 @@ import { CreateProcessingJobCommandOutput, } from "./commands/CreateProcessingJobCommand"; import { CreateProjectCommandInput, CreateProjectCommandOutput } from "./commands/CreateProjectCommand"; +import { + CreateStudioLifecycleConfigCommandInput, + CreateStudioLifecycleConfigCommandOutput, +} from "./commands/CreateStudioLifecycleConfigCommand"; import { CreateTrainingJobCommandInput, CreateTrainingJobCommandOutput } from "./commands/CreateTrainingJobCommand"; import { CreateTransformJobCommandInput, CreateTransformJobCommandOutput } from "./commands/CreateTransformJobCommand"; import { CreateTrialCommandInput, CreateTrialCommandOutput } from "./commands/CreateTrialCommand"; @@ -175,6 +179,10 @@ import { } from "./commands/DeleteNotebookInstanceLifecycleConfigCommand"; import { DeletePipelineCommandInput, DeletePipelineCommandOutput } from "./commands/DeletePipelineCommand"; import { DeleteProjectCommandInput, DeleteProjectCommandOutput } from "./commands/DeleteProjectCommand"; +import { + DeleteStudioLifecycleConfigCommandInput, + DeleteStudioLifecycleConfigCommandOutput, +} from "./commands/DeleteStudioLifecycleConfigCommand"; import { DeleteTagsCommandInput, DeleteTagsCommandOutput } from "./commands/DeleteTagsCommand"; import { DeleteTrialCommandInput, DeleteTrialCommandOutput } from "./commands/DeleteTrialCommand"; import { @@ -295,6 +303,10 @@ import { DescribeProcessingJobCommandOutput, } from "./commands/DescribeProcessingJobCommand"; import { DescribeProjectCommandInput, DescribeProjectCommandOutput } from "./commands/DescribeProjectCommand"; +import { + DescribeStudioLifecycleConfigCommandInput, + DescribeStudioLifecycleConfigCommandOutput, +} from "./commands/DescribeStudioLifecycleConfigCommand"; import { DescribeSubscribedWorkteamCommandInput, DescribeSubscribedWorkteamCommandOutput, @@ -452,6 +464,10 @@ import { import { ListPipelinesCommandInput, ListPipelinesCommandOutput } from "./commands/ListPipelinesCommand"; import { ListProcessingJobsCommandInput, ListProcessingJobsCommandOutput } from "./commands/ListProcessingJobsCommand"; import { ListProjectsCommandInput, ListProjectsCommandOutput } from "./commands/ListProjectsCommand"; +import { + ListStudioLifecycleConfigsCommandInput, + ListStudioLifecycleConfigsCommandOutput, +} from "./commands/ListStudioLifecycleConfigsCommand"; import { ListSubscribedWorkteamsCommandInput, ListSubscribedWorkteamsCommandOutput, @@ -665,6 +681,7 @@ export type ServiceInputTypes = | CreatePresignedNotebookInstanceUrlCommandInput | CreateProcessingJobCommandInput | CreateProjectCommandInput + | CreateStudioLifecycleConfigCommandInput | CreateTrainingJobCommandInput | CreateTransformJobCommandInput | CreateTrialCommandInput @@ -703,6 +720,7 @@ export type ServiceInputTypes = | DeleteNotebookInstanceLifecycleConfigCommandInput | DeletePipelineCommandInput | DeleteProjectCommandInput + | DeleteStudioLifecycleConfigCommandInput | DeleteTagsCommandInput | DeleteTrialCommandInput | DeleteTrialComponentCommandInput @@ -748,6 +766,7 @@ export type ServiceInputTypes = | DescribePipelineExecutionCommandInput | DescribeProcessingJobCommandInput | DescribeProjectCommandInput + | DescribeStudioLifecycleConfigCommandInput | DescribeSubscribedWorkteamCommandInput | DescribeTrainingJobCommandInput | DescribeTransformJobCommandInput @@ -806,6 +825,7 @@ export type ServiceInputTypes = | ListPipelinesCommandInput | ListProcessingJobsCommandInput | ListProjectsCommandInput + | ListStudioLifecycleConfigsCommandInput | ListSubscribedWorkteamsCommandInput | ListTagsCommandInput | ListTrainingJobsCommandInput @@ -902,6 +922,7 @@ export type ServiceOutputTypes = | CreatePresignedNotebookInstanceUrlCommandOutput | CreateProcessingJobCommandOutput | CreateProjectCommandOutput + | CreateStudioLifecycleConfigCommandOutput | CreateTrainingJobCommandOutput | CreateTransformJobCommandOutput | CreateTrialCommandOutput @@ -940,6 +961,7 @@ export type ServiceOutputTypes = | DeleteNotebookInstanceLifecycleConfigCommandOutput | DeletePipelineCommandOutput | DeleteProjectCommandOutput + | DeleteStudioLifecycleConfigCommandOutput | DeleteTagsCommandOutput | DeleteTrialCommandOutput | DeleteTrialComponentCommandOutput @@ -985,6 +1007,7 @@ export type ServiceOutputTypes = | DescribePipelineExecutionCommandOutput | DescribeProcessingJobCommandOutput | DescribeProjectCommandOutput + | DescribeStudioLifecycleConfigCommandOutput | DescribeSubscribedWorkteamCommandOutput | DescribeTrainingJobCommandOutput | DescribeTransformJobCommandOutput @@ -1043,6 +1066,7 @@ export type ServiceOutputTypes = | ListPipelinesCommandOutput | ListProcessingJobsCommandOutput | ListProjectsCommandOutput + | ListStudioLifecycleConfigsCommandOutput | ListSubscribedWorkteamsCommandOutput | ListTagsCommandOutput | ListTrainingJobsCommandOutput diff --git a/clients/client-sagemaker/commands/CreateActionCommand.ts b/clients/client-sagemaker/commands/CreateActionCommand.ts index 3f7ced334403..f2dbd1e13b32 100644 --- a/clients/client-sagemaker/commands/CreateActionCommand.ts +++ b/clients/client-sagemaker/commands/CreateActionCommand.ts @@ -26,13 +26,6 @@ export interface CreateActionCommandOutput extends CreateActionResponse, __Metad * Generally, an action involves at least one input or output artifact. For more information, see * Amazon SageMaker * ML Lineage Tracking.

        - * - *

        - * CreateAction can only be invoked from within an SageMaker managed - * environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker - * notebooks. A call to CreateAction from outside one of these - * environments results in an error.

        - *
        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-sagemaker/commands/CreateArtifactCommand.ts b/clients/client-sagemaker/commands/CreateArtifactCommand.ts index 4e01b1eaf8fb..03d1033dfca8 100644 --- a/clients/client-sagemaker/commands/CreateArtifactCommand.ts +++ b/clients/client-sagemaker/commands/CreateArtifactCommand.ts @@ -26,13 +26,6 @@ export interface CreateArtifactCommandOutput extends CreateArtifactResponse, __M * the ECR registry path of an image. For more information, see * Amazon SageMaker * ML Lineage Tracking.

        - * - *

        - * CreateArtifact can only be invoked from within an SageMaker managed - * environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker - * notebooks. A call to CreateArtifact from outside one of these - * environments results in an error.

        - *
        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-sagemaker/commands/CreateContextCommand.ts b/clients/client-sagemaker/commands/CreateContextCommand.ts index 6dbb51f1aa1d..50fceacbcfe1 100644 --- a/clients/client-sagemaker/commands/CreateContextCommand.ts +++ b/clients/client-sagemaker/commands/CreateContextCommand.ts @@ -26,13 +26,6 @@ export interface CreateContextCommandOutput extends CreateContextResponse, __Met * an endpoint and a model package. For more information, see * Amazon SageMaker * ML Lineage Tracking.

        - * - *

        - * CreateContext can only be invoked from within an SageMaker managed - * environment. This includes SageMaker training jobs, processing jobs, transform jobs, and SageMaker - * notebooks. A call to CreateContext from outside one of these - * environments results in an error.

        - *
        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-sagemaker/commands/CreateEndpointConfigCommand.ts b/clients/client-sagemaker/commands/CreateEndpointConfigCommand.ts index 574a338bc102..dd3e3b9a4ee2 100644 --- a/clients/client-sagemaker/commands/CreateEndpointConfigCommand.ts +++ b/clients/client-sagemaker/commands/CreateEndpointConfigCommand.ts @@ -38,11 +38,6 @@ export interface CreateEndpointConfigCommandOutput extends CreateEndpointConfigO * you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 * for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to * model B.

        - *

        For an example that calls this method when deploying a model to Amazon SageMaker hosting services, - * see Deploy the - * Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python (Boto - * 3)). - *

        * *

        When you call CreateEndpoint, a load call is made to DynamoDB to * verify that your endpoint configuration exists. When you read data from a DynamoDB diff --git a/clients/client-sagemaker/commands/CreateStudioLifecycleConfigCommand.ts b/clients/client-sagemaker/commands/CreateStudioLifecycleConfigCommand.ts new file mode 100644 index 000000000000..b0abd357e549 --- /dev/null +++ b/clients/client-sagemaker/commands/CreateStudioLifecycleConfigCommand.ts @@ -0,0 +1,99 @@ +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; +import { CreateStudioLifecycleConfigRequest, CreateStudioLifecycleConfigResponse } from "../models/models_1"; +import { + deserializeAws_json1_1CreateStudioLifecycleConfigCommand, + serializeAws_json1_1CreateStudioLifecycleConfigCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateStudioLifecycleConfigCommandInput extends CreateStudioLifecycleConfigRequest {} +export interface CreateStudioLifecycleConfigCommandOutput + extends CreateStudioLifecycleConfigResponse, + __MetadataBearer {} + +/** + *

        Creates a new Studio Lifecycle Configuration.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, CreateStudioLifecycleConfigCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, CreateStudioLifecycleConfigCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new CreateStudioLifecycleConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateStudioLifecycleConfigCommandInput} for command's `input` shape. + * @see {@link CreateStudioLifecycleConfigCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateStudioLifecycleConfigCommand extends $Command< + CreateStudioLifecycleConfigCommandInput, + CreateStudioLifecycleConfigCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateStudioLifecycleConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "CreateStudioLifecycleConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateStudioLifecycleConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateStudioLifecycleConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateStudioLifecycleConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateStudioLifecycleConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateStudioLifecycleConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/commands/DeleteStudioLifecycleConfigCommand.ts b/clients/client-sagemaker/commands/DeleteStudioLifecycleConfigCommand.ts new file mode 100644 index 000000000000..5c64fbe0af6b --- /dev/null +++ b/clients/client-sagemaker/commands/DeleteStudioLifecycleConfigCommand.ts @@ -0,0 +1,97 @@ +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; +import { DeleteStudioLifecycleConfigRequest } from "../models/models_1"; +import { + deserializeAws_json1_1DeleteStudioLifecycleConfigCommand, + serializeAws_json1_1DeleteStudioLifecycleConfigCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteStudioLifecycleConfigCommandInput extends DeleteStudioLifecycleConfigRequest {} +export interface DeleteStudioLifecycleConfigCommandOutput extends __MetadataBearer {} + +/** + *

        Deletes the Studio Lifecycle Configuration. In order to delete the Lifecycle Configuration, there must be no running apps using the Lifecycle Configuration. You must also remove the Lifecycle Configuration from UserSettings in all Domains and UserProfiles.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, DeleteStudioLifecycleConfigCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, DeleteStudioLifecycleConfigCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new DeleteStudioLifecycleConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteStudioLifecycleConfigCommandInput} for command's `input` shape. + * @see {@link DeleteStudioLifecycleConfigCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteStudioLifecycleConfigCommand extends $Command< + DeleteStudioLifecycleConfigCommandInput, + DeleteStudioLifecycleConfigCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteStudioLifecycleConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "DeleteStudioLifecycleConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteStudioLifecycleConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteStudioLifecycleConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteStudioLifecycleConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteStudioLifecycleConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/commands/DescribeStudioLifecycleConfigCommand.ts b/clients/client-sagemaker/commands/DescribeStudioLifecycleConfigCommand.ts new file mode 100644 index 000000000000..71219e4e81fb --- /dev/null +++ b/clients/client-sagemaker/commands/DescribeStudioLifecycleConfigCommand.ts @@ -0,0 +1,99 @@ +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; +import { DescribeStudioLifecycleConfigRequest, DescribeStudioLifecycleConfigResponse } from "../models/models_1"; +import { + deserializeAws_json1_1DescribeStudioLifecycleConfigCommand, + serializeAws_json1_1DescribeStudioLifecycleConfigCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeStudioLifecycleConfigCommandInput extends DescribeStudioLifecycleConfigRequest {} +export interface DescribeStudioLifecycleConfigCommandOutput + extends DescribeStudioLifecycleConfigResponse, + __MetadataBearer {} + +/** + *

        Describes the Studio Lifecycle Configuration.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, DescribeStudioLifecycleConfigCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, DescribeStudioLifecycleConfigCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new DescribeStudioLifecycleConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeStudioLifecycleConfigCommandInput} for command's `input` shape. + * @see {@link DescribeStudioLifecycleConfigCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeStudioLifecycleConfigCommand extends $Command< + DescribeStudioLifecycleConfigCommandInput, + DescribeStudioLifecycleConfigCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeStudioLifecycleConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "DescribeStudioLifecycleConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeStudioLifecycleConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeStudioLifecycleConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeStudioLifecycleConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeStudioLifecycleConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeStudioLifecycleConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/commands/DescribeTrainingJobCommand.ts b/clients/client-sagemaker/commands/DescribeTrainingJobCommand.ts index effd0e0e6ef2..7c5201702b06 100644 --- a/clients/client-sagemaker/commands/DescribeTrainingJobCommand.ts +++ b/clients/client-sagemaker/commands/DescribeTrainingJobCommand.ts @@ -1,5 +1,6 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DescribeTrainingJobRequest, DescribeTrainingJobResponse } from "../models/models_1"; +import { DescribeTrainingJobRequest } from "../models/models_1"; +import { DescribeTrainingJobResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeTrainingJobCommand, serializeAws_json1_1DescribeTrainingJobCommand, diff --git a/clients/client-sagemaker/commands/DescribeTransformJobCommand.ts b/clients/client-sagemaker/commands/DescribeTransformJobCommand.ts index d3b20746bb76..1baa8f67ac59 100644 --- a/clients/client-sagemaker/commands/DescribeTransformJobCommand.ts +++ b/clients/client-sagemaker/commands/DescribeTransformJobCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DescribeTransformJobRequest, DescribeTransformJobResponse } from "../models/models_1"; +import { DescribeTransformJobRequest, DescribeTransformJobResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeTransformJobCommand, serializeAws_json1_1DescribeTransformJobCommand, diff --git a/clients/client-sagemaker/commands/ListStudioLifecycleConfigsCommand.ts b/clients/client-sagemaker/commands/ListStudioLifecycleConfigsCommand.ts new file mode 100644 index 000000000000..0821922f8294 --- /dev/null +++ b/clients/client-sagemaker/commands/ListStudioLifecycleConfigsCommand.ts @@ -0,0 +1,97 @@ +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; +import { ListStudioLifecycleConfigsRequest, ListStudioLifecycleConfigsResponse } from "../models/models_2"; +import { + deserializeAws_json1_1ListStudioLifecycleConfigsCommand, + serializeAws_json1_1ListStudioLifecycleConfigsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListStudioLifecycleConfigsCommandInput extends ListStudioLifecycleConfigsRequest {} +export interface ListStudioLifecycleConfigsCommandOutput extends ListStudioLifecycleConfigsResponse, __MetadataBearer {} + +/** + *

        Lists the Studio Lifecycle Configurations in your Amazon Web Services Account.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, ListStudioLifecycleConfigsCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, ListStudioLifecycleConfigsCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new ListStudioLifecycleConfigsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListStudioLifecycleConfigsCommandInput} for command's `input` shape. + * @see {@link ListStudioLifecycleConfigsCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListStudioLifecycleConfigsCommand extends $Command< + ListStudioLifecycleConfigsCommandInput, + ListStudioLifecycleConfigsCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListStudioLifecycleConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "ListStudioLifecycleConfigsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListStudioLifecycleConfigsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListStudioLifecycleConfigsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListStudioLifecycleConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListStudioLifecycleConfigsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListStudioLifecycleConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/commands/UpdateCodeRepositoryCommand.ts b/clients/client-sagemaker/commands/UpdateCodeRepositoryCommand.ts index 6454f7930139..f89e68401188 100644 --- a/clients/client-sagemaker/commands/UpdateCodeRepositoryCommand.ts +++ b/clients/client-sagemaker/commands/UpdateCodeRepositoryCommand.ts @@ -1,5 +1,6 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateCodeRepositoryInput, UpdateCodeRepositoryOutput } from "../models/models_2"; +import { UpdateCodeRepositoryInput } from "../models/models_2"; +import { UpdateCodeRepositoryOutput } from "../models/models_3"; import { deserializeAws_json1_1UpdateCodeRepositoryCommand, serializeAws_json1_1UpdateCodeRepositoryCommand, diff --git a/clients/client-sagemaker/commands/UpdateContextCommand.ts b/clients/client-sagemaker/commands/UpdateContextCommand.ts index e62ac9299362..27af1bead1f9 100644 --- a/clients/client-sagemaker/commands/UpdateContextCommand.ts +++ b/clients/client-sagemaker/commands/UpdateContextCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateContextRequest, UpdateContextResponse } from "../models/models_2"; +import { UpdateContextRequest, UpdateContextResponse } from "../models/models_3"; import { deserializeAws_json1_1UpdateContextCommand, serializeAws_json1_1UpdateContextCommand, diff --git a/clients/client-sagemaker/commands/UpdateDeviceFleetCommand.ts b/clients/client-sagemaker/commands/UpdateDeviceFleetCommand.ts index 732bc8b53e14..82f11985ff64 100644 --- a/clients/client-sagemaker/commands/UpdateDeviceFleetCommand.ts +++ b/clients/client-sagemaker/commands/UpdateDeviceFleetCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateDeviceFleetRequest } from "../models/models_2"; +import { UpdateDeviceFleetRequest } from "../models/models_3"; import { deserializeAws_json1_1UpdateDeviceFleetCommand, serializeAws_json1_1UpdateDeviceFleetCommand, diff --git a/clients/client-sagemaker/commands/UpdateDevicesCommand.ts b/clients/client-sagemaker/commands/UpdateDevicesCommand.ts index 7931576ce368..bc17ac7aecf1 100644 --- a/clients/client-sagemaker/commands/UpdateDevicesCommand.ts +++ b/clients/client-sagemaker/commands/UpdateDevicesCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateDevicesRequest } from "../models/models_2"; +import { UpdateDevicesRequest } from "../models/models_3"; import { deserializeAws_json1_1UpdateDevicesCommand, serializeAws_json1_1UpdateDevicesCommand, diff --git a/clients/client-sagemaker/commands/UpdateDomainCommand.ts b/clients/client-sagemaker/commands/UpdateDomainCommand.ts index eb08e8139606..ea10aaef5785 100644 --- a/clients/client-sagemaker/commands/UpdateDomainCommand.ts +++ b/clients/client-sagemaker/commands/UpdateDomainCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateDomainRequest, UpdateDomainResponse } from "../models/models_2"; +import { UpdateDomainRequest, UpdateDomainResponse } from "../models/models_3"; import { deserializeAws_json1_1UpdateDomainCommand, serializeAws_json1_1UpdateDomainCommand, diff --git a/clients/client-sagemaker/commands/UpdateEndpointCommand.ts b/clients/client-sagemaker/commands/UpdateEndpointCommand.ts index baa2c801eace..2ab768a77cba 100644 --- a/clients/client-sagemaker/commands/UpdateEndpointCommand.ts +++ b/clients/client-sagemaker/commands/UpdateEndpointCommand.ts @@ -1,6 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateEndpointInput } from "../models/models_2"; -import { UpdateEndpointOutput } from "../models/models_3"; +import { UpdateEndpointInput, UpdateEndpointOutput } from "../models/models_3"; import { deserializeAws_json1_1UpdateEndpointCommand, serializeAws_json1_1UpdateEndpointCommand, diff --git a/clients/client-sagemaker/index.ts b/clients/client-sagemaker/index.ts index 00b439c8afd1..b5eef2f1c18f 100644 --- a/clients/client-sagemaker/index.ts +++ b/clients/client-sagemaker/index.ts @@ -40,6 +40,7 @@ export * from "./commands/CreatePresignedDomainUrlCommand"; export * from "./commands/CreatePresignedNotebookInstanceUrlCommand"; export * from "./commands/CreateProcessingJobCommand"; export * from "./commands/CreateProjectCommand"; +export * from "./commands/CreateStudioLifecycleConfigCommand"; export * from "./commands/CreateTrainingJobCommand"; export * from "./commands/CreateTransformJobCommand"; export * from "./commands/CreateTrialCommand"; @@ -78,6 +79,7 @@ export * from "./commands/DeleteNotebookInstanceCommand"; export * from "./commands/DeleteNotebookInstanceLifecycleConfigCommand"; export * from "./commands/DeletePipelineCommand"; export * from "./commands/DeleteProjectCommand"; +export * from "./commands/DeleteStudioLifecycleConfigCommand"; export * from "./commands/DeleteTagsCommand"; export * from "./commands/DeleteTrialCommand"; export * from "./commands/DeleteTrialComponentCommand"; @@ -134,6 +136,7 @@ export * from "./commands/DescribePipelineExecutionCommand"; export * from "./commands/DescribeProcessingJobCommand"; export * from "./waiters/waitForProcessingJobCompletedOrStopped"; export * from "./commands/DescribeProjectCommand"; +export * from "./commands/DescribeStudioLifecycleConfigCommand"; export * from "./commands/DescribeSubscribedWorkteamCommand"; export * from "./commands/DescribeTrainingJobCommand"; export * from "./waiters/waitForTrainingJobCompletedOrStopped"; @@ -236,6 +239,8 @@ export * from "./commands/ListProcessingJobsCommand"; export * from "./pagination/ListProcessingJobsPaginator"; export * from "./commands/ListProjectsCommand"; export * from "./pagination/ListProjectsPaginator"; +export * from "./commands/ListStudioLifecycleConfigsCommand"; +export * from "./pagination/ListStudioLifecycleConfigsPaginator"; export * from "./commands/ListSubscribedWorkteamsCommand"; export * from "./pagination/ListSubscribedWorkteamsPaginator"; export * from "./commands/ListTagsCommand"; diff --git a/clients/client-sagemaker/models/models_0.ts b/clients/client-sagemaker/models/models_0.ts index a7bcf5c537b5..5e3e27497924 100644 --- a/clients/client-sagemaker/models/models_0.ts +++ b/clients/client-sagemaker/models/models_0.ts @@ -5221,6 +5221,7 @@ export enum TargetDevice { AMBA_CV25 = "amba_cv25", COREML = "coreml", DEEPLENS = "deeplens", + IMX8MPLUS = "imx8mplus", IMX8QM = "imx8qm", JACINTO_TDA4VM = "jacinto_tda4vm", JETSON_NANO = "jetson_nano", @@ -6379,6 +6380,11 @@ export interface ResourceSpec { *

        The instance type that the image version runs on.

        */ InstanceType?: AppInstanceType | string; + + /** + *

        The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the Resource.

        + */ + LifecycleConfigArn?: string; } export namespace ResourceSpec { @@ -8357,6 +8363,11 @@ export interface JupyterServerAppSettings { *

        The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.

        */ DefaultResourceSpec?: ResourceSpec; + + /** + *

        The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp.

        + */ + LifecycleConfigArns?: string[]; } export namespace JupyterServerAppSettings { @@ -8411,6 +8422,11 @@ export interface KernelGatewayAppSettings { *

        A list of custom SageMaker images that are configured to run as a KernelGateway app.

        */ CustomImages?: CustomImage[]; + + /** + *

        The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the KernelGatewayApp.

        + */ + LifecycleConfigArns?: string[]; } export namespace KernelGatewayAppSettings { diff --git a/clients/client-sagemaker/models/models_1.ts b/clients/client-sagemaker/models/models_1.ts index 713d456bf1c2..29e25daea9bc 100644 --- a/clients/client-sagemaker/models/models_1.ts +++ b/clients/client-sagemaker/models/models_1.ts @@ -2460,6 +2460,58 @@ export namespace CreateProjectOutput { }); } +export enum StudioLifecycleConfigAppType { + JupyterServer = "JupyterServer", + KernelGateway = "KernelGateway", +} + +export interface CreateStudioLifecycleConfigRequest { + /** + *

        The name of the Studio Lifecycle Configuration to create.

        + */ + StudioLifecycleConfigName: string | undefined; + + /** + *

        The content of your Studio Lifecycle Configuration script. This content must be base64 encoded.

        + */ + StudioLifecycleConfigContent: string | undefined; + + /** + *

        The App type that the Lifecycle Configuration is attached to.

        + */ + StudioLifecycleConfigAppType: StudioLifecycleConfigAppType | string | undefined; + + /** + *

        Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

        + */ + Tags?: Tag[]; +} + +export namespace CreateStudioLifecycleConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateStudioLifecycleConfigRequest): any => ({ + ...obj, + }); +} + +export interface CreateStudioLifecycleConfigResponse { + /** + *

        The ARN of your created Lifecycle Configuration.

        + */ + StudioLifecycleConfigArn?: string; +} + +export namespace CreateStudioLifecycleConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateStudioLifecycleConfigResponse): any => ({ + ...obj, + }); +} + /** *

        Configuration information for the Debugger hook parameters, metric and tensor collections, and * storage paths. To learn more about @@ -4585,6 +4637,22 @@ export namespace DeleteProjectInput { }); } +export interface DeleteStudioLifecycleConfigRequest { + /** + *

        The name of the Studio Lifecycle Configuration to delete.

        + */ + StudioLifecycleConfigName: string | undefined; +} + +export namespace DeleteStudioLifecycleConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteStudioLifecycleConfigRequest): any => ({ + ...obj, + }); +} + export interface DeleteTagsInput { /** *

        The Amazon Resource Name (ARN) of the resource whose tags you want to @@ -9329,6 +9397,63 @@ export namespace DescribeProjectOutput { }); } +export interface DescribeStudioLifecycleConfigRequest { + /** + *

        The name of the Studio Lifecycle Configuration to describe.

        + */ + StudioLifecycleConfigName: string | undefined; +} + +export namespace DescribeStudioLifecycleConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigRequest): any => ({ + ...obj, + }); +} + +export interface DescribeStudioLifecycleConfigResponse { + /** + *

        The ARN of the Lifecycle Configuration to describe.

        + */ + StudioLifecycleConfigArn?: string; + + /** + *

        The name of the Studio Lifecycle Configuration that is described.

        + */ + StudioLifecycleConfigName?: string; + + /** + *

        The creation time of the Studio Lifecycle Configuration.

        + */ + CreationTime?: Date; + + /** + *

        This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

        + */ + LastModifiedTime?: Date; + + /** + *

        The content of your Studio Lifecycle Configuration script.

        + */ + StudioLifecycleConfigContent?: string; + + /** + *

        The App type that the Lifecycle Configuration is attached to.

        + */ + StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; +} + +export namespace DescribeStudioLifecycleConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigResponse): any => ({ + ...obj, + }); +} + export interface DescribeSubscribedWorkteamRequest { /** *

        The Amazon Resource Name (ARN) of the subscribed work team to describe.

        @@ -9488,830 +9613,3 @@ export enum ProfilingStatus { DISABLED = "Disabled", ENABLED = "Enabled", } - -export enum SecondaryStatus { - COMPLETED = "Completed", - DOWNLOADING = "Downloading", - DOWNLOADING_TRAINING_IMAGE = "DownloadingTrainingImage", - FAILED = "Failed", - INTERRUPTED = "Interrupted", - LAUNCHING_ML_INSTANCES = "LaunchingMLInstances", - MAX_RUNTIME_EXCEEDED = "MaxRuntimeExceeded", - MAX_WAIT_TIME_EXCEEDED = "MaxWaitTimeExceeded", - PREPARING_TRAINING_STACK = "PreparingTrainingStack", - RESTARTING = "Restarting", - STARTING = "Starting", - STOPPED = "Stopped", - STOPPING = "Stopping", - TRAINING = "Training", - UPDATING = "Updating", - UPLOADING = "Uploading", -} - -/** - *

        An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. It provides - * additional details about a status that the training job has transitioned through. A - * training job can be in one of several states, for example, starting, downloading, - * training, or uploading. Within each state, there are a number of intermediate states. - * For example, within the starting state, Amazon SageMaker could be starting the training job or - * launching the ML instances. These transitional states are referred to as the job's - * secondary - * status. - *

        - *

        - */ -export interface SecondaryStatusTransition { - /** - *

        Contains a secondary status information from a training - * job.

        - *

        Status might be one of the following secondary statuses:

        - *
        - *
        InProgress
        - *
        - *
          - *
        • - *

          - * Starting - * - Starting the training job.

          - *
        • - *
        • - *

          - * Downloading - An optional stage for algorithms that - * support File training input mode. It indicates that - * data is being downloaded to the ML storage volumes.

          - *
        • - *
        • - *

          - * Training - Training is in progress.

          - *
        • - *
        • - *

          - * Uploading - Training is complete and the model - * artifacts are being uploaded to the S3 location.

          - *
        • - *
        - *
        - *
        Completed
        - *
        - *
          - *
        • - *

          - * Completed - The training job has completed.

          - *
        • - *
        - *
        - *
        Failed
        - *
        - *
          - *
        • - *

          - * Failed - The training job has failed. The reason for - * the failure is returned in the FailureReason field of - * DescribeTrainingJobResponse.

          - *
        • - *
        - *
        - *
        Stopped
        - *
        - *
          - *
        • - *

          - * MaxRuntimeExceeded - The job stopped because it - * exceeded the maximum allowed runtime.

          - *
        • - *
        • - *

          - * Stopped - The training job has stopped.

          - *
        • - *
        - *
        - *
        Stopping
        - *
        - *
          - *
        • - *

          - * Stopping - Stopping the training job.

          - *
        • - *
        - *
        - *
        - *

        We no longer support the following secondary statuses:

        - *
          - *
        • - *

          - * LaunchingMLInstances - *

          - *
        • - *
        • - *

          - * PreparingTrainingStack - *

          - *
        • - *
        • - *

          - * DownloadingTrainingImage - *

          - *
        • - *
        - */ - Status: SecondaryStatus | string | undefined; - - /** - *

        A timestamp that shows when the training job transitioned to the current secondary - * status state.

        - */ - StartTime: Date | undefined; - - /** - *

        A timestamp that shows when the training job transitioned out of this secondary status - * state into another secondary status state or when the training job has ended.

        - */ - EndTime?: Date; - - /** - *

        A detailed description of the progress within a secondary status. - *

        - *

        Amazon SageMaker provides secondary statuses and status messages that apply to each of - * them:

        - *
        - *
        Starting
        - *
        - *
          - *
        • - *

          Starting the training job.

          - *
        • - *
        • - *

          Launching requested ML - * instances.

          - *
        • - *
        • - *

          Insufficient - * capacity error from EC2 while launching instances, - * retrying!

          - *
        • - *
        • - *

          Launched - * instance was unhealthy, replacing it!

          - *
        • - *
        • - *

          Preparing the instances for training.

          - *
        • - *
        - *
        - *
        Training
        - *
        - *
          - *
        • - *

          Downloading the training image.

          - *
        • - *
        • - *

          Training - * image download completed. Training in - * progress.

          - *
        • - *
        - *
        - *
        - * - *

        Status messages are subject to change. Therefore, we recommend not including them - * in code that programmatically initiates actions. For examples, don't use status - * messages in if statements.

        - *
        - *

        To have an overview of your training job's progress, view - * TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For - * example, at the start of a training job, you might see the following:

        - *
          - *
        • - *

          - * TrainingJobStatus - InProgress

          - *
        • - *
        • - *

          - * SecondaryStatus - Training

          - *
        • - *
        • - *

          - * StatusMessage - Downloading the training image

          - *
        • - *
        - */ - StatusMessage?: string; -} - -export namespace SecondaryStatusTransition { - /** - * @internal - */ - export const filterSensitiveLog = (obj: SecondaryStatusTransition): any => ({ - ...obj, - }); -} - -export interface DescribeTrainingJobResponse { - /** - *

        Name of the model training job.

        - */ - TrainingJobName: string | undefined; - - /** - *

        The Amazon Resource Name (ARN) of the training job.

        - */ - TrainingJobArn: string | undefined; - - /** - *

        The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the - * training job was launched by a hyperparameter tuning job.

        - */ - TuningJobArn?: string; - - /** - *

        The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the - * transform or training job.

        - */ - LabelingJobArn?: string; - - /** - *

        The Amazon Resource Name (ARN) of an AutoML job.

        - */ - AutoMLJobArn?: string; - - /** - *

        Information about the Amazon S3 location that is configured for storing model artifacts. - *

        - */ - ModelArtifacts: ModelArtifacts | undefined; - - /** - *

        The status of the - * training - * job.

        - *

        Amazon SageMaker provides the following training job statuses:

        - *
          - *
        • - *

          - * InProgress - The training is in progress.

          - *
        • - *
        • - *

          - * Completed - The training job has completed.

          - *
        • - *
        • - *

          - * Failed - The training job has failed. To see the reason for the - * failure, see the FailureReason field in the response to a - * DescribeTrainingJobResponse call.

          - *
        • - *
        • - *

          - * Stopping - The training job is stopping.

          - *
        • - *
        • - *

          - * Stopped - The training job has stopped.

          - *
        • - *
        - *

        For - * more detailed information, see SecondaryStatus.

        - */ - TrainingJobStatus: TrainingJobStatus | string | undefined; - - /** - *

        Provides detailed information about the state of the training job. For detailed - * information on the secondary status of the training job, see StatusMessage - * under SecondaryStatusTransition.

        - *

        Amazon SageMaker provides primary statuses and secondary statuses that apply to each of - * them:

        - *
        - *
        InProgress
        - *
        - *
          - *
        • - *

          - * Starting - * - Starting the training job.

          - *
        • - *
        • - *

          - * Downloading - An optional stage for algorithms that - * support File training input mode. It indicates that - * data is being downloaded to the ML storage volumes.

          - *
        • - *
        • - *

          - * Training - Training is in progress.

          - *
        • - *
        • - *

          - * Interrupted - The job stopped because the managed - * spot training instances were interrupted.

          - *
        • - *
        • - *

          - * Uploading - Training is complete and the model - * artifacts are being uploaded to the S3 location.

          - *
        • - *
        - *
        - *
        Completed
        - *
        - *
          - *
        • - *

          - * Completed - The training job has completed.

          - *
        • - *
        - *
        - *
        Failed
        - *
        - *
          - *
        • - *

          - * Failed - The training job has failed. The reason for - * the failure is returned in the FailureReason field of - * DescribeTrainingJobResponse.

          - *
        • - *
        - *
        - *
        Stopped
        - *
        - *
          - *
        • - *

          - * MaxRuntimeExceeded - The job stopped because it - * exceeded the maximum allowed runtime.

          - *
        • - *
        • - *

          - * MaxWaitTimeExceeded - The job stopped because it - * exceeded the maximum allowed wait time.

          - *
        • - *
        • - *

          - * Stopped - The training job has stopped.

          - *
        • - *
        - *
        - *
        Stopping
        - *
        - *
          - *
        • - *

          - * Stopping - Stopping the training job.

          - *
        • - *
        - *
        - *
        - * - * - *

        Valid values for SecondaryStatus are subject to change.

        - *
        - *

        We no longer support the following secondary statuses:

        - *
          - *
        • - *

          - * LaunchingMLInstances - *

          - *
        • - *
        • - *

          - * PreparingTraining - *

          - *
        • - *
        • - *

          - * DownloadingTrainingImage - *

          - *
        • - *
        - */ - SecondaryStatus: SecondaryStatus | string | undefined; - - /** - *

        If the training job failed, the reason it failed.

        - */ - FailureReason?: string; - - /** - *

        Algorithm-specific parameters.

        - */ - HyperParameters?: { [key: string]: string }; - - /** - *

        Information about the algorithm used for training, and algorithm metadata. - *

        - */ - AlgorithmSpecification: AlgorithmSpecification | undefined; - - /** - *

        The Amazon Web Services Identity and Access Management (IAM) role configured for the training job.

        - */ - RoleArn?: string; - - /** - *

        An array of Channel objects that describes each data input channel. - *

        - */ - InputDataConfig?: Channel[]; - - /** - *

        The S3 path where model artifacts that you configured when creating the job are - * stored. Amazon SageMaker creates subfolders for model artifacts.

        - */ - OutputDataConfig?: OutputDataConfig; - - /** - *

        Resources, including ML compute instances and ML storage volumes, that are - * configured for model training.

        - */ - ResourceConfig: ResourceConfig | undefined; - - /** - *

        A VpcConfig object that specifies the VPC that this training job has - * access to. For more information, see Protect Training Jobs by Using an Amazon - * Virtual Private Cloud.

        - */ - VpcConfig?: VpcConfig; - - /** - *

        Specifies a limit to how long a model training job can run. It also specifies how long - * a managed Spot training job has to complete. When the job reaches the time limit, Amazon SageMaker - * ends the training job. Use this API to cap model training costs.

        - *

        To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays - * job termination for 120 seconds. Algorithms can use this 120-second window to save the - * model artifacts, so the results of training are not lost.

        - */ - StoppingCondition: StoppingCondition | undefined; - - /** - *

        A timestamp that indicates when the training job was created.

        - */ - CreationTime: Date | undefined; - - /** - *

        Indicates the time when the training job starts on training instances. You are - * billed for the time interval between this time and the value of - * TrainingEndTime. The start time in CloudWatch Logs might be later than this time. - * The difference is due to the time it takes to download the training data and to the size - * of the training container.

        - */ - TrainingStartTime?: Date; - - /** - *

        Indicates the time when the training job ends on training instances. You are billed - * for the time interval between the value of TrainingStartTime and this time. - * For successful jobs and stopped jobs, this is the time after model artifacts are - * uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

        - */ - TrainingEndTime?: Date; - - /** - *

        A timestamp that indicates when the status of the training job was last - * modified.

        - */ - LastModifiedTime?: Date; - - /** - *

        A history of all of the secondary statuses that the training job has transitioned - * through.

        - */ - SecondaryStatusTransitions?: SecondaryStatusTransition[]; - - /** - *

        A collection of MetricData objects that specify the names, values, and - * dates and times that the training algorithm emitted to Amazon CloudWatch.

        - */ - FinalMetricDataList?: MetricData[]; - - /** - *

        If you want to allow inbound or outbound network calls, except for calls between peers - * within a training cluster for distributed training, choose True. If you - * enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker - * downloads and uploads customer data and model artifacts through the specified VPC, but - * the training container does not have network access.

        - */ - EnableNetworkIsolation?: boolean; - - /** - *

        To encrypt all communications between ML compute instances in distributed training, - * choose True. Encryption provides greater security for distributed training, - * but training might take longer. How long it takes depends on the amount of communication - * between compute instances, especially if you use a deep learning algorithms in - * distributed training.

        - */ - EnableInterContainerTrafficEncryption?: boolean; - - /** - *

        A Boolean indicating whether managed spot training is enabled (True) or - * not (False).

        - */ - EnableManagedSpotTraining?: boolean; - - /** - *

        Contains information about the output location for managed spot training checkpoint - * data.

        - */ - CheckpointConfig?: CheckpointConfig; - - /** - *

        The training time in seconds.

        - */ - TrainingTimeInSeconds?: number; - - /** - *

        The billable time in seconds. Billable time refers to the absolute wall-clock - * time.

        - *

        Multiply BillableTimeInSeconds by the number of instances - * (InstanceCount) in your training cluster to get the total compute time - * Amazon SageMaker will bill you if you run distributed training. The formula is as follows: - * BillableTimeInSeconds * InstanceCount .

        - *

        You can calculate the savings from using managed spot training using the formula - * (1 - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, - * if BillableTimeInSeconds is 100 and TrainingTimeInSeconds is - * 500, the savings is 80%.

        - */ - BillableTimeInSeconds?: number; - - /** - *

        Configuration information for the Debugger hook parameters, metric and tensor collections, and - * storage paths. To learn more about - * how to configure the DebugHookConfig parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

        - */ - DebugHookConfig?: DebugHookConfig; - - /** - *

        Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

        - * - */ - ExperimentConfig?: ExperimentConfig; - - /** - *

        Configuration information for Debugger rules for debugging output tensors.

        - */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; - - /** - *

        Configuration of storage locations for the Debugger TensorBoard output data.

        - */ - TensorBoardOutputConfig?: TensorBoardOutputConfig; - - /** - *

        Evaluation status of Debugger rules for debugging on a training job.

        - */ - DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; - - /** - *

        Configuration information for Debugger system monitoring, framework profiling, and - * storage paths.

        - */ - ProfilerConfig?: ProfilerConfig; - - /** - *

        Configuration information for Debugger rules for profiling system and framework - * metrics.

        - */ - ProfilerRuleConfigurations?: ProfilerRuleConfiguration[]; - - /** - *

        Evaluation status of Debugger rules for profiling on a training job.

        - */ - ProfilerRuleEvaluationStatuses?: ProfilerRuleEvaluationStatus[]; - - /** - *

        Profiling status of a training job.

        - */ - ProfilingStatus?: ProfilingStatus | string; - - /** - *

        The number of times to retry the job when the job fails due to an - * InternalServerError.

        - */ - RetryStrategy?: RetryStrategy; - - /** - *

        The environment variables to set in the Docker container.

        - */ - Environment?: { [key: string]: string }; -} - -export namespace DescribeTrainingJobResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTrainingJobResponse): any => ({ - ...obj, - }); -} - -export interface DescribeTransformJobRequest { - /** - *

        The name of the transform job that you want to view details of.

        - */ - TransformJobName: string | undefined; -} - -export namespace DescribeTransformJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTransformJobRequest): any => ({ - ...obj, - }); -} - -export enum TransformJobStatus { - COMPLETED = "Completed", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} - -export interface DescribeTransformJobResponse { - /** - *

        The name of the transform job.

        - */ - TransformJobName: string | undefined; - - /** - *

        The Amazon Resource Name (ARN) of the transform job.

        - */ - TransformJobArn: string | undefined; - - /** - *

        The - * status of the transform job. If the transform job failed, the reason - * is returned in the FailureReason field.

        - */ - TransformJobStatus: TransformJobStatus | string | undefined; - - /** - *

        If the transform job failed, FailureReason describes - * why - * it failed. A transform job creates a log file, which includes error - * messages, and stores it - * as - * an Amazon S3 object. For more information, see Log Amazon SageMaker Events with - * Amazon CloudWatch.

        - */ - FailureReason?: string; - - /** - *

        The name of the model used in the transform job.

        - */ - ModelName: string | undefined; - - /** - *

        The - * maximum number - * of - * parallel requests on each instance node - * that can be launched in a transform job. The default value is 1.

        - */ - MaxConcurrentTransforms?: number; - - /** - *

        The timeout and maximum number of retries for processing a transform job - * invocation.

        - */ - ModelClientConfig?: ModelClientConfig; - - /** - *

        The - * maximum - * payload size, in MB, used in the - * transform job.

        - */ - MaxPayloadInMB?: number; - - /** - *

        Specifies the number of records to include in a mini-batch for an HTTP inference - * request. - * A record - * is a single unit of input data that inference - * can be made on. For example, a single line in a CSV file is a record.

        - *

        To enable the batch strategy, you must set SplitType - * to - * Line, RecordIO, or - * TFRecord.

        - */ - BatchStrategy?: BatchStrategy | string; - - /** - *

        The - * environment variables to set in the Docker container. We support up to 16 key and values - * entries in the map.

        - */ - Environment?: { [key: string]: string }; - - /** - *

        Describes the dataset to be transformed and the Amazon S3 location where it is - * stored.

        - */ - TransformInput: TransformInput | undefined; - - /** - *

        Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the - * transform job.

        - */ - TransformOutput?: TransformOutput; - - /** - *

        Describes - * the resources, including ML instance types and ML instance count, to - * use for the transform job.

        - */ - TransformResources: TransformResources | undefined; - - /** - *

        A timestamp that shows when the transform Job was created.

        - */ - CreationTime: Date | undefined; - - /** - *

        Indicates when the transform job starts - * on - * ML instances. You are billed for the time interval between this time - * and the value of TransformEndTime.

        - */ - TransformStartTime?: Date; - - /** - *

        Indicates when the transform job has been - * - * completed, or has stopped or failed. You are billed for the time - * interval between this time and the value of TransformStartTime.

        - */ - TransformEndTime?: Date; - - /** - *

        The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the - * transform or training job.

        - */ - LabelingJobArn?: string; - - /** - *

        The Amazon Resource Name (ARN) of the AutoML transform job.

        - */ - AutoMLJobArn?: string; - - /** - *

        The data structure used to specify the data to be used for inference in a batch - * transform job and to associate the data that is relevant to the prediction results in - * the output. The input filter provided allows you to exclude input data that is not - * needed for inference in a batch transform job. The output filter provided allows you to - * include input data relevant to interpreting the predictions in the output from the job. - * For more information, see Associate Prediction - * Results with their Corresponding Input Records.

        - */ - DataProcessing?: DataProcessing; - - /** - *

        Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

        - * - */ - ExperimentConfig?: ExperimentConfig; -} - -export namespace DescribeTransformJobResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTransformJobResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/models/models_2.ts b/clients/client-sagemaker/models/models_2.ts index 193668049b84..b1076dff2834 100644 --- a/clients/client-sagemaker/models/models_2.ts +++ b/clients/client-sagemaker/models/models_2.ts @@ -63,7 +63,6 @@ import { DebugHookConfig, DebugRuleConfiguration, DebugRuleEvaluationStatus, - DeploymentConfig, DomainStatus, EdgePackagingJobStatus, EndpointStatus, @@ -107,23 +106,852 @@ import { ProcessingResources, ProcessingStoppingCondition, ProductionVariantSummary, + ProfilerConfig, + ProfilerRuleConfiguration, + ProfilerRuleEvaluationStatus, + ProfilingStatus, ProjectStatus, ScheduleStatus, - SecondaryStatus, - SecondaryStatusTransition, SourceAlgorithmSpecification, SourceIpConfig, + StudioLifecycleConfigAppType, SubscribedWorkteam, TensorBoardOutputConfig, TrainingJobStatus, TrainingJobStatusCounters, - TransformJobStatus, TrialComponentArtifact, TrialComponentParameterValue, TrialComponentStatus, _InstanceType, } from "./models_1"; +export enum SecondaryStatus { + COMPLETED = "Completed", + DOWNLOADING = "Downloading", + DOWNLOADING_TRAINING_IMAGE = "DownloadingTrainingImage", + FAILED = "Failed", + INTERRUPTED = "Interrupted", + LAUNCHING_ML_INSTANCES = "LaunchingMLInstances", + MAX_RUNTIME_EXCEEDED = "MaxRuntimeExceeded", + MAX_WAIT_TIME_EXCEEDED = "MaxWaitTimeExceeded", + PREPARING_TRAINING_STACK = "PreparingTrainingStack", + RESTARTING = "Restarting", + STARTING = "Starting", + STOPPED = "Stopped", + STOPPING = "Stopping", + TRAINING = "Training", + UPDATING = "Updating", + UPLOADING = "Uploading", +} + +/** + *

        An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. It provides + * additional details about a status that the training job has transitioned through. A + * training job can be in one of several states, for example, starting, downloading, + * training, or uploading. Within each state, there are a number of intermediate states. + * For example, within the starting state, Amazon SageMaker could be starting the training job or + * launching the ML instances. These transitional states are referred to as the job's + * secondary + * status. + *

        + *

        + */ +export interface SecondaryStatusTransition { + /** + *

        Contains a secondary status information from a training + * job.

        + *

        Status might be one of the following secondary statuses:

        + *
        + *
        InProgress
        + *
        + *
          + *
        • + *

          + * Starting + * - Starting the training job.

          + *
        • + *
        • + *

          + * Downloading - An optional stage for algorithms that + * support File training input mode. It indicates that + * data is being downloaded to the ML storage volumes.

          + *
        • + *
        • + *

          + * Training - Training is in progress.

          + *
        • + *
        • + *

          + * Uploading - Training is complete and the model + * artifacts are being uploaded to the S3 location.

          + *
        • + *
        + *
        + *
        Completed
        + *
        + *
          + *
        • + *

          + * Completed - The training job has completed.

          + *
        • + *
        + *
        + *
        Failed
        + *
        + *
          + *
        • + *

          + * Failed - The training job has failed. The reason for + * the failure is returned in the FailureReason field of + * DescribeTrainingJobResponse.

          + *
        • + *
        + *
        + *
        Stopped
        + *
        + *
          + *
        • + *

          + * MaxRuntimeExceeded - The job stopped because it + * exceeded the maximum allowed runtime.

          + *
        • + *
        • + *

          + * Stopped - The training job has stopped.

          + *
        • + *
        + *
        + *
        Stopping
        + *
        + *
          + *
        • + *

          + * Stopping - Stopping the training job.

          + *
        • + *
        + *
        + *
        + *

        We no longer support the following secondary statuses:

        + *
          + *
        • + *

          + * LaunchingMLInstances + *

          + *
        • + *
        • + *

          + * PreparingTrainingStack + *

          + *
        • + *
        • + *

          + * DownloadingTrainingImage + *

          + *
        • + *
        + */ + Status: SecondaryStatus | string | undefined; + + /** + *

        A timestamp that shows when the training job transitioned to the current secondary + * status state.

        + */ + StartTime: Date | undefined; + + /** + *

        A timestamp that shows when the training job transitioned out of this secondary status + * state into another secondary status state or when the training job has ended.

        + */ + EndTime?: Date; + + /** + *

        A detailed description of the progress within a secondary status. + *

        + *

        Amazon SageMaker provides secondary statuses and status messages that apply to each of + * them:

        + *
        + *
        Starting
        + *
        + *
          + *
        • + *

          Starting the training job.

          + *
        • + *
        • + *

          Launching requested ML + * instances.

          + *
        • + *
        • + *

          Insufficient + * capacity error from EC2 while launching instances, + * retrying!

          + *
        • + *
        • + *

          Launched + * instance was unhealthy, replacing it!

          + *
        • + *
        • + *

          Preparing the instances for training.

          + *
        • + *
        + *
        + *
        Training
        + *
        + *
          + *
        • + *

          Downloading the training image.

          + *
        • + *
        • + *

          Training + * image download completed. Training in + * progress.

          + *
        • + *
        + *
        + *
        + * + *

        Status messages are subject to change. Therefore, we recommend not including them + * in code that programmatically initiates actions. For examples, don't use status + * messages in if statements.

        + *
        + *

        To have an overview of your training job's progress, view + * TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For + * example, at the start of a training job, you might see the following:

        + *
          + *
        • + *

          + * TrainingJobStatus - InProgress

          + *
        • + *
        • + *

          + * SecondaryStatus - Training

          + *
        • + *
        • + *

          + * StatusMessage - Downloading the training image

          + *
        • + *
        + */ + StatusMessage?: string; +} + +export namespace SecondaryStatusTransition { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecondaryStatusTransition): any => ({ + ...obj, + }); +} + +export interface DescribeTrainingJobResponse { + /** + *

        Name of the model training job.

        + */ + TrainingJobName: string | undefined; + + /** + *

        The Amazon Resource Name (ARN) of the training job.

        + */ + TrainingJobArn: string | undefined; + + /** + *

        The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the + * training job was launched by a hyperparameter tuning job.

        + */ + TuningJobArn?: string; + + /** + *

        The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the + * transform or training job.

        + */ + LabelingJobArn?: string; + + /** + *

        The Amazon Resource Name (ARN) of an AutoML job.

        + */ + AutoMLJobArn?: string; + + /** + *

        Information about the Amazon S3 location that is configured for storing model artifacts. + *

        + */ + ModelArtifacts: ModelArtifacts | undefined; + + /** + *

        The status of the + * training + * job.

        + *

        Amazon SageMaker provides the following training job statuses:

        + *
          + *
        • + *

          + * InProgress - The training is in progress.

          + *
        • + *
        • + *

          + * Completed - The training job has completed.

          + *
        • + *
        • + *

          + * Failed - The training job has failed. To see the reason for the + * failure, see the FailureReason field in the response to a + * DescribeTrainingJobResponse call.

          + *
        • + *
        • + *

          + * Stopping - The training job is stopping.

          + *
        • + *
        • + *

          + * Stopped - The training job has stopped.

          + *
        • + *
        + *

        For + * more detailed information, see SecondaryStatus.

        + */ + TrainingJobStatus: TrainingJobStatus | string | undefined; + + /** + *

        Provides detailed information about the state of the training job. For detailed + * information on the secondary status of the training job, see StatusMessage + * under SecondaryStatusTransition.

        + *

        Amazon SageMaker provides primary statuses and secondary statuses that apply to each of + * them:

        + *
        + *
        InProgress
        + *
        + *
          + *
        • + *

          + * Starting + * - Starting the training job.

          + *
        • + *
        • + *

          + * Downloading - An optional stage for algorithms that + * support File training input mode. It indicates that + * data is being downloaded to the ML storage volumes.

          + *
        • + *
        • + *

          + * Training - Training is in progress.

          + *
        • + *
        • + *

          + * Interrupted - The job stopped because the managed + * spot training instances were interrupted.

          + *
        • + *
        • + *

          + * Uploading - Training is complete and the model + * artifacts are being uploaded to the S3 location.

          + *
        • + *
        + *
        + *
        Completed
        + *
        + *
          + *
        • + *

          + * Completed - The training job has completed.

          + *
        • + *
        + *
        + *
        Failed
        + *
        + *
          + *
        • + *

          + * Failed - The training job has failed. The reason for + * the failure is returned in the FailureReason field of + * DescribeTrainingJobResponse.

          + *
        • + *
        + *
        + *
        Stopped
        + *
        + *
          + *
        • + *

          + * MaxRuntimeExceeded - The job stopped because it + * exceeded the maximum allowed runtime.

          + *
        • + *
        • + *

          + * MaxWaitTimeExceeded - The job stopped because it + * exceeded the maximum allowed wait time.

          + *
        • + *
        • + *

          + * Stopped - The training job has stopped.

          + *
        • + *
        + *
        + *
        Stopping
        + *
        + *
          + *
        • + *

          + * Stopping - Stopping the training job.

          + *
        • + *
        + *
        + *
        + * + * + *

        Valid values for SecondaryStatus are subject to change.

        + *
        + *

        We no longer support the following secondary statuses:

        + *
          + *
        • + *

          + * LaunchingMLInstances + *

          + *
        • + *
        • + *

          + * PreparingTraining + *

          + *
        • + *
        • + *

          + * DownloadingTrainingImage + *

          + *
        • + *
        + */ + SecondaryStatus: SecondaryStatus | string | undefined; + + /** + *

        If the training job failed, the reason it failed.

        + */ + FailureReason?: string; + + /** + *

        Algorithm-specific parameters.

        + */ + HyperParameters?: { [key: string]: string }; + + /** + *

        Information about the algorithm used for training, and algorithm metadata. + *

        + */ + AlgorithmSpecification: AlgorithmSpecification | undefined; + + /** + *

        The Amazon Web Services Identity and Access Management (IAM) role configured for the training job.

        + */ + RoleArn?: string; + + /** + *

        An array of Channel objects that describes each data input channel. + *

        + */ + InputDataConfig?: Channel[]; + + /** + *

        The S3 path where model artifacts that you configured when creating the job are + * stored. Amazon SageMaker creates subfolders for model artifacts.

        + */ + OutputDataConfig?: OutputDataConfig; + + /** + *

        Resources, including ML compute instances and ML storage volumes, that are + * configured for model training.

        + */ + ResourceConfig: ResourceConfig | undefined; + + /** + *

        A VpcConfig object that specifies the VPC that this training job has + * access to. For more information, see Protect Training Jobs by Using an Amazon + * Virtual Private Cloud.

        + */ + VpcConfig?: VpcConfig; + + /** + *

        Specifies a limit to how long a model training job can run. It also specifies how long + * a managed Spot training job has to complete. When the job reaches the time limit, Amazon SageMaker + * ends the training job. Use this API to cap model training costs.

        + *

        To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays + * job termination for 120 seconds. Algorithms can use this 120-second window to save the + * model artifacts, so the results of training are not lost.

        + */ + StoppingCondition: StoppingCondition | undefined; + + /** + *

        A timestamp that indicates when the training job was created.

        + */ + CreationTime: Date | undefined; + + /** + *

        Indicates the time when the training job starts on training instances. You are + * billed for the time interval between this time and the value of + * TrainingEndTime. The start time in CloudWatch Logs might be later than this time. + * The difference is due to the time it takes to download the training data and to the size + * of the training container.

        + */ + TrainingStartTime?: Date; + + /** + *

        Indicates the time when the training job ends on training instances. You are billed + * for the time interval between the value of TrainingStartTime and this time. + * For successful jobs and stopped jobs, this is the time after model artifacts are + * uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

        + */ + TrainingEndTime?: Date; + + /** + *

        A timestamp that indicates when the status of the training job was last + * modified.

        + */ + LastModifiedTime?: Date; + + /** + *

        A history of all of the secondary statuses that the training job has transitioned + * through.

        + */ + SecondaryStatusTransitions?: SecondaryStatusTransition[]; + + /** + *

        A collection of MetricData objects that specify the names, values, and + * dates and times that the training algorithm emitted to Amazon CloudWatch.

        + */ + FinalMetricDataList?: MetricData[]; + + /** + *

        If you want to allow inbound or outbound network calls, except for calls between peers + * within a training cluster for distributed training, choose True. If you + * enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker + * downloads and uploads customer data and model artifacts through the specified VPC, but + * the training container does not have network access.

        + */ + EnableNetworkIsolation?: boolean; + + /** + *

        To encrypt all communications between ML compute instances in distributed training, + * choose True. Encryption provides greater security for distributed training, + * but training might take longer. How long it takes depends on the amount of communication + * between compute instances, especially if you use a deep learning algorithms in + * distributed training.

        + */ + EnableInterContainerTrafficEncryption?: boolean; + + /** + *

        A Boolean indicating whether managed spot training is enabled (True) or + * not (False).

        + */ + EnableManagedSpotTraining?: boolean; + + /** + *

        Contains information about the output location for managed spot training checkpoint + * data.

        + */ + CheckpointConfig?: CheckpointConfig; + + /** + *

        The training time in seconds.

        + */ + TrainingTimeInSeconds?: number; + + /** + *

        The billable time in seconds. Billable time refers to the absolute wall-clock + * time.

        + *

        Multiply BillableTimeInSeconds by the number of instances + * (InstanceCount) in your training cluster to get the total compute time + * Amazon SageMaker will bill you if you run distributed training. The formula is as follows: + * BillableTimeInSeconds * InstanceCount .

        + *

        You can calculate the savings from using managed spot training using the formula + * (1 - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, + * if BillableTimeInSeconds is 100 and TrainingTimeInSeconds is + * 500, the savings is 80%.

        + */ + BillableTimeInSeconds?: number; + + /** + *

        Configuration information for the Debugger hook parameters, metric and tensor collections, and + * storage paths. To learn more about + * how to configure the DebugHookConfig parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

        + */ + DebugHookConfig?: DebugHookConfig; + + /** + *

        Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

        + * + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

        Configuration information for Debugger rules for debugging output tensors.

        + */ + DebugRuleConfigurations?: DebugRuleConfiguration[]; + + /** + *

        Configuration of storage locations for the Debugger TensorBoard output data.

        + */ + TensorBoardOutputConfig?: TensorBoardOutputConfig; + + /** + *

        Evaluation status of Debugger rules for debugging on a training job.

        + */ + DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; + + /** + *

        Configuration information for Debugger system monitoring, framework profiling, and + * storage paths.

        + */ + ProfilerConfig?: ProfilerConfig; + + /** + *

        Configuration information for Debugger rules for profiling system and framework + * metrics.

        + */ + ProfilerRuleConfigurations?: ProfilerRuleConfiguration[]; + + /** + *

        Evaluation status of Debugger rules for profiling on a training job.

        + */ + ProfilerRuleEvaluationStatuses?: ProfilerRuleEvaluationStatus[]; + + /** + *

        Profiling status of a training job.

        + */ + ProfilingStatus?: ProfilingStatus | string; + + /** + *

        The number of times to retry the job when the job fails due to an + * InternalServerError.

        + */ + RetryStrategy?: RetryStrategy; + + /** + *

        The environment variables to set in the Docker container.

        + */ + Environment?: { [key: string]: string }; +} + +export namespace DescribeTrainingJobResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTrainingJobResponse): any => ({ + ...obj, + }); +} + +export interface DescribeTransformJobRequest { + /** + *

        The name of the transform job that you want to view details of.

        + */ + TransformJobName: string | undefined; +} + +export namespace DescribeTransformJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTransformJobRequest): any => ({ + ...obj, + }); +} + +export enum TransformJobStatus { + COMPLETED = "Completed", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + STOPPED = "Stopped", + STOPPING = "Stopping", +} + +export interface DescribeTransformJobResponse { + /** + *

        The name of the transform job.

        + */ + TransformJobName: string | undefined; + + /** + *

        The Amazon Resource Name (ARN) of the transform job.

        + */ + TransformJobArn: string | undefined; + + /** + *

        The + * status of the transform job. If the transform job failed, the reason + * is returned in the FailureReason field.

        + */ + TransformJobStatus: TransformJobStatus | string | undefined; + + /** + *

        If the transform job failed, FailureReason describes + * why + * it failed. A transform job creates a log file, which includes error + * messages, and stores it + * as + * an Amazon S3 object. For more information, see Log Amazon SageMaker Events with + * Amazon CloudWatch.

        + */ + FailureReason?: string; + + /** + *

        The name of the model used in the transform job.

        + */ + ModelName: string | undefined; + + /** + *

        The + * maximum number + * of + * parallel requests on each instance node + * that can be launched in a transform job. The default value is 1.

        + */ + MaxConcurrentTransforms?: number; + + /** + *

        The timeout and maximum number of retries for processing a transform job + * invocation.

        + */ + ModelClientConfig?: ModelClientConfig; + + /** + *

        The + * maximum + * payload size, in MB, used in the + * transform job.

        + */ + MaxPayloadInMB?: number; + + /** + *

        Specifies the number of records to include in a mini-batch for an HTTP inference + * request. + * A record + * is a single unit of input data that inference + * can be made on. For example, a single line in a CSV file is a record.

        + *

        To enable the batch strategy, you must set SplitType + * to + * Line, RecordIO, or + * TFRecord.

        + */ + BatchStrategy?: BatchStrategy | string; + + /** + *

        The + * environment variables to set in the Docker container. We support up to 16 key and values + * entries in the map.

        + */ + Environment?: { [key: string]: string }; + + /** + *

        Describes the dataset to be transformed and the Amazon S3 location where it is + * stored.

        + */ + TransformInput: TransformInput | undefined; + + /** + *

        Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the + * transform job.

        + */ + TransformOutput?: TransformOutput; + + /** + *

        Describes + * the resources, including ML instance types and ML instance count, to + * use for the transform job.

        + */ + TransformResources: TransformResources | undefined; + + /** + *

        A timestamp that shows when the transform Job was created.

        + */ + CreationTime: Date | undefined; + + /** + *

        Indicates when the transform job starts + * on + * ML instances. You are billed for the time interval between this time + * and the value of TransformEndTime.

        + */ + TransformStartTime?: Date; + + /** + *

        Indicates when the transform job has been + * + * completed, or has stopped or failed. You are billed for the time + * interval between this time and the value of TransformStartTime.

        + */ + TransformEndTime?: Date; + + /** + *

        The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the + * transform or training job.

        + */ + LabelingJobArn?: string; + + /** + *

        The Amazon Resource Name (ARN) of the AutoML transform job.

        + */ + AutoMLJobArn?: string; + + /** + *

        The data structure used to specify the data to be used for inference in a batch + * transform job and to associate the data that is relevant to the prediction results in + * the output. The input filter provided allows you to exclude input data that is not + * needed for inference in a batch transform job. The output filter provided allows you to + * include input data relevant to interpreting the predictions in the output from the job. + * For more information, see Associate Prediction + * Results with their Corresponding Input Records.

        + */ + DataProcessing?: DataProcessing; + + /** + *

        Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

        + * + */ + ExperimentConfig?: ExperimentConfig; +} + +export namespace DescribeTransformJobResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTransformJobResponse): any => ({ + ...obj, + }); +} + export interface DescribeTrialRequest { /** *

        The name of the trial to describe.

        @@ -6934,138 +7762,265 @@ export interface ListProcessingJobsResponse { NextToken?: string; } -export namespace ListProcessingJobsResponse { +export namespace ListProcessingJobsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListProcessingJobsResponse): any => ({ + ...obj, + }); +} + +export enum ProjectSortBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export enum ProjectSortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} + +export interface ListProjectsInput { + /** + *

        A filter that returns the projects that were created after a specified + * time.

        + */ + CreationTimeAfter?: Date; + + /** + *

        A filter that returns the projects that were created before a specified + * time.

        + */ + CreationTimeBefore?: Date; + + /** + *

        The maximum number of projects to return in the response.

        + */ + MaxResults?: number; + + /** + *

        A filter that returns the projects whose name contains a specified + * string.

        + */ + NameContains?: string; + + /** + *

        If the result of the previous ListProjects request was truncated, + * the response includes a NextToken. To retrieve the next set of projects, use the token in the next request.

        + */ + NextToken?: string; + + /** + *

        The field by which to sort results. The default is CreationTime.

        + */ + SortBy?: ProjectSortBy | string; + + /** + *

        The sort order for results. The default is Ascending.

        + */ + SortOrder?: ProjectSortOrder | string; +} + +export namespace ListProjectsInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListProjectsInput): any => ({ + ...obj, + }); +} + +/** + *

        Information about a project.

        + */ +export interface ProjectSummary { + /** + *

        The name of the project.

        + */ + ProjectName: string | undefined; + + /** + *

        The description of the project.

        + */ + ProjectDescription?: string; + + /** + *

        The Amazon Resource Name (ARN) of the project.

        + */ + ProjectArn: string | undefined; + + /** + *

        The ID of the project.

        + */ + ProjectId: string | undefined; + + /** + *

        The time that the project was created.

        + */ + CreationTime: Date | undefined; + + /** + *

        The status of the project.

        + */ + ProjectStatus: ProjectStatus | string | undefined; +} + +export namespace ProjectSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ProjectSummary): any => ({ + ...obj, + }); +} + +export interface ListProjectsOutput { + /** + *

        A list of summaries of projects.

        + */ + ProjectSummaryList: ProjectSummary[] | undefined; + + /** + *

        If the result of the previous ListCompilationJobs request was truncated, + * the response includes a NextToken. To retrieve the next set of model + * compilation jobs, use the token in the next request.

        + */ + NextToken?: string; +} + +export namespace ListProjectsOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ListProcessingJobsResponse): any => ({ + export const filterSensitiveLog = (obj: ListProjectsOutput): any => ({ ...obj, }); } -export enum ProjectSortBy { - CREATION_TIME = "CreationTime", - NAME = "Name", +export enum StudioLifecycleConfigSortKey { + CreationTime = "CreationTime", + LastModifiedTime = "LastModifiedTime", + Name = "Name", } -export enum ProjectSortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", -} +export interface ListStudioLifecycleConfigsRequest { + /** + *

        The maximum number of Studio Lifecycle Configurations to return in the response. The default value is 10.

        + */ + MaxResults?: number; -export interface ListProjectsInput { /** - *

        A filter that returns the projects that were created after a specified - * time.

        + *

        If the previous call to ListStudioLifecycleConfigs didn't return the full set of Lifecycle Configurations, the call returns a token for getting the next set of Lifecycle Configurations.

        */ - CreationTimeAfter?: Date; + NextToken?: string; /** - *

        A filter that returns the projects that were created before a specified - * time.

        + *

        A string in the Lifecycle Configuration name. This filter returns only Lifecycle Configurations whose name contains the specified string.

        + */ + NameContains?: string; + + /** + *

        A parameter to search for the App Type to which the Lifecycle Configuration is attached.

        + */ + AppTypeEquals?: StudioLifecycleConfigAppType | string; + + /** + *

        A filter that returns only Lifecycle Configurations created on or before the specified time.

        */ CreationTimeBefore?: Date; /** - *

        The maximum number of projects to return in the response.

        + *

        A filter that returns only Lifecycle Configurations created on or after the specified time.

        */ - MaxResults?: number; + CreationTimeAfter?: Date; /** - *

        A filter that returns the projects whose name contains a specified - * string.

        + *

        A filter that returns only Lifecycle Configurations modified before the specified time.

        */ - NameContains?: string; + ModifiedTimeBefore?: Date; /** - *

        If the result of the previous ListProjects request was truncated, - * the response includes a NextToken. To retrieve the next set of projects, use the token in the next request.

        + *

        A filter that returns only Lifecycle Configurations modified after the specified time.

        */ - NextToken?: string; + ModifiedTimeAfter?: Date; /** - *

        The field by which to sort results. The default is CreationTime.

        + *

        The property used to sort results. The default value is CreationTime.

        */ - SortBy?: ProjectSortBy | string; + SortBy?: StudioLifecycleConfigSortKey | string; /** - *

        The sort order for results. The default is Ascending.

        + *

        The sort order. The default value is Descending.

        */ - SortOrder?: ProjectSortOrder | string; + SortOrder?: SortOrder | string; } -export namespace ListProjectsInput { +export namespace ListStudioLifecycleConfigsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListProjectsInput): any => ({ + export const filterSensitiveLog = (obj: ListStudioLifecycleConfigsRequest): any => ({ ...obj, }); } /** - *

        Information about a project.

        + *

        Details of the Studio Lifecycle Configuration.

        */ -export interface ProjectSummary { - /** - *

        The name of the project.

        - */ - ProjectName: string | undefined; - +export interface StudioLifecycleConfigDetails { /** - *

        The description of the project.

        + *

        The Amazon Resource Name (ARN) of the Lifecycle Configuration.

        */ - ProjectDescription?: string; + StudioLifecycleConfigArn?: string; /** - *

        The Amazon Resource Name (ARN) of the project.

        + *

        The name of the Studio Lifecycle Configuration.

        */ - ProjectArn: string | undefined; + StudioLifecycleConfigName?: string; /** - *

        The ID of the project.

        + *

        The creation time of the Studio Lifecycle Configuration.

        */ - ProjectId: string | undefined; + CreationTime?: Date; /** - *

        The time that the project was created.

        + *

        This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

        */ - CreationTime: Date | undefined; + LastModifiedTime?: Date; /** - *

        The status of the project.

        + *

        The App type to which the Lifecycle Configuration is attached.

        */ - ProjectStatus: ProjectStatus | string | undefined; + StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; } -export namespace ProjectSummary { +export namespace StudioLifecycleConfigDetails { /** * @internal */ - export const filterSensitiveLog = (obj: ProjectSummary): any => ({ + export const filterSensitiveLog = (obj: StudioLifecycleConfigDetails): any => ({ ...obj, }); } -export interface ListProjectsOutput { +export interface ListStudioLifecycleConfigsResponse { /** - *

        A list of summaries of projects.

        + *

        A token for getting the next set of actions, if there are any.

        */ - ProjectSummaryList: ProjectSummary[] | undefined; + NextToken?: string; /** - *

        If the result of the previous ListCompilationJobs request was truncated, - * the response includes a NextToken. To retrieve the next set of model - * compilation jobs, use the token in the next request.

        + *

        A list of Lifecycle Configurations and their properties.

        */ - NextToken?: string; + StudioLifecycleConfigs?: StudioLifecycleConfigDetails[]; } -export namespace ListProjectsOutput { +export namespace ListStudioLifecycleConfigsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListProjectsOutput): any => ({ + export const filterSensitiveLog = (obj: ListStudioLifecycleConfigsResponse): any => ({ ...obj, }); } @@ -10365,255 +11320,3 @@ export namespace UpdateCodeRepositoryInput { ...obj, }); } - -export interface UpdateCodeRepositoryOutput { - /** - *

        The ARN of the Git repository.

        - */ - CodeRepositoryArn: string | undefined; -} - -export namespace UpdateCodeRepositoryOutput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateCodeRepositoryOutput): any => ({ - ...obj, - }); -} - -export interface UpdateContextRequest { - /** - *

        The name of the context to update.

        - */ - ContextName: string | undefined; - - /** - *

        The new description for the context.

        - */ - Description?: string; - - /** - *

        The new list of properties. Overwrites the current property list.

        - */ - Properties?: { [key: string]: string }; - - /** - *

        A list of properties to remove.

        - */ - PropertiesToRemove?: string[]; -} - -export namespace UpdateContextRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateContextRequest): any => ({ - ...obj, - }); -} - -export interface UpdateContextResponse { - /** - *

        The Amazon Resource Name (ARN) of the context.

        - */ - ContextArn?: string; -} - -export namespace UpdateContextResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateContextResponse): any => ({ - ...obj, - }); -} - -export interface UpdateDeviceFleetRequest { - /** - *

        The name of the fleet.

        - */ - DeviceFleetName: string | undefined; - - /** - *

        The Amazon Resource Name (ARN) of the device.

        - */ - RoleArn?: string; - - /** - *

        Description of the fleet.

        - */ - Description?: string; - - /** - *

        Output configuration for storing sample data collected by the fleet.

        - */ - OutputConfig: EdgeOutputConfig | undefined; - - /** - *

        Whether to create an Amazon Web Services IoT Role Alias during device fleet creation. - * The name of the role alias generated will match this pattern: - * "SageMakerEdge-{DeviceFleetName}".

        - *

        For example, if your device fleet is called "demo-fleet", the name of - * the role alias will be "SageMakerEdge-demo-fleet".

        - */ - EnableIotRoleAlias?: boolean; -} - -export namespace UpdateDeviceFleetRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateDeviceFleetRequest): any => ({ - ...obj, - }); -} - -export interface UpdateDevicesRequest { - /** - *

        The name of the fleet the devices belong to.

        - */ - DeviceFleetName: string | undefined; - - /** - *

        List of devices to register with Edge Manager agent.

        - */ - Devices: Device[] | undefined; -} - -export namespace UpdateDevicesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateDevicesRequest): any => ({ - ...obj, - }); -} - -export interface UpdateDomainRequest { - /** - *

        The ID of the domain to be updated.

        - */ - DomainId: string | undefined; - - /** - *

        A collection of settings.

        - */ - DefaultUserSettings?: UserSettings; -} - -export namespace UpdateDomainRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateDomainRequest): any => ({ - ...obj, - }); -} - -export interface UpdateDomainResponse { - /** - *

        The Amazon Resource Name (ARN) of the domain.

        - */ - DomainArn?: string; -} - -export namespace UpdateDomainResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateDomainResponse): any => ({ - ...obj, - }); -} - -export enum VariantPropertyType { - DataCaptureConfig = "DataCaptureConfig", - DesiredInstanceCount = "DesiredInstanceCount", - DesiredWeight = "DesiredWeight", -} - -/** - *

        Specifies a production variant property type for an Endpoint.

        - *

        If you are updating an endpoint with the UpdateEndpointInput$RetainAllVariantProperties option set to - * true, the VariantProperty objects listed in UpdateEndpointInput$ExcludeRetainedVariantProperties override the - * existing variant properties of the endpoint.

        - */ -export interface VariantProperty { - /** - *

        The type of variant property. The supported values are:

        - * - */ - VariantPropertyType: VariantPropertyType | string | undefined; -} - -export namespace VariantProperty { - /** - * @internal - */ - export const filterSensitiveLog = (obj: VariantProperty): any => ({ - ...obj, - }); -} - -export interface UpdateEndpointInput { - /** - *

        The name of the endpoint whose configuration you want to update.

        - */ - EndpointName: string | undefined; - - /** - *

        The name of the new endpoint configuration.

        - */ - EndpointConfigName: string | undefined; - - /** - *

        When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To - * retain the variant properties of an endpoint when updating it, set - * RetainAllVariantProperties to true. To use the variant - * properties specified in a new EndpointConfig call when updating an - * endpoint, set RetainAllVariantProperties to false. The default - * is false.

        - */ - RetainAllVariantProperties?: boolean; - - /** - *

        When you are updating endpoint resources with UpdateEndpointInput$RetainAllVariantProperties, whose value is set to - * true, ExcludeRetainedVariantProperties specifies the list - * of type VariantProperty to override with the values provided by - * EndpointConfig. If you don't specify a value for - * ExcludeAllVariantProperties, no variant properties are overridden. - *

        - */ - ExcludeRetainedVariantProperties?: VariantProperty[]; - - /** - *

        The deployment configuration for the endpoint to be updated.

        - */ - DeploymentConfig?: DeploymentConfig; -} - -export namespace UpdateEndpointInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateEndpointInput): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/models/models_3.ts b/clients/client-sagemaker/models/models_3.ts index 952debfddcf6..a495525ad7c5 100644 --- a/clients/client-sagemaker/models/models_3.ts +++ b/clients/client-sagemaker/models/models_3.ts @@ -1,5 +1,6 @@ -import { BooleanOperator, UserSettings } from "./models_0"; +import { BooleanOperator, EdgeOutputConfig, UserSettings } from "./models_0"; import { + DeploymentConfig, MemberDefinition, ModelApprovalStatus, MonitoringScheduleConfig, @@ -17,6 +18,7 @@ import { } from "./models_1"; import { DesiredWeightAndCapacity, + Device, Filter, NestedFilters, ProfilerConfigForUpdate, @@ -26,6 +28,258 @@ import { Workteam, } from "./models_2"; +export interface UpdateCodeRepositoryOutput { + /** + *

        The ARN of the Git repository.

        + */ + CodeRepositoryArn: string | undefined; +} + +export namespace UpdateCodeRepositoryOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateCodeRepositoryOutput): any => ({ + ...obj, + }); +} + +export interface UpdateContextRequest { + /** + *

        The name of the context to update.

        + */ + ContextName: string | undefined; + + /** + *

        The new description for the context.

        + */ + Description?: string; + + /** + *

        The new list of properties. Overwrites the current property list.

        + */ + Properties?: { [key: string]: string }; + + /** + *

        A list of properties to remove.

        + */ + PropertiesToRemove?: string[]; +} + +export namespace UpdateContextRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateContextRequest): any => ({ + ...obj, + }); +} + +export interface UpdateContextResponse { + /** + *

        The Amazon Resource Name (ARN) of the context.

        + */ + ContextArn?: string; +} + +export namespace UpdateContextResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateContextResponse): any => ({ + ...obj, + }); +} + +export interface UpdateDeviceFleetRequest { + /** + *

        The name of the fleet.

        + */ + DeviceFleetName: string | undefined; + + /** + *

        The Amazon Resource Name (ARN) of the device.

        + */ + RoleArn?: string; + + /** + *

        Description of the fleet.

        + */ + Description?: string; + + /** + *

        Output configuration for storing sample data collected by the fleet.

        + */ + OutputConfig: EdgeOutputConfig | undefined; + + /** + *

        Whether to create an Amazon Web Services IoT Role Alias during device fleet creation. + * The name of the role alias generated will match this pattern: + * "SageMakerEdge-{DeviceFleetName}".

        + *

        For example, if your device fleet is called "demo-fleet", the name of + * the role alias will be "SageMakerEdge-demo-fleet".

        + */ + EnableIotRoleAlias?: boolean; +} + +export namespace UpdateDeviceFleetRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateDeviceFleetRequest): any => ({ + ...obj, + }); +} + +export interface UpdateDevicesRequest { + /** + *

        The name of the fleet the devices belong to.

        + */ + DeviceFleetName: string | undefined; + + /** + *

        List of devices to register with Edge Manager agent.

        + */ + Devices: Device[] | undefined; +} + +export namespace UpdateDevicesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateDevicesRequest): any => ({ + ...obj, + }); +} + +export interface UpdateDomainRequest { + /** + *

        The ID of the domain to be updated.

        + */ + DomainId: string | undefined; + + /** + *

        A collection of settings.

        + */ + DefaultUserSettings?: UserSettings; +} + +export namespace UpdateDomainRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateDomainRequest): any => ({ + ...obj, + }); +} + +export interface UpdateDomainResponse { + /** + *

        The Amazon Resource Name (ARN) of the domain.

        + */ + DomainArn?: string; +} + +export namespace UpdateDomainResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateDomainResponse): any => ({ + ...obj, + }); +} + +export enum VariantPropertyType { + DataCaptureConfig = "DataCaptureConfig", + DesiredInstanceCount = "DesiredInstanceCount", + DesiredWeight = "DesiredWeight", +} + +/** + *

        Specifies a production variant property type for an Endpoint.

        + *

        If you are updating an endpoint with the UpdateEndpointInput$RetainAllVariantProperties option set to + * true, the VariantProperty objects listed in UpdateEndpointInput$ExcludeRetainedVariantProperties override the + * existing variant properties of the endpoint.

        + */ +export interface VariantProperty { + /** + *

        The type of variant property. The supported values are:

        + * + */ + VariantPropertyType: VariantPropertyType | string | undefined; +} + +export namespace VariantProperty { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VariantProperty): any => ({ + ...obj, + }); +} + +export interface UpdateEndpointInput { + /** + *

        The name of the endpoint whose configuration you want to update.

        + */ + EndpointName: string | undefined; + + /** + *

        The name of the new endpoint configuration.

        + */ + EndpointConfigName: string | undefined; + + /** + *

        When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To + * retain the variant properties of an endpoint when updating it, set + * RetainAllVariantProperties to true. To use the variant + * properties specified in a new EndpointConfig call when updating an + * endpoint, set RetainAllVariantProperties to false. The default + * is false.

        + */ + RetainAllVariantProperties?: boolean; + + /** + *

        When you are updating endpoint resources with UpdateEndpointInput$RetainAllVariantProperties, whose value is set to + * true, ExcludeRetainedVariantProperties specifies the list + * of type VariantProperty to override with the values provided by + * EndpointConfig. If you don't specify a value for + * ExcludeAllVariantProperties, no variant properties are overridden. + *

        + */ + ExcludeRetainedVariantProperties?: VariantProperty[]; + + /** + *

        The deployment configuration for the endpoint to be updated.

        + */ + DeploymentConfig?: DeploymentConfig; +} + +export namespace UpdateEndpointInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateEndpointInput): any => ({ + ...obj, + }); +} + export interface UpdateEndpointOutput { /** *

        The Amazon Resource Name (ARN) of the endpoint.

        diff --git a/clients/client-sagemaker/pagination/ListStudioLifecycleConfigsPaginator.ts b/clients/client-sagemaker/pagination/ListStudioLifecycleConfigsPaginator.ts new file mode 100644 index 000000000000..200b47970a9a --- /dev/null +++ b/clients/client-sagemaker/pagination/ListStudioLifecycleConfigsPaginator.ts @@ -0,0 +1,58 @@ +import { SageMaker } from "../SageMaker"; +import { SageMakerClient } from "../SageMakerClient"; +import { + ListStudioLifecycleConfigsCommand, + ListStudioLifecycleConfigsCommandInput, + ListStudioLifecycleConfigsCommandOutput, +} from "../commands/ListStudioLifecycleConfigsCommand"; +import { SageMakerPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: SageMakerClient, + input: ListStudioLifecycleConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStudioLifecycleConfigsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: SageMaker, + input: ListStudioLifecycleConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStudioLifecycleConfigs(input, ...args); +}; +export async function* paginateListStudioLifecycleConfigs( + config: SageMakerPaginationConfiguration, + input: ListStudioLifecycleConfigsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListStudioLifecycleConfigsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SageMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SageMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SageMaker | SageMakerClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sagemaker/protocols/Aws_json1_1.ts b/clients/client-sagemaker/protocols/Aws_json1_1.ts index c535a5ca8116..1b201df66395 100644 --- a/clients/client-sagemaker/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/protocols/Aws_json1_1.ts @@ -95,6 +95,10 @@ import { CreateProcessingJobCommandOutput, } from "../commands/CreateProcessingJobCommand"; import { CreateProjectCommandInput, CreateProjectCommandOutput } from "../commands/CreateProjectCommand"; +import { + CreateStudioLifecycleConfigCommandInput, + CreateStudioLifecycleConfigCommandOutput, +} from "../commands/CreateStudioLifecycleConfigCommand"; import { CreateTrainingJobCommandInput, CreateTrainingJobCommandOutput } from "../commands/CreateTrainingJobCommand"; import { CreateTransformJobCommandInput, CreateTransformJobCommandOutput } from "../commands/CreateTransformJobCommand"; import { CreateTrialCommandInput, CreateTrialCommandOutput } from "../commands/CreateTrialCommand"; @@ -175,6 +179,10 @@ import { } from "../commands/DeleteNotebookInstanceLifecycleConfigCommand"; import { DeletePipelineCommandInput, DeletePipelineCommandOutput } from "../commands/DeletePipelineCommand"; import { DeleteProjectCommandInput, DeleteProjectCommandOutput } from "../commands/DeleteProjectCommand"; +import { + DeleteStudioLifecycleConfigCommandInput, + DeleteStudioLifecycleConfigCommandOutput, +} from "../commands/DeleteStudioLifecycleConfigCommand"; import { DeleteTagsCommandInput, DeleteTagsCommandOutput } from "../commands/DeleteTagsCommand"; import { DeleteTrialCommandInput, DeleteTrialCommandOutput } from "../commands/DeleteTrialCommand"; import { @@ -295,6 +303,10 @@ import { DescribeProcessingJobCommandOutput, } from "../commands/DescribeProcessingJobCommand"; import { DescribeProjectCommandInput, DescribeProjectCommandOutput } from "../commands/DescribeProjectCommand"; +import { + DescribeStudioLifecycleConfigCommandInput, + DescribeStudioLifecycleConfigCommandOutput, +} from "../commands/DescribeStudioLifecycleConfigCommand"; import { DescribeSubscribedWorkteamCommandInput, DescribeSubscribedWorkteamCommandOutput, @@ -452,6 +464,10 @@ import { import { ListPipelinesCommandInput, ListPipelinesCommandOutput } from "../commands/ListPipelinesCommand"; import { ListProcessingJobsCommandInput, ListProcessingJobsCommandOutput } from "../commands/ListProcessingJobsCommand"; import { ListProjectsCommandInput, ListProjectsCommandOutput } from "../commands/ListProjectsCommand"; +import { + ListStudioLifecycleConfigsCommandInput, + ListStudioLifecycleConfigsCommandOutput, +} from "../commands/ListStudioLifecycleConfigsCommand"; import { ListSubscribedWorkteamsCommandInput, ListSubscribedWorkteamsCommandOutput, @@ -832,6 +848,8 @@ import { CreateProcessingJobResponse, CreateProjectInput, CreateProjectOutput, + CreateStudioLifecycleConfigRequest, + CreateStudioLifecycleConfigResponse, CreateTrainingJobRequest, CreateTrainingJobResponse, CreateTransformJobRequest, @@ -893,6 +911,7 @@ import { DeletePipelineRequest, DeletePipelineResponse, DeleteProjectInput, + DeleteStudioLifecycleConfigRequest, DeleteTagsInput, DeleteTagsOutput, DeleteTrialComponentRequest, @@ -983,12 +1002,11 @@ import { DescribeProcessingJobResponse, DescribeProjectInput, DescribeProjectOutput, + DescribeStudioLifecycleConfigRequest, + DescribeStudioLifecycleConfigResponse, DescribeSubscribedWorkteamRequest, DescribeSubscribedWorkteamResponse, DescribeTrainingJobRequest, - DescribeTrainingJobResponse, - DescribeTransformJobRequest, - DescribeTransformJobResponse, EdgeModel, EdgePresetDeploymentOutput, ExperimentConfig, @@ -1051,7 +1069,6 @@ import { ResolvedAttributes, RetentionPolicy, ScheduleConfig, - SecondaryStatusTransition, ServiceCatalogProvisionedProductDetails, ServiceCatalogProvisioningDetails, SourceAlgorithm, @@ -1066,6 +1083,9 @@ import { UiTemplateInfo, } from "../models/models_1"; import { + DescribeTrainingJobResponse, + DescribeTransformJobRequest, + DescribeTransformJobResponse, DescribeTrialComponentRequest, DescribeTrialComponentResponse, DescribeTrialRequest, @@ -1203,6 +1223,8 @@ import { ListProcessingJobsResponse, ListProjectsInput, ListProjectsOutput, + ListStudioLifecycleConfigsRequest, + ListStudioLifecycleConfigsResponse, ListSubscribedWorkteamsRequest, ListSubscribedWorkteamsResponse, ListTagsInput, @@ -1261,6 +1283,7 @@ import { RenderingError, SearchRecord, SearchResponse, + SecondaryStatusTransition, SendPipelineExecutionStepFailureRequest, SendPipelineExecutionStepFailureResponse, SendPipelineExecutionStepSuccessRequest, @@ -1281,6 +1304,7 @@ import { StopProcessingJobRequest, StopTrainingJobRequest, StopTransformJobRequest, + StudioLifecycleConfigDetails, SuggestionQuery, TrainingJob, TrainingJobStepMetadata, @@ -1305,6 +1329,13 @@ import { UpdateArtifactRequest, UpdateArtifactResponse, UpdateCodeRepositoryInput, + UserProfileDetails, + Workforce, + Workteam, +} from "../models/models_2"; +import { + SearchExpression, + SearchRequest, UpdateCodeRepositoryOutput, UpdateContextRequest, UpdateContextResponse, @@ -1313,14 +1344,6 @@ import { UpdateDomainRequest, UpdateDomainResponse, UpdateEndpointInput, - UserProfileDetails, - VariantProperty, - Workforce, - Workteam, -} from "../models/models_2"; -import { - SearchExpression, - SearchRequest, UpdateEndpointOutput, UpdateEndpointWeightsAndCapacitiesInput, UpdateEndpointWeightsAndCapacitiesOutput, @@ -1352,6 +1375,7 @@ import { UpdateWorkforceResponse, UpdateWorkteamRequest, UpdateWorkteamResponse, + VariantProperty, } from "../models/models_3"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { @@ -1898,6 +1922,19 @@ export const serializeAws_json1_1CreateProjectCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateStudioLifecycleConfigCommand = async ( + input: CreateStudioLifecycleConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.CreateStudioLifecycleConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateStudioLifecycleConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateTrainingJobCommand = async ( input: CreateTrainingJobCommandInput, context: __SerdeContext @@ -2392,6 +2429,19 @@ export const serializeAws_json1_1DeleteProjectCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteStudioLifecycleConfigCommand = async ( + input: DeleteStudioLifecycleConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.DeleteStudioLifecycleConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteStudioLifecycleConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteTagsCommand = async ( input: DeleteTagsCommandInput, context: __SerdeContext @@ -2977,6 +3027,19 @@ export const serializeAws_json1_1DescribeProjectCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeStudioLifecycleConfigCommand = async ( + input: DescribeStudioLifecycleConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.DescribeStudioLifecycleConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeStudioLifecycleConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeSubscribedWorkteamCommand = async ( input: DescribeSubscribedWorkteamCommandInput, context: __SerdeContext @@ -3731,6 +3794,19 @@ export const serializeAws_json1_1ListProjectsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListStudioLifecycleConfigsCommand = async ( + input: ListStudioLifecycleConfigsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.ListStudioLifecycleConfigs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListStudioLifecycleConfigsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListSubscribedWorkteamsCommand = async ( input: ListSubscribedWorkteamsCommandInput, context: __SerdeContext @@ -6747,6 +6823,60 @@ const deserializeAws_json1_1CreateProjectCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateStudioLifecycleConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateStudioLifecycleConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateStudioLifecycleConfigResponse(data, context); + const response: CreateStudioLifecycleConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateStudioLifecycleConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceInUse": + case "com.amazonaws.sagemaker#ResourceInUse": + response = { + ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1CreateTrainingJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -8760,6 +8890,65 @@ const deserializeAws_json1_1DeleteProjectCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteStudioLifecycleConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteStudioLifecycleConfigCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteStudioLifecycleConfigCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteStudioLifecycleConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceInUse": + case "com.amazonaws.sagemaker#ResourceInUse": + response = { + ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DeleteTagsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -11088,6 +11277,60 @@ const deserializeAws_json1_1DescribeProjectCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeStudioLifecycleConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeStudioLifecycleConfigResponse(data, context); + const response: DescribeStudioLifecycleConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DescribeSubscribedWorkteamCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -13884,6 +14127,60 @@ const deserializeAws_json1_1ListProjectsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListStudioLifecycleConfigsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListStudioLifecycleConfigsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListStudioLifecycleConfigsResponse(data, context); + const response: ListStudioLifecycleConfigsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListStudioLifecycleConfigsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceInUse": + case "com.amazonaws.sagemaker#ResourceInUse": + response = { + ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1ListSubscribedWorkteamsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -18425,6 +18722,25 @@ const serializeAws_json1_1CreateProjectInput = (input: CreateProjectInput, conte }; }; +const serializeAws_json1_1CreateStudioLifecycleConfigRequest = ( + input: CreateStudioLifecycleConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.StudioLifecycleConfigAppType !== undefined && + input.StudioLifecycleConfigAppType !== null && { + StudioLifecycleConfigAppType: input.StudioLifecycleConfigAppType, + }), + ...(input.StudioLifecycleConfigContent !== undefined && + input.StudioLifecycleConfigContent !== null && { + StudioLifecycleConfigContent: input.StudioLifecycleConfigContent, + }), + ...(input.StudioLifecycleConfigName !== undefined && + input.StudioLifecycleConfigName !== null && { StudioLifecycleConfigName: input.StudioLifecycleConfigName }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreateTrainingJobRequest = ( input: CreateTrainingJobRequest, context: __SerdeContext @@ -19128,6 +19444,16 @@ const serializeAws_json1_1DeleteProjectInput = (input: DeleteProjectInput, conte }; }; +const serializeAws_json1_1DeleteStudioLifecycleConfigRequest = ( + input: DeleteStudioLifecycleConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.StudioLifecycleConfigName !== undefined && + input.StudioLifecycleConfigName !== null && { StudioLifecycleConfigName: input.StudioLifecycleConfigName }), + }; +}; + const serializeAws_json1_1DeleteTagsInput = (input: DeleteTagsInput, context: __SerdeContext): any => { return { ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), @@ -19541,6 +19867,16 @@ const serializeAws_json1_1DescribeProjectInput = (input: DescribeProjectInput, c }; }; +const serializeAws_json1_1DescribeStudioLifecycleConfigRequest = ( + input: DescribeStudioLifecycleConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.StudioLifecycleConfigName !== undefined && + input.StudioLifecycleConfigName !== null && { StudioLifecycleConfigName: input.StudioLifecycleConfigName }), + }; +}; + const serializeAws_json1_1DescribeSubscribedWorkteamRequest = ( input: DescribeSubscribedWorkteamRequest, context: __SerdeContext @@ -20368,6 +20704,10 @@ const serializeAws_json1_1JupyterServerAppSettings = ( input.DefaultResourceSpec !== null && { DefaultResourceSpec: serializeAws_json1_1ResourceSpec(input.DefaultResourceSpec, context), }), + ...(input.LifecycleConfigArns !== undefined && + input.LifecycleConfigArns !== null && { + LifecycleConfigArns: serializeAws_json1_1LifecycleConfigArns(input.LifecycleConfigArns, context), + }), }; }; @@ -20382,6 +20722,10 @@ const serializeAws_json1_1KernelGatewayAppSettings = ( input.DefaultResourceSpec !== null && { DefaultResourceSpec: serializeAws_json1_1ResourceSpec(input.DefaultResourceSpec, context), }), + ...(input.LifecycleConfigArns !== undefined && + input.LifecycleConfigArns !== null && { + LifecycleConfigArns: serializeAws_json1_1LifecycleConfigArns(input.LifecycleConfigArns, context), + }), }; }; @@ -20525,6 +20869,17 @@ const serializeAws_json1_1LabelingJobStoppingConditions = ( }; }; +const serializeAws_json1_1LifecycleConfigArns = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1LineageEntityParameters = ( input: { [key: string]: string }, context: __SerdeContext @@ -21458,6 +21813,32 @@ const serializeAws_json1_1ListProjectsInput = (input: ListProjectsInput, context }; }; +const serializeAws_json1_1ListStudioLifecycleConfigsRequest = ( + input: ListStudioLifecycleConfigsRequest, + context: __SerdeContext +): any => { + return { + ...(input.AppTypeEquals !== undefined && input.AppTypeEquals !== null && { AppTypeEquals: input.AppTypeEquals }), + ...(input.CreationTimeAfter !== undefined && + input.CreationTimeAfter !== null && { CreationTimeAfter: Math.round(input.CreationTimeAfter.getTime() / 1000) }), + ...(input.CreationTimeBefore !== undefined && + input.CreationTimeBefore !== null && { + CreationTimeBefore: Math.round(input.CreationTimeBefore.getTime() / 1000), + }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.ModifiedTimeAfter !== undefined && + input.ModifiedTimeAfter !== null && { ModifiedTimeAfter: Math.round(input.ModifiedTimeAfter.getTime() / 1000) }), + ...(input.ModifiedTimeBefore !== undefined && + input.ModifiedTimeBefore !== null && { + ModifiedTimeBefore: Math.round(input.ModifiedTimeBefore.getTime() / 1000), + }), + ...(input.NameContains !== undefined && input.NameContains !== null && { NameContains: input.NameContains }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.SortBy !== undefined && input.SortBy !== null && { SortBy: input.SortBy }), + ...(input.SortOrder !== undefined && input.SortOrder !== null && { SortOrder: input.SortOrder }), + }; +}; + const serializeAws_json1_1ListSubscribedWorkteamsRequest = ( input: ListSubscribedWorkteamsRequest, context: __SerdeContext @@ -22903,6 +23284,8 @@ const serializeAws_json1_1ResourceLimits = (input: ResourceLimits, context: __Se const serializeAws_json1_1ResourceSpec = (input: ResourceSpec, context: __SerdeContext): any => { return { ...(input.InstanceType !== undefined && input.InstanceType !== null && { InstanceType: input.InstanceType }), + ...(input.LifecycleConfigArn !== undefined && + input.LifecycleConfigArn !== null && { LifecycleConfigArn: input.LifecycleConfigArn }), ...(input.SageMakerImageArn !== undefined && input.SageMakerImageArn !== null && { SageMakerImageArn: input.SageMakerImageArn }), ...(input.SageMakerImageVersionArn !== undefined && @@ -25638,6 +26021,15 @@ const deserializeAws_json1_1CreateProjectOutput = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1CreateStudioLifecycleConfigResponse = ( + output: any, + context: __SerdeContext +): CreateStudioLifecycleConfigResponse => { + return { + StudioLifecycleConfigArn: __expectString(output.StudioLifecycleConfigArn), + } as any; +}; + const deserializeAws_json1_1CreateTrainingJobResponse = ( output: any, context: __SerdeContext @@ -27409,6 +27801,26 @@ const deserializeAws_json1_1DescribeProjectOutput = (output: any, context: __Ser } as any; }; +const deserializeAws_json1_1DescribeStudioLifecycleConfigResponse = ( + output: any, + context: __SerdeContext +): DescribeStudioLifecycleConfigResponse => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, + StudioLifecycleConfigAppType: __expectString(output.StudioLifecycleConfigAppType), + StudioLifecycleConfigArn: __expectString(output.StudioLifecycleConfigArn), + StudioLifecycleConfigContent: __expectString(output.StudioLifecycleConfigContent), + StudioLifecycleConfigName: __expectString(output.StudioLifecycleConfigName), + } as any; +}; + const deserializeAws_json1_1DescribeSubscribedWorkteamResponse = ( output: any, context: __SerdeContext @@ -29050,6 +29462,10 @@ const deserializeAws_json1_1JupyterServerAppSettings = ( output.DefaultResourceSpec !== undefined && output.DefaultResourceSpec !== null ? deserializeAws_json1_1ResourceSpec(output.DefaultResourceSpec, context) : undefined, + LifecycleConfigArns: + output.LifecycleConfigArns !== undefined && output.LifecycleConfigArns !== null + ? deserializeAws_json1_1LifecycleConfigArns(output.LifecycleConfigArns, context) + : undefined, } as any; }; @@ -29066,6 +29482,10 @@ const deserializeAws_json1_1KernelGatewayAppSettings = ( output.DefaultResourceSpec !== undefined && output.DefaultResourceSpec !== null ? deserializeAws_json1_1ResourceSpec(output.DefaultResourceSpec, context) : undefined, + LifecycleConfigArns: + output.LifecycleConfigArns !== undefined && output.LifecycleConfigArns !== null + ? deserializeAws_json1_1LifecycleConfigArns(output.LifecycleConfigArns, context) + : undefined, } as any; }; @@ -29318,6 +29738,17 @@ const deserializeAws_json1_1LambdaStepMetadata = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1LifecycleConfigArns = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_json1_1LineageEntityParameters = ( output: any, context: __SerdeContext @@ -29856,6 +30287,19 @@ const deserializeAws_json1_1ListProjectsOutput = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1ListStudioLifecycleConfigsResponse = ( + output: any, + context: __SerdeContext +): ListStudioLifecycleConfigsResponse => { + return { + NextToken: __expectString(output.NextToken), + StudioLifecycleConfigs: + output.StudioLifecycleConfigs !== undefined && output.StudioLifecycleConfigs !== null + ? deserializeAws_json1_1StudioLifecycleConfigsList(output.StudioLifecycleConfigs, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListSubscribedWorkteamsResponse = ( output: any, context: __SerdeContext @@ -32179,6 +32623,7 @@ const deserializeAws_json1_1ResourceNotFound = (output: any, context: __SerdeCon const deserializeAws_json1_1ResourceSpec = (output: any, context: __SerdeContext): ResourceSpec => { return { InstanceType: __expectString(output.InstanceType), + LifecycleConfigArn: __expectString(output.LifecycleConfigArn), SageMakerImageArn: __expectString(output.SageMakerImageArn), SageMakerImageVersionArn: __expectString(output.SageMakerImageVersionArn), } as any; @@ -32469,6 +32914,39 @@ const deserializeAws_json1_1StopPipelineExecutionResponse = ( } as any; }; +const deserializeAws_json1_1StudioLifecycleConfigDetails = ( + output: any, + context: __SerdeContext +): StudioLifecycleConfigDetails => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, + StudioLifecycleConfigAppType: __expectString(output.StudioLifecycleConfigAppType), + StudioLifecycleConfigArn: __expectString(output.StudioLifecycleConfigArn), + StudioLifecycleConfigName: __expectString(output.StudioLifecycleConfigName), + } as any; +}; + +const deserializeAws_json1_1StudioLifecycleConfigsList = ( + output: any, + context: __SerdeContext +): StudioLifecycleConfigDetails[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1StudioLifecycleConfigDetails(entry, context); + }); +}; + const deserializeAws_json1_1Subnets = (output: any, context: __SerdeContext): string[] => { return (output || []) .filter((e: any) => e != null) diff --git a/clients/client-servicediscovery/endpoints.ts b/clients/client-servicediscovery/endpoints.ts index 58fa85d86e11..2c41626b3bb5 100644 --- a/clients/client-servicediscovery/endpoints.ts +++ b/clients/client-servicediscovery/endpoints.ts @@ -3,8 +3,8 @@ import { RegionInfoProvider } from "@aws-sdk/types"; const regionHash: RegionHash = { "servicediscovery-fips": { - hostname: "servicediscovery-fips.ca-central-1.amazonaws.com", - signingRegion: "ca-central-1", + hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com", + signingRegion: "us-gov-west-1", }, }; @@ -49,7 +49,7 @@ const partitionHash: PartitionHash = { hostname: "servicediscovery.{region}.sc2s.sgov.gov", }, "aws-us-gov": { - regions: ["us-gov-east-1", "us-gov-west-1"], + regions: ["servicediscovery-fips", "us-gov-east-1", "us-gov-west-1"], hostname: "servicediscovery.{region}.amazonaws.com", }, }; diff --git a/clients/client-ssm-contacts/README.md b/clients/client-ssm-contacts/README.md index 7c0672680f6b..22bd8b477b21 100644 --- a/clients/client-ssm-contacts/README.md +++ b/clients/client-ssm-contacts/README.md @@ -7,14 +7,14 @@ AWS SDK for JavaScript SSMContacts Client for Node.js, Browser and React Native. -

        AWS Systems Manager Incident Manager is an incident management console designed to help -users mitigate and recover from incidents affecting their AWS-hosted applications. An incident -is any unplanned interruption or reduction in quality of services.

        +

        Systems Manager Incident Manager is an incident management console designed to help users +mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. +An incident is any unplanned interruption or reduction in quality of services.

        Incident Manager increases incident resolution by notifying responders of impact, -highlighting relevant troubleshooting data, and providing collaboration tools to get services -back up and running. To achieve the primary goal of reducing the time-to-resolution of -critical incidents, Incident Manager automates response plans and enables responder team -escalation.

        +highlighting relevant troubleshooting data, and providing collaboration tools to get +services back up and running. To achieve the primary goal of reducing the +time-to-resolution of critical incidents, Incident Manager automates response plans +and enables responder team escalation.

        ## Installing diff --git a/clients/client-ssm-contacts/SSMContacts.ts b/clients/client-ssm-contacts/SSMContacts.ts index f3eab47f4568..c1fcb259a57a 100644 --- a/clients/client-ssm-contacts/SSMContacts.ts +++ b/clients/client-ssm-contacts/SSMContacts.ts @@ -125,14 +125,14 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

        AWS Systems Manager Incident Manager is an incident management console designed to help - * users mitigate and recover from incidents affecting their AWS-hosted applications. An incident - * is any unplanned interruption or reduction in quality of services.

        + *

        Systems Manager Incident Manager is an incident management console designed to help users + * mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. + * An incident is any unplanned interruption or reduction in quality of services.

        *

        Incident Manager increases incident resolution by notifying responders of impact, - * highlighting relevant troubleshooting data, and providing collaboration tools to get services - * back up and running. To achieve the primary goal of reducing the time-to-resolution of - * critical incidents, Incident Manager automates response plans and enables responder team - * escalation.

        + * highlighting relevant troubleshooting data, and providing collaboration tools to get + * services back up and running. To achieve the primary goal of reducing the + * time-to-resolution of critical incidents, Incident Manager automates response plans + * and enables responder team escalation.

        */ export class SSMContacts extends SSMContactsClient { /** @@ -162,8 +162,7 @@ export class SSMContacts extends SSMContactsClient { } /** - *

        Activates a contact's contact channel. Incident Manager can't engage a contact until - * the + *

        Activates a contact's contact channel. Incident Manager can't engage a contact until the * contact channel has been activated.

        */ public activateContactChannel( @@ -772,7 +771,7 @@ export class SSMContacts extends SSMContactsClient { /** *

        Sends an activation code to a contact channel. The contact can use this code to activate - * the contact channel in the console or with the ActivateChannel action. + * the contact channel in the console or with the ActivateChannel operation. * Incident Manager can't engage a contact channel until it has been activated.

        */ public sendActivationCode( diff --git a/clients/client-ssm-contacts/SSMContactsClient.ts b/clients/client-ssm-contacts/SSMContactsClient.ts index bc1ab32b374d..6715bd29954c 100644 --- a/clients/client-ssm-contacts/SSMContactsClient.ts +++ b/clients/client-ssm-contacts/SSMContactsClient.ts @@ -298,14 +298,14 @@ type SSMContactsClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpH export interface SSMContactsClientResolvedConfig extends SSMContactsClientResolvedConfigType {} /** - *

        AWS Systems Manager Incident Manager is an incident management console designed to help - * users mitigate and recover from incidents affecting their AWS-hosted applications. An incident - * is any unplanned interruption or reduction in quality of services.

        + *

        Systems Manager Incident Manager is an incident management console designed to help users + * mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. + * An incident is any unplanned interruption or reduction in quality of services.

        *

        Incident Manager increases incident resolution by notifying responders of impact, - * highlighting relevant troubleshooting data, and providing collaboration tools to get services - * back up and running. To achieve the primary goal of reducing the time-to-resolution of - * critical incidents, Incident Manager automates response plans and enables responder team - * escalation.

        + * highlighting relevant troubleshooting data, and providing collaboration tools to get + * services back up and running. To achieve the primary goal of reducing the + * time-to-resolution of critical incidents, Incident Manager automates response plans + * and enables responder team escalation.

        */ export class SSMContactsClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-ssm-contacts/commands/ActivateContactChannelCommand.ts b/clients/client-ssm-contacts/commands/ActivateContactChannelCommand.ts index 3b1777b5e50e..bc5faea15706 100644 --- a/clients/client-ssm-contacts/commands/ActivateContactChannelCommand.ts +++ b/clients/client-ssm-contacts/commands/ActivateContactChannelCommand.ts @@ -21,8 +21,7 @@ export interface ActivateContactChannelCommandInput extends ActivateContactChann export interface ActivateContactChannelCommandOutput extends ActivateContactChannelResult, __MetadataBearer {} /** - *

        Activates a contact's contact channel. Incident Manager can't engage a contact until - * the + *

        Activates a contact's contact channel. Incident Manager can't engage a contact until the * contact channel has been activated.

        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ssm-contacts/commands/SendActivationCodeCommand.ts b/clients/client-ssm-contacts/commands/SendActivationCodeCommand.ts index 03948601fed2..3f7fba6667fa 100644 --- a/clients/client-ssm-contacts/commands/SendActivationCodeCommand.ts +++ b/clients/client-ssm-contacts/commands/SendActivationCodeCommand.ts @@ -22,7 +22,7 @@ export interface SendActivationCodeCommandOutput extends SendActivationCodeResul /** *

        Sends an activation code to a contact channel. The contact can use this code to activate - * the contact channel in the console or with the ActivateChannel action. + * the contact channel in the console or with the ActivateChannel operation. * Incident Manager can't engage a contact channel until it has been activated.

        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ssm-contacts/models/models_0.ts b/clients/client-ssm-contacts/models/models_0.ts index 9af7a575a537..679389ad9645 100644 --- a/clients/client-ssm-contacts/models/models_0.ts +++ b/clients/client-ssm-contacts/models/models_0.ts @@ -37,12 +37,11 @@ export interface AcceptPageRequest { AcceptCode: string | undefined; /** - *

        An - * optional field that Incident Manager uses to ENFORCE - * AcceptCode validation when acknowledging an page. - * Acknowledgement can occur by replying to a page, or when entering the AcceptCode in the - * console. Enforcing AcceptCode validation causes Incident Manager to verify that the code - * entered by the user matches the code sent by Incident Manager with the page.

        + *

        An optional field that Incident Manager uses to ENFORCE + * AcceptCode validation when acknowledging an page. Acknowledgement can occur by + * replying to a page, or when entering the AcceptCode in the console. Enforcing AcceptCode + * validation causes Incident Manager to verify that the code entered by the user matches the + * code sent by Incident Manager with the page.

        *

        Incident Manager can also IGNORE * AcceptCode validation. Ignoring AcceptCode validation causes * Incident Manager to accept any value entered for the AcceptCode.

        @@ -71,7 +70,7 @@ export namespace AcceptPageResult { } /** - *

        You don't have sufficient access to perform this action.

        + *

        You don't have sufficient access to perform this operation.

        */ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -112,9 +111,7 @@ export namespace InternalServerException { } /** - *

        Request references a resource that - * doesn't - * exist.

        + *

        Request references a resource that doesn't exist.

        */ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; @@ -204,8 +201,7 @@ export enum ValidationExceptionReason { } /** - *

        The input fails to satisfy the constraints specified by an - * AWS + *

        The input fails to satisfy the constraints specified by an Amazon Web Services * service.

        */ export interface ValidationException extends __SmithyException, $MetadataBearer { @@ -482,7 +478,7 @@ export namespace ContactTargetInfo { } /** - *

        The contact or contact channel that is being engaged.

        + *

        The contact or contact channel that's being engaged.

        */ export interface Target { /** @@ -610,7 +606,8 @@ export interface CreateContactRequest { Tags?: Tag[]; /** - *

        A token ensuring that the action is called only once with the specified details.

        + *

        A token ensuring that the operation is called only once with the specified + * details.

        */ IdempotencyToken?: string; } @@ -641,7 +638,7 @@ export namespace CreateContactResult { } /** - *

        The action failed to due an encryption key error.

        + *

        The operation failed to due an encryption key error.

        */ export interface DataEncryptionException extends __SmithyException, $MetadataBearer { name: "DataEncryptionException"; @@ -753,7 +750,8 @@ export interface CreateContactChannelRequest { DeferActivation?: boolean; /** - *

        A token ensuring that the action is called only once with the specified details.

        + *

        A token ensuring that the operation is called only once with the specified + * details.

        */ IdempotencyToken?: string; } @@ -769,7 +767,7 @@ export namespace CreateContactChannelRequest { export interface CreateContactChannelResult { /** - *

        The ARN of the contact channel.

        + *

        The Amazon Resource Name (ARN) of the contact channel.

        */ ContactChannelArn: string | undefined; } @@ -1779,7 +1777,8 @@ export interface StartEngagementRequest { IncidentId?: string; /** - *

        A token ensuring that the action is called only once with the specified details.

        + *

        A token ensuring that the operation is called only once with the specified + * details.

        */ IdempotencyToken?: string; } @@ -1950,7 +1949,7 @@ export interface UpdateContactChannelRequest { ContactChannelId: string | undefined; /** - *

        The name of the contact channel

        + *

        The name of the contact channel.

        */ Name?: string; diff --git a/clients/client-transcribe/models/models_0.ts b/clients/client-transcribe/models/models_0.ts index a7dd3e3f057a..076f58ce83a1 100644 --- a/clients/client-transcribe/models/models_0.ts +++ b/clients/client-transcribe/models/models_0.ts @@ -2102,8 +2102,9 @@ export interface JobExecutionSettings { /** *

        Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit is exceeded. When the * AllowDeferredExecution field is true, jobs are queued and executed when the number of executing - * jobs falls below the concurrent execution limit. If the field is false, Amazon Transcribe returns a LimitExceededException - * exception.

        + * jobs falls below the concurrent execution limit. If the field is false, Amazon Transcribe returns a + * LimitExceededException exception.

        + *

        Note that job queuing is enabled by default for call analytics jobs.

        *

        If you specify the AllowDeferredExecution field, you must specify the * DataAccessRoleArn field.

        */ @@ -3453,6 +3454,12 @@ export interface StartMedicalTranscriptionJobRequest { */ OutputEncryptionKMSKeyId?: string; + /** + *

        A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added + * layer of security for your data.

        + */ + KMSEncryptionContext?: { [key: string]: string }; + /** *

        Optional settings for the medical transcription job.

        */ @@ -3602,6 +3609,12 @@ export interface StartTranscriptionJobRequest { */ OutputEncryptionKMSKeyId?: string; + /** + *

        A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added + * layer of security for your data.

        + */ + KMSEncryptionContext?: { [key: string]: string }; + /** *

        A Settings object that provides optional settings for a transcription job.

        */ diff --git a/clients/client-transcribe/protocols/Aws_json1_1.ts b/clients/client-transcribe/protocols/Aws_json1_1.ts index e96ba21b047d..4be24c72291d 100644 --- a/clients/client-transcribe/protocols/Aws_json1_1.ts +++ b/clients/client-transcribe/protocols/Aws_json1_1.ts @@ -4127,6 +4127,21 @@ const serializeAws_json1_1JobExecutionSettings = (input: JobExecutionSettings, c }; }; +const serializeAws_json1_1KMSEncryptionContextMap = ( + input: { [key: string]: string }, + context: __SerdeContext +): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: value, + }; + }, {}); +}; + const serializeAws_json1_1LanguageOptions = (input: (LanguageCode | string)[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -4413,6 +4428,10 @@ const serializeAws_json1_1StartMedicalTranscriptionJobRequest = ( return { ...(input.ContentIdentificationType !== undefined && input.ContentIdentificationType !== null && { ContentIdentificationType: input.ContentIdentificationType }), + ...(input.KMSEncryptionContext !== undefined && + input.KMSEncryptionContext !== null && { + KMSEncryptionContext: serializeAws_json1_1KMSEncryptionContextMap(input.KMSEncryptionContext, context), + }), ...(input.LanguageCode !== undefined && input.LanguageCode !== null && { LanguageCode: input.LanguageCode }), ...(input.Media !== undefined && input.Media !== null && { Media: serializeAws_json1_1Media(input.Media, context) }), @@ -4451,6 +4470,10 @@ const serializeAws_json1_1StartTranscriptionJobRequest = ( input.JobExecutionSettings !== null && { JobExecutionSettings: serializeAws_json1_1JobExecutionSettings(input.JobExecutionSettings, context), }), + ...(input.KMSEncryptionContext !== undefined && + input.KMSEncryptionContext !== null && { + KMSEncryptionContext: serializeAws_json1_1KMSEncryptionContextMap(input.KMSEncryptionContext, context), + }), ...(input.LanguageCode !== undefined && input.LanguageCode !== null && { LanguageCode: input.LanguageCode }), ...(input.LanguageOptions !== undefined && input.LanguageOptions !== null && { diff --git a/clients/client-xray/README.md b/clients/client-xray/README.md index 1cbcdadf5bc7..29045b8cd85c 100644 --- a/clients/client-xray/README.md +++ b/clients/client-xray/README.md @@ -7,7 +7,7 @@ AWS SDK for JavaScript XRay Client for Node.js, Browser and React Native. -

        AWS X-Ray provides APIs for managing debug traces and retrieving service maps +

        Amazon Web Services X-Ray provides APIs for managing debug traces and retrieving service maps and other data created by processing those traces.

        ## Installing diff --git a/clients/client-xray/XRay.ts b/clients/client-xray/XRay.ts index df881ecd5883..cc376b7acb8c 100644 --- a/clients/client-xray/XRay.ts +++ b/clients/client-xray/XRay.ts @@ -109,7 +109,7 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

        AWS X-Ray provides APIs for managing debug traces and retrieving service maps + *

        Amazon Web Services X-Ray provides APIs for managing debug traces and retrieving service maps * and other data created by processing those traces.

        */ export class XRay extends XRayClient { @@ -175,10 +175,10 @@ export class XRay extends XRayClient { /** *

        Creates a rule to control sampling behavior for instrumented applications. Services - * retrieve rules with GetSamplingRules, and evaluate each rule in ascending + * retrieve rules with GetSamplingRules, and evaluate each rule in ascending * order of priority for each request. If a rule matches, the service * records a trace, borrowing it from the reservoir size. After 10 seconds, the service - * reports back to X-Ray with GetSamplingTargets to get updated versions of + * reports back to X-Ray with GetSamplingTargets to get updated versions of * each in-use rule. The updated rule contains a trace quota that the service can use instead * of borrowing from the reservoir.

        */ @@ -580,8 +580,8 @@ export class XRay extends XRayClient { /** *

        Retrieves a document that describes services that process incoming requests, and * downstream services that they call as a result. Root services process incoming requests and - * make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. - * Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL + * make calls to downstream services. Root services are applications that use the Amazon Web Services X-Ray SDK. + * Downstream services can be other applications, Amazon Web Services resources, HTTP web APIs, or SQL * databases.

        */ public getServiceGraph( @@ -695,7 +695,7 @@ export class XRay extends XRayClient { *

        *

        For a full list of indexed fields and keywords that you can use in filter expressions, * see Using Filter - * Expressions in the AWS X-Ray Developer Guide.

        + * Expressions in the Amazon Web Services X-Ray Developer Guide.

        */ public getTraceSummaries( args: GetTraceSummariesCommandInput, @@ -727,7 +727,7 @@ export class XRay extends XRayClient { } /** - *

        Returns a list of tags that are applied to the specified AWS X-Ray group or sampling rule.

        + *

        Returns a list of tags that are applied to the specified Amazon Web Services X-Ray group or sampling rule.

        */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -791,7 +791,7 @@ export class XRay extends XRayClient { } /** - *

        Used by the AWS X-Ray daemon to upload telemetry.

        + *

        Used by the Amazon Web Services X-Ray daemon to upload telemetry.

        */ public putTelemetryRecords( args: PutTelemetryRecordsCommandInput, @@ -823,12 +823,12 @@ export class XRay extends XRayClient { } /** - *

        Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in + *

        Uploads segment documents to Amazon Web Services X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in * batches. A segment document can be a completed segment, an in-progress segment, or an array of * subsegments.

        *

        Segments must include the following fields. For the full segment document schema, see - * AWS X-Ray - * Segment Documents in the AWS X-Ray Developer Guide.

        + * Amazon Web Services X-Ray + * Segment Documents in the Amazon Web Services X-Ray Developer Guide.

        *

        * Required segment document fields *

        @@ -917,7 +917,7 @@ export class XRay extends XRayClient { } /** - *

        Applies tags to an existing AWS X-Ray group or sampling rule.

        + *

        Applies tags to an existing Amazon Web Services X-Ray group or sampling rule.

        */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; @@ -943,7 +943,7 @@ export class XRay extends XRayClient { } /** - *

        Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or delete system + *

        Removes tags from an Amazon Web Services X-Ray group or sampling rule. You cannot edit or delete system * tags (those with an aws: prefix).

        */ public untagResource( diff --git a/clients/client-xray/XRayClient.ts b/clients/client-xray/XRayClient.ts index 7c6da99fd70e..df8b182a634e 100644 --- a/clients/client-xray/XRayClient.ts +++ b/clients/client-xray/XRayClient.ts @@ -298,7 +298,7 @@ type XRayClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerO export interface XRayClientResolvedConfig extends XRayClientResolvedConfigType {} /** - *

        AWS X-Ray provides APIs for managing debug traces and retrieving service maps + *

        Amazon Web Services X-Ray provides APIs for managing debug traces and retrieving service maps * and other data created by processing those traces.

        */ export class XRayClient extends __Client< diff --git a/clients/client-xray/commands/CreateSamplingRuleCommand.ts b/clients/client-xray/commands/CreateSamplingRuleCommand.ts index bfd428e41204..5453081231a3 100644 --- a/clients/client-xray/commands/CreateSamplingRuleCommand.ts +++ b/clients/client-xray/commands/CreateSamplingRuleCommand.ts @@ -22,10 +22,10 @@ export interface CreateSamplingRuleCommandOutput extends CreateSamplingRuleResul /** *

        Creates a rule to control sampling behavior for instrumented applications. Services - * retrieve rules with GetSamplingRules, and evaluate each rule in ascending + * retrieve rules with GetSamplingRules, and evaluate each rule in ascending * order of priority for each request. If a rule matches, the service * records a trace, borrowing it from the reservoir size. After 10 seconds, the service - * reports back to X-Ray with GetSamplingTargets to get updated versions of + * reports back to X-Ray with GetSamplingTargets to get updated versions of * each in-use rule. The updated rule contains a trace quota that the service can use instead * of borrowing from the reservoir.

        * @example diff --git a/clients/client-xray/commands/GetServiceGraphCommand.ts b/clients/client-xray/commands/GetServiceGraphCommand.ts index c089dc2d839f..182ac3fbc4ec 100644 --- a/clients/client-xray/commands/GetServiceGraphCommand.ts +++ b/clients/client-xray/commands/GetServiceGraphCommand.ts @@ -23,8 +23,8 @@ export interface GetServiceGraphCommandOutput extends GetServiceGraphResult, __M /** *

        Retrieves a document that describes services that process incoming requests, and * downstream services that they call as a result. Root services process incoming requests and - * make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. - * Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL + * make calls to downstream services. Root services are applications that use the Amazon Web Services X-Ray SDK. + * Downstream services can be other applications, Amazon Web Services resources, HTTP web APIs, or SQL * databases.

        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-xray/commands/GetTraceSummariesCommand.ts b/clients/client-xray/commands/GetTraceSummariesCommand.ts index 73f18cd2ea3a..8d6e6774abc4 100644 --- a/clients/client-xray/commands/GetTraceSummariesCommand.ts +++ b/clients/client-xray/commands/GetTraceSummariesCommand.ts @@ -37,7 +37,7 @@ export interface GetTraceSummariesCommandOutput extends GetTraceSummariesResult, *

        *

        For a full list of indexed fields and keywords that you can use in filter expressions, * see Using Filter - * Expressions in the AWS X-Ray Developer Guide.

        + * Expressions in the Amazon Web Services X-Ray Developer Guide.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-xray/commands/ListTagsForResourceCommand.ts b/clients/client-xray/commands/ListTagsForResourceCommand.ts index 9a2e919d38df..99587963b745 100644 --- a/clients/client-xray/commands/ListTagsForResourceCommand.ts +++ b/clients/client-xray/commands/ListTagsForResourceCommand.ts @@ -21,7 +21,7 @@ export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequ export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {} /** - *

        Returns a list of tags that are applied to the specified AWS X-Ray group or sampling rule.

        + *

        Returns a list of tags that are applied to the specified Amazon Web Services X-Ray group or sampling rule.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-xray/commands/PutTelemetryRecordsCommand.ts b/clients/client-xray/commands/PutTelemetryRecordsCommand.ts index 13f04317dc1a..d566c88500b4 100644 --- a/clients/client-xray/commands/PutTelemetryRecordsCommand.ts +++ b/clients/client-xray/commands/PutTelemetryRecordsCommand.ts @@ -21,7 +21,7 @@ export interface PutTelemetryRecordsCommandInput extends PutTelemetryRecordsRequ export interface PutTelemetryRecordsCommandOutput extends PutTelemetryRecordsResult, __MetadataBearer {} /** - *

        Used by the AWS X-Ray daemon to upload telemetry.

        + *

        Used by the Amazon Web Services X-Ray daemon to upload telemetry.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-xray/commands/PutTraceSegmentsCommand.ts b/clients/client-xray/commands/PutTraceSegmentsCommand.ts index ed8a6b00ba15..d45bb2434e95 100644 --- a/clients/client-xray/commands/PutTraceSegmentsCommand.ts +++ b/clients/client-xray/commands/PutTraceSegmentsCommand.ts @@ -21,12 +21,12 @@ export interface PutTraceSegmentsCommandInput extends PutTraceSegmentsRequest {} export interface PutTraceSegmentsCommandOutput extends PutTraceSegmentsResult, __MetadataBearer {} /** - *

        Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in + *

        Uploads segment documents to Amazon Web Services X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in * batches. A segment document can be a completed segment, an in-progress segment, or an array of * subsegments.

        *

        Segments must include the following fields. For the full segment document schema, see - * AWS X-Ray - * Segment Documents in the AWS X-Ray Developer Guide.

        + * Amazon Web Services X-Ray + * Segment Documents in the Amazon Web Services X-Ray Developer Guide.

        *

        * Required segment document fields *

        diff --git a/clients/client-xray/commands/TagResourceCommand.ts b/clients/client-xray/commands/TagResourceCommand.ts index 791436491dfb..92581d37d1f5 100644 --- a/clients/client-xray/commands/TagResourceCommand.ts +++ b/clients/client-xray/commands/TagResourceCommand.ts @@ -21,7 +21,7 @@ export interface TagResourceCommandInput extends TagResourceRequest {} export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} /** - *

        Applies tags to an existing AWS X-Ray group or sampling rule.

        + *

        Applies tags to an existing Amazon Web Services X-Ray group or sampling rule.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-xray/commands/UntagResourceCommand.ts b/clients/client-xray/commands/UntagResourceCommand.ts index 32e300379e22..253da762ef9d 100644 --- a/clients/client-xray/commands/UntagResourceCommand.ts +++ b/clients/client-xray/commands/UntagResourceCommand.ts @@ -21,7 +21,7 @@ export interface UntagResourceCommandInput extends UntagResourceRequest {} export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} /** - *

        Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or delete system + *

        Removes tags from an Amazon Web Services X-Ray group or sampling rule. You cannot edit or delete system * tags (those with an aws: prefix).

        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-xray/models/models_0.ts b/clients/client-xray/models/models_0.ts index 4b6353e1b290..5ad596b5c1bd 100644 --- a/clients/client-xray/models/models_0.ts +++ b/clients/client-xray/models/models_0.ts @@ -221,11 +221,11 @@ export namespace BatchGetTracesRequest { /** *

        A segment from a trace that has been ingested by the X-Ray service. The segment can be - * compiled from documents uploaded with PutTraceSegments, or an + * compiled from documents uploaded with PutTraceSegments, or an * inferred segment for a downstream service, generated from a subsegment sent by * the service that called it.

        - *

        For the full segment document schema, see AWS X-Ray Segment - * Documents in the AWS X-Ray Developer Guide.

        + *

        For the full segment document schema, see Amazon Web Services X-Ray Segment + * Documents in the Amazon Web Services X-Ray Developer Guide.

        */ export interface Segment { /** @@ -266,7 +266,7 @@ export interface Trace { /** *

        LimitExceeded is set to true when the trace has exceeded one of the defined quotas. For - * more information about quotas, see AWS X-Ray endpoints and quotas.

        + * more information about quotas, see Amazon Web Services X-Ray endpoints and quotas.

        */ LimitExceeded?: boolean; @@ -374,9 +374,9 @@ export namespace InsightsConfiguration { } /** - *

        A map that contains tag keys and tag values to attach to an AWS X-Ray group or sampling - * rule. For more information about ways to use tags, see Tagging AWS resources - * in the AWS General Reference.

        + *

        A map that contains tag keys and tag values to attach to an Amazon Web Services X-Ray group or sampling + * rule. For more information about ways to use tags, see Tagging Amazon Web Services resources + * in the Amazon Web Services General Reference.

        *

        The following restrictions apply to tags:

        *
          *
        • @@ -386,7 +386,7 @@ export namespace InsightsConfiguration { *

          Tag keys and values are case sensitive.

          *
        • *
        • - *

          Don't use aws: as a prefix for keys; it's reserved for AWS use. You + *

          Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services use. You * cannot edit or delete system tags.

          *
        • *
        @@ -448,8 +448,8 @@ export interface CreateGroupRequest { /** *

        A map that contains one or more tag keys and tag values to attach to an X-Ray group. - * For more information about ways to use tags, see Tagging AWS - * resources in the AWS General Reference.

        + * For more information about ways to use tags, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference.

        *

        The following restrictions apply to tags:

        *
          *
        • @@ -469,7 +469,7 @@ export interface CreateGroupRequest { *

          Tag keys and values are case sensitive.

          *
        • *
        • - *

          Don't use aws: as a prefix for keys; it's reserved for AWS + *

          Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services * use.

          *
        • *
        @@ -513,7 +513,7 @@ export interface Group { * group or false to disable insights for the group.

        * *
      • - *

        The NotifcationsEnabled boolean can be set to true to enable insights + *

        The NotificationsEnabled boolean can be set to true to enable insights * notifications through Amazon EventBridge for the group.

        *
      • *
      @@ -565,7 +565,7 @@ export interface SamplingRule { RuleARN?: string; /** - *

      Matches the ARN of the AWS resource on which the service runs.

      + *

      Matches the ARN of the Amazon Web Services resource on which the service runs.

      */ ResourceARN: string | undefined; @@ -639,8 +639,8 @@ export interface CreateSamplingRuleRequest { /** *

      A map that contains one or more tag keys and tag values to attach to an X-Ray sampling - * rule. For more information about ways to use tags, see Tagging AWS - * resources in the AWS General Reference.

      + * rule. For more information about ways to use tags, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference.

      *

      The following restrictions apply to tags:

      *
        *
      • @@ -660,7 +660,7 @@ export interface CreateSamplingRuleRequest { *

        Tag keys and values are case sensitive.

        *
      • *
      • - *

        Don't use aws: as a prefix for keys; it's reserved for AWS + *

        Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services * use.

        *
      • *
      @@ -678,7 +678,7 @@ export namespace CreateSamplingRuleRequest { } /** - *

      A SamplingRule and its metadata.

      + *

      A SamplingRule and its metadata.

      */ export interface SamplingRuleRecord { /** @@ -835,7 +835,7 @@ export enum EncryptionType { */ export interface EncryptionConfig { /** - *

      The ID of the customer master key (CMK) used for encryption, if applicable.

      + *

      The ID of the KMS key used for encryption, if applicable.

      */ KeyId?: string; @@ -845,7 +845,7 @@ export interface EncryptionConfig { Status?: EncryptionStatus | string; /** - *

      The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for + *

      The type of encryption. Set to KMS for encryption with KMS keys. Set to NONE for * default encryption.

      */ Type?: EncryptionType | string; @@ -1299,15 +1299,15 @@ export interface InsightImpactGraphService { *

      Identifier for the service. Unique within the service map.

      *
        *
      • - *

        AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for an application running + *

        Amazon Web Services Resource - The type of an Amazon Web Services resource. For example, AWS::EC2::Instance for an application running * on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used.

        *
      • *
      • - *

        AWS Service - The type of an AWS service. For example, AWS::DynamoDB for downstream calls to Amazon + *

        Amazon Web Services Service - The type of an Amazon Web Services service. For example, AWS::DynamoDB for downstream calls to Amazon * DynamoDB that didn't target a specific table.

        *
      • *
      • - *

        AWS Service - The type of an AWS service. For example, AWS::DynamoDB for downstream calls to Amazon + *

        Amazon Web Services Service - The type of an Amazon Web Services service. For example, AWS::DynamoDB for downstream calls to Amazon * DynamoDB that didn't target a specific table.

        *
      • *
      • @@ -1328,7 +1328,7 @@ export interface InsightImpactGraphService { Names?: string[]; /** - *

        Identifier of the AWS account in which the service runs.

        + *

        Identifier of the Amazon Web Services account in which the service runs.

        */ AccountId?: string; @@ -1374,7 +1374,7 @@ export interface GetInsightImpactGraphResult { ServiceGraphEndTime?: Date; /** - *

        The AWS instrumented services related to the insight.

        + *

        The Amazon Web Services instrumented services related to the insight.

        */ Services?: InsightImpactGraphService[]; @@ -1661,7 +1661,7 @@ export namespace GetSamplingStatisticSummariesResult { /** *

        Request sampling results for a single rule from a service. Results are for the last 10 * seconds unless the service has been assigned a longer reporting interval after a previous call - * to GetSamplingTargets.

        + * to GetSamplingTargets.

        */ export interface SamplingStatisticsDocument { /** @@ -1722,7 +1722,8 @@ export namespace GetSamplingTargetsRequest { /** *

        Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray - * calculates a new reservoir for each service based on the recent sampling results of all services that called GetSamplingTargets.

        + * calculates a new reservoir for each service based on the recent sampling results of all services that called + * GetSamplingTargets.

        */ export interface SamplingTargetDocument { /** @@ -1763,7 +1764,7 @@ export namespace SamplingTargetDocument { } /** - *

        Sampling statistics from a call to GetSamplingTargets that X-Ray + *

        Sampling statistics from a call to GetSamplingTargets that X-Ray * could not process.

        */ export interface UnprocessedStatistics { @@ -1801,12 +1802,12 @@ export interface GetSamplingTargetsResult { /** *

        The last time a user changed the sampling rule configuration. If * the sampling rule configuration changed since the service last retrieved it, the service - * should call GetSamplingRules to get the latest version.

        + * should call GetSamplingRules to get the latest version.

        */ LastRuleModification?: Date; /** - *

        Information about SamplingStatisticsDocument that X-Ray could not + *

        Information about SamplingStatisticsDocument that X-Ray could not * process.

        */ UnprocessedStatistics?: UnprocessedStatistics[]; @@ -2085,7 +2086,7 @@ export interface Service { Root?: boolean; /** - *

        Identifier of the AWS account in which the service runs.

        + *

        Identifier of the Amazon Web Services account in which the service runs.

        */ AccountId?: string; @@ -2093,12 +2094,12 @@ export interface Service { *

        The type of service.

        *
          *
        • - *

          AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for an + *

          Amazon Web Services Resource - The type of an Amazon Web Services resource. For example, AWS::EC2::Instance for an * application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the * application used.

          *
        • *
        • - *

          AWS Service - The type of an AWS service. For example, AWS::DynamoDB + *

          Amazon Web Services Service - The type of an Amazon Web Services service. For example, AWS::DynamoDB * for downstream calls to Amazon DynamoDB that didn't target a specific table.

          *
        • *
        • @@ -3122,7 +3123,7 @@ export namespace ResourceNotFoundException { export interface PutEncryptionConfigRequest { /** - *

          An AWS KMS customer master key (CMK) in one of the following formats:

          + *

          An Amazon Web Services KMS key in one of the following formats:

          *
            *
          • *

            @@ -3132,7 +3133,7 @@ export interface PutEncryptionConfigRequest { *

          • *

            * Key ID - The KMS key ID of the key. For example, - * ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. AWS X-Ray does not support asymmetric CMKs.

            + * ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon Web Services X-Ray does not support asymmetric KMS keys.

            *
          • *
          • *

            @@ -3378,8 +3379,8 @@ export interface TagResourceRequest { /** *

            A map that contains one or more tag keys and tag values to attach to an X-Ray group or - * sampling rule. For more information about ways to use tags, see Tagging AWS resources - * in the AWS General Reference.

            + * sampling rule. For more information about ways to use tags, see Tagging Amazon Web Services resources + * in the Amazon Web Services General Reference.

            *

            The following restrictions apply to tags:

            *
              *
            • @@ -3399,7 +3400,7 @@ export interface TagResourceRequest { *

              Tag keys and values are case sensitive.

              *
            • *
            • - *

              Don't use aws: as a prefix for keys; it's reserved for AWS use. You + *

              Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services use. You * cannot edit or delete system tags.

              *
            • *
            @@ -3552,7 +3553,7 @@ export interface SamplingRuleUpdate { RuleARN?: string; /** - *

            Matches the ARN of the AWS resource on which the service runs.

            + *

            Matches the ARN of the Amazon Web Services resource on which the service runs.

            */ ResourceARN?: string;