From e4bb390fea1ba2886122ac4a02e9b70aecf19348 Mon Sep 17 00:00:00 2001
From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com>
Date: Mon, 1 Jul 2024 23:01:51 +0000
Subject: [PATCH 1/7] chore(clients): generate clients with current commit
---
.../src/commands/DeriveSharedSecretCommand.ts | 20 ----
.../src/commands/CreateBucketCommand.ts | 26 ++---
.../src/commands/DeleteObjectCommand.ts | 20 ++--
.../commands/DeleteObjectTaggingCommand.ts | 22 ++--
.../src/commands/GetObjectCommand.ts | 38 +++----
.../src/commands/GetObjectTaggingCommand.ts | 38 +++----
.../src/commands/PutObjectCommand.ts | 100 +++++++++---------
.../src/commands/UploadPartCopyCommand.ts | 26 ++---
clients/client-sso-oidc/package.json | 6 +-
9 files changed, 138 insertions(+), 158 deletions(-)
diff --git a/clients/client-kms/src/commands/DeriveSharedSecretCommand.ts b/clients/client-kms/src/commands/DeriveSharedSecretCommand.ts
index fcd748773ef4..4825550e664d 100644
--- a/clients/client-kms/src/commands/DeriveSharedSecretCommand.ts
+++ b/clients/client-kms/src/commands/DeriveSharedSecretCommand.ts
@@ -230,26 +230,6 @@ export interface DeriveSharedSecretCommandOutput extends DeriveSharedSecretRespo
* const input = {
* "KeyAgreementAlgorithm": "ECDH",
* "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
- * "PublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag+iSK341kr2kFTpINN7T1ZaX9vfXBdGR+VtkRKMWoHQeWzHrPZ+3irvpXNCKxGUxmPNsJSjPUhuSXT5+0VrY/LEYLQ5lUTrhU6z5/OK0kzaCc66DXc5ipSloS4Xyg+QcYSMxe9xuqO5HtzFImUSKBm1W6eDT6lHnSbpi7vXzNbIX7pWxKw9nmQvQIDAQAB"
- * };
- * const command = new DeriveSharedSecretCommand(input);
- * const response = await client.send(command);
- * /* response ==
- * {
- * "KeyAgreementAlgorithm": "ECDH",
- * "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
- * "SharedSecret": "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG"
- * }
- * *\/
- * // example id: to-derive-a-shared-secret-1716220614829
- * ```
- *
- * @example To derive a shared secret
- * ```javascript
- * // The following example derives a shared secret using a key agreement algorithm.
- * const input = {
- * "KeyAgreementAlgorithm": "ECDH",
- * "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
* "PublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag"
* };
* const command = new DeriveSharedSecretCommand(input);
diff --git a/clients/client-s3/src/commands/CreateBucketCommand.ts b/clients/client-s3/src/commands/CreateBucketCommand.ts
index c462775fd666..46fc512357db 100644
--- a/clients/client-s3/src/commands/CreateBucketCommand.ts
+++ b/clients/client-s3/src/commands/CreateBucketCommand.ts
@@ -218,39 +218,39 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
*
Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To create a bucket
+ * @example To create a bucket in a specific region
* ```javascript
- * // The following example creates a bucket.
+ * // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
* const input = {
- * "Bucket": "examplebucket"
+ * "Bucket": "examplebucket",
+ * "CreateBucketConfiguration": {
+ * "LocationConstraint": "eu-west-1"
+ * }
* };
* const command = new CreateBucketCommand(input);
* const response = await client.send(command);
* /* response ==
* {
- * "Location": "/examplebucket"
+ * "Location": "http://examplebucket..s3.amazonaws.com/"
* }
* *\/
- * // example id: to-create-a-bucket--1472851826060
+ * // example id: to-create-a-bucket-in-a-specific-region-1483399072992
* ```
*
- * @example To create a bucket in a specific region
+ * @example To create a bucket
* ```javascript
- * // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
+ * // The following example creates a bucket.
* const input = {
- * "Bucket": "examplebucket",
- * "CreateBucketConfiguration": {
- * "LocationConstraint": "eu-west-1"
- * }
+ * "Bucket": "examplebucket"
* };
* const command = new CreateBucketCommand(input);
* const response = await client.send(command);
* /* response ==
* {
- * "Location": "http://examplebucket..s3.amazonaws.com/"
+ * "Location": "/examplebucket"
* }
* *\/
- * // example id: to-create-a-bucket-in-a-specific-region-1483399072992
+ * // example id: to-create-a-bucket--1472851826060
* ```
*
*/
diff --git a/clients/client-s3/src/commands/DeleteObjectCommand.ts b/clients/client-s3/src/commands/DeleteObjectCommand.ts
index 0762586ab8be..d2b3b5a87947 100644
--- a/clients/client-s3/src/commands/DeleteObjectCommand.ts
+++ b/clients/client-s3/src/commands/DeleteObjectCommand.ts
@@ -162,28 +162,28 @@ export interface DeleteObjectCommandOutput extends DeleteObjectOutput, __Metadat
* Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To delete an object (from a non-versioned bucket)
+ * @example To delete an object
* ```javascript
- * // The following example deletes an object from a non-versioned bucket.
+ * // The following example deletes an object from an S3 bucket.
* const input = {
- * "Bucket": "ExampleBucket",
- * "Key": "HappyFace.jpg"
+ * "Bucket": "examplebucket",
+ * "Key": "objectkey.jpg"
* };
* const command = new DeleteObjectCommand(input);
* await client.send(command);
- * // example id: to-delete-an-object-from-a-non-versioned-bucket-1481588533089
+ * // example id: to-delete-an-object-1472850136595
* ```
*
- * @example To delete an object
+ * @example To delete an object (from a non-versioned bucket)
* ```javascript
- * // The following example deletes an object from an S3 bucket.
+ * // The following example deletes an object from a non-versioned bucket.
* const input = {
- * "Bucket": "examplebucket",
- * "Key": "objectkey.jpg"
+ * "Bucket": "ExampleBucket",
+ * "Key": "HappyFace.jpg"
* };
* const command = new DeleteObjectCommand(input);
* await client.send(command);
- * // example id: to-delete-an-object-1472850136595
+ * // example id: to-delete-an-object-from-a-non-versioned-bucket-1481588533089
* ```
*
*/
diff --git a/clients/client-s3/src/commands/DeleteObjectTaggingCommand.ts b/clients/client-s3/src/commands/DeleteObjectTaggingCommand.ts
index 829a9b612bf1..ac0924a7578b 100644
--- a/clients/client-s3/src/commands/DeleteObjectTaggingCommand.ts
+++ b/clients/client-s3/src/commands/DeleteObjectTaggingCommand.ts
@@ -81,39 +81,39 @@ export interface DeleteObjectTaggingCommandOutput extends DeleteObjectTaggingOut
* Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To remove tag set from an object version
+ * @example To remove tag set from an object
* ```javascript
- * // The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.
+ * // The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.
* const input = {
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg",
- * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
+ * "Key": "HappyFace.jpg"
* };
* const command = new DeleteObjectTaggingCommand(input);
* const response = await client.send(command);
* /* response ==
* {
- * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
+ * "VersionId": "null"
* }
* *\/
- * // example id: to-remove-tag-set-from-an-object-version-1483145285913
+ * // example id: to-remove-tag-set-from-an-object-1483145342862
* ```
*
- * @example To remove tag set from an object
+ * @example To remove tag set from an object version
* ```javascript
- * // The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.
+ * // The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.
* const input = {
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg"
+ * "Key": "HappyFace.jpg",
+ * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
* };
* const command = new DeleteObjectTaggingCommand(input);
* const response = await client.send(command);
* /* response ==
* {
- * "VersionId": "null"
+ * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
* }
* *\/
- * // example id: to-remove-tag-set-from-an-object-1483145342862
+ * // example id: to-remove-tag-set-from-an-object-version-1483145285913
* ```
*
*/
diff --git a/clients/client-s3/src/commands/GetObjectCommand.ts b/clients/client-s3/src/commands/GetObjectCommand.ts
index 2c0dd7c3dcdd..b7510e06670b 100644
--- a/clients/client-s3/src/commands/GetObjectCommand.ts
+++ b/clients/client-s3/src/commands/GetObjectCommand.ts
@@ -286,53 +286,53 @@ export interface GetObjectCommandOutput extends Omit, _
* Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To retrieve a byte range of an object
+ * @example To retrieve an object
* ```javascript
- * // The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.
+ * // The following example retrieves an object for an S3 bucket.
* const input = {
* "Bucket": "examplebucket",
- * "Key": "SampleFile.txt",
- * "Range": "bytes=0-9"
+ * "Key": "HappyFace.jpg"
* };
* const command = new GetObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "AcceptRanges": "bytes",
- * "ContentLength": "10",
- * "ContentRange": "bytes 0-9/43",
- * "ContentType": "text/plain",
- * "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
- * "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT",
+ * "ContentLength": "3191",
+ * "ContentType": "image/jpeg",
+ * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
+ * "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT",
* "Metadata": {},
+ * "TagCount": 2,
* "VersionId": "null"
* }
* *\/
- * // example id: to-retrieve-a-byte-range-of-an-object--1481832674603
+ * // example id: to-retrieve-an-object-1481827837012
* ```
*
- * @example To retrieve an object
+ * @example To retrieve a byte range of an object
* ```javascript
- * // The following example retrieves an object for an S3 bucket.
+ * // The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.
* const input = {
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg"
+ * "Key": "SampleFile.txt",
+ * "Range": "bytes=0-9"
* };
* const command = new GetObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "AcceptRanges": "bytes",
- * "ContentLength": "3191",
- * "ContentType": "image/jpeg",
- * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT",
+ * "ContentLength": "10",
+ * "ContentRange": "bytes 0-9/43",
+ * "ContentType": "text/plain",
+ * "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
+ * "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT",
* "Metadata": {},
- * "TagCount": 2,
* "VersionId": "null"
* }
* *\/
- * // example id: to-retrieve-an-object-1481827837012
+ * // example id: to-retrieve-a-byte-range-of-an-object--1481832674603
* ```
*
*/
diff --git a/clients/client-s3/src/commands/GetObjectTaggingCommand.ts b/clients/client-s3/src/commands/GetObjectTaggingCommand.ts
index eb7d011d845b..070a938b8541 100644
--- a/clients/client-s3/src/commands/GetObjectTaggingCommand.ts
+++ b/clients/client-s3/src/commands/GetObjectTaggingCommand.ts
@@ -97,12 +97,13 @@ export interface GetObjectTaggingCommandOutput extends GetObjectTaggingOutput, _
* Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To retrieve tag set of an object
+ * @example To retrieve tag set of a specific object version
* ```javascript
- * // The following example retrieves tag set of an object.
+ * // The following example retrieves tag set of an object. The request specifies object version.
* const input = {
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg"
+ * "Key": "exampleobject",
+ * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
* };
* const command = new GetObjectTaggingCommand(input);
* const response = await client.send(command);
@@ -110,27 +111,22 @@ export interface GetObjectTaggingCommandOutput extends GetObjectTaggingOutput, _
* {
* "TagSet": [
* {
- * "Key": "Key4",
- * "Value": "Value4"
- * },
- * {
- * "Key": "Key3",
- * "Value": "Value3"
+ * "Key": "Key1",
+ * "Value": "Value1"
* }
* ],
- * "VersionId": "null"
+ * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
* }
* *\/
- * // example id: to-retrieve-tag-set-of-an-object-1481833847896
+ * // example id: to-retrieve-tag-set-of-a-specific-object-version-1483400283663
* ```
*
- * @example To retrieve tag set of a specific object version
+ * @example To retrieve tag set of an object
* ```javascript
- * // The following example retrieves tag set of an object. The request specifies object version.
+ * // The following example retrieves tag set of an object.
* const input = {
* "Bucket": "examplebucket",
- * "Key": "exampleobject",
- * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
+ * "Key": "HappyFace.jpg"
* };
* const command = new GetObjectTaggingCommand(input);
* const response = await client.send(command);
@@ -138,14 +134,18 @@ export interface GetObjectTaggingCommandOutput extends GetObjectTaggingOutput, _
* {
* "TagSet": [
* {
- * "Key": "Key1",
- * "Value": "Value1"
+ * "Key": "Key4",
+ * "Value": "Value4"
+ * },
+ * {
+ * "Key": "Key3",
+ * "Value": "Value3"
* }
* ],
- * "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"
+ * "VersionId": "null"
* }
* *\/
- * // example id: to-retrieve-tag-set-of-a-specific-object-version-1483400283663
+ * // example id: to-retrieve-tag-set-of-an-object-1481833847896
* ```
*
*/
diff --git a/clients/client-s3/src/commands/PutObjectCommand.ts b/clients/client-s3/src/commands/PutObjectCommand.ts
index 158d99723276..b0ad8dd75712 100644
--- a/clients/client-s3/src/commands/PutObjectCommand.ts
+++ b/clients/client-s3/src/commands/PutObjectCommand.ts
@@ -245,56 +245,55 @@ export interface PutObjectCommandOutput extends PutObjectOutput, __MetadataBeare
* Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To upload an object and specify server-side encryption and object tags
+ * @example To upload an object and specify canned ACL.
* ```javascript
- * // The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
+ * // The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
* const input = {
+ * "ACL": "authenticated-read",
* "Body": "filetoupload",
* "Bucket": "examplebucket",
- * "Key": "exampleobject",
- * "ServerSideEncryption": "AES256",
- * "Tagging": "key1=value1&key2=value2"
+ * "Key": "exampleobject"
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "ServerSideEncryption": "AES256",
- * "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt"
+ * "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr"
* }
* *\/
- * // example id: to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831
+ * // example id: to-upload-an-object-and-specify-canned-acl-1483397779571
* ```
*
- * @example To create an object.
+ * @example To upload an object and specify optional tags
* ```javascript
- * // The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
+ * // The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.
* const input = {
- * "Body": "filetoupload",
+ * "Body": "c:\\HappyFace.jpg",
* "Bucket": "examplebucket",
- * "Key": "objectkey"
+ * "Key": "HappyFace.jpg",
+ * "Tagging": "key1=value1&key2=value2"
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ"
+ * "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a"
* }
* *\/
- * // example id: to-create-an-object-1483147613675
+ * // example id: to-upload-an-object-and-specify-optional-tags-1481762310955
* ```
*
- * @example To upload an object (specify optional headers)
+ * @example To upload an object and specify server-side encryption and object tags
* ```javascript
- * // The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.
+ * // The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
* const input = {
- * "Body": "HappyFace.jpg",
+ * "Body": "filetoupload",
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg",
+ * "Key": "exampleobject",
* "ServerSideEncryption": "AES256",
- * "StorageClass": "STANDARD_IA"
+ * "Tagging": "key1=value1&key2=value2"
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
@@ -302,92 +301,93 @@ export interface PutObjectCommandOutput extends PutObjectOutput, __MetadataBeare
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
* "ServerSideEncryption": "AES256",
- * "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp"
+ * "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt"
* }
* *\/
- * // example id: to-upload-an-object-(specify-optional-headers)
+ * // example id: to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831
* ```
*
- * @example To upload an object and specify optional tags
+ * @example To upload an object
* ```javascript
- * // The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.
+ * // The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.
* const input = {
- * "Body": "c:\\HappyFace.jpg",
+ * "Body": "HappyFace.jpg",
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg",
- * "Tagging": "key1=value1&key2=value2"
+ * "Key": "HappyFace.jpg"
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a"
+ * "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk"
* }
* *\/
- * // example id: to-upload-an-object-and-specify-optional-tags-1481762310955
+ * // example id: to-upload-an-object-1481760101010
* ```
*
- * @example To upload object and specify user-defined metadata
+ * @example To create an object.
* ```javascript
- * // The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.
+ * // The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
* const input = {
* "Body": "filetoupload",
* "Bucket": "examplebucket",
- * "Key": "exampleobject",
- * "Metadata": {
- * "metadata1": "value1",
- * "metadata2": "value2"
- * }
+ * "Key": "objectkey"
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0"
+ * "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ"
* }
* *\/
- * // example id: to-upload-object-and-specify-user-defined-metadata-1483396974757
+ * // example id: to-create-an-object-1483147613675
* ```
*
- * @example To upload an object and specify canned ACL.
+ * @example To upload an object (specify optional headers)
* ```javascript
- * // The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
+ * // The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.
* const input = {
- * "ACL": "authenticated-read",
- * "Body": "filetoupload",
+ * "Body": "HappyFace.jpg",
* "Bucket": "examplebucket",
- * "Key": "exampleobject"
+ * "Key": "HappyFace.jpg",
+ * "ServerSideEncryption": "AES256",
+ * "StorageClass": "STANDARD_IA"
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr"
+ * "ServerSideEncryption": "AES256",
+ * "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp"
* }
* *\/
- * // example id: to-upload-an-object-and-specify-canned-acl-1483397779571
+ * // example id: to-upload-an-object-(specify-optional-headers)
* ```
*
- * @example To upload an object
+ * @example To upload object and specify user-defined metadata
* ```javascript
- * // The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.
+ * // The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.
* const input = {
- * "Body": "HappyFace.jpg",
+ * "Body": "filetoupload",
* "Bucket": "examplebucket",
- * "Key": "HappyFace.jpg"
+ * "Key": "exampleobject",
+ * "Metadata": {
+ * "metadata1": "value1",
+ * "metadata2": "value2"
+ * }
* };
* const command = new PutObjectCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
- * "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk"
+ * "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0"
* }
* *\/
- * // example id: to-upload-an-object-1481760101010
+ * // example id: to-upload-object-and-specify-user-defined-metadata-1483396974757
* ```
*
*/
diff --git a/clients/client-s3/src/commands/UploadPartCopyCommand.ts b/clients/client-s3/src/commands/UploadPartCopyCommand.ts
index 3d73fb1a445c..45bcb83ac94c 100644
--- a/clients/client-s3/src/commands/UploadPartCopyCommand.ts
+++ b/clients/client-s3/src/commands/UploadPartCopyCommand.ts
@@ -272,14 +272,15 @@ export interface UploadPartCopyCommandOutput extends UploadPartCopyOutput, __Met
* Base exception class for all service exceptions from S3 service.
*
* @public
- * @example To upload a part by copying data from an existing object as data source
+ * @example To upload a part by copying byte range from an existing object as data source
* ```javascript
- * // The following example uploads a part of a multipart upload by copying data from an existing object as data source.
+ * // The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.
* const input = {
* "Bucket": "examplebucket",
* "CopySource": "/bucketname/sourceobjectkey",
+ * "CopySourceRange": "bytes=1-100000",
* "Key": "examplelargeobject",
- * "PartNumber": "1",
+ * "PartNumber": "2",
* "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"
* };
* const command = new UploadPartCopyCommand(input);
@@ -287,23 +288,22 @@ export interface UploadPartCopyCommandOutput extends UploadPartCopyOutput, __Met
* /* response ==
* {
* "CopyPartResult": {
- * "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
- * "LastModified": "2016-12-29T21:24:43.000Z"
+ * "ETag": "\"65d16d19e65a7508a51f043180edcc36\"",
+ * "LastModified": "2016-12-29T21:44:28.000Z"
* }
* }
* *\/
- * // example id: to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348
+ * // example id: to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594
* ```
*
- * @example To upload a part by copying byte range from an existing object as data source
+ * @example To upload a part by copying data from an existing object as data source
* ```javascript
- * // The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.
+ * // The following example uploads a part of a multipart upload by copying data from an existing object as data source.
* const input = {
* "Bucket": "examplebucket",
* "CopySource": "/bucketname/sourceobjectkey",
- * "CopySourceRange": "bytes=1-100000",
* "Key": "examplelargeobject",
- * "PartNumber": "2",
+ * "PartNumber": "1",
* "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"
* };
* const command = new UploadPartCopyCommand(input);
@@ -311,12 +311,12 @@ export interface UploadPartCopyCommandOutput extends UploadPartCopyOutput, __Met
* /* response ==
* {
* "CopyPartResult": {
- * "ETag": "\"65d16d19e65a7508a51f043180edcc36\"",
- * "LastModified": "2016-12-29T21:44:28.000Z"
+ * "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
+ * "LastModified": "2016-12-29T21:24:43.000Z"
* }
* }
* *\/
- * // example id: to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594
+ * // example id: to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348
* ```
*
*/
diff --git a/clients/client-sso-oidc/package.json b/clients/client-sso-oidc/package.json
index 24b4bbbe7275..7867ab255f79 100644
--- a/clients/client-sso-oidc/package.json
+++ b/clients/client-sso-oidc/package.json
@@ -58,9 +58,6 @@
"@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
},
- "peerDependencies": {
- "@aws-sdk/client-sts": "*"
- },
"devDependencies": {
"@tsconfig/node16": "16.1.3",
"@types/node": "^16.18.96",
@@ -87,6 +84,9 @@
"url": "https://aws.amazon.com/javascript/"
},
"license": "Apache-2.0",
+ "peerDependencies": {
+ "@aws-sdk/client-sts": "*"
+ },
"browser": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
},
From 56fcd6954c439b56dd2c22dfe0b6bdf0ac6b7633 Mon Sep 17 00:00:00 2001
From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com>
Date: Mon, 1 Jul 2024 23:37:46 +0000
Subject: [PATCH 2/7] chore(codegen): bump smithyVersion=1.50.0
---
codegen/gradle.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/codegen/gradle.properties b/codegen/gradle.properties
index 60a155e9dd04..8975397d1545 100644
--- a/codegen/gradle.properties
+++ b/codegen/gradle.properties
@@ -1,2 +1,2 @@
-smithyVersion=1.49.0
+smithyVersion=1.50.0
smithyGradleVersion=0.6.0
From 6b9956fb04e1c5b6e33c4be43860a874bd47b23e Mon Sep 17 00:00:00 2001
From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com>
Date: Mon, 1 Jul 2024 23:53:02 +0000
Subject: [PATCH 3/7] chore: generate clients with smithy 1.50.0
---
private/aws-protocoltests-ec2/README.md | 56 +
.../test/functional/ec2query.spec.ts | 50 +-
private/aws-protocoltests-json-10/README.md | 56 +
.../src/JSONRPC10.ts | 24 +
.../src/JSONRPC10Client.ts | 6 +
.../commands/ContentTypeParametersCommand.ts | 73 ++
.../src/commands/index.ts | 1 +
.../src/models/models_0.ts | 12 +
.../src/protocols/Aws_json1_0.ts | 42 +
.../README.md | 56 +
private/aws-protocoltests-json/README.md | 56 +
.../src/JsonProtocol.ts | 24 +
.../src/JsonProtocolClient.ts | 6 +
.../commands/ContentTypeParametersCommand.ts | 73 ++
.../src/commands/index.ts | 1 +
.../src/models/models_0.ts | 12 +
.../src/protocols/Aws_json1_1.ts | 42 +
private/aws-protocoltests-query/README.md | 56 +
.../README.md | 56 +
.../README.md | 56 +
private/aws-protocoltests-restjson/README.md | 56 +
.../src/RestJsonProtocol.ts | 95 ++
.../src/RestJsonProtocolClient.ts | 24 +
.../commands/ContentTypeParametersCommand.ts | 73 ++
.../commands/OperationWithDefaultsCommand.ts | 143 +++
.../OperationWithNestedStructureCommand.ts | 129 ++
.../commands/TestNoInputNoPayloadCommand.ts | 77 ++
.../src/commands/index.ts | 4 +
.../src/models/models_0.ts | 157 +++
.../src/protocols/Aws_restJson1.ts | 275 +++++
.../test/functional/restjson1.spec.ts | 1100 +++++++++++++++--
private/aws-protocoltests-restxml/README.md | 56 +
.../src/RestXmlProtocol.ts | 24 +
.../src/RestXmlProtocolClient.ts | 6 +
.../commands/ContentTypeParametersCommand.ts | 73 ++
.../src/commands/index.ts | 1 +
.../src/models/models_0.ts | 12 +
.../src/protocols/Aws_restXml.ts | 45 +
.../test/functional/restxml.spec.ts | 24 +-
.../src/models/models_0.ts | 881 +++++++++++++
.../src/protocols/Aws_restJson1.ts | 518 ++++++++
.../src/server/RestJsonService.ts | 108 ++
.../operations/ContentTypeParameters.ts | 190 +++
.../operations/OperationWithDefaults.ts | 190 +++
.../OperationWithNestedStructure.ts | 200 +++
.../server/operations/TestNoInputNoPayload.ts | 189 +++
.../src/server/operations/index.ts | 4 +
.../test/functional/restjson1.spec.ts | 969 +++++++++++++--
48 files changed, 6115 insertions(+), 266 deletions(-)
create mode 100644 private/aws-protocoltests-json-10/src/commands/ContentTypeParametersCommand.ts
create mode 100644 private/aws-protocoltests-json/src/commands/ContentTypeParametersCommand.ts
create mode 100644 private/aws-protocoltests-restjson/src/commands/ContentTypeParametersCommand.ts
create mode 100644 private/aws-protocoltests-restjson/src/commands/OperationWithDefaultsCommand.ts
create mode 100644 private/aws-protocoltests-restjson/src/commands/OperationWithNestedStructureCommand.ts
create mode 100644 private/aws-protocoltests-restjson/src/commands/TestNoInputNoPayloadCommand.ts
create mode 100644 private/aws-protocoltests-restxml/src/commands/ContentTypeParametersCommand.ts
create mode 100644 private/aws-restjson-server/src/server/operations/ContentTypeParameters.ts
create mode 100644 private/aws-restjson-server/src/server/operations/OperationWithDefaults.ts
create mode 100644 private/aws-restjson-server/src/server/operations/OperationWithNestedStructure.ts
create mode 100644 private/aws-restjson-server/src/server/operations/TestNoInputNoPayload.ts
diff --git a/private/aws-protocoltests-ec2/README.md b/private/aws-protocoltests-ec2/README.md
index 9fcc1697b0df..1ca244836dbb 100644
--- a/private/aws-protocoltests-ec2/README.md
+++ b/private/aws-protocoltests-ec2/README.md
@@ -402,6 +402,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -538,6 +546,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -946,6 +962,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1538,6 +1562,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1666,6 +1706,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1834,6 +1882,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2-protocol/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-ec2/test/functional/ec2query.spec.ts b/private/aws-protocoltests-ec2/test/functional/ec2query.spec.ts
index 6517aad37a32..8d67af769ddf 100644
--- a/private/aws-protocoltests-ec2/test/functional/ec2query.spec.ts
+++ b/private/aws-protocoltests-ec2/test/functional/ec2query.spec.ts
@@ -188,7 +188,7 @@ it("Ec2QueryDateTimeWithNegativeOffset:Response", async () => {
},
`
2019-12-16T22:48:18-01:00
- requestid
+ requestid
`
),
@@ -230,7 +230,7 @@ it("Ec2QueryDateTimeWithPositiveOffset:Response", async () => {
},
`
2019-12-17T00:48:18+01:00
- requestid
+ requestid
`
),
@@ -305,7 +305,7 @@ it("Ec2QueryEmptyInputAndEmptyOutput:Response", async () => {
"content-type": "text/xml;charset=UTF-8",
},
`
- requestid
+ requestid
`
),
@@ -419,7 +419,7 @@ it("Ec2QueryDateTimeWithFractionalSeconds:Response", async () => {
},
`
2000-01-02T20:34:56.123Z
- requestid
+ requestid
`
),
@@ -461,7 +461,7 @@ it("Ec2GreetingWithErrors:Response", async () => {
},
`
Hello
- requestid
+ requestid
`
),
@@ -508,7 +508,7 @@ it("Ec2InvalidGreetingError:Error:GreetingWithErrors", async () => {
Hi
- foo-id
+ foo-id
`
),
@@ -561,7 +561,7 @@ it("Ec2ComplexError:Error:GreetingWithErrors", async () => {
- foo-id
+ foo-id
`
),
@@ -644,7 +644,7 @@ it("Ec2IgnoresWrappingXmlName:Response", async () => {
},
`
bar
- requestid
+ requestid
`
),
@@ -764,7 +764,7 @@ it("Ec2QueryNoInputAndOutput:Response", async () => {
"content-type": "text/xml;charset=UTF-8",
},
`
- requestid
+ requestid
`
),
@@ -1180,7 +1180,7 @@ it("Ec2RecursiveShapes:Response", async () => {
- requestid
+ requestid
`
),
@@ -1736,7 +1736,7 @@ it("Ec2SimpleScalarProperties:Response", async () => {
4
5.5
6.5
- requestid
+ requestid
`
),
@@ -1928,7 +1928,7 @@ it("Ec2XmlBlobs:Response", async () => {
},
`
dmFsdWU=
- requestid
+ requestid
`
),
@@ -1970,7 +1970,7 @@ it("Ec2XmlEmptyBlobs:Response", async () => {
},
`
- requestid
+ requestid
`
),
@@ -2012,7 +2012,7 @@ it("Ec2XmlEmptySelfClosedBlobs:Response", async () => {
},
`
- requestid
+ requestid
`
),
@@ -2118,7 +2118,7 @@ it("Ec2XmlEnums:Response", async () => {
0
- requestid
+ requestid
`
),
@@ -2194,7 +2194,7 @@ it("Ec2XmlIntEnums:Response", async () => {
2
- requestid
+ requestid
`
),
@@ -2317,7 +2317,7 @@ it("Ec2XmlLists:Response", async () => {
4
- requestid
+ requestid
`
),
@@ -2415,7 +2415,7 @@ it("Ec2XmlNamespaces:Response", async () => {
Baz
- requestid
+ requestid
`
),
@@ -2461,7 +2461,7 @@ it("Ec2XmlTimestamps:Response", async () => {
},
`
2014-04-29T18:30:38Z
- requestid
+ requestid
`
),
@@ -2503,7 +2503,7 @@ it("Ec2XmlTimestampsWithDateTimeFormat:Response", async () => {
},
`
2014-04-29T18:30:38Z
- requestid
+ requestid
`
),
@@ -2545,7 +2545,7 @@ it("Ec2XmlTimestampsWithDateTimeOnTargetFormat:Response", async () => {
},
`
2014-04-29T18:30:38Z
- requestid
+ requestid
`
),
@@ -2587,7 +2587,7 @@ it("Ec2XmlTimestampsWithEpochSecondsFormat:Response", async () => {
},
`
1398796238
- requestid
+ requestid
`
),
@@ -2629,7 +2629,7 @@ it("Ec2XmlTimestampsWithEpochSecondsOnTargetFormat:Response", async () => {
},
`
1398796238
- requestid
+ requestid
`
),
@@ -2671,7 +2671,7 @@ it("Ec2XmlTimestampsWithHttpDateFormat:Response", async () => {
},
`
Tue, 29 Apr 2014 18:30:38 GMT
- requestid
+ requestid
`
),
@@ -2713,7 +2713,7 @@ it("Ec2XmlTimestampsWithHttpDateOnTargetFormat:Response", async () => {
},
`
Tue, 29 Apr 2014 18:30:38 GMT
- requestid
+ requestid
`
),
diff --git a/private/aws-protocoltests-json-10/README.md b/private/aws-protocoltests-json-10/README.md
index 559a2cfdf146..c8be3b033ca9 100644
--- a/private/aws-protocoltests-json-10/README.md
+++ b/private/aws-protocoltests-json-10/README.md
@@ -400,6 +400,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandOutput/)
+
@@ -536,6 +544,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandOutput/)
+
@@ -944,6 +960,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1536,6 +1560,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1664,6 +1704,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1832,6 +1880,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-rpc-10/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-rpc-10/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-json-10/src/JSONRPC10.ts b/private/aws-protocoltests-json-10/src/JSONRPC10.ts
index 822a872a9366..400e0d2e07ad 100644
--- a/private/aws-protocoltests-json-10/src/JSONRPC10.ts
+++ b/private/aws-protocoltests-json-10/src/JSONRPC10.ts
@@ -2,6 +2,11 @@
import { createAggregatedClient } from "@smithy/smithy-client";
import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
+import {
+ ContentTypeParametersCommand,
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import {
EmptyInputAndEmptyOutputCommand,
EmptyInputAndEmptyOutputCommandInput,
@@ -66,6 +71,7 @@ import {
import { JSONRPC10Client, JSONRPC10ClientConfig } from "./JSONRPC10Client";
const commands = {
+ ContentTypeParametersCommand,
EmptyInputAndEmptyOutputCommand,
EndpointOperationCommand,
EndpointWithHostLabelOperationCommand,
@@ -82,6 +88,24 @@ const commands = {
};
export interface JSONRPC10 {
+ /**
+ * @see {@link ContentTypeParametersCommand}
+ */
+ contentTypeParameters(): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+
/**
* @see {@link EmptyInputAndEmptyOutputCommand}
*/
diff --git a/private/aws-protocoltests-json-10/src/JSONRPC10Client.ts b/private/aws-protocoltests-json-10/src/JSONRPC10Client.ts
index 2372f4597a97..8a6e671f9cfe 100644
--- a/private/aws-protocoltests-json-10/src/JSONRPC10Client.ts
+++ b/private/aws-protocoltests-json-10/src/JSONRPC10Client.ts
@@ -60,6 +60,10 @@ import {
HttpAuthSchemeResolvedConfig,
resolveHttpAuthSchemeConfig,
} from "./auth/httpAuthSchemeProvider";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import {
EmptyInputAndEmptyOutputCommandInput,
EmptyInputAndEmptyOutputCommandOutput,
@@ -106,6 +110,7 @@ export { __Client };
* @public
*/
export type ServiceInputTypes =
+ | ContentTypeParametersCommandInput
| EmptyInputAndEmptyOutputCommandInput
| EndpointOperationCommandInput
| EndpointWithHostLabelOperationCommandInput
@@ -124,6 +129,7 @@ export type ServiceInputTypes =
* @public
*/
export type ServiceOutputTypes =
+ | ContentTypeParametersCommandOutput
| EmptyInputAndEmptyOutputCommandOutput
| EndpointOperationCommandOutput
| EndpointWithHostLabelOperationCommandOutput
diff --git a/private/aws-protocoltests-json-10/src/commands/ContentTypeParametersCommand.ts b/private/aws-protocoltests-json-10/src/commands/ContentTypeParametersCommand.ts
new file mode 100644
index 000000000000..74f10b8c8b0b
--- /dev/null
+++ b/private/aws-protocoltests-json-10/src/commands/ContentTypeParametersCommand.ts
@@ -0,0 +1,73 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { JSONRPC10ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../JSONRPC10Client";
+import { ContentTypeParametersInput, ContentTypeParametersOutput } from "../models/models_0";
+import { de_ContentTypeParametersCommand, se_ContentTypeParametersCommand } from "../protocols/Aws_json1_0";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandInput extends ContentTypeParametersInput {}
+/**
+ * @public
+ *
+ * The output of {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandOutput extends ContentTypeParametersOutput, __MetadataBearer {}
+
+/**
+ * The example tests how servers must support requests
+ * containing a `Content-Type` header with parameters.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { JSONRPC10Client, ContentTypeParametersCommand } from "@aws-sdk/aws-protocoltests-json-10"; // ES Modules import
+ * // const { JSONRPC10Client, ContentTypeParametersCommand } = require("@aws-sdk/aws-protocoltests-json-10"); // CommonJS import
+ * const client = new JSONRPC10Client(config);
+ * const input = { // ContentTypeParametersInput
+ * value: Number("int"),
+ * };
+ * const command = new ContentTypeParametersCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param ContentTypeParametersCommandInput - {@link ContentTypeParametersCommandInput}
+ * @returns {@link ContentTypeParametersCommandOutput}
+ * @see {@link ContentTypeParametersCommandInput} for command's `input` shape.
+ * @see {@link ContentTypeParametersCommandOutput} for command's `response` shape.
+ * @see {@link JSONRPC10ClientResolvedConfig | config} for JSONRPC10Client's `config` shape.
+ *
+ * @throws {@link JSONRPC10ServiceException}
+ * Base exception class for all service exceptions from JSONRPC10 service.
+ *
+ * @public
+ */
+export class ContentTypeParametersCommand extends $Command
+ .classBuilder<
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+ JSONRPC10ClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: JSONRPC10ClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("JsonRpc10", "ContentTypeParameters", {})
+ .n("JSONRPC10Client", "ContentTypeParametersCommand")
+ .f(void 0, void 0)
+ .ser(se_ContentTypeParametersCommand)
+ .de(de_ContentTypeParametersCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-json-10/src/commands/index.ts b/private/aws-protocoltests-json-10/src/commands/index.ts
index 57c2e9f6e872..298a00e5d9fe 100644
--- a/private/aws-protocoltests-json-10/src/commands/index.ts
+++ b/private/aws-protocoltests-json-10/src/commands/index.ts
@@ -1,4 +1,5 @@
// smithy-typescript generated code
+export * from "./ContentTypeParametersCommand";
export * from "./EmptyInputAndEmptyOutputCommand";
export * from "./EndpointOperationCommand";
export * from "./EndpointWithHostLabelOperationCommand";
diff --git a/private/aws-protocoltests-json-10/src/models/models_0.ts b/private/aws-protocoltests-json-10/src/models/models_0.ts
index 50ab097e73c1..b97f74007079 100644
--- a/private/aws-protocoltests-json-10/src/models/models_0.ts
+++ b/private/aws-protocoltests-json-10/src/models/models_0.ts
@@ -71,6 +71,18 @@ export class ComplexError extends __BaseException {
}
}
+/**
+ * @public
+ */
+export interface ContentTypeParametersInput {
+ value?: number;
+}
+
+/**
+ * @public
+ */
+export interface ContentTypeParametersOutput {}
+
/**
* @public
* @enum
diff --git a/private/aws-protocoltests-json-10/src/protocols/Aws_json1_0.ts b/private/aws-protocoltests-json-10/src/protocols/Aws_json1_0.ts
index 720c660b0290..1b9414953cc2 100644
--- a/private/aws-protocoltests-json-10/src/protocols/Aws_json1_0.ts
+++ b/private/aws-protocoltests-json-10/src/protocols/Aws_json1_0.ts
@@ -38,6 +38,10 @@ import {
} from "@smithy/types";
import { v4 as generateIdempotencyToken } from "uuid";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "../commands/ContentTypeParametersCommand";
import {
EmptyInputAndEmptyOutputCommandInput,
EmptyInputAndEmptyOutputCommandOutput,
@@ -80,6 +84,7 @@ import {
ClientOptionalDefaults,
ComplexError,
ComplexNestedErrorData,
+ ContentTypeParametersInput,
Defaults,
Dialog,
EmptyInputAndEmptyOutputInput,
@@ -102,6 +107,19 @@ import {
TopLevel,
} from "../models/models_0";
+/**
+ * serializeAws_json1_0ContentTypeParametersCommand
+ */
+export const se_ContentTypeParametersCommand = async (
+ input: ContentTypeParametersCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("ContentTypeParameters");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_0EmptyInputAndEmptyOutputCommand
*/
@@ -284,6 +302,26 @@ export const se_SimpleScalarPropertiesCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * deserializeAws_json1_0ContentTypeParametersCommand
+ */
+export const de_ContentTypeParametersCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: ContentTypeParametersCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
/**
* deserializeAws_json1_0EmptyInputAndEmptyOutputCommand
*/
@@ -599,6 +637,8 @@ const de_InvalidGreetingRes = async (parsedOutput: any, context: __SerdeContext)
// se_ClientOptionalDefaults omitted.
+// se_ContentTypeParametersInput omitted.
+
/**
* serializeAws_json1_0Defaults
*/
@@ -741,6 +781,8 @@ const de_ComplexNestedErrorData = (output: any, context: __SerdeContext): Comple
}) as any;
};
+// de_ContentTypeParametersOutput omitted.
+
// de_Dialog omitted.
// de_DialogList omitted.
diff --git a/private/aws-protocoltests-json-machinelearning/README.md b/private/aws-protocoltests-json-machinelearning/README.md
index 3bfcf078d9f5..7ca350f4343f 100644
--- a/private/aws-protocoltests-json-machinelearning/README.md
+++ b/private/aws-protocoltests-json-machinelearning/README.md
@@ -400,6 +400,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandOutput/)
+
@@ -536,6 +544,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandOutput/)
+
@@ -944,6 +960,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1536,6 +1560,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1664,6 +1704,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1832,6 +1880,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/machine-learning/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-machine-learning/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-json/README.md b/private/aws-protocoltests-json/README.md
index 77e0ff80f774..ea5f8c7b1b49 100644
--- a/private/aws-protocoltests-json/README.md
+++ b/private/aws-protocoltests-json/README.md
@@ -400,6 +400,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -536,6 +544,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -944,6 +960,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1536,6 +1560,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1664,6 +1704,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1832,6 +1880,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-json/src/JsonProtocol.ts b/private/aws-protocoltests-json/src/JsonProtocol.ts
index 8f0ead7d5603..03b372f4bdcc 100644
--- a/private/aws-protocoltests-json/src/JsonProtocol.ts
+++ b/private/aws-protocoltests-json/src/JsonProtocol.ts
@@ -2,6 +2,11 @@
import { createAggregatedClient } from "@smithy/smithy-client";
import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
+import {
+ ContentTypeParametersCommand,
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import {
DatetimeOffsetsCommand,
DatetimeOffsetsCommandInput,
@@ -77,6 +82,7 @@ import {
import { JsonProtocolClient, JsonProtocolClientConfig } from "./JsonProtocolClient";
const commands = {
+ ContentTypeParametersCommand,
DatetimeOffsetsCommand,
EmptyOperationCommand,
EndpointOperationCommand,
@@ -96,6 +102,24 @@ const commands = {
};
export interface JsonProtocol {
+ /**
+ * @see {@link ContentTypeParametersCommand}
+ */
+ contentTypeParameters(): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+
/**
* @see {@link DatetimeOffsetsCommand}
*/
diff --git a/private/aws-protocoltests-json/src/JsonProtocolClient.ts b/private/aws-protocoltests-json/src/JsonProtocolClient.ts
index 1aa745d8c409..94f7e0e8e8cc 100644
--- a/private/aws-protocoltests-json/src/JsonProtocolClient.ts
+++ b/private/aws-protocoltests-json/src/JsonProtocolClient.ts
@@ -60,6 +60,10 @@ import {
HttpAuthSchemeResolvedConfig,
resolveHttpAuthSchemeConfig,
} from "./auth/httpAuthSchemeProvider";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import { DatetimeOffsetsCommandInput, DatetimeOffsetsCommandOutput } from "./commands/DatetimeOffsetsCommand";
import { EmptyOperationCommandInput, EmptyOperationCommandOutput } from "./commands/EmptyOperationCommand";
import { EndpointOperationCommandInput, EndpointOperationCommandOutput } from "./commands/EndpointOperationCommand";
@@ -109,6 +113,7 @@ export { __Client };
* @public
*/
export type ServiceInputTypes =
+ | ContentTypeParametersCommandInput
| DatetimeOffsetsCommandInput
| EmptyOperationCommandInput
| EndpointOperationCommandInput
@@ -130,6 +135,7 @@ export type ServiceInputTypes =
* @public
*/
export type ServiceOutputTypes =
+ | ContentTypeParametersCommandOutput
| DatetimeOffsetsCommandOutput
| EmptyOperationCommandOutput
| EndpointOperationCommandOutput
diff --git a/private/aws-protocoltests-json/src/commands/ContentTypeParametersCommand.ts b/private/aws-protocoltests-json/src/commands/ContentTypeParametersCommand.ts
new file mode 100644
index 000000000000..6ba9157e8257
--- /dev/null
+++ b/private/aws-protocoltests-json/src/commands/ContentTypeParametersCommand.ts
@@ -0,0 +1,73 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { JsonProtocolClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../JsonProtocolClient";
+import { ContentTypeParametersInput, ContentTypeParametersOutput } from "../models/models_0";
+import { de_ContentTypeParametersCommand, se_ContentTypeParametersCommand } from "../protocols/Aws_json1_1";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandInput extends ContentTypeParametersInput {}
+/**
+ * @public
+ *
+ * The output of {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandOutput extends ContentTypeParametersOutput, __MetadataBearer {}
+
+/**
+ * The example tests how servers must support requests
+ * containing a `Content-Type` header with parameters.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { JsonProtocolClient, ContentTypeParametersCommand } from "@aws-sdk/aws-protocoltests-json"; // ES Modules import
+ * // const { JsonProtocolClient, ContentTypeParametersCommand } = require("@aws-sdk/aws-protocoltests-json"); // CommonJS import
+ * const client = new JsonProtocolClient(config);
+ * const input = { // ContentTypeParametersInput
+ * value: Number("int"),
+ * };
+ * const command = new ContentTypeParametersCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param ContentTypeParametersCommandInput - {@link ContentTypeParametersCommandInput}
+ * @returns {@link ContentTypeParametersCommandOutput}
+ * @see {@link ContentTypeParametersCommandInput} for command's `input` shape.
+ * @see {@link ContentTypeParametersCommandOutput} for command's `response` shape.
+ * @see {@link JsonProtocolClientResolvedConfig | config} for JsonProtocolClient's `config` shape.
+ *
+ * @throws {@link JsonProtocolServiceException}
+ * Base exception class for all service exceptions from JsonProtocol service.
+ *
+ * @public
+ */
+export class ContentTypeParametersCommand extends $Command
+ .classBuilder<
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+ JsonProtocolClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: JsonProtocolClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("JsonProtocol", "ContentTypeParameters", {})
+ .n("JsonProtocolClient", "ContentTypeParametersCommand")
+ .f(void 0, void 0)
+ .ser(se_ContentTypeParametersCommand)
+ .de(de_ContentTypeParametersCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-json/src/commands/index.ts b/private/aws-protocoltests-json/src/commands/index.ts
index 21bd9c97ccb9..481cd11a7e66 100644
--- a/private/aws-protocoltests-json/src/commands/index.ts
+++ b/private/aws-protocoltests-json/src/commands/index.ts
@@ -1,4 +1,5 @@
// smithy-typescript generated code
+export * from "./ContentTypeParametersCommand";
export * from "./DatetimeOffsetsCommand";
export * from "./EmptyOperationCommand";
export * from "./EndpointOperationCommand";
diff --git a/private/aws-protocoltests-json/src/models/models_0.ts b/private/aws-protocoltests-json/src/models/models_0.ts
index 7838c446d266..bed27fea8187 100644
--- a/private/aws-protocoltests-json/src/models/models_0.ts
+++ b/private/aws-protocoltests-json/src/models/models_0.ts
@@ -61,6 +61,18 @@ export class ComplexError extends __BaseException {
}
}
+/**
+ * @public
+ */
+export interface ContentTypeParametersInput {
+ value?: number;
+}
+
+/**
+ * @public
+ */
+export interface ContentTypeParametersOutput {}
+
/**
* @public
*/
diff --git a/private/aws-protocoltests-json/src/protocols/Aws_json1_1.ts b/private/aws-protocoltests-json/src/protocols/Aws_json1_1.ts
index 68e0b37495b9..a9f679d89dbe 100644
--- a/private/aws-protocoltests-json/src/protocols/Aws_json1_1.ts
+++ b/private/aws-protocoltests-json/src/protocols/Aws_json1_1.ts
@@ -41,6 +41,10 @@ import {
} from "@smithy/types";
import { v4 as generateIdempotencyToken } from "uuid";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "../commands/ContentTypeParametersCommand";
import { DatetimeOffsetsCommandInput, DatetimeOffsetsCommandOutput } from "../commands/DatetimeOffsetsCommand";
import { EmptyOperationCommandInput, EmptyOperationCommandOutput } from "../commands/EmptyOperationCommand";
import { EndpointOperationCommandInput, EndpointOperationCommandOutput } from "../commands/EndpointOperationCommand";
@@ -85,6 +89,7 @@ import { JsonProtocolServiceException as __BaseException } from "../models/JsonP
import {
ComplexError,
ComplexNestedErrorData,
+ ContentTypeParametersInput,
DatetimeOffsetsOutput,
EmptyStruct,
ErrorWithMembers,
@@ -109,6 +114,19 @@ import {
UnionInputOutput,
} from "../models/models_0";
+/**
+ * serializeAws_json1_1ContentTypeParametersCommand
+ */
+export const se_ContentTypeParametersCommand = async (
+ input: ContentTypeParametersCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("ContentTypeParameters");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1DatetimeOffsetsCommand
*/
@@ -329,6 +347,26 @@ export const se_SparseNullsOperationCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * deserializeAws_json1_1ContentTypeParametersCommand
+ */
+export const de_ContentTypeParametersCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: ContentTypeParametersCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
/**
* deserializeAws_json1_1DatetimeOffsetsCommand
*/
@@ -734,6 +772,8 @@ const de_InvalidGreetingRes = async (parsedOutput: any, context: __SerdeContext)
return __decorateServiceException(exception, body);
};
+// se_ContentTypeParametersInput omitted.
+
/**
* serializeAws_json1_1Document
*/
@@ -952,6 +992,8 @@ const de_ComplexNestedErrorData = (output: any, context: __SerdeContext): Comple
}) as any;
};
+// de_ContentTypeParametersOutput omitted.
+
/**
* deserializeAws_json1_1DatetimeOffsetsOutput
*/
diff --git a/private/aws-protocoltests-query/README.md b/private/aws-protocoltests-query/README.md
index 0dca0522ed55..2da35828a887 100644
--- a/private/aws-protocoltests-query/README.md
+++ b/private/aws-protocoltests-query/README.md
@@ -402,6 +402,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -538,6 +546,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -946,6 +962,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1538,6 +1562,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1666,6 +1706,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1834,6 +1882,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/query-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-query-protocol/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-restjson-apigateway/README.md b/private/aws-protocoltests-restjson-apigateway/README.md
index 2dc572ca25f4..e1b62b0f73f3 100644
--- a/private/aws-protocoltests-restjson-apigateway/README.md
+++ b/private/aws-protocoltests-restjson-apigateway/README.md
@@ -400,6 +400,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandOutput/)
+
@@ -536,6 +544,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandOutput/)
+
@@ -944,6 +960,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1536,6 +1560,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1664,6 +1704,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1832,6 +1880,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/api-gateway/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-api-gateway/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-restjson-glacier/README.md b/private/aws-protocoltests-restjson-glacier/README.md
index fdcb012a545e..727eeca5f84f 100644
--- a/private/aws-protocoltests-restjson-glacier/README.md
+++ b/private/aws-protocoltests-restjson-glacier/README.md
@@ -400,6 +400,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandOutput/)
+
@@ -536,6 +544,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandOutput/)
+
@@ -944,6 +960,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1536,6 +1560,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1664,6 +1704,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1832,6 +1880,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glacier/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glacier/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-restjson/README.md b/private/aws-protocoltests-restjson/README.md
index dc0b8398d780..b4276c32cdca 100644
--- a/private/aws-protocoltests-restjson/README.md
+++ b/private/aws-protocoltests-restjson/README.md
@@ -402,6 +402,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -538,6 +546,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -946,6 +962,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1538,6 +1562,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1666,6 +1706,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1834,6 +1882,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-json-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-json-protocol/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-restjson/src/RestJsonProtocol.ts b/private/aws-protocoltests-restjson/src/RestJsonProtocol.ts
index f607ce1f76f9..1be15d39aaf7 100644
--- a/private/aws-protocoltests-restjson/src/RestJsonProtocol.ts
+++ b/private/aws-protocoltests-restjson/src/RestJsonProtocol.ts
@@ -17,6 +17,11 @@ import {
ConstantQueryStringCommandInput,
ConstantQueryStringCommandOutput,
} from "./commands/ConstantQueryStringCommand";
+import {
+ ContentTypeParametersCommand,
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import {
DatetimeOffsetsCommand,
DatetimeOffsetsCommandInput,
@@ -362,6 +367,16 @@ import {
OmitsSerializingEmptyListsCommandInput,
OmitsSerializingEmptyListsCommandOutput,
} from "./commands/OmitsSerializingEmptyListsCommand";
+import {
+ OperationWithDefaultsCommand,
+ OperationWithDefaultsCommandInput,
+ OperationWithDefaultsCommandOutput,
+} from "./commands/OperationWithDefaultsCommand";
+import {
+ OperationWithNestedStructureCommand,
+ OperationWithNestedStructureCommandInput,
+ OperationWithNestedStructureCommandOutput,
+} from "./commands/OperationWithNestedStructureCommand";
import {
PostPlayerActionCommand,
PostPlayerActionCommandInput,
@@ -432,6 +447,11 @@ import {
TestBodyStructureCommandInput,
TestBodyStructureCommandOutput,
} from "./commands/TestBodyStructureCommand";
+import {
+ TestNoInputNoPayloadCommand,
+ TestNoInputNoPayloadCommandInput,
+ TestNoInputNoPayloadCommandOutput,
+} from "./commands/TestNoInputNoPayloadCommand";
import {
TestNoPayloadCommand,
TestNoPayloadCommandInput,
@@ -463,6 +483,7 @@ const commands = {
AllQueryStringTypesCommand,
ConstantAndVariableQueryStringCommand,
ConstantQueryStringCommand,
+ ContentTypeParametersCommand,
DatetimeOffsetsCommand,
DocumentTypeCommand,
DocumentTypeAsMapValueCommand,
@@ -536,6 +557,8 @@ const commands = {
NullAndEmptyHeadersServerCommand,
OmitsNullSerializesEmptyStringCommand,
OmitsSerializingEmptyListsCommand,
+ OperationWithDefaultsCommand,
+ OperationWithNestedStructureCommand,
PostPlayerActionCommand,
PostUnionWithJsonNameCommand,
PutWithContentEncodingCommand,
@@ -550,6 +573,7 @@ const commands = {
StreamingTraitsRequireLengthCommand,
StreamingTraitsWithMediaTypeCommand,
TestBodyStructureCommand,
+ TestNoInputNoPayloadCommand,
TestNoPayloadCommand,
TestPayloadBlobCommand,
TestPayloadStructureCommand,
@@ -611,6 +635,24 @@ export interface RestJsonProtocol {
cb: (err: any, data?: ConstantQueryStringCommandOutput) => void
): void;
+ /**
+ * @see {@link ContentTypeParametersCommand}
+ */
+ contentTypeParameters(): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+
/**
* @see {@link DatetimeOffsetsCommand}
*/
@@ -1801,6 +1843,41 @@ export interface RestJsonProtocol {
cb: (err: any, data?: OmitsSerializingEmptyListsCommandOutput) => void
): void;
+ /**
+ * @see {@link OperationWithDefaultsCommand}
+ */
+ operationWithDefaults(): Promise;
+ operationWithDefaults(
+ args: OperationWithDefaultsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ operationWithDefaults(
+ args: OperationWithDefaultsCommandInput,
+ cb: (err: any, data?: OperationWithDefaultsCommandOutput) => void
+ ): void;
+ operationWithDefaults(
+ args: OperationWithDefaultsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: OperationWithDefaultsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link OperationWithNestedStructureCommand}
+ */
+ operationWithNestedStructure(
+ args: OperationWithNestedStructureCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ operationWithNestedStructure(
+ args: OperationWithNestedStructureCommandInput,
+ cb: (err: any, data?: OperationWithNestedStructureCommandOutput) => void
+ ): void;
+ operationWithNestedStructure(
+ args: OperationWithNestedStructureCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: OperationWithNestedStructureCommandOutput) => void
+ ): void;
+
/**
* @see {@link PostPlayerActionCommand}
*/
@@ -2038,6 +2115,24 @@ export interface RestJsonProtocol {
cb: (err: any, data?: TestBodyStructureCommandOutput) => void
): void;
+ /**
+ * @see {@link TestNoInputNoPayloadCommand}
+ */
+ testNoInputNoPayload(): Promise;
+ testNoInputNoPayload(
+ args: TestNoInputNoPayloadCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ testNoInputNoPayload(
+ args: TestNoInputNoPayloadCommandInput,
+ cb: (err: any, data?: TestNoInputNoPayloadCommandOutput) => void
+ ): void;
+ testNoInputNoPayload(
+ args: TestNoInputNoPayloadCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: TestNoInputNoPayloadCommandOutput) => void
+ ): void;
+
/**
* @see {@link TestNoPayloadCommand}
*/
diff --git a/private/aws-protocoltests-restjson/src/RestJsonProtocolClient.ts b/private/aws-protocoltests-restjson/src/RestJsonProtocolClient.ts
index de1a441dfcdc..9c8779e21d26 100644
--- a/private/aws-protocoltests-restjson/src/RestJsonProtocolClient.ts
+++ b/private/aws-protocoltests-restjson/src/RestJsonProtocolClient.ts
@@ -76,6 +76,10 @@ import {
ConstantQueryStringCommandInput,
ConstantQueryStringCommandOutput,
} from "./commands/ConstantQueryStringCommand";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import { DatetimeOffsetsCommandInput, DatetimeOffsetsCommandOutput } from "./commands/DatetimeOffsetsCommand";
import {
DocumentTypeAsMapValueCommandInput,
@@ -272,6 +276,14 @@ import {
OmitsSerializingEmptyListsCommandInput,
OmitsSerializingEmptyListsCommandOutput,
} from "./commands/OmitsSerializingEmptyListsCommand";
+import {
+ OperationWithDefaultsCommandInput,
+ OperationWithDefaultsCommandOutput,
+} from "./commands/OperationWithDefaultsCommand";
+import {
+ OperationWithNestedStructureCommandInput,
+ OperationWithNestedStructureCommandOutput,
+} from "./commands/OperationWithNestedStructureCommand";
import { PostPlayerActionCommandInput, PostPlayerActionCommandOutput } from "./commands/PostPlayerActionCommand";
import {
PostUnionWithJsonNameCommandInput,
@@ -307,6 +319,10 @@ import {
StreamingTraitsWithMediaTypeCommandOutput,
} from "./commands/StreamingTraitsWithMediaTypeCommand";
import { TestBodyStructureCommandInput, TestBodyStructureCommandOutput } from "./commands/TestBodyStructureCommand";
+import {
+ TestNoInputNoPayloadCommandInput,
+ TestNoInputNoPayloadCommandOutput,
+} from "./commands/TestNoInputNoPayloadCommand";
import { TestNoPayloadCommandInput, TestNoPayloadCommandOutput } from "./commands/TestNoPayloadCommand";
import { TestPayloadBlobCommandInput, TestPayloadBlobCommandOutput } from "./commands/TestPayloadBlobCommand";
import {
@@ -330,6 +346,7 @@ export type ServiceInputTypes =
| AllQueryStringTypesCommandInput
| ConstantAndVariableQueryStringCommandInput
| ConstantQueryStringCommandInput
+ | ContentTypeParametersCommandInput
| DatetimeOffsetsCommandInput
| DocumentTypeAsMapValueCommandInput
| DocumentTypeAsPayloadCommandInput
@@ -403,6 +420,8 @@ export type ServiceInputTypes =
| NullAndEmptyHeadersServerCommandInput
| OmitsNullSerializesEmptyStringCommandInput
| OmitsSerializingEmptyListsCommandInput
+ | OperationWithDefaultsCommandInput
+ | OperationWithNestedStructureCommandInput
| PostPlayerActionCommandInput
| PostUnionWithJsonNameCommandInput
| PutWithContentEncodingCommandInput
@@ -417,6 +436,7 @@ export type ServiceInputTypes =
| StreamingTraitsRequireLengthCommandInput
| StreamingTraitsWithMediaTypeCommandInput
| TestBodyStructureCommandInput
+ | TestNoInputNoPayloadCommandInput
| TestNoPayloadCommandInput
| TestPayloadBlobCommandInput
| TestPayloadStructureCommandInput
@@ -430,6 +450,7 @@ export type ServiceOutputTypes =
| AllQueryStringTypesCommandOutput
| ConstantAndVariableQueryStringCommandOutput
| ConstantQueryStringCommandOutput
+ | ContentTypeParametersCommandOutput
| DatetimeOffsetsCommandOutput
| DocumentTypeAsMapValueCommandOutput
| DocumentTypeAsPayloadCommandOutput
@@ -503,6 +524,8 @@ export type ServiceOutputTypes =
| NullAndEmptyHeadersServerCommandOutput
| OmitsNullSerializesEmptyStringCommandOutput
| OmitsSerializingEmptyListsCommandOutput
+ | OperationWithDefaultsCommandOutput
+ | OperationWithNestedStructureCommandOutput
| PostPlayerActionCommandOutput
| PostUnionWithJsonNameCommandOutput
| PutWithContentEncodingCommandOutput
@@ -517,6 +540,7 @@ export type ServiceOutputTypes =
| StreamingTraitsRequireLengthCommandOutput
| StreamingTraitsWithMediaTypeCommandOutput
| TestBodyStructureCommandOutput
+ | TestNoInputNoPayloadCommandOutput
| TestNoPayloadCommandOutput
| TestPayloadBlobCommandOutput
| TestPayloadStructureCommandOutput
diff --git a/private/aws-protocoltests-restjson/src/commands/ContentTypeParametersCommand.ts b/private/aws-protocoltests-restjson/src/commands/ContentTypeParametersCommand.ts
new file mode 100644
index 000000000000..50bee2365766
--- /dev/null
+++ b/private/aws-protocoltests-restjson/src/commands/ContentTypeParametersCommand.ts
@@ -0,0 +1,73 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { ContentTypeParametersInput, ContentTypeParametersOutput } from "../models/models_0";
+import { de_ContentTypeParametersCommand, se_ContentTypeParametersCommand } from "../protocols/Aws_restJson1";
+import { RestJsonProtocolClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RestJsonProtocolClient";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandInput extends ContentTypeParametersInput {}
+/**
+ * @public
+ *
+ * The output of {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandOutput extends ContentTypeParametersOutput, __MetadataBearer {}
+
+/**
+ * The example tests how servers must support requests
+ * containing a `Content-Type` header with parameters.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RestJsonProtocolClient, ContentTypeParametersCommand } from "@aws-sdk/aws-protocoltests-restjson"; // ES Modules import
+ * // const { RestJsonProtocolClient, ContentTypeParametersCommand } = require("@aws-sdk/aws-protocoltests-restjson"); // CommonJS import
+ * const client = new RestJsonProtocolClient(config);
+ * const input = { // ContentTypeParametersInput
+ * value: Number("int"),
+ * };
+ * const command = new ContentTypeParametersCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param ContentTypeParametersCommandInput - {@link ContentTypeParametersCommandInput}
+ * @returns {@link ContentTypeParametersCommandOutput}
+ * @see {@link ContentTypeParametersCommandInput} for command's `input` shape.
+ * @see {@link ContentTypeParametersCommandOutput} for command's `response` shape.
+ * @see {@link RestJsonProtocolClientResolvedConfig | config} for RestJsonProtocolClient's `config` shape.
+ *
+ * @throws {@link RestJsonProtocolServiceException}
+ * Base exception class for all service exceptions from RestJsonProtocol service.
+ *
+ * @public
+ */
+export class ContentTypeParametersCommand extends $Command
+ .classBuilder<
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+ RestJsonProtocolClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: RestJsonProtocolClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("RestJson", "ContentTypeParameters", {})
+ .n("RestJsonProtocolClient", "ContentTypeParametersCommand")
+ .f(void 0, void 0)
+ .ser(se_ContentTypeParametersCommand)
+ .de(de_ContentTypeParametersCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-restjson/src/commands/OperationWithDefaultsCommand.ts b/private/aws-protocoltests-restjson/src/commands/OperationWithDefaultsCommand.ts
new file mode 100644
index 000000000000..99e5297ae7cc
--- /dev/null
+++ b/private/aws-protocoltests-restjson/src/commands/OperationWithDefaultsCommand.ts
@@ -0,0 +1,143 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { OperationWithDefaultsInput, OperationWithDefaultsOutput } from "../models/models_0";
+import { de_OperationWithDefaultsCommand, se_OperationWithDefaultsCommand } from "../protocols/Aws_restJson1";
+import { RestJsonProtocolClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RestJsonProtocolClient";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link OperationWithDefaultsCommand}.
+ */
+export interface OperationWithDefaultsCommandInput extends OperationWithDefaultsInput {}
+/**
+ * @public
+ *
+ * The output of {@link OperationWithDefaultsCommand}.
+ */
+export interface OperationWithDefaultsCommandOutput extends OperationWithDefaultsOutput, __MetadataBearer {}
+
+/**
+ * @public
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RestJsonProtocolClient, OperationWithDefaultsCommand } from "@aws-sdk/aws-protocoltests-restjson"; // ES Modules import
+ * // const { RestJsonProtocolClient, OperationWithDefaultsCommand } = require("@aws-sdk/aws-protocoltests-restjson"); // CommonJS import
+ * const client = new RestJsonProtocolClient(config);
+ * const input = { // OperationWithDefaultsInput
+ * defaults: { // Defaults
+ * defaultString: "STRING_VALUE",
+ * defaultBoolean: true || false,
+ * defaultList: [ // TestStringList
+ * "STRING_VALUE",
+ * ],
+ * defaultDocumentMap: "DOCUMENT_VALUE",
+ * defaultDocumentString: "DOCUMENT_VALUE",
+ * defaultDocumentBoolean: "DOCUMENT_VALUE",
+ * defaultDocumentList: "DOCUMENT_VALUE",
+ * defaultNullDocument: "DOCUMENT_VALUE",
+ * defaultTimestamp: new Date("TIMESTAMP"),
+ * defaultBlob: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
+ * defaultByte: 0, // BYTE_VALUE
+ * defaultShort: Number("short"),
+ * defaultInteger: Number("int"),
+ * defaultLong: Number("long"),
+ * defaultFloat: Number("float"),
+ * defaultDouble: Number("double"),
+ * defaultMap: { // TestStringMap
+ * "": "STRING_VALUE",
+ * },
+ * defaultEnum: "FOO" || "BAR" || "BAZ",
+ * defaultIntEnum: 1 || 2,
+ * emptyString: "STRING_VALUE",
+ * falseBoolean: true || false,
+ * emptyBlob: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
+ * zeroByte: 0, // BYTE_VALUE
+ * zeroShort: Number("short"),
+ * zeroInteger: Number("int"),
+ * zeroLong: Number("long"),
+ * zeroFloat: Number("float"),
+ * zeroDouble: Number("double"),
+ * },
+ * clientOptionalDefaults: { // ClientOptionalDefaults
+ * member: Number("int"),
+ * },
+ * topLevelDefault: "STRING_VALUE",
+ * otherTopLevelDefault: Number("int"),
+ * };
+ * const command = new OperationWithDefaultsCommand(input);
+ * const response = await client.send(command);
+ * // { // OperationWithDefaultsOutput
+ * // defaultString: "STRING_VALUE",
+ * // defaultBoolean: true || false,
+ * // defaultList: [ // TestStringList
+ * // "STRING_VALUE",
+ * // ],
+ * // defaultDocumentMap: "DOCUMENT_VALUE",
+ * // defaultDocumentString: "DOCUMENT_VALUE",
+ * // defaultDocumentBoolean: "DOCUMENT_VALUE",
+ * // defaultDocumentList: "DOCUMENT_VALUE",
+ * // defaultNullDocument: "DOCUMENT_VALUE",
+ * // defaultTimestamp: new Date("TIMESTAMP"),
+ * // defaultBlob: new Uint8Array(),
+ * // defaultByte: 0, // BYTE_VALUE
+ * // defaultShort: Number("short"),
+ * // defaultInteger: Number("int"),
+ * // defaultLong: Number("long"),
+ * // defaultFloat: Number("float"),
+ * // defaultDouble: Number("double"),
+ * // defaultMap: { // TestStringMap
+ * // "": "STRING_VALUE",
+ * // },
+ * // defaultEnum: "FOO" || "BAR" || "BAZ",
+ * // defaultIntEnum: 1 || 2,
+ * // emptyString: "STRING_VALUE",
+ * // falseBoolean: true || false,
+ * // emptyBlob: new Uint8Array(),
+ * // zeroByte: 0, // BYTE_VALUE
+ * // zeroShort: Number("short"),
+ * // zeroInteger: Number("int"),
+ * // zeroLong: Number("long"),
+ * // zeroFloat: Number("float"),
+ * // zeroDouble: Number("double"),
+ * // };
+ *
+ * ```
+ *
+ * @param OperationWithDefaultsCommandInput - {@link OperationWithDefaultsCommandInput}
+ * @returns {@link OperationWithDefaultsCommandOutput}
+ * @see {@link OperationWithDefaultsCommandInput} for command's `input` shape.
+ * @see {@link OperationWithDefaultsCommandOutput} for command's `response` shape.
+ * @see {@link RestJsonProtocolClientResolvedConfig | config} for RestJsonProtocolClient's `config` shape.
+ *
+ * @throws {@link RestJsonProtocolServiceException}
+ * Base exception class for all service exceptions from RestJsonProtocol service.
+ *
+ */
+export class OperationWithDefaultsCommand extends $Command
+ .classBuilder<
+ OperationWithDefaultsCommandInput,
+ OperationWithDefaultsCommandOutput,
+ RestJsonProtocolClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: RestJsonProtocolClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("RestJson", "OperationWithDefaults", {})
+ .n("RestJsonProtocolClient", "OperationWithDefaultsCommand")
+ .f(void 0, void 0)
+ .ser(se_OperationWithDefaultsCommand)
+ .de(de_OperationWithDefaultsCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-restjson/src/commands/OperationWithNestedStructureCommand.ts b/private/aws-protocoltests-restjson/src/commands/OperationWithNestedStructureCommand.ts
new file mode 100644
index 000000000000..8df9068bc72c
--- /dev/null
+++ b/private/aws-protocoltests-restjson/src/commands/OperationWithNestedStructureCommand.ts
@@ -0,0 +1,129 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { OperationWithNestedStructureInput, OperationWithNestedStructureOutput } from "../models/models_0";
+import {
+ de_OperationWithNestedStructureCommand,
+ se_OperationWithNestedStructureCommand,
+} from "../protocols/Aws_restJson1";
+import { RestJsonProtocolClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RestJsonProtocolClient";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link OperationWithNestedStructureCommand}.
+ */
+export interface OperationWithNestedStructureCommandInput extends OperationWithNestedStructureInput {}
+/**
+ * @public
+ *
+ * The output of {@link OperationWithNestedStructureCommand}.
+ */
+export interface OperationWithNestedStructureCommandOutput
+ extends OperationWithNestedStructureOutput,
+ __MetadataBearer {}
+
+/**
+ * @public
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RestJsonProtocolClient, OperationWithNestedStructureCommand } from "@aws-sdk/aws-protocoltests-restjson"; // ES Modules import
+ * // const { RestJsonProtocolClient, OperationWithNestedStructureCommand } = require("@aws-sdk/aws-protocoltests-restjson"); // CommonJS import
+ * const client = new RestJsonProtocolClient(config);
+ * const input = { // OperationWithNestedStructureInput
+ * topLevel: { // TopLevel
+ * dialog: { // Dialog
+ * language: "STRING_VALUE",
+ * greeting: "STRING_VALUE",
+ * farewell: { // Farewell
+ * phrase: "STRING_VALUE",
+ * },
+ * },
+ * dialogList: [ // DialogList
+ * {
+ * language: "STRING_VALUE",
+ * greeting: "STRING_VALUE",
+ * farewell: {
+ * phrase: "STRING_VALUE",
+ * },
+ * },
+ * ],
+ * dialogMap: { // DialogMap
+ * "": {
+ * language: "STRING_VALUE",
+ * greeting: "STRING_VALUE",
+ * farewell: {
+ * phrase: "STRING_VALUE",
+ * },
+ * },
+ * },
+ * },
+ * };
+ * const command = new OperationWithNestedStructureCommand(input);
+ * const response = await client.send(command);
+ * // { // OperationWithNestedStructureOutput
+ * // dialog: { // Dialog
+ * // language: "STRING_VALUE",
+ * // greeting: "STRING_VALUE",
+ * // farewell: { // Farewell
+ * // phrase: "STRING_VALUE",
+ * // },
+ * // },
+ * // dialogList: [ // DialogList
+ * // {
+ * // language: "STRING_VALUE",
+ * // greeting: "STRING_VALUE",
+ * // farewell: {
+ * // phrase: "STRING_VALUE",
+ * // },
+ * // },
+ * // ],
+ * // dialogMap: { // DialogMap
+ * // "": {
+ * // language: "STRING_VALUE",
+ * // greeting: "STRING_VALUE",
+ * // farewell: {
+ * // phrase: "STRING_VALUE",
+ * // },
+ * // },
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param OperationWithNestedStructureCommandInput - {@link OperationWithNestedStructureCommandInput}
+ * @returns {@link OperationWithNestedStructureCommandOutput}
+ * @see {@link OperationWithNestedStructureCommandInput} for command's `input` shape.
+ * @see {@link OperationWithNestedStructureCommandOutput} for command's `response` shape.
+ * @see {@link RestJsonProtocolClientResolvedConfig | config} for RestJsonProtocolClient's `config` shape.
+ *
+ * @throws {@link RestJsonProtocolServiceException}
+ * Base exception class for all service exceptions from RestJsonProtocol service.
+ *
+ */
+export class OperationWithNestedStructureCommand extends $Command
+ .classBuilder<
+ OperationWithNestedStructureCommandInput,
+ OperationWithNestedStructureCommandOutput,
+ RestJsonProtocolClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: RestJsonProtocolClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("RestJson", "OperationWithNestedStructure", {})
+ .n("RestJsonProtocolClient", "OperationWithNestedStructureCommand")
+ .f(void 0, void 0)
+ .ser(se_OperationWithNestedStructureCommand)
+ .de(de_OperationWithNestedStructureCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-restjson/src/commands/TestNoInputNoPayloadCommand.ts b/private/aws-protocoltests-restjson/src/commands/TestNoInputNoPayloadCommand.ts
new file mode 100644
index 000000000000..e97d085aab78
--- /dev/null
+++ b/private/aws-protocoltests-restjson/src/commands/TestNoInputNoPayloadCommand.ts
@@ -0,0 +1,77 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { TestNoPayloadInputOutput } from "../models/models_0";
+import { de_TestNoInputNoPayloadCommand, se_TestNoInputNoPayloadCommand } from "../protocols/Aws_restJson1";
+import { RestJsonProtocolClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RestJsonProtocolClient";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link TestNoInputNoPayloadCommand}.
+ */
+export interface TestNoInputNoPayloadCommandInput {}
+/**
+ * @public
+ *
+ * The output of {@link TestNoInputNoPayloadCommand}.
+ */
+export interface TestNoInputNoPayloadCommandOutput extends TestNoPayloadInputOutput, __MetadataBearer {}
+
+/**
+ * This example operation has no input and serializes a request without an HTTP body.
+ *
+ * These tests are to ensure we do not attach a body or related headers
+ * (Content-Length, Content-Type) to operations that semantically
+ * cannot produce an HTTP body.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RestJsonProtocolClient, TestNoInputNoPayloadCommand } from "@aws-sdk/aws-protocoltests-restjson"; // ES Modules import
+ * // const { RestJsonProtocolClient, TestNoInputNoPayloadCommand } = require("@aws-sdk/aws-protocoltests-restjson"); // CommonJS import
+ * const client = new RestJsonProtocolClient(config);
+ * const input = {};
+ * const command = new TestNoInputNoPayloadCommand(input);
+ * const response = await client.send(command);
+ * // { // TestNoPayloadInputOutput
+ * // testId: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param TestNoInputNoPayloadCommandInput - {@link TestNoInputNoPayloadCommandInput}
+ * @returns {@link TestNoInputNoPayloadCommandOutput}
+ * @see {@link TestNoInputNoPayloadCommandInput} for command's `input` shape.
+ * @see {@link TestNoInputNoPayloadCommandOutput} for command's `response` shape.
+ * @see {@link RestJsonProtocolClientResolvedConfig | config} for RestJsonProtocolClient's `config` shape.
+ *
+ * @throws {@link RestJsonProtocolServiceException}
+ * Base exception class for all service exceptions from RestJsonProtocol service.
+ *
+ * @public
+ */
+export class TestNoInputNoPayloadCommand extends $Command
+ .classBuilder<
+ TestNoInputNoPayloadCommandInput,
+ TestNoInputNoPayloadCommandOutput,
+ RestJsonProtocolClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: RestJsonProtocolClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("RestJson", "TestNoInputNoPayload", {})
+ .n("RestJsonProtocolClient", "TestNoInputNoPayloadCommand")
+ .f(void 0, void 0)
+ .ser(se_TestNoInputNoPayloadCommand)
+ .de(de_TestNoInputNoPayloadCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-restjson/src/commands/index.ts b/private/aws-protocoltests-restjson/src/commands/index.ts
index 2f5033393326..e75203cd3311 100644
--- a/private/aws-protocoltests-restjson/src/commands/index.ts
+++ b/private/aws-protocoltests-restjson/src/commands/index.ts
@@ -2,6 +2,7 @@
export * from "./AllQueryStringTypesCommand";
export * from "./ConstantAndVariableQueryStringCommand";
export * from "./ConstantQueryStringCommand";
+export * from "./ContentTypeParametersCommand";
export * from "./DatetimeOffsetsCommand";
export * from "./DocumentTypeAsMapValueCommand";
export * from "./DocumentTypeAsPayloadCommand";
@@ -75,6 +76,8 @@ export * from "./NullAndEmptyHeadersClientCommand";
export * from "./NullAndEmptyHeadersServerCommand";
export * from "./OmitsNullSerializesEmptyStringCommand";
export * from "./OmitsSerializingEmptyListsCommand";
+export * from "./OperationWithDefaultsCommand";
+export * from "./OperationWithNestedStructureCommand";
export * from "./PostPlayerActionCommand";
export * from "./PostUnionWithJsonNameCommand";
export * from "./PutWithContentEncodingCommand";
@@ -89,6 +92,7 @@ export * from "./StreamingTraitsCommand";
export * from "./StreamingTraitsRequireLengthCommand";
export * from "./StreamingTraitsWithMediaTypeCommand";
export * from "./TestBodyStructureCommand";
+export * from "./TestNoInputNoPayloadCommand";
export * from "./TestNoPayloadCommand";
export * from "./TestPayloadBlobCommand";
export * from "./TestPayloadStructureCommand";
diff --git a/private/aws-protocoltests-restjson/src/models/models_0.ts b/private/aws-protocoltests-restjson/src/models/models_0.ts
index 4e10af5f727d..83894c0aa7e4 100644
--- a/private/aws-protocoltests-restjson/src/models/models_0.ts
+++ b/private/aws-protocoltests-restjson/src/models/models_0.ts
@@ -63,6 +63,13 @@ export interface AllQueryStringTypesInput {
queryParamsMapOfStringList?: Record;
}
+/**
+ * @public
+ */
+export interface ClientOptionalDefaults {
+ member?: number;
+}
+
/**
* @public
*/
@@ -111,6 +118,18 @@ export interface ConstantQueryStringInput {
hello: string | undefined;
}
+/**
+ * @public
+ */
+export interface ContentTypeParametersInput {
+ value?: number;
+}
+
+/**
+ * @public
+ */
+export interface ContentTypeParametersOutput {}
+
/**
* @public
*/
@@ -118,6 +137,75 @@ export interface DatetimeOffsetsOutput {
datetime?: Date;
}
+/**
+ * @public
+ * @enum
+ */
+export const TestEnum = {
+ BAR: "BAR",
+ BAZ: "BAZ",
+ FOO: "FOO",
+} as const;
+/**
+ * @public
+ */
+export type TestEnum = (typeof TestEnum)[keyof typeof TestEnum];
+
+export enum TestIntEnum {
+ ONE = 1,
+ TWO = 2,
+}
+
+/**
+ * @public
+ */
+export interface Defaults {
+ defaultString?: string;
+ defaultBoolean?: boolean;
+ defaultList?: string[];
+ defaultDocumentMap?: __DocumentType;
+ defaultDocumentString?: __DocumentType;
+ defaultDocumentBoolean?: __DocumentType;
+ defaultDocumentList?: __DocumentType;
+ defaultNullDocument?: __DocumentType;
+ defaultTimestamp?: Date;
+ defaultBlob?: Uint8Array;
+ defaultByte?: number;
+ defaultShort?: number;
+ defaultInteger?: number;
+ defaultLong?: number;
+ defaultFloat?: number;
+ defaultDouble?: number;
+ defaultMap?: Record;
+ defaultEnum?: TestEnum;
+ defaultIntEnum?: TestIntEnum;
+ emptyString?: string;
+ falseBoolean?: boolean;
+ emptyBlob?: Uint8Array;
+ zeroByte?: number;
+ zeroShort?: number;
+ zeroInteger?: number;
+ zeroLong?: number;
+ zeroFloat?: number;
+ zeroDouble?: number;
+}
+
+/**
+ * @public
+ */
+export interface Farewell {
+ phrase?: string;
+}
+
+/**
+ * @public
+ */
+export interface Dialog {
+ language?: string;
+ greeting?: string;
+ farewell?: Farewell;
+}
+
/**
* @public
*/
@@ -1069,6 +1157,75 @@ export interface OmitsSerializingEmptyListsInput {
queryIntegerEnumList?: IntegerEnum[];
}
+/**
+ * @public
+ */
+export interface OperationWithDefaultsInput {
+ defaults?: Defaults;
+ clientOptionalDefaults?: ClientOptionalDefaults;
+ topLevelDefault?: string;
+ otherTopLevelDefault?: number;
+}
+
+/**
+ * @public
+ */
+export interface OperationWithDefaultsOutput {
+ defaultString?: string;
+ defaultBoolean?: boolean;
+ defaultList?: string[];
+ defaultDocumentMap?: __DocumentType;
+ defaultDocumentString?: __DocumentType;
+ defaultDocumentBoolean?: __DocumentType;
+ defaultDocumentList?: __DocumentType;
+ defaultNullDocument?: __DocumentType;
+ defaultTimestamp?: Date;
+ defaultBlob?: Uint8Array;
+ defaultByte?: number;
+ defaultShort?: number;
+ defaultInteger?: number;
+ defaultLong?: number;
+ defaultFloat?: number;
+ defaultDouble?: number;
+ defaultMap?: Record;
+ defaultEnum?: TestEnum;
+ defaultIntEnum?: TestIntEnum;
+ emptyString?: string;
+ falseBoolean?: boolean;
+ emptyBlob?: Uint8Array;
+ zeroByte?: number;
+ zeroShort?: number;
+ zeroInteger?: number;
+ zeroLong?: number;
+ zeroFloat?: number;
+ zeroDouble?: number;
+}
+
+/**
+ * @public
+ */
+export interface TopLevel {
+ dialog: Dialog | undefined;
+ dialogList?: Dialog[];
+ dialogMap?: Record;
+}
+
+/**
+ * @public
+ */
+export interface OperationWithNestedStructureInput {
+ topLevel: TopLevel | undefined;
+}
+
+/**
+ * @public
+ */
+export interface OperationWithNestedStructureOutput {
+ dialog: Dialog | undefined;
+ dialogList?: Dialog[];
+ dialogMap?: Record;
+}
+
/**
* @public
*/
diff --git a/private/aws-protocoltests-restjson/src/protocols/Aws_restJson1.ts b/private/aws-protocoltests-restjson/src/protocols/Aws_restJson1.ts
index 6856fa584b9e..92dad884b5cf 100644
--- a/private/aws-protocoltests-restjson/src/protocols/Aws_restJson1.ts
+++ b/private/aws-protocoltests-restjson/src/protocols/Aws_restJson1.ts
@@ -69,6 +69,10 @@ import {
ConstantQueryStringCommandInput,
ConstantQueryStringCommandOutput,
} from "../commands/ConstantQueryStringCommand";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "../commands/ContentTypeParametersCommand";
import { DatetimeOffsetsCommandInput, DatetimeOffsetsCommandOutput } from "../commands/DatetimeOffsetsCommand";
import {
DocumentTypeAsMapValueCommandInput,
@@ -265,6 +269,14 @@ import {
OmitsSerializingEmptyListsCommandInput,
OmitsSerializingEmptyListsCommandOutput,
} from "../commands/OmitsSerializingEmptyListsCommand";
+import {
+ OperationWithDefaultsCommandInput,
+ OperationWithDefaultsCommandOutput,
+} from "../commands/OperationWithDefaultsCommand";
+import {
+ OperationWithNestedStructureCommandInput,
+ OperationWithNestedStructureCommandOutput,
+} from "../commands/OperationWithNestedStructureCommand";
import { PostPlayerActionCommandInput, PostPlayerActionCommandOutput } from "../commands/PostPlayerActionCommand";
import {
PostUnionWithJsonNameCommandInput,
@@ -300,6 +312,10 @@ import {
StreamingTraitsWithMediaTypeCommandOutput,
} from "../commands/StreamingTraitsWithMediaTypeCommand";
import { TestBodyStructureCommandInput, TestBodyStructureCommandOutput } from "../commands/TestBodyStructureCommand";
+import {
+ TestNoInputNoPayloadCommandInput,
+ TestNoInputNoPayloadCommandOutput,
+} from "../commands/TestNoInputNoPayloadCommand";
import { TestNoPayloadCommandInput, TestNoPayloadCommandOutput } from "../commands/TestNoPayloadCommand";
import { TestPayloadBlobCommandInput, TestPayloadBlobCommandOutput } from "../commands/TestPayloadBlobCommand";
import {
@@ -312,8 +328,12 @@ import {
} from "../commands/TimestampFormatHeadersCommand";
import { UnitInputAndOutputCommandInput, UnitInputAndOutputCommandOutput } from "../commands/UnitInputAndOutputCommand";
import {
+ ClientOptionalDefaults,
ComplexError,
ComplexNestedErrorData,
+ Defaults,
+ Dialog,
+ Farewell,
FooEnum,
FooError,
GreetingStruct,
@@ -329,6 +349,7 @@ import {
SimpleUnion,
StructureListMember,
TestConfig,
+ TopLevel,
UnionPayload,
UnionWithJsonName,
Unit,
@@ -437,6 +458,28 @@ export const se_ConstantQueryStringCommand = async (
return b.build();
};
+/**
+ * serializeAws_restJson1ContentTypeParametersCommand
+ */
+export const se_ContentTypeParametersCommand = async (
+ input: ContentTypeParametersCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const b = rb(input, context);
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ b.bp("/ContentTypeParameters");
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ value: [],
+ })
+ );
+ b.m("POST").h(headers).b(body);
+ return b.build();
+};
+
/**
* serializeAws_restJson1DatetimeOffsetsCommand
*/
@@ -2043,6 +2086,53 @@ export const se_OmitsSerializingEmptyListsCommand = async (
return b.build();
};
+/**
+ * serializeAws_restJson1OperationWithDefaultsCommand
+ */
+export const se_OperationWithDefaultsCommand = async (
+ input: OperationWithDefaultsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const b = rb(input, context);
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ b.bp("/OperationWithDefaults");
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ clientOptionalDefaults: (_) => _json(_),
+ defaults: (_) => se_Defaults(_, context),
+ otherTopLevelDefault: [],
+ topLevelDefault: [],
+ })
+ );
+ b.m("POST").h(headers).b(body);
+ return b.build();
+};
+
+/**
+ * serializeAws_restJson1OperationWithNestedStructureCommand
+ */
+export const se_OperationWithNestedStructureCommand = async (
+ input: OperationWithNestedStructureCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const b = rb(input, context);
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ b.bp("/OperationWithNestedStructure");
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ topLevel: (_) => _json(_),
+ })
+ );
+ b.m("POST").h(headers).b(body);
+ return b.build();
+};
+
/**
* serializeAws_restJson1PostPlayerActionCommand
*/
@@ -2353,6 +2443,21 @@ export const se_TestBodyStructureCommand = async (
return b.build();
};
+/**
+ * serializeAws_restJson1TestNoInputNoPayloadCommand
+ */
+export const se_TestNoInputNoPayloadCommand = async (
+ input: TestNoInputNoPayloadCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const b = rb(input, context);
+ const headers: any = {};
+ b.bp("/no_input_no_payload");
+ let body: any;
+ b.m("GET").h(headers).b(body);
+ return b.build();
+};
+
/**
* serializeAws_restJson1TestNoPayloadCommand
*/
@@ -2504,6 +2609,23 @@ export const de_ConstantQueryStringCommand = async (
return contents;
};
+/**
+ * deserializeAws_restJson1ContentTypeParametersCommand
+ */
+export const de_ContentTypeParametersCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ await collectBody(output.body, context);
+ return contents;
+};
+
/**
* deserializeAws_restJson1DatetimeOffsetsCommand
*/
@@ -3923,6 +4045,77 @@ export const de_OmitsSerializingEmptyListsCommand = async (
return contents;
};
+/**
+ * deserializeAws_restJson1OperationWithDefaultsCommand
+ */
+export const de_OperationWithDefaultsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ defaultBlob: context.base64Decoder,
+ defaultBoolean: __expectBoolean,
+ defaultByte: __expectByte,
+ defaultDocumentBoolean: (_) => de_Document(_, context),
+ defaultDocumentList: (_) => de_Document(_, context),
+ defaultDocumentMap: (_) => de_Document(_, context),
+ defaultDocumentString: (_) => de_Document(_, context),
+ defaultDouble: __limitedParseDouble,
+ defaultEnum: __expectString,
+ defaultFloat: __limitedParseFloat32,
+ defaultIntEnum: __expectInt32,
+ defaultInteger: __expectInt32,
+ defaultList: _json,
+ defaultLong: __expectLong,
+ defaultMap: _json,
+ defaultNullDocument: (_) => de_Document(_, context),
+ defaultShort: __expectShort,
+ defaultString: __expectString,
+ defaultTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
+ emptyBlob: context.base64Decoder,
+ emptyString: __expectString,
+ falseBoolean: __expectBoolean,
+ zeroByte: __expectByte,
+ zeroDouble: __limitedParseDouble,
+ zeroFloat: __limitedParseFloat32,
+ zeroInteger: __expectInt32,
+ zeroLong: __expectLong,
+ zeroShort: __expectShort,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1OperationWithNestedStructureCommand
+ */
+export const de_OperationWithNestedStructureCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ dialog: _json,
+ dialogList: _json,
+ dialogMap: _json,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
/**
* deserializeAws_restJson1PostPlayerActionCommand
*/
@@ -4209,6 +4402,24 @@ export const de_TestBodyStructureCommand = async (
return contents;
};
+/**
+ * deserializeAws_restJson1TestNoInputNoPayloadCommand
+ */
+export const de_TestNoInputNoPayloadCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ [_tI]: [, output.headers[_xati]],
+ });
+ await collectBody(output.body, context);
+ return contents;
+};
+
/**
* deserializeAws_restJson1TestNoPayloadCommand
*/
@@ -4400,6 +4611,44 @@ const de_InvalidGreetingRes = async (parsedOutput: any, context: __SerdeContext)
return __decorateServiceException(exception, parsedOutput.body);
};
+// se_ClientOptionalDefaults omitted.
+
+/**
+ * serializeAws_restJson1Defaults
+ */
+const se_Defaults = (input: Defaults, context: __SerdeContext): any => {
+ return take(input, {
+ defaultBlob: context.base64Encoder,
+ defaultBoolean: [],
+ defaultByte: [],
+ defaultDocumentBoolean: (_) => se_Document(_, context),
+ defaultDocumentList: (_) => se_Document(_, context),
+ defaultDocumentMap: (_) => se_Document(_, context),
+ defaultDocumentString: (_) => se_Document(_, context),
+ defaultDouble: __serializeFloat,
+ defaultEnum: [],
+ defaultFloat: __serializeFloat,
+ defaultIntEnum: [],
+ defaultInteger: [],
+ defaultList: _json,
+ defaultLong: [],
+ defaultMap: _json,
+ defaultNullDocument: (_) => se_Document(_, context),
+ defaultShort: [],
+ defaultString: [],
+ defaultTimestamp: (_) => _.getTime() / 1_000,
+ emptyBlob: context.base64Encoder,
+ emptyString: [],
+ falseBoolean: [],
+ zeroByte: [],
+ zeroDouble: __serializeFloat,
+ zeroFloat: __serializeFloat,
+ zeroInteger: [],
+ zeroLong: [],
+ zeroShort: [],
+ });
+};
+
// se_DenseBooleanMap omitted.
// se_DenseNumberMap omitted.
@@ -4410,6 +4659,12 @@ const de_InvalidGreetingRes = async (parsedOutput: any, context: __SerdeContext)
// se_DenseStructMap omitted.
+// se_Dialog omitted.
+
+// se_DialogList omitted.
+
+// se_DialogMap omitted.
+
/**
* serializeAws_restJson1Document
*/
@@ -4430,6 +4685,8 @@ const se_DocumentValuedMap = (input: Record, context: __
}, {});
};
+// se_Farewell omitted.
+
/**
* serializeAws_restJson1MyUnion
*/
@@ -4566,6 +4823,12 @@ const se_StructureListMember = (input: StructureListMember, context: __SerdeCont
// se_TestConfig omitted.
+// se_TestStringList omitted.
+
+// se_TestStringMap omitted.
+
+// se_TopLevel omitted.
+
// se_UnionPayload omitted.
/**
@@ -4661,6 +4924,12 @@ const de_ComplexNestedErrorData = (output: any, context: __SerdeContext): Comple
// de_DenseStructMap omitted.
+// de_Dialog omitted.
+
+// de_DialogList omitted.
+
+// de_DialogMap omitted.
+
/**
* deserializeAws_restJson1Document
*/
@@ -4681,6 +4950,8 @@ const de_DocumentValuedMap = (output: any, context: __SerdeContext): Record);
};
+// de_Farewell omitted.
+
/**
* deserializeAws_restJson1MyUnion
*/
@@ -4842,6 +5113,10 @@ const de_StructureListMember = (output: any, context: __SerdeContext): Structure
// de_TestConfig omitted.
+// de_TestStringList omitted.
+
+// de_TestStringMap omitted.
+
// de_UnionPayload omitted.
/**
diff --git a/private/aws-protocoltests-restjson/test/functional/restjson1.spec.ts b/private/aws-protocoltests-restjson/test/functional/restjson1.spec.ts
index ee1840bcb94e..ee18d2ce4656 100644
--- a/private/aws-protocoltests-restjson/test/functional/restjson1.spec.ts
+++ b/private/aws-protocoltests-restjson/test/functional/restjson1.spec.ts
@@ -48,6 +48,8 @@ import { NoInputAndOutputCommand } from "../../src/commands/NoInputAndOutputComm
import { NullAndEmptyHeadersClientCommand } from "../../src/commands/NullAndEmptyHeadersClientCommand";
import { OmitsNullSerializesEmptyStringCommand } from "../../src/commands/OmitsNullSerializesEmptyStringCommand";
import { OmitsSerializingEmptyListsCommand } from "../../src/commands/OmitsSerializingEmptyListsCommand";
+import { OperationWithDefaultsCommand } from "../../src/commands/OperationWithDefaultsCommand";
+import { OperationWithNestedStructureCommand } from "../../src/commands/OperationWithNestedStructureCommand";
import { PostPlayerActionCommand } from "../../src/commands/PostPlayerActionCommand";
import { PostUnionWithJsonNameCommand } from "../../src/commands/PostUnionWithJsonNameCommand";
import { PutWithContentEncodingCommand } from "../../src/commands/PutWithContentEncodingCommand";
@@ -62,6 +64,7 @@ import { StreamingTraitsCommand } from "../../src/commands/StreamingTraitsComman
import { StreamingTraitsRequireLengthCommand } from "../../src/commands/StreamingTraitsRequireLengthCommand";
import { StreamingTraitsWithMediaTypeCommand } from "../../src/commands/StreamingTraitsWithMediaTypeCommand";
import { TestBodyStructureCommand } from "../../src/commands/TestBodyStructureCommand";
+import { TestNoInputNoPayloadCommand } from "../../src/commands/TestNoInputNoPayloadCommand";
import { TestNoPayloadCommand } from "../../src/commands/TestNoPayloadCommand";
import { TestPayloadBlobCommand } from "../../src/commands/TestPayloadBlobCommand";
import { TestPayloadStructureCommand } from "../../src/commands/TestPayloadStructureCommand";
@@ -2335,6 +2338,9 @@ it("RestJsonEnumPayloadRequest:Request", async () => {
expect(r.method).toBe("POST");
expect(r.path).toBe("/EnumPayload");
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("text/plain");
+
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `enumvalue`;
@@ -2346,7 +2352,14 @@ it("RestJsonEnumPayloadRequest:Request", async () => {
it("RestJsonEnumPayloadResponse:Response", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
- requestHandler: new ResponseDeserializationTestHandler(true, 200, undefined, `enumvalue`),
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "text/plain",
+ },
+ `enumvalue`
+ ),
});
const params: any = {};
@@ -3367,11 +3380,15 @@ it("RestJsonStringPayloadRequest:Request", async () => {
const r = err.request;
expect(r.method).toBe("POST");
expect(r.path).toBe("/StringPayload");
+ expect(r.headers["content-length"]).toBeDefined();
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("text/plain");
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `rawstring`;
- const unequalParts: any = compareEquivalentUnknownTypeBodies(utf8Encoder, bodyString, r.body);
+ const unequalParts: any = compareEquivalentTextBodies(bodyString, r.body);
expect(unequalParts).toBeUndefined();
}
});
@@ -3379,7 +3396,14 @@ it("RestJsonStringPayloadRequest:Request", async () => {
it("RestJsonStringPayloadResponse:Response", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
- requestHandler: new ResponseDeserializationTestHandler(true, 200, undefined, `rawstring`),
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "text/plain",
+ },
+ `rawstring`
+ ),
});
const params: any = {};
@@ -7064,18 +7088,16 @@ it("RestJsonOmitsEmptyListQueryValues:Request", async () => {
});
/**
- * Unit types in unions are serialized like normal structures in requests.
+ * Client populates default values in input.
*/
-it("RestJsonInputUnionWithUnitMember:Request", async () => {
+it.skip("RestJsonClientPopulatesDefaultValuesInInput:Request", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new RequestSerializationTestHandler(),
});
- const command = new PostPlayerActionCommand({
- action: {
- quit: {} as any,
- } as any,
+ const command = new OperationWithDefaultsCommand({
+ defaults: {} as any,
} as any);
try {
await client.send(command);
@@ -7088,7 +7110,7 @@ it("RestJsonInputUnionWithUnitMember:Request", async () => {
}
const r = err.request;
expect(r.method).toBe("POST");
- expect(r.path).toBe("/PostPlayerAction");
+ expect(r.path).toBe("/OperationWithDefaults");
expect(r.headers["content-type"]).toBeDefined();
expect(r.headers["content-type"]).toBe("application/json");
@@ -7096,8 +7118,34 @@ it("RestJsonInputUnionWithUnitMember:Request", async () => {
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `{
- \"action\": {
- \"quit\": {}
+ \"defaults\": {
+ \"defaultString\": \"hi\",
+ \"defaultBoolean\": true,
+ \"defaultList\": [],
+ \"defaultDocumentMap\": {},
+ \"defaultDocumentString\": \"hi\",
+ \"defaultDocumentBoolean\": true,
+ \"defaultDocumentList\": [],
+ \"defaultTimestamp\": 0,
+ \"defaultBlob\": \"YWJj\",
+ \"defaultByte\": 1,
+ \"defaultShort\": 1,
+ \"defaultInteger\": 10,
+ \"defaultLong\": 100,
+ \"defaultFloat\": 1.0,
+ \"defaultDouble\": 1.0,
+ \"defaultMap\": {},
+ \"defaultEnum\": \"FOO\",
+ \"defaultIntEnum\": 1,
+ \"emptyString\": \"\",
+ \"falseBoolean\": false,
+ \"emptyBlob\": \"\",
+ \"zeroByte\": 0,
+ \"zeroShort\": 0,
+ \"zeroInteger\": 0,
+ \"zeroLong\": 0,
+ \"zeroFloat\": 0.0,
+ \"zeroDouble\": 0.0
}
}`;
const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
@@ -7106,61 +7154,110 @@ it("RestJsonInputUnionWithUnitMember:Request", async () => {
});
/**
- * Unit types in unions are serialized like normal structures in responses.
+ * Client skips top level default values in input.
*/
-it("RestJsonOutputUnionWithUnitMember:Response", async () => {
+it.skip("RestJsonClientSkipsTopLevelDefaultValuesInInput:Request", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
- requestHandler: new ResponseDeserializationTestHandler(
- true,
- 200,
- {
- "content-type": "application/json",
- },
- `{
- "action": {
- "quit": {}
- }
- }`
- ),
+ requestHandler: new RequestSerializationTestHandler(),
});
- const params: any = {};
- const command = new PostPlayerActionCommand(params);
-
- let r: any;
+ const command = new OperationWithDefaultsCommand({} as any);
try {
- r = await client.send(command);
- } catch (err) {
- fail("Expected a valid response to be returned, got " + err);
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("POST");
+ expect(r.path).toBe("/OperationWithDefaults");
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("application/json");
+
+ expect(r.body).toBeDefined();
+ const utf8Encoder = client.config.utf8Encoder;
+ const bodyString = `{
+ }`;
+ const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
+ expect(unequalParts).toBeUndefined();
}
- expect(r["$metadata"].httpStatusCode).toBe(200);
- const paramsToValidate: any = [
- {
- action: {
- quit: {},
- },
- },
- ][0];
- Object.keys(paramsToValidate).forEach((param) => {
- expect(r[param]).toBeDefined();
- expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
- });
});
/**
- * Tests that jsonName works with union members.
+ * Client uses explicitly provided member values over defaults
*/
-it("PostUnionWithJsonNameRequest1:Request", async () => {
+it.skip("RestJsonClientUsesExplicitlyProvidedMemberValuesOverDefaults:Request", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new RequestSerializationTestHandler(),
});
- const command = new PostUnionWithJsonNameCommand({
- value: {
- foo: "hi",
+ const command = new OperationWithDefaultsCommand({
+ defaults: {
+ defaultString: "bye",
+
+ defaultBoolean: true,
+
+ defaultList: ["a"],
+
+ defaultDocumentMap: {
+ name: "Jack",
+ },
+
+ defaultDocumentString: "bye",
+
+ defaultDocumentBoolean: true,
+
+ defaultDocumentList: ["b"],
+
+ defaultNullDocument: "notNull",
+
+ defaultTimestamp: new Date(1000),
+
+ defaultBlob: Uint8Array.from("hi", (c) => c.charCodeAt(0)),
+
+ defaultByte: 2,
+
+ defaultShort: 2,
+
+ defaultInteger: 20,
+
+ defaultLong: 200,
+
+ defaultFloat: 2.0,
+
+ defaultDouble: 2.0,
+
+ defaultMap: {
+ name: "Jack",
+ } as any,
+
+ defaultEnum: "BAR",
+
+ defaultIntEnum: 2,
+
+ emptyString: "foo",
+
+ falseBoolean: true,
+
+ emptyBlob: Uint8Array.from("hi", (c) => c.charCodeAt(0)),
+
+ zeroByte: 1,
+
+ zeroShort: 1,
+
+ zeroInteger: 1,
+
+ zeroLong: 1,
+
+ zeroFloat: 1.0,
+
+ zeroDouble: 1.0,
} as any,
} as any);
try {
@@ -7174,7 +7271,7 @@ it("PostUnionWithJsonNameRequest1:Request", async () => {
}
const r = err.request;
expect(r.method).toBe("POST");
- expect(r.path).toBe("/PostUnionWithJsonName");
+ expect(r.path).toBe("/OperationWithDefaults");
expect(r.headers["content-type"]).toBeDefined();
expect(r.headers["content-type"]).toBe("application/json");
@@ -7182,8 +7279,35 @@ it("PostUnionWithJsonNameRequest1:Request", async () => {
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `{
- \"value\": {
- \"FOO\": \"hi\"
+ \"defaults\": {
+ \"defaultString\": \"bye\",
+ \"defaultBoolean\": true,
+ \"defaultList\": [\"a\"],
+ \"defaultDocumentMap\": {\"name\": \"Jack\"},
+ \"defaultDocumentString\": \"bye\",
+ \"defaultDocumentBoolean\": true,
+ \"defaultDocumentList\": [\"b\"],
+ \"defaultNullDocument\": \"notNull\",
+ \"defaultTimestamp\": 1,
+ \"defaultBlob\": \"aGk=\",
+ \"defaultByte\": 2,
+ \"defaultShort\": 2,
+ \"defaultInteger\": 20,
+ \"defaultLong\": 200,
+ \"defaultFloat\": 2.0,
+ \"defaultDouble\": 2.0,
+ \"defaultMap\": {\"name\": \"Jack\"},
+ \"defaultEnum\": \"BAR\",
+ \"defaultIntEnum\": 2,
+ \"emptyString\": \"foo\",
+ \"falseBoolean\": true,
+ \"emptyBlob\": \"aGk=\",
+ \"zeroByte\": 1,
+ \"zeroShort\": 1,
+ \"zeroInteger\": 1,
+ \"zeroLong\": 1,
+ \"zeroFloat\": 1.0,
+ \"zeroDouble\": 1.0
}
}`;
const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
@@ -7192,18 +7316,18 @@ it("PostUnionWithJsonNameRequest1:Request", async () => {
});
/**
- * Tests that jsonName works with union members.
+ * Any time a value is provided for a member in the top level of input, it is used, regardless of if its the default.
*/
-it("PostUnionWithJsonNameRequest2:Request", async () => {
+it.skip("RestJsonClientUsesExplicitlyProvidedValuesInTopLevel:Request", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new RequestSerializationTestHandler(),
});
- const command = new PostUnionWithJsonNameCommand({
- value: {
- baz: "hi",
- } as any,
+ const command = new OperationWithDefaultsCommand({
+ topLevelDefault: "hi",
+
+ otherTopLevelDefault: 0,
} as any);
try {
await client.send(command);
@@ -7216,7 +7340,7 @@ it("PostUnionWithJsonNameRequest2:Request", async () => {
}
const r = err.request;
expect(r.method).toBe("POST");
- expect(r.path).toBe("/PostUnionWithJsonName");
+ expect(r.path).toBe("/OperationWithDefaults");
expect(r.headers["content-type"]).toBeDefined();
expect(r.headers["content-type"]).toBe("application/json");
@@ -7224,9 +7348,8 @@ it("PostUnionWithJsonNameRequest2:Request", async () => {
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `{
- \"value\": {
- \"_baz\": \"hi\"
- }
+ \"topLevelDefault\": \"hi\",
+ \"otherTopLevelDefault\": 0
}`;
const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
expect(unequalParts).toBeUndefined();
@@ -7234,18 +7357,16 @@ it("PostUnionWithJsonNameRequest2:Request", async () => {
});
/**
- * Tests that jsonName works with union members.
+ * Typically, non top-level members would have defaults filled in, but if they have the clientOptional trait, the defaults should be ignored.
*/
-it("PostUnionWithJsonNameRequest3:Request", async () => {
+it.skip("RestJsonClientIgnoresNonTopLevelDefaultsOnMembersWithClientOptional:Request", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new RequestSerializationTestHandler(),
});
- const command = new PostUnionWithJsonNameCommand({
- value: {
- bar: "hi",
- } as any,
+ const command = new OperationWithDefaultsCommand({
+ clientOptionalDefaults: {} as any,
} as any);
try {
await client.send(command);
@@ -7258,7 +7379,7 @@ it("PostUnionWithJsonNameRequest3:Request", async () => {
}
const r = err.request;
expect(r.method).toBe("POST");
- expect(r.path).toBe("/PostUnionWithJsonName");
+ expect(r.path).toBe("/OperationWithDefaults");
expect(r.headers["content-type"]).toBeDefined();
expect(r.headers["content-type"]).toBe("application/json");
@@ -7266,9 +7387,7 @@ it("PostUnionWithJsonNameRequest3:Request", async () => {
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `{
- \"value\": {
- \"bar\": \"hi\"
- }
+ \"clientOptionalDefaults\": {}
}`;
const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
expect(unequalParts).toBeUndefined();
@@ -7276,9 +7395,9 @@ it("PostUnionWithJsonNameRequest3:Request", async () => {
});
/**
- * Tests that jsonName works with union members.
+ * Client populates default values when missing in response.
*/
-it("PostUnionWithJsonNameResponse1:Response", async () => {
+it.skip("RestJsonClientPopulatesDefaultsValuesWhenMissingInResponse:Response", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new ResponseDeserializationTestHandler(
@@ -7287,16 +7406,12 @@ it("PostUnionWithJsonNameResponse1:Response", async () => {
{
"content-type": "application/json",
},
- `{
- "value": {
- "FOO": "hi"
- }
- }`
+ `{}`
),
});
const params: any = {};
- const command = new PostUnionWithJsonNameCommand(params);
+ const command = new OperationWithDefaultsCommand(params);
let r: any;
try {
@@ -7308,9 +7423,59 @@ it("PostUnionWithJsonNameResponse1:Response", async () => {
expect(r["$metadata"].httpStatusCode).toBe(200);
const paramsToValidate: any = [
{
- value: {
- foo: "hi",
- },
+ defaultString: "hi",
+
+ defaultBoolean: true,
+
+ defaultList: [],
+
+ defaultDocumentMap: {},
+
+ defaultDocumentString: "hi",
+
+ defaultDocumentBoolean: true,
+
+ defaultDocumentList: [],
+
+ defaultTimestamp: new Date(0 * 1000),
+
+ defaultBlob: Uint8Array.from("abc", (c) => c.charCodeAt(0)),
+
+ defaultByte: 1,
+
+ defaultShort: 1,
+
+ defaultInteger: 10,
+
+ defaultLong: 100,
+
+ defaultFloat: 1.0,
+
+ defaultDouble: 1.0,
+
+ defaultMap: {},
+
+ defaultEnum: "FOO",
+
+ defaultIntEnum: 1,
+
+ emptyString: "",
+
+ falseBoolean: false,
+
+ emptyBlob: Uint8Array.from("", (c) => c.charCodeAt(0)),
+
+ zeroByte: 0,
+
+ zeroShort: 0,
+
+ zeroInteger: 0,
+
+ zeroLong: 0,
+
+ zeroFloat: 0.0,
+
+ zeroDouble: 0.0,
},
][0];
Object.keys(paramsToValidate).forEach((param) => {
@@ -7320,9 +7485,9 @@ it("PostUnionWithJsonNameResponse1:Response", async () => {
});
/**
- * Tests that jsonName works with union members.
+ * Client ignores default values if member values are present in the response.
*/
-it("PostUnionWithJsonNameResponse2:Response", async () => {
+it.skip("RestJsonClientIgnoresDefaultValuesIfMemberValuesArePresentInResponse:Response", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new ResponseDeserializationTestHandler(
@@ -7332,15 +7497,40 @@ it("PostUnionWithJsonNameResponse2:Response", async () => {
"content-type": "application/json",
},
`{
- "value": {
- "_baz": "hi"
- }
+ "defaultString": "bye",
+ "defaultBoolean": false,
+ "defaultList": ["a"],
+ "defaultDocumentMap": {"name": "Jack"},
+ "defaultDocumentString": "bye",
+ "defaultDocumentBoolean": false,
+ "defaultDocumentList": ["b"],
+ "defaultNullDocument": "notNull",
+ "defaultTimestamp": 2,
+ "defaultBlob": "aGk=",
+ "defaultByte": 2,
+ "defaultShort": 2,
+ "defaultInteger": 20,
+ "defaultLong": 200,
+ "defaultFloat": 2.0,
+ "defaultDouble": 2.0,
+ "defaultMap": {"name": "Jack"},
+ "defaultEnum": "BAR",
+ "defaultIntEnum": 2,
+ "emptyString": "foo",
+ "falseBoolean": true,
+ "emptyBlob": "aGk=",
+ "zeroByte": 1,
+ "zeroShort": 1,
+ "zeroInteger": 1,
+ "zeroLong": 1,
+ "zeroFloat": 1.0,
+ "zeroDouble": 1.0
}`
),
});
const params: any = {};
- const command = new PostUnionWithJsonNameCommand(params);
+ const command = new OperationWithDefaultsCommand(params);
let r: any;
try {
@@ -7352,53 +7542,65 @@ it("PostUnionWithJsonNameResponse2:Response", async () => {
expect(r["$metadata"].httpStatusCode).toBe(200);
const paramsToValidate: any = [
{
- value: {
- baz: "hi",
- },
- },
- ][0];
- Object.keys(paramsToValidate).forEach((param) => {
- expect(r[param]).toBeDefined();
- expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
- });
-});
+ defaultString: "bye",
-/**
- * Tests that jsonName works with union members.
- */
-it("PostUnionWithJsonNameResponse3:Response", async () => {
- const client = new RestJsonProtocolClient({
- ...clientParams,
- requestHandler: new ResponseDeserializationTestHandler(
- true,
- 200,
- {
- "content-type": "application/json",
+ defaultBoolean: false,
+
+ defaultList: ["a"],
+
+ defaultDocumentMap: {
+ name: "Jack",
},
- `{
- "value": {
- "bar": "hi"
- }
- }`
- ),
- });
- const params: any = {};
- const command = new PostUnionWithJsonNameCommand(params);
+ defaultDocumentString: "bye",
- let r: any;
- try {
- r = await client.send(command);
- } catch (err) {
- fail("Expected a valid response to be returned, got " + err);
- return;
- }
- expect(r["$metadata"].httpStatusCode).toBe(200);
- const paramsToValidate: any = [
- {
- value: {
- bar: "hi",
+ defaultDocumentBoolean: false,
+
+ defaultDocumentList: ["b"],
+
+ defaultNullDocument: "notNull",
+
+ defaultTimestamp: new Date(1 * 1000),
+
+ defaultBlob: Uint8Array.from("hi", (c) => c.charCodeAt(0)),
+
+ defaultByte: 2,
+
+ defaultShort: 2,
+
+ defaultInteger: 20,
+
+ defaultLong: 200,
+
+ defaultFloat: 2.0,
+
+ defaultDouble: 2.0,
+
+ defaultMap: {
+ name: "Jack",
},
+
+ defaultEnum: "BAR",
+
+ defaultIntEnum: 2,
+
+ emptyString: "foo",
+
+ falseBoolean: true,
+
+ emptyBlob: Uint8Array.from("hi", (c) => c.charCodeAt(0)),
+
+ zeroByte: 1,
+
+ zeroShort: 1,
+
+ zeroInteger: 1,
+
+ zeroLong: 1,
+
+ zeroFloat: 1.0,
+
+ zeroDouble: 1.0,
},
][0];
Object.keys(paramsToValidate).forEach((param) => {
@@ -7408,16 +7610,601 @@ it("PostUnionWithJsonNameResponse3:Response", async () => {
});
/**
- * Compression algorithm encoding is appended to the Content-Encoding header.
+ * Client populates nested default values when missing.
*/
-it.skip("SDKAppliedContentEncoding_restJson1:Request", async () => {
+it.skip("RestJsonClientPopulatesNestedDefaultValuesWhenMissing:Request", async () => {
const client = new RestJsonProtocolClient({
...clientParams,
requestHandler: new RequestSerializationTestHandler(),
});
- const command = new PutWithContentEncodingCommand({
- data: "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\n",
+ const command = new OperationWithNestedStructureCommand({
+ topLevel: {
+ dialog: {
+ language: "en",
+ } as any,
+
+ dialogList: [
+ {} as any,
+
+ {
+ farewell: {} as any,
+ } as any,
+
+ {
+ language: "it",
+
+ greeting: "ciao",
+
+ farewell: {
+ phrase: "arrivederci",
+ } as any,
+ } as any,
+ ],
+
+ dialogMap: {
+ emptyDialog: {} as any,
+
+ partialEmptyDialog: {
+ language: "en",
+
+ farewell: {} as any,
+ } as any,
+
+ nonEmptyDialog: {
+ greeting: "konnichiwa",
+
+ farewell: {
+ phrase: "sayonara",
+ } as any,
+ } as any,
+ } as any,
+ } as any,
+ } as any);
+ try {
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
+ return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("POST");
+ expect(r.path).toBe("/OperationWithNestedStructure");
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("application/json");
+
+ expect(r.body).toBeDefined();
+ const utf8Encoder = client.config.utf8Encoder;
+ const bodyString = `{
+ \"topLevel\": {
+ \"dialog\": {
+ \"language\": \"en\",
+ \"greeting\": \"hi\"
+ },
+ \"dialogList\": [
+ {
+ \"greeting\": \"hi\"
+ },
+ {
+ \"greeting\": \"hi\",
+ \"farewell\": {
+ \"phrase\": \"bye\"
+ }
+ },
+ {
+ \"language\": \"it\",
+ \"greeting\": \"ciao\",
+ \"farewell\": {
+ \"phrase\": \"arrivederci\"
+ }
+ }
+ ],
+ \"dialogMap\": {
+ \"emptyDialog\": {
+ \"greeting\": \"hi\"
+ },
+ \"partialEmptyDialog\": {
+ \"language\": \"en\",
+ \"greeting\": \"hi\",
+ \"farewell\": {
+ \"phrase\": \"bye\"
+ }
+ },
+ \"nonEmptyDialog\": {
+ \"greeting\": \"konnichiwa\",
+ \"farewell\": {
+ \"phrase\": \"sayonara\"
+ }
+ }
+ }
+ }
+ }`;
+ const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
+ expect(unequalParts).toBeUndefined();
+ }
+});
+
+/**
+ * Client populates nested default values when missing in response body.
+ */
+it.skip("RestJsonClientPopulatesNestedDefaultsWhenMissingInResponseBody:Response", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "application/json",
+ },
+ `{
+ "dialog": {
+ "language": "en"
+ },
+ "dialogList": [
+ {
+ },
+ {
+ "farewell": {}
+ },
+ {
+ "language": "it",
+ "greeting": "ciao",
+ "farewell": {
+ "phrase": "arrivederci"
+ }
+ }
+ ],
+ "dialogMap": {
+ "emptyDialog": {
+ },
+ "partialEmptyDialog": {
+ "language": "en",
+ "farewell": {}
+ },
+ "nonEmptyDialog": {
+ "greeting": "konnichiwa",
+ "farewell": {
+ "phrase": "sayonara"
+ }
+ }
+ }
+ }`
+ ),
+ });
+
+ const params: any = {};
+ const command = new OperationWithNestedStructureCommand(params);
+
+ let r: any;
+ try {
+ r = await client.send(command);
+ } catch (err) {
+ fail("Expected a valid response to be returned, got " + err);
+ return;
+ }
+ expect(r["$metadata"].httpStatusCode).toBe(200);
+ const paramsToValidate: any = [
+ {
+ dialog: {
+ language: "en",
+
+ greeting: "hi",
+ },
+
+ dialogList: [
+ {
+ greeting: "hi",
+ },
+
+ {
+ greeting: "hi",
+
+ farewell: {
+ phrase: "bye",
+ },
+ },
+
+ {
+ language: "it",
+
+ greeting: "ciao",
+
+ farewell: {
+ phrase: "arrivederci",
+ },
+ },
+ ],
+
+ dialogMap: {
+ emptyDialog: {
+ greeting: "hi",
+ },
+
+ partialEmptyDialog: {
+ language: "en",
+
+ greeting: "hi",
+
+ farewell: {
+ phrase: "bye",
+ },
+ },
+
+ nonEmptyDialog: {
+ greeting: "konnichiwa",
+
+ farewell: {
+ phrase: "sayonara",
+ },
+ },
+ },
+ },
+ ][0];
+ Object.keys(paramsToValidate).forEach((param) => {
+ expect(r[param]).toBeDefined();
+ expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
+ });
+});
+
+/**
+ * Unit types in unions are serialized like normal structures in requests.
+ */
+it("RestJsonInputUnionWithUnitMember:Request", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new RequestSerializationTestHandler(),
+ });
+
+ const command = new PostPlayerActionCommand({
+ action: {
+ quit: {} as any,
+ } as any,
+ } as any);
+ try {
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
+ return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("POST");
+ expect(r.path).toBe("/PostPlayerAction");
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("application/json");
+
+ expect(r.body).toBeDefined();
+ const utf8Encoder = client.config.utf8Encoder;
+ const bodyString = `{
+ \"action\": {
+ \"quit\": {}
+ }
+ }`;
+ const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
+ expect(unequalParts).toBeUndefined();
+ }
+});
+
+/**
+ * Unit types in unions are serialized like normal structures in responses.
+ */
+it("RestJsonOutputUnionWithUnitMember:Response", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "application/json",
+ },
+ `{
+ "action": {
+ "quit": {}
+ }
+ }`
+ ),
+ });
+
+ const params: any = {};
+ const command = new PostPlayerActionCommand(params);
+
+ let r: any;
+ try {
+ r = await client.send(command);
+ } catch (err) {
+ fail("Expected a valid response to be returned, got " + err);
+ return;
+ }
+ expect(r["$metadata"].httpStatusCode).toBe(200);
+ const paramsToValidate: any = [
+ {
+ action: {
+ quit: {},
+ },
+ },
+ ][0];
+ Object.keys(paramsToValidate).forEach((param) => {
+ expect(r[param]).toBeDefined();
+ expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
+ });
+});
+
+/**
+ * Tests that jsonName works with union members.
+ */
+it("PostUnionWithJsonNameRequest1:Request", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new RequestSerializationTestHandler(),
+ });
+
+ const command = new PostUnionWithJsonNameCommand({
+ value: {
+ foo: "hi",
+ } as any,
+ } as any);
+ try {
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
+ return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("POST");
+ expect(r.path).toBe("/PostUnionWithJsonName");
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("application/json");
+
+ expect(r.body).toBeDefined();
+ const utf8Encoder = client.config.utf8Encoder;
+ const bodyString = `{
+ \"value\": {
+ \"FOO\": \"hi\"
+ }
+ }`;
+ const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
+ expect(unequalParts).toBeUndefined();
+ }
+});
+
+/**
+ * Tests that jsonName works with union members.
+ */
+it("PostUnionWithJsonNameRequest2:Request", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new RequestSerializationTestHandler(),
+ });
+
+ const command = new PostUnionWithJsonNameCommand({
+ value: {
+ baz: "hi",
+ } as any,
+ } as any);
+ try {
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
+ return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("POST");
+ expect(r.path).toBe("/PostUnionWithJsonName");
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("application/json");
+
+ expect(r.body).toBeDefined();
+ const utf8Encoder = client.config.utf8Encoder;
+ const bodyString = `{
+ \"value\": {
+ \"_baz\": \"hi\"
+ }
+ }`;
+ const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
+ expect(unequalParts).toBeUndefined();
+ }
+});
+
+/**
+ * Tests that jsonName works with union members.
+ */
+it("PostUnionWithJsonNameRequest3:Request", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new RequestSerializationTestHandler(),
+ });
+
+ const command = new PostUnionWithJsonNameCommand({
+ value: {
+ bar: "hi",
+ } as any,
+ } as any);
+ try {
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
+ return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("POST");
+ expect(r.path).toBe("/PostUnionWithJsonName");
+
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("application/json");
+
+ expect(r.body).toBeDefined();
+ const utf8Encoder = client.config.utf8Encoder;
+ const bodyString = `{
+ \"value\": {
+ \"bar\": \"hi\"
+ }
+ }`;
+ const unequalParts: any = compareEquivalentJsonBodies(bodyString, r.body.toString());
+ expect(unequalParts).toBeUndefined();
+ }
+});
+
+/**
+ * Tests that jsonName works with union members.
+ */
+it("PostUnionWithJsonNameResponse1:Response", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "application/json",
+ },
+ `{
+ "value": {
+ "FOO": "hi"
+ }
+ }`
+ ),
+ });
+
+ const params: any = {};
+ const command = new PostUnionWithJsonNameCommand(params);
+
+ let r: any;
+ try {
+ r = await client.send(command);
+ } catch (err) {
+ fail("Expected a valid response to be returned, got " + err);
+ return;
+ }
+ expect(r["$metadata"].httpStatusCode).toBe(200);
+ const paramsToValidate: any = [
+ {
+ value: {
+ foo: "hi",
+ },
+ },
+ ][0];
+ Object.keys(paramsToValidate).forEach((param) => {
+ expect(r[param]).toBeDefined();
+ expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
+ });
+});
+
+/**
+ * Tests that jsonName works with union members.
+ */
+it("PostUnionWithJsonNameResponse2:Response", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "application/json",
+ },
+ `{
+ "value": {
+ "_baz": "hi"
+ }
+ }`
+ ),
+ });
+
+ const params: any = {};
+ const command = new PostUnionWithJsonNameCommand(params);
+
+ let r: any;
+ try {
+ r = await client.send(command);
+ } catch (err) {
+ fail("Expected a valid response to be returned, got " + err);
+ return;
+ }
+ expect(r["$metadata"].httpStatusCode).toBe(200);
+ const paramsToValidate: any = [
+ {
+ value: {
+ baz: "hi",
+ },
+ },
+ ][0];
+ Object.keys(paramsToValidate).forEach((param) => {
+ expect(r[param]).toBeDefined();
+ expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
+ });
+});
+
+/**
+ * Tests that jsonName works with union members.
+ */
+it("PostUnionWithJsonNameResponse3:Response", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "application/json",
+ },
+ `{
+ "value": {
+ "bar": "hi"
+ }
+ }`
+ ),
+ });
+
+ const params: any = {};
+ const command = new PostUnionWithJsonNameCommand(params);
+
+ let r: any;
+ try {
+ r = await client.send(command);
+ } catch (err) {
+ fail("Expected a valid response to be returned, got " + err);
+ return;
+ }
+ expect(r["$metadata"].httpStatusCode).toBe(200);
+ const paramsToValidate: any = [
+ {
+ value: {
+ bar: "hi",
+ },
+ },
+ ][0];
+ Object.keys(paramsToValidate).forEach((param) => {
+ expect(r[param]).toBeDefined();
+ expect(equivalentContents(r[param], paramsToValidate[param])).toBe(true);
+ });
+});
+
+/**
+ * Compression algorithm encoding is appended to the Content-Encoding header.
+ */
+it.skip("SDKAppliedContentEncoding_restJson1:Request", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new RequestSerializationTestHandler(),
+ });
+
+ const command = new PutWithContentEncodingCommand({
+ data: "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\n",
} as any);
try {
await client.send(command);
@@ -9199,6 +9986,36 @@ it("RestJsonHttpWithEmptyBody:Request", async () => {
}
});
+/**
+ * Serializes a GET request for an operation with no input, and therefore no modeled body
+ */
+it("RestJsonHttpWithNoInput:Request", async () => {
+ const client = new RestJsonProtocolClient({
+ ...clientParams,
+ requestHandler: new RequestSerializationTestHandler(),
+ });
+
+ const command = new TestNoInputNoPayloadCommand({});
+ try {
+ await client.send(command);
+ fail("Expected an EXPECTED_REQUEST_SERIALIZATION_ERROR to be thrown");
+ return;
+ } catch (err) {
+ if (!(err instanceof EXPECTED_REQUEST_SERIALIZATION_ERROR)) {
+ fail(err);
+ return;
+ }
+ const r = err.request;
+ expect(r.method).toBe("GET");
+ expect(r.path).toBe("/no_input_no_payload");
+
+ expect(r.headers["content-length"]).toBeUndefined();
+ expect(r.headers["content-type"]).toBeUndefined();
+
+ expect(r.body).toBeFalsy();
+ }
+});
+
/**
* Serializes a GET request with no modeled body
*/
@@ -9633,6 +10450,17 @@ const compareEquivalentOctetStreamBodies = (
return compareParts(expectedParts, generatedParts);
};
+/**
+ * Returns a map of key names that were un-equal to value objects showing the
+ * discrepancies between the components.
+ */
+const compareEquivalentTextBodies = (expectedBody: string, generatedBody: string): Object => {
+ const expectedParts = { Value: expectedBody };
+ const generatedParts = { Value: generatedBody };
+
+ return compareParts(expectedParts, generatedParts);
+};
+
/**
* Returns a map of key names that were un-equal to value objects showing the
* discrepancies between the components.
diff --git a/private/aws-protocoltests-restxml/README.md b/private/aws-protocoltests-restxml/README.md
index 8aa18ce3a19a..999259370862 100644
--- a/private/aws-protocoltests-restxml/README.md
+++ b/private/aws-protocoltests-restxml/README.md
@@ -402,6 +402,14 @@ XmlTimestamps
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/XmlTimestampsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/XmlTimestampsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/XmlTimestampsCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -538,6 +546,14 @@ SparseNullsOperation
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/SparseNullsOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/SparseNullsOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/SparseNullsOperationCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -946,6 +962,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandOutput/)
+
@@ -1538,6 +1562,22 @@ OmitsSerializingEmptyLists
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/OmitsSerializingEmptyListsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/OmitsSerializingEmptyListsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/OmitsSerializingEmptyListsCommandOutput/)
+
+
+
+OperationWithDefaults
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/OperationWithDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/OperationWithDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/OperationWithDefaultsCommandOutput/)
+
+
+
+
+OperationWithNestedStructure
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/OperationWithNestedStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/OperationWithNestedStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/OperationWithNestedStructureCommandOutput/)
+
@@ -1666,6 +1706,14 @@ TestBodyStructure
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/TestBodyStructureCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/TestBodyStructureCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/TestBodyStructureCommandOutput/)
+
+
+
+TestNoInputNoPayload
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/TestNoInputNoPayloadCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/TestNoInputNoPayloadCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/TestNoInputNoPayloadCommandOutput/)
+
@@ -1834,6 +1882,14 @@ ConstantQueryString
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/ConstantQueryStringCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ConstantQueryStringCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ConstantQueryStringCommandOutput/)
+
+
+
+ContentTypeParameters
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rest-xml-protocol/command/ContentTypeParametersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rest-xml-protocol/Interface/ContentTypeParametersCommandOutput/)
+
diff --git a/private/aws-protocoltests-restxml/src/RestXmlProtocol.ts b/private/aws-protocoltests-restxml/src/RestXmlProtocol.ts
index b396532b4157..8e436685f107 100644
--- a/private/aws-protocoltests-restxml/src/RestXmlProtocol.ts
+++ b/private/aws-protocoltests-restxml/src/RestXmlProtocol.ts
@@ -22,6 +22,11 @@ import {
ConstantQueryStringCommandInput,
ConstantQueryStringCommandOutput,
} from "./commands/ConstantQueryStringCommand";
+import {
+ ContentTypeParametersCommand,
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import {
DatetimeOffsetsCommand,
DatetimeOffsetsCommandInput,
@@ -290,6 +295,7 @@ const commands = {
BodyWithXmlNameCommand,
ConstantAndVariableQueryStringCommand,
ConstantQueryStringCommand,
+ ContentTypeParametersCommand,
DatetimeOffsetsCommand,
EmptyInputAndEmptyOutputCommand,
EndpointOperationCommand,
@@ -418,6 +424,24 @@ export interface RestXmlProtocol {
cb: (err: any, data?: ConstantQueryStringCommandOutput) => void
): void;
+ /**
+ * @see {@link ContentTypeParametersCommand}
+ */
+ contentTypeParameters(): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+ contentTypeParameters(
+ args: ContentTypeParametersCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ContentTypeParametersCommandOutput) => void
+ ): void;
+
/**
* @see {@link DatetimeOffsetsCommand}
*/
diff --git a/private/aws-protocoltests-restxml/src/RestXmlProtocolClient.ts b/private/aws-protocoltests-restxml/src/RestXmlProtocolClient.ts
index ddeb1e39a04c..cb7298a2f1a3 100644
--- a/private/aws-protocoltests-restxml/src/RestXmlProtocolClient.ts
+++ b/private/aws-protocoltests-restxml/src/RestXmlProtocolClient.ts
@@ -73,6 +73,10 @@ import {
ConstantQueryStringCommandInput,
ConstantQueryStringCommandOutput,
} from "./commands/ConstantQueryStringCommand";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "./commands/ContentTypeParametersCommand";
import { DatetimeOffsetsCommandInput, DatetimeOffsetsCommandOutput } from "./commands/DatetimeOffsetsCommand";
import {
EmptyInputAndEmptyOutputCommandInput,
@@ -227,6 +231,7 @@ export type ServiceInputTypes =
| BodyWithXmlNameCommandInput
| ConstantAndVariableQueryStringCommandInput
| ConstantQueryStringCommandInput
+ | ContentTypeParametersCommandInput
| DatetimeOffsetsCommandInput
| EmptyInputAndEmptyOutputCommandInput
| EndpointOperationCommandInput
@@ -293,6 +298,7 @@ export type ServiceOutputTypes =
| BodyWithXmlNameCommandOutput
| ConstantAndVariableQueryStringCommandOutput
| ConstantQueryStringCommandOutput
+ | ContentTypeParametersCommandOutput
| DatetimeOffsetsCommandOutput
| EmptyInputAndEmptyOutputCommandOutput
| EndpointOperationCommandOutput
diff --git a/private/aws-protocoltests-restxml/src/commands/ContentTypeParametersCommand.ts b/private/aws-protocoltests-restxml/src/commands/ContentTypeParametersCommand.ts
new file mode 100644
index 000000000000..dd9826afd5f7
--- /dev/null
+++ b/private/aws-protocoltests-restxml/src/commands/ContentTypeParametersCommand.ts
@@ -0,0 +1,73 @@
+// smithy-typescript generated code
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { ContentTypeParametersInput, ContentTypeParametersOutput } from "../models/models_0";
+import { de_ContentTypeParametersCommand, se_ContentTypeParametersCommand } from "../protocols/Aws_restXml";
+import { RestXmlProtocolClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RestXmlProtocolClient";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandInput extends ContentTypeParametersInput {}
+/**
+ * @public
+ *
+ * The output of {@link ContentTypeParametersCommand}.
+ */
+export interface ContentTypeParametersCommandOutput extends ContentTypeParametersOutput, __MetadataBearer {}
+
+/**
+ * The example tests how servers must support requests
+ * containing a `Content-Type` header with parameters.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RestXmlProtocolClient, ContentTypeParametersCommand } from "@aws-sdk/aws-protocoltests-restxml"; // ES Modules import
+ * // const { RestXmlProtocolClient, ContentTypeParametersCommand } = require("@aws-sdk/aws-protocoltests-restxml"); // CommonJS import
+ * const client = new RestXmlProtocolClient(config);
+ * const input = { // ContentTypeParametersInput
+ * value: Number("int"),
+ * };
+ * const command = new ContentTypeParametersCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param ContentTypeParametersCommandInput - {@link ContentTypeParametersCommandInput}
+ * @returns {@link ContentTypeParametersCommandOutput}
+ * @see {@link ContentTypeParametersCommandInput} for command's `input` shape.
+ * @see {@link ContentTypeParametersCommandOutput} for command's `response` shape.
+ * @see {@link RestXmlProtocolClientResolvedConfig | config} for RestXmlProtocolClient's `config` shape.
+ *
+ * @throws {@link RestXmlProtocolServiceException}
+ * Base exception class for all service exceptions from RestXmlProtocol service.
+ *
+ * @public
+ */
+export class ContentTypeParametersCommand extends $Command
+ .classBuilder<
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+ RestXmlProtocolClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .m(function (this: any, Command: any, cs: any, config: RestXmlProtocolClientResolvedConfig, o: any) {
+ return [getSerdePlugin(config, this.serialize, this.deserialize)];
+ })
+ .s("RestXml", "ContentTypeParameters", {})
+ .n("RestXmlProtocolClient", "ContentTypeParametersCommand")
+ .f(void 0, void 0)
+ .ser(se_ContentTypeParametersCommand)
+ .de(de_ContentTypeParametersCommand)
+ .build() {}
diff --git a/private/aws-protocoltests-restxml/src/commands/index.ts b/private/aws-protocoltests-restxml/src/commands/index.ts
index 1a72b70659c5..a8393aaf5f38 100644
--- a/private/aws-protocoltests-restxml/src/commands/index.ts
+++ b/private/aws-protocoltests-restxml/src/commands/index.ts
@@ -3,6 +3,7 @@ export * from "./AllQueryStringTypesCommand";
export * from "./BodyWithXmlNameCommand";
export * from "./ConstantAndVariableQueryStringCommand";
export * from "./ConstantQueryStringCommand";
+export * from "./ContentTypeParametersCommand";
export * from "./DatetimeOffsetsCommand";
export * from "./EmptyInputAndEmptyOutputCommand";
export * from "./EndpointOperationCommand";
diff --git a/private/aws-protocoltests-restxml/src/models/models_0.ts b/private/aws-protocoltests-restxml/src/models/models_0.ts
index d2e7c91e483c..276714c08d18 100644
--- a/private/aws-protocoltests-restxml/src/models/models_0.ts
+++ b/private/aws-protocoltests-restxml/src/models/models_0.ts
@@ -121,6 +121,18 @@ export interface ConstantQueryStringInput {
hello: string | undefined;
}
+/**
+ * @public
+ */
+export interface ContentTypeParametersInput {
+ value?: number;
+}
+
+/**
+ * @public
+ */
+export interface ContentTypeParametersOutput {}
+
/**
* @public
*/
diff --git a/private/aws-protocoltests-restxml/src/protocols/Aws_restXml.ts b/private/aws-protocoltests-restxml/src/protocols/Aws_restXml.ts
index e8cd612ece48..84a3fef6ccc2 100644
--- a/private/aws-protocoltests-restxml/src/protocols/Aws_restXml.ts
+++ b/private/aws-protocoltests-restxml/src/protocols/Aws_restXml.ts
@@ -54,6 +54,10 @@ import {
ConstantQueryStringCommandInput,
ConstantQueryStringCommandOutput,
} from "../commands/ConstantQueryStringCommand";
+import {
+ ContentTypeParametersCommandInput,
+ ContentTypeParametersCommandOutput,
+} from "../commands/ContentTypeParametersCommand";
import { DatetimeOffsetsCommandInput, DatetimeOffsetsCommandOutput } from "../commands/DatetimeOffsetsCommand";
import {
EmptyInputAndEmptyOutputCommandInput,
@@ -343,6 +347,29 @@ export const se_ConstantQueryStringCommand = async (
return b.build();
};
+/**
+ * serializeAws_restXmlContentTypeParametersCommand
+ */
+export const se_ContentTypeParametersCommand = async (
+ input: ContentTypeParametersCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const b = rb(input, context);
+ const headers: any = {
+ "content-type": "application/xml",
+ };
+ b.bp("/ContentTypeParameters");
+ let body: any;
+ body = _ve;
+ const bn = new __XmlNode(_CTPI);
+ if (input[_v] != null) {
+ bn.c(__XmlNode.of(_I, String(input[_v])).n(_v));
+ }
+ body += bn.toString();
+ b.m("PUT").h(headers).b(body);
+ return b.build();
+};
+
/**
* serializeAws_restXmlDatetimeOffsetsCommand
*/
@@ -1775,6 +1802,23 @@ export const de_ConstantQueryStringCommand = async (
return contents;
};
+/**
+ * deserializeAws_restXmlContentTypeParametersCommand
+ */
+export const de_ContentTypeParametersCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ await collectBody(output.body, context);
+ return contents;
+};
+
/**
* deserializeAws_restXmlDatetimeOffsetsCommand
*/
@@ -4344,6 +4388,7 @@ const _B = "Byte";
const _BL = "BooleanList";
const _Bl = "Blob";
const _Bo = "Boolean";
+const _CTPI = "ContentTypeParametersInput";
const _D = "Double";
const _DD = "DoubleDribble";
const _DL = "DoubleList";
diff --git a/private/aws-protocoltests-restxml/test/functional/restxml.spec.ts b/private/aws-protocoltests-restxml/test/functional/restxml.spec.ts
index 0ad931b3f8fb..b3fa2318c642 100644
--- a/private/aws-protocoltests-restxml/test/functional/restxml.spec.ts
+++ b/private/aws-protocoltests-restxml/test/functional/restxml.spec.ts
@@ -1440,6 +1440,9 @@ it("RestXmlEnumPayloadRequest:Request", async () => {
expect(r.method).toBe("POST");
expect(r.path).toBe("/EnumPayload");
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("text/plain");
+
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `enumvalue`;
@@ -1451,7 +1454,14 @@ it("RestXmlEnumPayloadRequest:Request", async () => {
it("RestXmlEnumPayloadResponse:Response", async () => {
const client = new RestXmlProtocolClient({
...clientParams,
- requestHandler: new ResponseDeserializationTestHandler(true, 200, undefined, `enumvalue`),
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "text/plain",
+ },
+ `enumvalue`
+ ),
});
const params: any = {};
@@ -2738,6 +2748,9 @@ it("RestXmlStringPayloadRequest:Request", async () => {
expect(r.method).toBe("POST");
expect(r.path).toBe("/StringPayload");
+ expect(r.headers["content-type"]).toBeDefined();
+ expect(r.headers["content-type"]).toBe("text/plain");
+
expect(r.body).toBeDefined();
const utf8Encoder = client.config.utf8Encoder;
const bodyString = `rawstring`;
@@ -2749,7 +2762,14 @@ it("RestXmlStringPayloadRequest:Request", async () => {
it("RestXmlStringPayloadResponse:Response", async () => {
const client = new RestXmlProtocolClient({
...clientParams,
- requestHandler: new ResponseDeserializationTestHandler(true, 200, undefined, `rawstring`),
+ requestHandler: new ResponseDeserializationTestHandler(
+ true,
+ 200,
+ {
+ "content-type": "text/plain",
+ },
+ `rawstring`
+ ),
});
const params: any = {};
diff --git a/private/aws-restjson-server/src/models/models_0.ts b/private/aws-restjson-server/src/models/models_0.ts
index 1f366bbd4c87..c058c9517d2c 100644
--- a/private/aws-restjson-server/src/models/models_0.ts
+++ b/private/aws-restjson-server/src/models/models_0.ts
@@ -288,6 +288,38 @@ export namespace AllQueryStringTypesInput {
};
}
+/**
+ * @public
+ */
+export interface ClientOptionalDefaults {
+ member?: number;
+}
+
+export namespace ClientOptionalDefaults {
+ const memberValidators: {
+ member?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: ClientOptionalDefaults, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "member": {
+ memberValidators["member"] = new __NoOpValidator();
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [...getMemberValidator("member").validate(obj.member, `${path}/member`)];
+ };
+}
+
/**
* @public
*/
@@ -416,6 +448,62 @@ export namespace ConstantQueryStringInput {
};
}
+/**
+ * @public
+ */
+export interface ContentTypeParametersInput {
+ value?: number;
+}
+
+export namespace ContentTypeParametersInput {
+ const memberValidators: {
+ value?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: ContentTypeParametersInput, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "value": {
+ memberValidators["value"] = new __NoOpValidator();
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [...getMemberValidator("value").validate(obj.value, `${path}/value`)];
+ };
+}
+
+/**
+ * @public
+ */
+export interface ContentTypeParametersOutput {}
+
+export namespace ContentTypeParametersOutput {
+ const memberValidators: {} = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: ContentTypeParametersOutput, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [];
+ };
+}
+
/**
* @public
*/
@@ -448,6 +536,346 @@ export namespace DatetimeOffsetsOutput {
};
}
+/**
+ * @public
+ * @enum
+ */
+export const TestEnum = {
+ BAR: "BAR",
+ BAZ: "BAZ",
+ FOO: "FOO",
+} as const;
+/**
+ * @public
+ */
+export type TestEnum = (typeof TestEnum)[keyof typeof TestEnum];
+
+export enum TestIntEnum {
+ ONE = 1,
+ TWO = 2,
+}
+
+/**
+ * @public
+ */
+export interface Defaults {
+ defaultString?: string;
+ defaultBoolean?: boolean;
+ defaultList?: string[];
+ defaultDocumentMap?: __DocumentType;
+ defaultDocumentString?: __DocumentType;
+ defaultDocumentBoolean?: __DocumentType;
+ defaultDocumentList?: __DocumentType;
+ defaultNullDocument?: __DocumentType;
+ defaultTimestamp?: Date;
+ defaultBlob?: Uint8Array;
+ defaultByte?: number;
+ defaultShort?: number;
+ defaultInteger?: number;
+ defaultLong?: number;
+ defaultFloat?: number;
+ defaultDouble?: number;
+ defaultMap?: Record;
+ defaultEnum?: TestEnum;
+ defaultIntEnum?: TestIntEnum;
+ emptyString?: string;
+ falseBoolean?: boolean;
+ emptyBlob?: Uint8Array;
+ zeroByte?: number;
+ zeroShort?: number;
+ zeroInteger?: number;
+ zeroLong?: number;
+ zeroFloat?: number;
+ zeroDouble?: number;
+}
+
+export namespace Defaults {
+ const memberValidators: {
+ defaultString?: __MultiConstraintValidator;
+ defaultBoolean?: __MultiConstraintValidator;
+ defaultList?: __MultiConstraintValidator>;
+ defaultDocumentMap?: __MultiConstraintValidator<__DocumentType>;
+ defaultDocumentString?: __MultiConstraintValidator<__DocumentType>;
+ defaultDocumentBoolean?: __MultiConstraintValidator<__DocumentType>;
+ defaultDocumentList?: __MultiConstraintValidator<__DocumentType>;
+ defaultNullDocument?: __MultiConstraintValidator<__DocumentType>;
+ defaultTimestamp?: __MultiConstraintValidator;
+ defaultBlob?: __MultiConstraintValidator;
+ defaultByte?: __MultiConstraintValidator;
+ defaultShort?: __MultiConstraintValidator;
+ defaultInteger?: __MultiConstraintValidator;
+ defaultLong?: __MultiConstraintValidator;
+ defaultFloat?: __MultiConstraintValidator;
+ defaultDouble?: __MultiConstraintValidator;
+ defaultMap?: __MultiConstraintValidator>;
+ defaultEnum?: __MultiConstraintValidator;
+ defaultIntEnum?: __MultiConstraintValidator;
+ emptyString?: __MultiConstraintValidator;
+ falseBoolean?: __MultiConstraintValidator;
+ emptyBlob?: __MultiConstraintValidator;
+ zeroByte?: __MultiConstraintValidator;
+ zeroShort?: __MultiConstraintValidator;
+ zeroInteger?: __MultiConstraintValidator;
+ zeroLong?: __MultiConstraintValidator;
+ zeroFloat?: __MultiConstraintValidator;
+ zeroDouble?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: Defaults, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "defaultString": {
+ memberValidators["defaultString"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultBoolean": {
+ memberValidators["defaultBoolean"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultList": {
+ memberValidators["defaultList"] = new __CompositeCollectionValidator(
+ new __NoOpValidator(),
+ new __NoOpValidator()
+ );
+ break;
+ }
+ case "defaultDocumentMap": {
+ memberValidators["defaultDocumentMap"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDocumentString": {
+ memberValidators["defaultDocumentString"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDocumentBoolean": {
+ memberValidators["defaultDocumentBoolean"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDocumentList": {
+ memberValidators["defaultDocumentList"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultNullDocument": {
+ memberValidators["defaultNullDocument"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultTimestamp": {
+ memberValidators["defaultTimestamp"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultBlob": {
+ memberValidators["defaultBlob"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultByte": {
+ memberValidators["defaultByte"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultShort": {
+ memberValidators["defaultShort"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultInteger": {
+ memberValidators["defaultInteger"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultLong": {
+ memberValidators["defaultLong"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultFloat": {
+ memberValidators["defaultFloat"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDouble": {
+ memberValidators["defaultDouble"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultMap": {
+ memberValidators["defaultMap"] = new __CompositeMapValidator(
+ new __NoOpValidator(),
+ new __NoOpValidator(),
+ new __NoOpValidator()
+ );
+ break;
+ }
+ case "defaultEnum": {
+ memberValidators["defaultEnum"] = new __CompositeValidator([
+ new __EnumValidator(["FOO", "BAR", "BAZ"], ["FOO", "BAR", "BAZ"]),
+ ]);
+ break;
+ }
+ case "defaultIntEnum": {
+ memberValidators["defaultIntEnum"] = new __CompositeValidator([new __IntegerEnumValidator([1, 2])]);
+ break;
+ }
+ case "emptyString": {
+ memberValidators["emptyString"] = new __NoOpValidator();
+ break;
+ }
+ case "falseBoolean": {
+ memberValidators["falseBoolean"] = new __NoOpValidator();
+ break;
+ }
+ case "emptyBlob": {
+ memberValidators["emptyBlob"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroByte": {
+ memberValidators["zeroByte"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroShort": {
+ memberValidators["zeroShort"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroInteger": {
+ memberValidators["zeroInteger"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroLong": {
+ memberValidators["zeroLong"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroFloat": {
+ memberValidators["zeroFloat"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroDouble": {
+ memberValidators["zeroDouble"] = new __NoOpValidator();
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [
+ ...getMemberValidator("defaultString").validate(obj.defaultString, `${path}/defaultString`),
+ ...getMemberValidator("defaultBoolean").validate(obj.defaultBoolean, `${path}/defaultBoolean`),
+ ...getMemberValidator("defaultList").validate(obj.defaultList, `${path}/defaultList`),
+ ...getMemberValidator("defaultDocumentMap").validate(obj.defaultDocumentMap, `${path}/defaultDocumentMap`),
+ ...getMemberValidator("defaultDocumentString").validate(
+ obj.defaultDocumentString,
+ `${path}/defaultDocumentString`
+ ),
+ ...getMemberValidator("defaultDocumentBoolean").validate(
+ obj.defaultDocumentBoolean,
+ `${path}/defaultDocumentBoolean`
+ ),
+ ...getMemberValidator("defaultDocumentList").validate(obj.defaultDocumentList, `${path}/defaultDocumentList`),
+ ...getMemberValidator("defaultNullDocument").validate(obj.defaultNullDocument, `${path}/defaultNullDocument`),
+ ...getMemberValidator("defaultTimestamp").validate(obj.defaultTimestamp, `${path}/defaultTimestamp`),
+ ...getMemberValidator("defaultBlob").validate(obj.defaultBlob, `${path}/defaultBlob`),
+ ...getMemberValidator("defaultByte").validate(obj.defaultByte, `${path}/defaultByte`),
+ ...getMemberValidator("defaultShort").validate(obj.defaultShort, `${path}/defaultShort`),
+ ...getMemberValidator("defaultInteger").validate(obj.defaultInteger, `${path}/defaultInteger`),
+ ...getMemberValidator("defaultLong").validate(obj.defaultLong, `${path}/defaultLong`),
+ ...getMemberValidator("defaultFloat").validate(obj.defaultFloat, `${path}/defaultFloat`),
+ ...getMemberValidator("defaultDouble").validate(obj.defaultDouble, `${path}/defaultDouble`),
+ ...getMemberValidator("defaultMap").validate(obj.defaultMap, `${path}/defaultMap`),
+ ...getMemberValidator("defaultEnum").validate(obj.defaultEnum, `${path}/defaultEnum`),
+ ...getMemberValidator("defaultIntEnum").validate(obj.defaultIntEnum, `${path}/defaultIntEnum`),
+ ...getMemberValidator("emptyString").validate(obj.emptyString, `${path}/emptyString`),
+ ...getMemberValidator("falseBoolean").validate(obj.falseBoolean, `${path}/falseBoolean`),
+ ...getMemberValidator("emptyBlob").validate(obj.emptyBlob, `${path}/emptyBlob`),
+ ...getMemberValidator("zeroByte").validate(obj.zeroByte, `${path}/zeroByte`),
+ ...getMemberValidator("zeroShort").validate(obj.zeroShort, `${path}/zeroShort`),
+ ...getMemberValidator("zeroInteger").validate(obj.zeroInteger, `${path}/zeroInteger`),
+ ...getMemberValidator("zeroLong").validate(obj.zeroLong, `${path}/zeroLong`),
+ ...getMemberValidator("zeroFloat").validate(obj.zeroFloat, `${path}/zeroFloat`),
+ ...getMemberValidator("zeroDouble").validate(obj.zeroDouble, `${path}/zeroDouble`),
+ ];
+ };
+}
+
+/**
+ * @public
+ */
+export interface Farewell {
+ phrase?: string;
+}
+
+export namespace Farewell {
+ const memberValidators: {
+ phrase?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: Farewell, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "phrase": {
+ memberValidators["phrase"] = new __NoOpValidator();
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [...getMemberValidator("phrase").validate(obj.phrase, `${path}/phrase`)];
+ };
+}
+
+/**
+ * @public
+ */
+export interface Dialog {
+ language?: string;
+ greeting?: string;
+ farewell?: Farewell;
+}
+
+export namespace Dialog {
+ const memberValidators: {
+ language?: __MultiConstraintValidator;
+ greeting?: __MultiConstraintValidator;
+ farewell?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: Dialog, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "language": {
+ memberValidators["language"] = new __NoOpValidator();
+ break;
+ }
+ case "greeting": {
+ memberValidators["greeting"] = new __NoOpValidator();
+ break;
+ }
+ case "farewell": {
+ memberValidators["farewell"] = new __CompositeStructureValidator(
+ new __NoOpValidator(),
+ Farewell.validate
+ );
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [
+ ...getMemberValidator("language").validate(obj.language, `${path}/language`),
+ ...getMemberValidator("greeting").validate(obj.greeting, `${path}/greeting`),
+ ...getMemberValidator("farewell").validate(obj.farewell, `${path}/farewell`),
+ ];
+ };
+}
+
/**
* @public
*/
@@ -4150,6 +4578,459 @@ export namespace OmitsSerializingEmptyListsInput {
};
}
+/**
+ * @public
+ */
+export interface OperationWithDefaultsInput {
+ defaults?: Defaults;
+ clientOptionalDefaults?: ClientOptionalDefaults;
+ topLevelDefault?: string;
+ otherTopLevelDefault?: number;
+}
+
+export namespace OperationWithDefaultsInput {
+ const memberValidators: {
+ defaults?: __MultiConstraintValidator;
+ clientOptionalDefaults?: __MultiConstraintValidator;
+ topLevelDefault?: __MultiConstraintValidator;
+ otherTopLevelDefault?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: OperationWithDefaultsInput, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "defaults": {
+ memberValidators["defaults"] = new __CompositeStructureValidator(
+ new __NoOpValidator(),
+ Defaults.validate
+ );
+ break;
+ }
+ case "clientOptionalDefaults": {
+ memberValidators["clientOptionalDefaults"] = new __CompositeStructureValidator(
+ new __NoOpValidator(),
+ ClientOptionalDefaults.validate
+ );
+ break;
+ }
+ case "topLevelDefault": {
+ memberValidators["topLevelDefault"] = new __NoOpValidator();
+ break;
+ }
+ case "otherTopLevelDefault": {
+ memberValidators["otherTopLevelDefault"] = new __NoOpValidator();
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [
+ ...getMemberValidator("defaults").validate(obj.defaults, `${path}/defaults`),
+ ...getMemberValidator("clientOptionalDefaults").validate(
+ obj.clientOptionalDefaults,
+ `${path}/clientOptionalDefaults`
+ ),
+ ...getMemberValidator("topLevelDefault").validate(obj.topLevelDefault, `${path}/topLevelDefault`),
+ ...getMemberValidator("otherTopLevelDefault").validate(obj.otherTopLevelDefault, `${path}/otherTopLevelDefault`),
+ ];
+ };
+}
+
+/**
+ * @public
+ */
+export interface OperationWithDefaultsOutput {
+ defaultString?: string;
+ defaultBoolean?: boolean;
+ defaultList?: string[];
+ defaultDocumentMap?: __DocumentType;
+ defaultDocumentString?: __DocumentType;
+ defaultDocumentBoolean?: __DocumentType;
+ defaultDocumentList?: __DocumentType;
+ defaultNullDocument?: __DocumentType;
+ defaultTimestamp?: Date;
+ defaultBlob?: Uint8Array;
+ defaultByte?: number;
+ defaultShort?: number;
+ defaultInteger?: number;
+ defaultLong?: number;
+ defaultFloat?: number;
+ defaultDouble?: number;
+ defaultMap?: Record;
+ defaultEnum?: TestEnum;
+ defaultIntEnum?: TestIntEnum;
+ emptyString?: string;
+ falseBoolean?: boolean;
+ emptyBlob?: Uint8Array;
+ zeroByte?: number;
+ zeroShort?: number;
+ zeroInteger?: number;
+ zeroLong?: number;
+ zeroFloat?: number;
+ zeroDouble?: number;
+}
+
+export namespace OperationWithDefaultsOutput {
+ const memberValidators: {
+ defaultString?: __MultiConstraintValidator;
+ defaultBoolean?: __MultiConstraintValidator;
+ defaultList?: __MultiConstraintValidator>;
+ defaultDocumentMap?: __MultiConstraintValidator<__DocumentType>;
+ defaultDocumentString?: __MultiConstraintValidator<__DocumentType>;
+ defaultDocumentBoolean?: __MultiConstraintValidator<__DocumentType>;
+ defaultDocumentList?: __MultiConstraintValidator<__DocumentType>;
+ defaultNullDocument?: __MultiConstraintValidator<__DocumentType>;
+ defaultTimestamp?: __MultiConstraintValidator;
+ defaultBlob?: __MultiConstraintValidator;
+ defaultByte?: __MultiConstraintValidator;
+ defaultShort?: __MultiConstraintValidator;
+ defaultInteger?: __MultiConstraintValidator;
+ defaultLong?: __MultiConstraintValidator;
+ defaultFloat?: __MultiConstraintValidator;
+ defaultDouble?: __MultiConstraintValidator;
+ defaultMap?: __MultiConstraintValidator>;
+ defaultEnum?: __MultiConstraintValidator;
+ defaultIntEnum?: __MultiConstraintValidator;
+ emptyString?: __MultiConstraintValidator;
+ falseBoolean?: __MultiConstraintValidator;
+ emptyBlob?: __MultiConstraintValidator;
+ zeroByte?: __MultiConstraintValidator;
+ zeroShort?: __MultiConstraintValidator;
+ zeroInteger?: __MultiConstraintValidator;
+ zeroLong?: __MultiConstraintValidator;
+ zeroFloat?: __MultiConstraintValidator;
+ zeroDouble?: __MultiConstraintValidator;
+ } = {};
+ /**
+ * @internal
+ */
+ export const validate = (obj: OperationWithDefaultsOutput, path = ""): __ValidationFailure[] => {
+ function getMemberValidator(
+ member: T
+ ): NonNullable<(typeof memberValidators)[T]> {
+ if (memberValidators[member] === undefined) {
+ switch (member) {
+ case "defaultString": {
+ memberValidators["defaultString"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultBoolean": {
+ memberValidators["defaultBoolean"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultList": {
+ memberValidators["defaultList"] = new __CompositeCollectionValidator(
+ new __NoOpValidator(),
+ new __NoOpValidator()
+ );
+ break;
+ }
+ case "defaultDocumentMap": {
+ memberValidators["defaultDocumentMap"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDocumentString": {
+ memberValidators["defaultDocumentString"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDocumentBoolean": {
+ memberValidators["defaultDocumentBoolean"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDocumentList": {
+ memberValidators["defaultDocumentList"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultNullDocument": {
+ memberValidators["defaultNullDocument"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultTimestamp": {
+ memberValidators["defaultTimestamp"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultBlob": {
+ memberValidators["defaultBlob"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultByte": {
+ memberValidators["defaultByte"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultShort": {
+ memberValidators["defaultShort"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultInteger": {
+ memberValidators["defaultInteger"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultLong": {
+ memberValidators["defaultLong"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultFloat": {
+ memberValidators["defaultFloat"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultDouble": {
+ memberValidators["defaultDouble"] = new __NoOpValidator();
+ break;
+ }
+ case "defaultMap": {
+ memberValidators["defaultMap"] = new __CompositeMapValidator(
+ new __NoOpValidator(),
+ new __NoOpValidator(),
+ new __NoOpValidator()
+ );
+ break;
+ }
+ case "defaultEnum": {
+ memberValidators["defaultEnum"] = new __CompositeValidator([
+ new __EnumValidator(["FOO", "BAR", "BAZ"], ["FOO", "BAR", "BAZ"]),
+ ]);
+ break;
+ }
+ case "defaultIntEnum": {
+ memberValidators["defaultIntEnum"] = new __CompositeValidator([new __IntegerEnumValidator([1, 2])]);
+ break;
+ }
+ case "emptyString": {
+ memberValidators["emptyString"] = new __NoOpValidator();
+ break;
+ }
+ case "falseBoolean": {
+ memberValidators["falseBoolean"] = new __NoOpValidator();
+ break;
+ }
+ case "emptyBlob": {
+ memberValidators["emptyBlob"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroByte": {
+ memberValidators["zeroByte"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroShort": {
+ memberValidators["zeroShort"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroInteger": {
+ memberValidators["zeroInteger"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroLong": {
+ memberValidators["zeroLong"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroFloat": {
+ memberValidators["zeroFloat"] = new __NoOpValidator();
+ break;
+ }
+ case "zeroDouble": {
+ memberValidators["zeroDouble"] = new __NoOpValidator();
+ break;
+ }
+ }
+ }
+ return memberValidators[member]!;
+ }
+ return [
+ ...getMemberValidator("defaultString").validate(obj.defaultString, `${path}/defaultString`),
+ ...getMemberValidator("defaultBoolean").validate(obj.defaultBoolean, `${path}/defaultBoolean`),
+ ...getMemberValidator("defaultList").validate(obj.defaultList, `${path}/defaultList`),
+ ...getMemberValidator("defaultDocumentMap").validate(obj.defaultDocumentMap, `${path}/defaultDocumentMap`),
+ ...getMemberValidator("defaultDocumentString").validate(
+ obj.defaultDocumentString,
+ `${path}/defaultDocumentString`
+ ),
+ ...getMemberValidator("defaultDocumentBoolean").validate(
+ obj.defaultDocumentBoolean,
+ `${path}/defaultDocumentBoolean`
+ ),
+ ...getMemberValidator("defaultDocumentList").validate(obj.defaultDocumentList, `${path}/defaultDocumentList`),
+ ...getMemberValidator("defaultNullDocument").validate(obj.defaultNullDocument, `${path}/defaultNullDocument`),
+ ...getMemberValidator("defaultTimestamp").validate(obj.defaultTimestamp, `${path}/defaultTimestamp`),
+ ...getMemberValidator("defaultBlob").validate(obj.defaultBlob, `${path}/defaultBlob`),
+ ...getMemberValidator("defaultByte").validate(obj.defaultByte, `${path}/defaultByte`),
+ ...getMemberValidator("defaultShort").validate(obj.defaultShort, `${path}/defaultShort`),
+ ...getMemberValidator("defaultInteger").validate(obj.defaultInteger, `${path}/defaultInteger`),
+ ...getMemberValidator("defaultLong").validate(obj.defaultLong, `${path}/defaultLong`),
+ ...getMemberValidator("defaultFloat").validate(obj.defaultFloat, `${path}/defaultFloat`),
+ ...getMemberValidator("defaultDouble").validate(obj.defaultDouble, `${path}/defaultDouble`),
+ ...getMemberValidator("defaultMap").validate(obj.defaultMap, `${path}/defaultMap`),
+ ...getMemberValidator("defaultEnum").validate(obj.defaultEnum, `${path}/defaultEnum`),
+ ...getMemberValidator("defaultIntEnum").validate(obj.defaultIntEnum, `${path}/defaultIntEnum`),
+ ...getMemberValidator("emptyString").validate(obj.emptyString, `${path}/emptyString`),
+ ...getMemberValidator("falseBoolean").validate(obj.falseBoolean, `${path}/falseBoolean`),
+ ...getMemberValidator("emptyBlob").validate(obj.emptyBlob, `${path}/emptyBlob`),
+ ...getMemberValidator("zeroByte").validate(obj.zeroByte, `${path}/zeroByte`),
+ ...getMemberValidator("zeroShort").validate(obj.zeroShort, `${path}/zeroShort`),
+ ...getMemberValidator("zeroInteger").validate(obj.zeroInteger, `${path}/zeroInteger`),
+ ...getMemberValidator("zeroLong").validate(obj.zeroLong, `${path}/zeroLong`),
+ ...getMemberValidator("zeroFloat").validate(obj.zeroFloat, `${path}/zeroFloat`),
+ ...getMemberValidator("zeroDouble").validate(obj.zeroDouble, `${path}/zeroDouble`),
+ ];
+ };
+}
+
+/**
+ * @public
+ */
+export interface TopLevel {
+ dialog: Dialog | undefined;
+ dialogList?: Dialog[];
+ dialogMap?: Record;
+}
+
+export namespace TopLevel {
+ const memberValidators: {
+ dialog?: __MultiConstraintValidator