diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/AttributeValueUpdate.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/AttributeValueUpdate.h index 4c36909afd9b..ddb2a3752eb6 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/AttributeValueUpdate.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/AttributeValueUpdate.h @@ -22,14 +22,13 @@ namespace Model { /** *

For the UpdateItem operation, represents the attributes to be - * modified, the action to perform on each, and the new value for each.

- *

You cannot use UpdateItem to update any primary key attributes. + * modified, the action to perform on each, and the new value for each.

You + * cannot use UpdateItem to update any primary key attributes. * Instead, you will need to delete the item, and then use PutItem to - * create a new item with new attributes.

Attribute values cannot be - * null; string and binary type attributes must have lengths greater than zero; and - * set type attributes must not be empty. Requests with empty values will be - * rejected with a ValidationException exception.

See - * Also:

Attribute values cannot be null; + * string and binary type attributes must have lengths greater than zero; and set + * type attributes must not be empty. Requests with empty values will be rejected + * with a ValidationException exception.

See Also:

AWS * API Reference

*/ @@ -83,9 +82,9 @@ class AttributeValueUpdate { *
  • If the existing attribute is a number, and if Value is also * a number, then the Value is mathematically added to the existing * attribute. If Value is a negative number, then it is subtracted - * from the existing attribute.

    If you use ADD to - * increment or decrement a number value for an item that doesn't exist before the - * update, DynamoDB uses 0 as the initial value.

    In addition, if you use + * from the existing attribute.

    If you use ADD to increment + * or decrement a number value for an item that doesn't exist before the update, + * DynamoDB uses 0 as the initial value.

    In addition, if you use * ADD to update an existing item, and intend to increment or * decrement an attribute value which does not yet exist, DynamoDB uses * 0 as the initial value. For example, suppose that the item you want @@ -94,8 +93,8 @@ class AttributeValueUpdate { * though it currently does not exist. DynamoDB will create the itemcount * attribute, set its initial value to 0, and finally add * 3 to it. The result will be a new itemcount attribute in the - * item, with a value of 3.

  • If the existing - * data type is a set, and if the Value is also a set, then the + * item, with a value of 3.

  • If the existing data + * type is a set, and if the Value is also a set, then the * Value is added to the existing set. (This is a set * operation, not mathematical addition.) For example, if the attribute value was * the set [1,2], and the ADD action specified diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BatchGetItemRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BatchGetItemRequest.h index 63cfc2531aa1..63178d8c9535 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BatchGetItemRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BatchGetItemRequest.h @@ -71,8 +71,8 @@ class BatchGetItemRequest : public DynamoDBRequest { * then use this substitution in an expression, as in this example:

    Tokens that begin with the * : character are expression attribute values, which are - * placeholders for the actual value at runtime.

    For more - * information about expression attribute names, see

    For more information about + * expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

  • *
  • Keys - An array of primary key attribute values that diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BillingModeSummary.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BillingModeSummary.h index de6a5ea4e86a..1540eaa2b570 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BillingModeSummary.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/BillingModeSummary.h @@ -25,8 +25,8 @@ namespace Model { * PROVISIONED and PAY_PER_REQUEST billing modes. For * more information about these modes, see Read/write - * capacity mode.

    You may need to switch to on-demand mode at - * least once in order to return a BillingModeSummary response.

    + * capacity mode.

    You may need to switch to on-demand mode at least + * once in order to return a BillingModeSummary response.

    *

    See Also:

    AWS * API Reference

    diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/Condition.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/Condition.h index 0fa76b1c0320..61f264109836 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/Condition.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/Condition.h @@ -89,7 +89,7 @@ class Condition { * than the one provided in the request, the value does not match. For example, * {"S":"6"} does not equal {"N":"6"}. Also, * {"N":"6"} does not equal {"NS":["6", "2", "1"]}.

    - *

  • NE : Not equal. NE is supported + *

  • NE : Not equal. NE is supported * for all data types, including lists and maps.

    * AttributeValueList can contain only one AttributeValue * of type String, Number, Binary, String Set, Number Set, or Binary Set. If an @@ -97,76 +97,76 @@ class Condition { * provided in the request, the value does not match. For example, * {"S":"6"} does not equal {"N":"6"}. Also, * {"N":"6"} does not equal {"NS":["6", "2", "1"]}.

    - *

  • LE : Less than or equal.

    + *

  • LE : Less than or equal.

    * AttributeValueList can contain only one AttributeValue * element of type String, Number, or Binary (not a set type). If an item contains * an AttributeValue element of a different type than the one provided * in the request, the value does not match. For example, {"S":"6"} * does not equal {"N":"6"}. Also, {"N":"6"} does not - * compare to {"NS":["6", "2", "1"]}.

  • + * compare to {"NS":["6", "2", "1"]}.

  • * LT : Less than.

    AttributeValueList can * contain only one AttributeValue of type String, Number, or Binary * (not a set type). If an item contains an AttributeValue element of * a different type than the one provided in the request, the value does not match. * For example, {"S":"6"} does not equal {"N":"6"}. Also, * {"N":"6"} does not compare to {"NS":["6", "2", - * "1"]}.

  • GE : Greater than or equal. - *

    AttributeValueList can contain only one + * "1"]}.

  • GE : Greater than or + * equal.

    AttributeValueList can contain only one * AttributeValue element of type String, Number, or Binary (not a set * type). If an item contains an AttributeValue element of a different * type than the one provided in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. Also, * {"N":"6"} does not compare to {"NS":["6", "2", - * "1"]}.

  • GT : Greater than.

    - * AttributeValueList can contain only one AttributeValue - * element of type String, Number, or Binary (not a set type). If an item contains - * an AttributeValue element of a different type than the one provided - * in the request, the value does not match. For example, {"S":"6"} - * does not equal {"N":"6"}. Also, {"N":"6"} does not - * compare to {"NS":["6", "2", "1"]}.

  • - * NOT_NULL : The attribute exists. NOT_NULL is supported - * for all data types, including lists and maps.

    This operator tests - * for the existence of an attribute, not its data type. If the data type of - * attribute "a" is null, and you evaluate it using - * NOT_NULL, the result is a Boolean true. This result is + * "1"]}.

  • GT : Greater than.

    + *

    AttributeValueList can contain only one + * AttributeValue element of type String, Number, or Binary (not a set + * type). If an item contains an AttributeValue element of a different + * type than the one provided in the request, the value does not match. For + * example, {"S":"6"} does not equal {"N":"6"}. Also, + * {"N":"6"} does not compare to {"NS":["6", "2", + * "1"]}.

  • NOT_NULL : The attribute + * exists. NOT_NULL is supported for all data types, including lists + * and maps.

    This operator tests for the existence of an attribute, not its + * data type. If the data type of attribute "a" is null, and you + * evaluate it using NOT_NULL, the result is a Boolean + * true. This result is because the attribute "a" exists; + * its data type is not relevant to the NOT_NULL comparison + * operator.

  • NULL : The attribute does not exist. + * NULL is supported for all data types, including lists and maps.

    + *

    This operator tests for the nonexistence of an attribute, not its data type. + * If the data type of attribute "a" is null, and you evaluate it + * using NULL, the result is a Boolean false. This is * because the attribute "a" exists; its data type is not relevant to - * the NOT_NULL comparison operator.

  • - * NULL : The attribute does not exist. NULL is supported - * for all data types, including lists and maps.

    This operator tests - * for the nonexistence of an attribute, not its data type. If the data type of - * attribute "a" is null, and you evaluate it using NULL, - * the result is a Boolean false. This is because the attribute - * "a" exists; its data type is not relevant to the NULL - * comparison operator.

  • CONTAINS : Checks - * for a subsequence, or value in a set.

    AttributeValueList - * can contain only one AttributeValue element of type String, Number, - * or Binary (not a set type). If the target attribute of the comparison is of type - * String, then the operator checks for a substring match. If the target attribute - * of the comparison is of type Binary, then the operator looks for a subsequence - * of the target that matches the input. If the target attribute of the comparison - * is a set ("SS", "NS", or "BS"), then the - * operator evaluates to true if it finds an exact match with any member of the - * set.

    CONTAINS is supported for lists: When evaluating "a CONTAINS - * b", "a" can be a list; however, "b" cannot be a - * set, a map, or a list.

  • NOT_CONTAINS : Checks for - * absence of a subsequence, or absence of a value in a set.

    + * the NULL comparison operator.

  • + * CONTAINS : Checks for a subsequence, or value in a set.

    * AttributeValueList can contain only one AttributeValue * element of type String, Number, or Binary (not a set type). If the target - * attribute of the comparison is a String, then the operator checks for the - * absence of a substring match. If the target attribute of the comparison is - * Binary, then the operator checks for the absence of a subsequence of the target - * that matches the input. If the target attribute of the comparison is a set - * ("SS", "NS", or "BS"), then the operator - * evaluates to true if it does not find an exact match with any member of - * the set.

    NOT_CONTAINS is supported for lists: When evaluating "a - * NOT CONTAINS b", "a" can be a list; however, - * "b" cannot be a set, a map, or a list.

  • - * BEGINS_WITH : Checks for a prefix.

    + * attribute of the comparison is of type String, then the operator checks for a + * substring match. If the target attribute of the comparison is of type Binary, + * then the operator looks for a subsequence of the target that matches the input. + * If the target attribute of the comparison is a set ("SS", + * "NS", or "BS"), then the operator evaluates to true if + * it finds an exact match with any member of the set.

    CONTAINS is supported + * for lists: When evaluating "a CONTAINS b", "a" can be + * a list; however, "b" cannot be a set, a map, or a list.

  • + *
  • NOT_CONTAINS : Checks for absence of a subsequence, or + * absence of a value in a set.

    AttributeValueList can contain + * only one AttributeValue element of type String, Number, or Binary + * (not a set type). If the target attribute of the comparison is a String, then + * the operator checks for the absence of a substring match. If the target + * attribute of the comparison is Binary, then the operator checks for the absence + * of a subsequence of the target that matches the input. If the target attribute + * of the comparison is a set ("SS", "NS", or + * "BS"), then the operator evaluates to true if it does not + * find an exact match with any member of the set.

    NOT_CONTAINS is supported + * for lists: When evaluating "a NOT CONTAINS b", "a" can + * be a list; however, "b" cannot be a set, a map, or a list.

    + *
  • BEGINS_WITH : Checks for a prefix.

    * AttributeValueList can contain only one AttributeValue * of type String or Binary (not a Number or a set type). The target attribute of * the comparison must be of type String or Binary (not a Number or a set - * type).

  • IN : Checks for matching elements in - * a list.

    AttributeValueList can contain one or more + * type).

  • IN : Checks for matching elements + * in a list.

    AttributeValueList can contain one or more * AttributeValue elements of type String, Number, or Binary. These * attributes are compared against an existing attribute of an item. If any * elements of the input are equal to the item attribute, the expression evaluates diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/CreateTableRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/CreateTableRequest.h index 93941f9b9559..a72493489355 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/CreateTableRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/CreateTableRequest.h @@ -109,18 +109,18 @@ class CreateTableRequest : public DynamoDBRequest { * AttributeName - The name of this key attribute.

  • * KeyType - The role that the key attribute will assume:

  • The partition key of an item is - * also known as its hash attribute. The term "hash attribute" derives from - * the DynamoDB usage of an internal hash function to evenly distribute data items + * - sort key

    The partition key of an item is also + * known as its hash attribute. The term "hash attribute" derives from the + * DynamoDB usage of an internal hash function to evenly distribute data items * across partitions, based on their partition key values.

    The sort key of * an item is also known as its range attribute. The term "range attribute" * derives from the way DynamoDB stores items with the same partition key - * physically close together, in sorted order by the sort key value.

    - *

    For a simple primary key (partition key), you must provide exactly one - * element with a KeyType of HASH.

    For a composite - * primary key (partition key and sort key), you must provide exactly two elements, - * in this order: The first element must have a KeyType of - * HASH, and the second element must have a KeyType of + * physically close together, in sorted order by the sort key value.

    For a + * simple primary key (partition key), you must provide exactly one element with a + * KeyType of HASH.

    For a composite primary key + * (partition key and sort key), you must provide exactly two elements, in this + * order: The first element must have a KeyType of HASH, + * and the second element must have a KeyType of * RANGE.

    For more information, see Working * with Tables in the Amazon DynamoDB Developer Guide.

    @@ -152,7 +152,7 @@ class CreateTableRequest : public DynamoDBRequest { * size limit per partition key value; otherwise, the size of a local secondary * index is unconstrained.

    Each local secondary index in the array includes * the following:

    For more + * information on condition expressions, see Condition * Expressions in the Amazon DynamoDB Developer Guide.

    */ @@ -267,8 +267,8 @@ class PutItemRequest : public DynamoDBRequest { * then use this substitution in an expression, as in this example:

    Tokens that begin with the * : character are expression attribute values, which are - * placeholders for the actual value at runtime.

    For more - * information on expression attribute names, see

    For more information on + * expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/PutResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/PutResourcePolicyRequest.h index 620bd3cbff56..29d000a94bd7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/PutResourcePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/PutResourcePolicyRequest.h @@ -91,12 +91,12 @@ class PutResourcePolicyRequest : public DynamoDBRequest { /** *

    A string value that you can use to conditionally update your policy. You can * provide the revision ID of your existing policy to make mutating requests - * against that policy.

    When you provide an expected revision ID, if - * the revision ID of the existing policy on the resource doesn't match or if - * there's no policy attached to the resource, your request will be rejected with a - * PolicyNotFoundException.

    To conditionally attach a - * policy when no policy exists for the resource, specify NO_POLICY - * for the revision ID.

    + * against that policy.

    When you provide an expected revision ID, if the + * revision ID of the existing policy on the resource doesn't match or if there's + * no policy attached to the resource, your request will be rejected with a + * PolicyNotFoundException.

    To conditionally attach a policy + * when no policy exists for the resource, specify NO_POLICY for the + * revision ID.

    */ inline const Aws::String& GetExpectedRevisionId() const { return m_expectedRevisionId; } inline bool ExpectedRevisionIdHasBeenSet() const { return m_expectedRevisionIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/QueryRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/QueryRequest.h index d121e6a95965..a78827f823cc 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/QueryRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/QueryRequest.h @@ -122,10 +122,10 @@ class QueryRequest : public DynamoDBRequest { * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for - * Select.)

    If you use the - * ProjectionExpression parameter, then the value for - * Select can only be SPECIFIC_ATTRIBUTES. Any other - * value for Select will return an error.

    + * Select.)

    If you use the ProjectionExpression + * parameter, then the value for Select can only be + * SPECIFIC_ATTRIBUTES. Any other value for Select will + * return an error.

    */ inline Select GetSelect() const { return m_select; } inline bool SelectHasBeenSet() const { return m_selectHasBeenSet; } @@ -385,9 +385,9 @@ class QueryRequest : public DynamoDBRequest { * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

    *

    A FilterExpression does not allow key attributes. You cannot - * define a filter expression based on a partition key or a sort key.

    - *

    A FilterExpression is applied after the items have already been - * read; the process of filtering does not consume any additional read capacity + * define a filter expression based on a partition key or a sort key.

    A + * FilterExpression is applied after the items have already been read; + * the process of filtering does not consume any additional read capacity * units.

    For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

    @@ -426,32 +426,32 @@ class QueryRequest : public DynamoDBRequest { * are as follows:

    - *

    Use the ExpressionAttributeValues parameter to replace tokens - * such as :partitionval and :sortval with actual values - * at runtime.

    You can optionally use the - * ExpressionAttributeNames parameter to replace the names of the - * partition key and sort key with placeholder tokens. This option might be - * necessary if an attribute name conflicts with a DynamoDB reserved word. For - * example, the following KeyConditionExpression parameter causes an - * error because Size is a reserved word:

    To work around this, define a placeholder - * (such a #S) to represent the attribute name Size. + * sortKeyName > :sortkeyval - true if the + * sort key value is greater than :sortkeyval.

  • + * sortKeyName >= :sortkeyval - true if the + * sort key value is greater than or equal to :sortkeyval.

  • + *
  • sortKeyName BETWEEN :sortkeyval1 + * AND :sortkeyval2 - true if the sort key value is + * greater than or equal to :sortkeyval1, and less than or equal to + * :sortkeyval2.

  • begins_with ( + * sortKeyName, :sortkeyval ) - true if the + * sort key value begins with a particular operand. (You cannot use this function + * with a sort key that is of type Number.) Note that the function name + * begins_with is case-sensitive.

  • Use the + * ExpressionAttributeValues parameter to replace tokens such as + * :partitionval and :sortval with actual values at + * runtime.

    You can optionally use the ExpressionAttributeNames + * parameter to replace the names of the partition key and sort key with + * placeholder tokens. This option might be necessary if an attribute name + * conflicts with a DynamoDB reserved word. For example, the following + * KeyConditionExpression parameter causes an error because + * Size is a reserved word:

    To work around this, define a placeholder (such a + * #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

    For a list of reserved words, see *

    Tokens that begin with the * : character are expression attribute values, which are - * placeholders for the actual value at runtime.

    For more - * information on expression attribute names, see

    For more information on + * expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaAutoScalingDescription.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaAutoScalingDescription.h index 91f8b9a49b75..a4d5a7281226 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaAutoScalingDescription.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaAutoScalingDescription.h @@ -25,7 +25,7 @@ namespace Model { /** *

    Represents the auto scaling settings of the replica.

    See Also:

    - * AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaDescription.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaDescription.h index 73d84ef136d8..09745133bc75 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaDescription.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicaDescription.h @@ -66,14 +66,14 @@ class ReplicaDescription { * is being deleted.

  • ACTIVE - The replica is ready * for use.

  • REGION_DISABLED - The replica is * inaccessible because the Amazon Web Services Region has been disabled.

    - *

    If the Amazon Web Services Region remains inaccessible for more than - * 20 hours, DynamoDB will remove this replica from the replication group. The - * replica will not be deleted and replication will stop from and to this - * region.

  • INACCESSIBLE_ENCRYPTION_CREDENTIALS - * - The KMS key used to encrypt the table is inaccessible.

    - *

    If the KMS key remains inaccessible for more than 20 hours, DynamoDB will - * remove this replica from the replication group. The replica will not be deleted - * and replication will stop from and to this region.

  • + *

    If the Amazon Web Services Region remains inaccessible for more than 20 + * hours, DynamoDB will remove this replica from the replication group. The replica + * will not be deleted and replication will stop from and to this region.

    + *
  • INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key + * used to encrypt the table is inaccessible.

    If the KMS key remains + * inaccessible for more than 20 hours, DynamoDB will remove this replica from the + * replication group. The replica will not be deleted and replication will stop + * from and to this region.

  • */ inline ReplicaStatus GetReplicaStatus() const { return m_replicaStatus; } inline bool ReplicaStatusHasBeenSet() const { return m_replicaStatusHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicationGroupUpdate.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicationGroupUpdate.h index a87fc7160565..8a55b828e26e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicationGroupUpdate.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ReplicationGroupUpdate.h @@ -29,10 +29,10 @@ namespace Model { * UpdateTable action in the destination Region.

  • An * existing replica to be deleted. The request invokes the * DeleteTableReplica action in the destination Region, deleting the - * replica and all if its items in the destination Region.

  • - *

    When you manually remove a table or global table replica, you do not - * automatically remove any associated scalable targets, scaling policies, or - * CloudWatch alarms.

    See Also:

    When + * you manually remove a table or global table replica, you do not automatically + * remove any associated scalable targets, scaling policies, or CloudWatch + * alarms.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ScanRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ScanRequest.h index 87db6bdd0a9e..ec8157292dba 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ScanRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/ScanRequest.h @@ -176,10 +176,10 @@ class ScanRequest : public DynamoDBRequest { * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for - * Select.)

    If you use the - * ProjectionExpression parameter, then the value for - * Select can only be SPECIFIC_ATTRIBUTES. Any other - * value for Select will return an error.

    + * Select.)

    If you use the ProjectionExpression + * parameter, then the value for Select can only be + * SPECIFIC_ATTRIBUTES. Any other value for Select will + * return an error.

    */ inline Select GetSelect() const { return m_select; } inline bool SelectHasBeenSet() const { return m_selectHasBeenSet; } @@ -366,9 +366,9 @@ class ScanRequest : public DynamoDBRequest { *

    A string that contains conditions that DynamoDB applies after the * Scan operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

    - *

    A FilterExpression is applied after the items have - * already been read; the process of filtering does not consume any additional read - * capacity units.

    For more information, see A FilterExpression is applied after the items have already been + * read; the process of filtering does not consume any additional read capacity + * units.

    For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

    */ @@ -407,8 +407,8 @@ class ScanRequest : public DynamoDBRequest { * then use this substitution in an expression, as in this example:

    Tokens that begin with the * : character are expression attribute values, which are - * placeholders for the actual value at runtime.

    For more - * information on expression attribute names, see

    For more information on + * expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TableDescription.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TableDescription.h index a5f49a3863d9..e9bd25872c32 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TableDescription.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TableDescription.h @@ -105,14 +105,14 @@ class TableDescription { * consists of:

    The partition key of an + * item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition - * key physically close together, in sorted order by the sort key value.

    - *

    For more information about primary keys, see + *

    For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TransactionCanceledException.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TransactionCanceledException.h index 57b659104a32..929cca46d6de 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TransactionCanceledException.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/TransactionCanceledException.h @@ -67,38 +67,38 @@ namespace Model { * ProvisionedThroughputExceeded

  • Messages:

  • Throttling - * Error:

  • Throttling Error:

  • Validation Error:

  • See Also:

    This message is returned when writes get throttled on an On-Demand table as + * DynamoDB is automatically scaling the table.

  • Throughput + * exceeds the current capacity for one or more global secondary indexes. DynamoDB + * is automatically scaling your index so please try again shortly.

    This + * message is returned when writes get throttled on an On-Demand GSI as DynamoDB is + * automatically scaling the GSI.

  • + *

    Validation Error:

  • + *

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateItemRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateItemRequest.h index e8c7c8d79035..67d8d49840c3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateItemRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateItemRequest.h @@ -256,9 +256,9 @@ class UpdateItemRequest : public DynamoDBRequest { * the data type of the attribute:

    - *

    The ADD action only supports Number and set data types.

    - *
  • DELETE - Deletes an element from a - * set.

    If a set of values is specified, then those values are subtracted - * from the old set. For example, if the attribute value was the set - * [a,b,c] and the DELETE action specifies - * [a,c], then the final attribute value is [b]. - * Specifying an empty set is an error.

    The DELETE - * action only supports set data types.

  • You can - * have many actions in a single expression, such as the following: SET - * a=:value1, b=:value2 DELETE :value3, :value4, :value5

    For more - * information on update expressions, see Value must also be a set of strings.

    The + * ADD action only supports Number and set data types.

  • + *

    DELETE - Deletes an element from a set.

    If a set of + * values is specified, then those values are subtracted from the old set. For + * example, if the attribute value was the set [a,b,c] and the + * DELETE action specifies [a,c], then the final + * attribute value is [b]. Specifying an empty set is an error.

    + *

    The DELETE action only supports set data types.

  • + *

    You can have many actions in a single expression, such as the following: + * SET a=:value1, b=:value2 DELETE :value3, :value4, :value5

    + *

    For more information on update expressions, see Modifying * Items and Attributes in the Amazon DynamoDB Developer Guide.

    */ @@ -311,10 +310,10 @@ class UpdateItemRequest : public DynamoDBRequest { * succeed.

    An expression can contain any of the following:

    For more information - * about condition expressions, see

  • Comparison operators: = | <> | < | > | + * <= | >= | BETWEEN | IN

  • Logical operators: AND + * | OR | NOT

  • For more information about condition + * expressions, see Specifying * Conditions in the Amazon DynamoDB Developer Guide.

    */ @@ -353,8 +352,8 @@ class UpdateItemRequest : public DynamoDBRequest { * then use this substitution in an expression, as in this example:

    Tokens that begin with the * : character are expression attribute values, which are - * placeholders for the actual value at runtime.

    For more - * information about expression attribute names, see

    For more information about + * expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

    */ diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h index 0d934177379a..625f07afc5ae 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h @@ -183,10 +183,10 @@ class UpdateTableRequest : public DynamoDBRequest { ///@{ /** - *

    Represents the DynamoDB Streams configuration for the table.

    - *

    You receive a ValidationException if you try to enable a stream - * on a table that already has a stream, or if you try to disable a stream on a - * table that doesn't have a stream.

    + *

    Represents the DynamoDB Streams configuration for the table.

    You + * receive a ValidationException if you try to enable a stream on a + * table that already has a stream, or if you try to disable a stream on a table + * that doesn't have a stream.

    */ inline const StreamSpecification& GetStreamSpecification() const { return m_streamSpecification; } inline bool StreamSpecificationHasBeenSet() const { return m_streamSpecificationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ApproximateCreationDateTimePrecision.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ApproximateCreationDateTimePrecision.cpp index 66b4bc6b584e..2dc7315b9f77 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ApproximateCreationDateTimePrecision.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ApproximateCreationDateTimePrecision.cpp @@ -30,7 +30,6 @@ ApproximateCreationDateTimePrecision GetApproximateCreationDateTimePrecisionForN overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ApproximateCreationDateTimePrecision::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForApproximateCreationDateTimePrecision(ApproximateCreationDa if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ArchivalSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ArchivalSummary.cpp index 4a06f68b4bf1..cdff3f640b79 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ArchivalSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ArchivalSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { ArchivalSummary::ArchivalSummary(JsonView jsonValue) { *this = jsonValue; } -ArchivalSummary& ArchivalSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ArchivalDateTime")) { - m_archivalDateTime = jsonValue.GetDouble("ArchivalDateTime"); - m_archivalDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ArchivalReason")) { - m_archivalReason = jsonValue.GetString("ArchivalReason"); - m_archivalReasonHasBeenSet = true; - } - if (jsonValue.ValueExists("ArchivalBackupArn")) { - m_archivalBackupArn = jsonValue.GetString("ArchivalBackupArn"); - m_archivalBackupArnHasBeenSet = true; - } - return *this; -} +ArchivalSummary& ArchivalSummary::operator=(JsonView jsonValue) { return *this; } JsonValue ArchivalSummary::Jsonize() const { JsonValue payload; - - if (m_archivalDateTimeHasBeenSet) { - payload.WithDouble("ArchivalDateTime", m_archivalDateTime.SecondsWithMSPrecision()); - } - - if (m_archivalReasonHasBeenSet) { - payload.WithString("ArchivalReason", m_archivalReason); - } - - if (m_archivalBackupArnHasBeenSet) { - payload.WithString("ArchivalBackupArn", m_archivalBackupArn); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeAction.cpp index 1712899387f1..0eadfaa551e0 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeAction.cpp @@ -33,7 +33,6 @@ AttributeAction GetAttributeActionForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return AttributeAction::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForAttributeAction(AttributeAction enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeDefinition.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeDefinition.cpp index dea782c110d6..085e40a256fc 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeDefinition.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeDefinition.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { AttributeDefinition::AttributeDefinition(JsonView jsonValue) { *this = jsonValue; } -AttributeDefinition& AttributeDefinition::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("AttributeName")) { - m_attributeName = jsonValue.GetString("AttributeName"); - m_attributeNameHasBeenSet = true; - } - if (jsonValue.ValueExists("AttributeType")) { - m_attributeType = ScalarAttributeTypeMapper::GetScalarAttributeTypeForName(jsonValue.GetString("AttributeType")); - m_attributeTypeHasBeenSet = true; - } - return *this; -} +AttributeDefinition& AttributeDefinition::operator=(JsonView jsonValue) { return *this; } JsonValue AttributeDefinition::Jsonize() const { JsonValue payload; - - if (m_attributeNameHasBeenSet) { - payload.WithString("AttributeName", m_attributeName); - } - - if (m_attributeTypeHasBeenSet) { - payload.WithString("AttributeType", ScalarAttributeTypeMapper::GetNameForScalarAttributeType(m_attributeType)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeValueUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeValueUpdate.cpp index 362e924b56b3..6a49f5d964c3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeValueUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AttributeValueUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { AttributeValueUpdate::AttributeValueUpdate(JsonView jsonValue) { *this = jsonValue; } -AttributeValueUpdate& AttributeValueUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Value")) { - m_value = jsonValue.GetObject("Value"); - m_valueHasBeenSet = true; - } - if (jsonValue.ValueExists("Action")) { - m_action = AttributeActionMapper::GetAttributeActionForName(jsonValue.GetString("Action")); - m_actionHasBeenSet = true; - } - return *this; -} +AttributeValueUpdate& AttributeValueUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue AttributeValueUpdate::Jsonize() const { JsonValue payload; - - if (m_valueHasBeenSet) { - payload.WithObject("Value", m_value.Jsonize()); - } - - if (m_actionHasBeenSet) { - payload.WithString("Action", AttributeActionMapper::GetNameForAttributeAction(m_action)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyDescription.cpp index f0e3f062c5b8..28e0ee07282c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { AutoScalingPolicyDescription::AutoScalingPolicyDescription(JsonView jsonValue) { *this = jsonValue; } -AutoScalingPolicyDescription& AutoScalingPolicyDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("PolicyName")) { - m_policyName = jsonValue.GetString("PolicyName"); - m_policyNameHasBeenSet = true; - } - if (jsonValue.ValueExists("TargetTrackingScalingPolicyConfiguration")) { - m_targetTrackingScalingPolicyConfiguration = jsonValue.GetObject("TargetTrackingScalingPolicyConfiguration"); - m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; - } - return *this; -} +AutoScalingPolicyDescription& AutoScalingPolicyDescription::operator=(JsonView jsonValue) { return *this; } JsonValue AutoScalingPolicyDescription::Jsonize() const { JsonValue payload; - - if (m_policyNameHasBeenSet) { - payload.WithString("PolicyName", m_policyName); - } - - if (m_targetTrackingScalingPolicyConfigurationHasBeenSet) { - payload.WithObject("TargetTrackingScalingPolicyConfiguration", m_targetTrackingScalingPolicyConfiguration.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyUpdate.cpp index 1068ea454fb9..7de4aeb90523 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingPolicyUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { AutoScalingPolicyUpdate::AutoScalingPolicyUpdate(JsonView jsonValue) { *this = jsonValue; } -AutoScalingPolicyUpdate& AutoScalingPolicyUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("PolicyName")) { - m_policyName = jsonValue.GetString("PolicyName"); - m_policyNameHasBeenSet = true; - } - if (jsonValue.ValueExists("TargetTrackingScalingPolicyConfiguration")) { - m_targetTrackingScalingPolicyConfiguration = jsonValue.GetObject("TargetTrackingScalingPolicyConfiguration"); - m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; - } - return *this; -} +AutoScalingPolicyUpdate& AutoScalingPolicyUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue AutoScalingPolicyUpdate::Jsonize() const { JsonValue payload; - - if (m_policyNameHasBeenSet) { - payload.WithString("PolicyName", m_policyName); - } - - if (m_targetTrackingScalingPolicyConfigurationHasBeenSet) { - payload.WithObject("TargetTrackingScalingPolicyConfiguration", m_targetTrackingScalingPolicyConfiguration.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsDescription.cpp index 34355cfa2131..480ea1d0f9d7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,60 +20,10 @@ namespace Model { AutoScalingSettingsDescription::AutoScalingSettingsDescription(JsonView jsonValue) { *this = jsonValue; } -AutoScalingSettingsDescription& AutoScalingSettingsDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("MinimumUnits")) { - m_minimumUnits = jsonValue.GetInt64("MinimumUnits"); - m_minimumUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("MaximumUnits")) { - m_maximumUnits = jsonValue.GetInt64("MaximumUnits"); - m_maximumUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("AutoScalingDisabled")) { - m_autoScalingDisabled = jsonValue.GetBool("AutoScalingDisabled"); - m_autoScalingDisabledHasBeenSet = true; - } - if (jsonValue.ValueExists("AutoScalingRoleArn")) { - m_autoScalingRoleArn = jsonValue.GetString("AutoScalingRoleArn"); - m_autoScalingRoleArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ScalingPolicies")) { - Aws::Utils::Array scalingPoliciesJsonList = jsonValue.GetArray("ScalingPolicies"); - for (unsigned scalingPoliciesIndex = 0; scalingPoliciesIndex < scalingPoliciesJsonList.GetLength(); ++scalingPoliciesIndex) { - m_scalingPolicies.push_back(scalingPoliciesJsonList[scalingPoliciesIndex].AsObject()); - } - m_scalingPoliciesHasBeenSet = true; - } - return *this; -} +AutoScalingSettingsDescription& AutoScalingSettingsDescription::operator=(JsonView jsonValue) { return *this; } JsonValue AutoScalingSettingsDescription::Jsonize() const { JsonValue payload; - - if (m_minimumUnitsHasBeenSet) { - payload.WithInt64("MinimumUnits", m_minimumUnits); - } - - if (m_maximumUnitsHasBeenSet) { - payload.WithInt64("MaximumUnits", m_maximumUnits); - } - - if (m_autoScalingDisabledHasBeenSet) { - payload.WithBool("AutoScalingDisabled", m_autoScalingDisabled); - } - - if (m_autoScalingRoleArnHasBeenSet) { - payload.WithString("AutoScalingRoleArn", m_autoScalingRoleArn); - } - - if (m_scalingPoliciesHasBeenSet) { - Aws::Utils::Array scalingPoliciesJsonList(m_scalingPolicies.size()); - for (unsigned scalingPoliciesIndex = 0; scalingPoliciesIndex < scalingPoliciesJsonList.GetLength(); ++scalingPoliciesIndex) { - scalingPoliciesJsonList[scalingPoliciesIndex].AsObject(m_scalingPolicies[scalingPoliciesIndex].Jsonize()); - } - payload.WithArray("ScalingPolicies", std::move(scalingPoliciesJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsUpdate.cpp index cdb34fdab6ab..853f4075b9ee 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingSettingsUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,53 +20,10 @@ namespace Model { AutoScalingSettingsUpdate::AutoScalingSettingsUpdate(JsonView jsonValue) { *this = jsonValue; } -AutoScalingSettingsUpdate& AutoScalingSettingsUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("MinimumUnits")) { - m_minimumUnits = jsonValue.GetInt64("MinimumUnits"); - m_minimumUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("MaximumUnits")) { - m_maximumUnits = jsonValue.GetInt64("MaximumUnits"); - m_maximumUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("AutoScalingDisabled")) { - m_autoScalingDisabled = jsonValue.GetBool("AutoScalingDisabled"); - m_autoScalingDisabledHasBeenSet = true; - } - if (jsonValue.ValueExists("AutoScalingRoleArn")) { - m_autoScalingRoleArn = jsonValue.GetString("AutoScalingRoleArn"); - m_autoScalingRoleArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ScalingPolicyUpdate")) { - m_scalingPolicyUpdate = jsonValue.GetObject("ScalingPolicyUpdate"); - m_scalingPolicyUpdateHasBeenSet = true; - } - return *this; -} +AutoScalingSettingsUpdate& AutoScalingSettingsUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue AutoScalingSettingsUpdate::Jsonize() const { JsonValue payload; - - if (m_minimumUnitsHasBeenSet) { - payload.WithInt64("MinimumUnits", m_minimumUnits); - } - - if (m_maximumUnitsHasBeenSet) { - payload.WithInt64("MaximumUnits", m_maximumUnits); - } - - if (m_autoScalingDisabledHasBeenSet) { - payload.WithBool("AutoScalingDisabled", m_autoScalingDisabled); - } - - if (m_autoScalingRoleArnHasBeenSet) { - payload.WithString("AutoScalingRoleArn", m_autoScalingRoleArn); - } - - if (m_scalingPolicyUpdateHasBeenSet) { - payload.WithObject("ScalingPolicyUpdate", m_scalingPolicyUpdate.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationDescription.cpp index 18156f51ea07..8d38dca485f2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -22,44 +25,11 @@ AutoScalingTargetTrackingScalingPolicyConfigurationDescription::AutoScalingTarge AutoScalingTargetTrackingScalingPolicyConfigurationDescription& AutoScalingTargetTrackingScalingPolicyConfigurationDescription::operator=( JsonView jsonValue) { - if (jsonValue.ValueExists("DisableScaleIn")) { - m_disableScaleIn = jsonValue.GetBool("DisableScaleIn"); - m_disableScaleInHasBeenSet = true; - } - if (jsonValue.ValueExists("ScaleInCooldown")) { - m_scaleInCooldown = jsonValue.GetInteger("ScaleInCooldown"); - m_scaleInCooldownHasBeenSet = true; - } - if (jsonValue.ValueExists("ScaleOutCooldown")) { - m_scaleOutCooldown = jsonValue.GetInteger("ScaleOutCooldown"); - m_scaleOutCooldownHasBeenSet = true; - } - if (jsonValue.ValueExists("TargetValue")) { - m_targetValue = jsonValue.GetDouble("TargetValue"); - m_targetValueHasBeenSet = true; - } return *this; } JsonValue AutoScalingTargetTrackingScalingPolicyConfigurationDescription::Jsonize() const { JsonValue payload; - - if (m_disableScaleInHasBeenSet) { - payload.WithBool("DisableScaleIn", m_disableScaleIn); - } - - if (m_scaleInCooldownHasBeenSet) { - payload.WithInteger("ScaleInCooldown", m_scaleInCooldown); - } - - if (m_scaleOutCooldownHasBeenSet) { - payload.WithInteger("ScaleOutCooldown", m_scaleOutCooldown); - } - - if (m_targetValueHasBeenSet) { - payload.WithDouble("TargetValue", m_targetValue); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationUpdate.cpp index 80d0103a78c2..2f251b256b91 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/AutoScalingTargetTrackingScalingPolicyConfigurationUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -21,44 +24,11 @@ AutoScalingTargetTrackingScalingPolicyConfigurationUpdate::AutoScalingTargetTrac AutoScalingTargetTrackingScalingPolicyConfigurationUpdate& AutoScalingTargetTrackingScalingPolicyConfigurationUpdate::operator=( JsonView jsonValue) { - if (jsonValue.ValueExists("DisableScaleIn")) { - m_disableScaleIn = jsonValue.GetBool("DisableScaleIn"); - m_disableScaleInHasBeenSet = true; - } - if (jsonValue.ValueExists("ScaleInCooldown")) { - m_scaleInCooldown = jsonValue.GetInteger("ScaleInCooldown"); - m_scaleInCooldownHasBeenSet = true; - } - if (jsonValue.ValueExists("ScaleOutCooldown")) { - m_scaleOutCooldown = jsonValue.GetInteger("ScaleOutCooldown"); - m_scaleOutCooldownHasBeenSet = true; - } - if (jsonValue.ValueExists("TargetValue")) { - m_targetValue = jsonValue.GetDouble("TargetValue"); - m_targetValueHasBeenSet = true; - } return *this; } JsonValue AutoScalingTargetTrackingScalingPolicyConfigurationUpdate::Jsonize() const { JsonValue payload; - - if (m_disableScaleInHasBeenSet) { - payload.WithBool("DisableScaleIn", m_disableScaleIn); - } - - if (m_scaleInCooldownHasBeenSet) { - payload.WithInteger("ScaleInCooldown", m_scaleInCooldown); - } - - if (m_scaleOutCooldownHasBeenSet) { - payload.WithInteger("ScaleOutCooldown", m_scaleOutCooldown); - } - - if (m_targetValueHasBeenSet) { - payload.WithDouble("TargetValue", m_targetValue); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDescription.cpp index 4aba991cbd29..7b4385e56010 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { BackupDescription::BackupDescription(JsonView jsonValue) { *this = jsonValue; } -BackupDescription& BackupDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("BackupDetails")) { - m_backupDetails = jsonValue.GetObject("BackupDetails"); - m_backupDetailsHasBeenSet = true; - } - if (jsonValue.ValueExists("SourceTableDetails")) { - m_sourceTableDetails = jsonValue.GetObject("SourceTableDetails"); - m_sourceTableDetailsHasBeenSet = true; - } - if (jsonValue.ValueExists("SourceTableFeatureDetails")) { - m_sourceTableFeatureDetails = jsonValue.GetObject("SourceTableFeatureDetails"); - m_sourceTableFeatureDetailsHasBeenSet = true; - } - return *this; -} +BackupDescription& BackupDescription::operator=(JsonView jsonValue) { return *this; } JsonValue BackupDescription::Jsonize() const { JsonValue payload; - - if (m_backupDetailsHasBeenSet) { - payload.WithObject("BackupDetails", m_backupDetails.Jsonize()); - } - - if (m_sourceTableDetailsHasBeenSet) { - payload.WithObject("SourceTableDetails", m_sourceTableDetails.Jsonize()); - } - - if (m_sourceTableFeatureDetailsHasBeenSet) { - payload.WithObject("SourceTableFeatureDetails", m_sourceTableFeatureDetails.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDetails.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDetails.cpp index 013db8ad2bb0..0de396ae355f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDetails.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupDetails.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,69 +20,10 @@ namespace Model { BackupDetails::BackupDetails(JsonView jsonValue) { *this = jsonValue; } -BackupDetails& BackupDetails::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("BackupArn")) { - m_backupArn = jsonValue.GetString("BackupArn"); - m_backupArnHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupName")) { - m_backupName = jsonValue.GetString("BackupName"); - m_backupNameHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupSizeBytes")) { - m_backupSizeBytes = jsonValue.GetInt64("BackupSizeBytes"); - m_backupSizeBytesHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupStatus")) { - m_backupStatus = BackupStatusMapper::GetBackupStatusForName(jsonValue.GetString("BackupStatus")); - m_backupStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupType")) { - m_backupType = BackupTypeMapper::GetBackupTypeForName(jsonValue.GetString("BackupType")); - m_backupTypeHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupCreationDateTime")) { - m_backupCreationDateTime = jsonValue.GetDouble("BackupCreationDateTime"); - m_backupCreationDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupExpiryDateTime")) { - m_backupExpiryDateTime = jsonValue.GetDouble("BackupExpiryDateTime"); - m_backupExpiryDateTimeHasBeenSet = true; - } - return *this; -} +BackupDetails& BackupDetails::operator=(JsonView jsonValue) { return *this; } JsonValue BackupDetails::Jsonize() const { JsonValue payload; - - if (m_backupArnHasBeenSet) { - payload.WithString("BackupArn", m_backupArn); - } - - if (m_backupNameHasBeenSet) { - payload.WithString("BackupName", m_backupName); - } - - if (m_backupSizeBytesHasBeenSet) { - payload.WithInt64("BackupSizeBytes", m_backupSizeBytes); - } - - if (m_backupStatusHasBeenSet) { - payload.WithString("BackupStatus", BackupStatusMapper::GetNameForBackupStatus(m_backupStatus)); - } - - if (m_backupTypeHasBeenSet) { - payload.WithString("BackupType", BackupTypeMapper::GetNameForBackupType(m_backupType)); - } - - if (m_backupCreationDateTimeHasBeenSet) { - payload.WithDouble("BackupCreationDateTime", m_backupCreationDateTime.SecondsWithMSPrecision()); - } - - if (m_backupExpiryDateTimeHasBeenSet) { - payload.WithDouble("BackupExpiryDateTime", m_backupExpiryDateTime.SecondsWithMSPrecision()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupStatus.cpp index ab53e06c00df..3bb7e4ee6092 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupStatus.cpp @@ -33,7 +33,6 @@ BackupStatus GetBackupStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return BackupStatus::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForBackupStatus(BackupStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupSummary.cpp index 252db4385cd2..da600da83b64 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,93 +20,10 @@ namespace Model { BackupSummary::BackupSummary(JsonView jsonValue) { *this = jsonValue; } -BackupSummary& BackupSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("TableId")) { - m_tableId = jsonValue.GetString("TableId"); - m_tableIdHasBeenSet = true; - } - if (jsonValue.ValueExists("TableArn")) { - m_tableArn = jsonValue.GetString("TableArn"); - m_tableArnHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupArn")) { - m_backupArn = jsonValue.GetString("BackupArn"); - m_backupArnHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupName")) { - m_backupName = jsonValue.GetString("BackupName"); - m_backupNameHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupCreationDateTime")) { - m_backupCreationDateTime = jsonValue.GetDouble("BackupCreationDateTime"); - m_backupCreationDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupExpiryDateTime")) { - m_backupExpiryDateTime = jsonValue.GetDouble("BackupExpiryDateTime"); - m_backupExpiryDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupStatus")) { - m_backupStatus = BackupStatusMapper::GetBackupStatusForName(jsonValue.GetString("BackupStatus")); - m_backupStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupType")) { - m_backupType = BackupTypeMapper::GetBackupTypeForName(jsonValue.GetString("BackupType")); - m_backupTypeHasBeenSet = true; - } - if (jsonValue.ValueExists("BackupSizeBytes")) { - m_backupSizeBytes = jsonValue.GetInt64("BackupSizeBytes"); - m_backupSizeBytesHasBeenSet = true; - } - return *this; -} +BackupSummary& BackupSummary::operator=(JsonView jsonValue) { return *this; } JsonValue BackupSummary::Jsonize() const { JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_tableIdHasBeenSet) { - payload.WithString("TableId", m_tableId); - } - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_backupArnHasBeenSet) { - payload.WithString("BackupArn", m_backupArn); - } - - if (m_backupNameHasBeenSet) { - payload.WithString("BackupName", m_backupName); - } - - if (m_backupCreationDateTimeHasBeenSet) { - payload.WithDouble("BackupCreationDateTime", m_backupCreationDateTime.SecondsWithMSPrecision()); - } - - if (m_backupExpiryDateTimeHasBeenSet) { - payload.WithDouble("BackupExpiryDateTime", m_backupExpiryDateTime.SecondsWithMSPrecision()); - } - - if (m_backupStatusHasBeenSet) { - payload.WithString("BackupStatus", BackupStatusMapper::GetNameForBackupStatus(m_backupStatus)); - } - - if (m_backupTypeHasBeenSet) { - payload.WithString("BackupType", BackupTypeMapper::GetNameForBackupType(m_backupType)); - } - - if (m_backupSizeBytesHasBeenSet) { - payload.WithInt64("BackupSizeBytes", m_backupSizeBytes); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupType.cpp index 8dc609242468..c1537097561c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupType.cpp @@ -33,7 +33,6 @@ BackupType GetBackupTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return BackupType::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForBackupType(BackupType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupTypeFilter.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupTypeFilter.cpp index 18cf1f4a4982..f75dad6c669f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupTypeFilter.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BackupTypeFilter.cpp @@ -36,7 +36,6 @@ BackupTypeFilter GetBackupTypeFilterForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return BackupTypeFilter::NOT_SET; } @@ -57,7 +56,6 @@ Aws::String GetNameForBackupTypeFilter(BackupTypeFilter enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementRequest.cpp index 66067f09e958..87237bc09e10 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String BatchExecuteStatementRequest::SerializePayload() const { - JsonValue payload; - - if (m_statementsHasBeenSet) { - Aws::Utils::Array statementsJsonList(m_statements.size()); - for (unsigned statementsIndex = 0; statementsIndex < statementsJsonList.GetLength(); ++statementsIndex) { - statementsJsonList[statementsIndex].AsObject(m_statements[statementsIndex].Jsonize()); - } - payload.WithArray("Statements", std::move(statementsJsonList)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - return payload.View().WriteReadable(); -} +Aws::String BatchExecuteStatementRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection BatchExecuteStatementRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementResult.cpp index fcbe6f98c6b4..f8667122ef6c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchExecuteStatementResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,30 +20,4 @@ using namespace Aws; BatchExecuteStatementResult::BatchExecuteStatementResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -BatchExecuteStatementResult& BatchExecuteStatementResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Responses")) { - Aws::Utils::Array responsesJsonList = jsonValue.GetArray("Responses"); - for (unsigned responsesIndex = 0; responsesIndex < responsesJsonList.GetLength(); ++responsesIndex) { - m_responses.push_back(responsesJsonList[responsesIndex].AsObject()); - } - m_responsesHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - Aws::Utils::Array consumedCapacityJsonList = jsonValue.GetArray("ConsumedCapacity"); - for (unsigned consumedCapacityIndex = 0; consumedCapacityIndex < consumedCapacityJsonList.GetLength(); ++consumedCapacityIndex) { - m_consumedCapacity.push_back(consumedCapacityJsonList[consumedCapacityIndex].AsObject()); - } - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +BatchExecuteStatementResult& BatchExecuteStatementResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemRequest.cpp index a78b6ba0b357..6c3b0240ac6d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String BatchGetItemRequest::SerializePayload() const { - JsonValue payload; - - if (m_requestItemsHasBeenSet) { - JsonValue requestItemsJsonMap; - for (auto& requestItemsItem : m_requestItems) { - requestItemsJsonMap.WithObject(requestItemsItem.first, requestItemsItem.second.Jsonize()); - } - payload.WithObject("RequestItems", std::move(requestItemsJsonMap)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - return payload.View().WriteReadable(); -} +Aws::String BatchGetItemRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection BatchGetItemRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemResult.cpp index 393b12f4a763..1763adbedb4d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchGetItemResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,48 +20,4 @@ using namespace Aws; BatchGetItemResult::BatchGetItemResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -BatchGetItemResult& BatchGetItemResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Responses")) { - Aws::Map responsesJsonMap = jsonValue.GetObject("Responses").GetAllObjects(); - for (auto& responsesItem : responsesJsonMap) { - Aws::Utils::Array itemList2JsonList = responsesItem.second.AsArray(); - Aws::Vector> itemList2List; - itemList2List.reserve((size_t)itemList2JsonList.GetLength()); - for (unsigned itemList2Index = 0; itemList2Index < itemList2JsonList.GetLength(); ++itemList2Index) { - Aws::Map attributeMap3JsonMap = itemList2JsonList[itemList2Index].GetAllObjects(); - Aws::Map attributeMap3Map; - for (auto& attributeMap3Item : attributeMap3JsonMap) { - attributeMap3Map[attributeMap3Item.first] = attributeMap3Item.second.AsObject(); - } - itemList2List.push_back(std::move(attributeMap3Map)); - } - m_responses[responsesItem.first] = std::move(itemList2List); - } - m_responsesHasBeenSet = true; - } - if (jsonValue.ValueExists("UnprocessedKeys")) { - Aws::Map unprocessedKeysJsonMap = jsonValue.GetObject("UnprocessedKeys").GetAllObjects(); - for (auto& unprocessedKeysItem : unprocessedKeysJsonMap) { - m_unprocessedKeys[unprocessedKeysItem.first] = unprocessedKeysItem.second.AsObject(); - } - m_unprocessedKeysHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - Aws::Utils::Array consumedCapacityJsonList = jsonValue.GetArray("ConsumedCapacity"); - for (unsigned consumedCapacityIndex = 0; consumedCapacityIndex < consumedCapacityJsonList.GetLength(); ++consumedCapacityIndex) { - m_consumedCapacity.push_back(consumedCapacityJsonList[consumedCapacityIndex].AsObject()); - } - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +BatchGetItemResult& BatchGetItemResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementError.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementError.cpp index bfc58b550895..88def7e21036 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementError.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementError.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,44 +20,10 @@ namespace Model { BatchStatementError::BatchStatementError(JsonView jsonValue) { *this = jsonValue; } -BatchStatementError& BatchStatementError::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Code")) { - m_code = BatchStatementErrorCodeEnumMapper::GetBatchStatementErrorCodeEnumForName(jsonValue.GetString("Code")); - m_codeHasBeenSet = true; - } - if (jsonValue.ValueExists("Message")) { - m_message = jsonValue.GetString("Message"); - m_messageHasBeenSet = true; - } - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - return *this; -} +BatchStatementError& BatchStatementError::operator=(JsonView jsonValue) { return *this; } JsonValue BatchStatementError::Jsonize() const { JsonValue payload; - - if (m_codeHasBeenSet) { - payload.WithString("Code", BatchStatementErrorCodeEnumMapper::GetNameForBatchStatementErrorCodeEnum(m_code)); - } - - if (m_messageHasBeenSet) { - payload.WithString("Message", m_message); - } - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementErrorCodeEnum.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementErrorCodeEnum.cpp index 8737a7bc8e9b..17e12d0be38c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementErrorCodeEnum.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementErrorCodeEnum.cpp @@ -57,7 +57,6 @@ BatchStatementErrorCodeEnum GetBatchStatementErrorCodeEnumForName(const Aws::Str overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return BatchStatementErrorCodeEnum::NOT_SET; } @@ -92,7 +91,6 @@ Aws::String GetNameForBatchStatementErrorCodeEnum(BatchStatementErrorCodeEnum en if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementRequest.cpp index bb96a31be645..5f30534e2a3e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementRequest.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,55 +20,10 @@ namespace Model { BatchStatementRequest::BatchStatementRequest(JsonView jsonValue) { *this = jsonValue; } -BatchStatementRequest& BatchStatementRequest::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Statement")) { - m_statement = jsonValue.GetString("Statement"); - m_statementHasBeenSet = true; - } - if (jsonValue.ValueExists("Parameters")) { - Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); - for (unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) { - m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); - } - m_parametersHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsistentRead")) { - m_consistentRead = jsonValue.GetBool("ConsistentRead"); - m_consistentReadHasBeenSet = true; - } - if (jsonValue.ValueExists("ReturnValuesOnConditionCheckFailure")) { - m_returnValuesOnConditionCheckFailure = ReturnValuesOnConditionCheckFailureMapper::GetReturnValuesOnConditionCheckFailureForName( - jsonValue.GetString("ReturnValuesOnConditionCheckFailure")); - m_returnValuesOnConditionCheckFailureHasBeenSet = true; - } - return *this; -} +BatchStatementRequest& BatchStatementRequest::operator=(JsonView jsonValue) { return *this; } JsonValue BatchStatementRequest::Jsonize() const { JsonValue payload; - - if (m_statementHasBeenSet) { - payload.WithString("Statement", m_statement); - } - - if (m_parametersHasBeenSet) { - Aws::Utils::Array parametersJsonList(m_parameters.size()); - for (unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) { - parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); - } - payload.WithArray("Parameters", std::move(parametersJsonList)); - } - - if (m_consistentReadHasBeenSet) { - payload.WithBool("ConsistentRead", m_consistentRead); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementResponse.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementResponse.cpp index 75f5662b55d9..05f6e82d9405 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementResponse.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchStatementResponse.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,44 +20,10 @@ namespace Model { BatchStatementResponse::BatchStatementResponse(JsonView jsonValue) { *this = jsonValue; } -BatchStatementResponse& BatchStatementResponse::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Error")) { - m_error = jsonValue.GetObject("Error"); - m_errorHasBeenSet = true; - } - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - return *this; -} +BatchStatementResponse& BatchStatementResponse::operator=(JsonView jsonValue) { return *this; } JsonValue BatchStatementResponse::Jsonize() const { JsonValue payload; - - if (m_errorHasBeenSet) { - payload.WithObject("Error", m_error.Jsonize()); - } - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemRequest.cpp index 9d5afbd995f8..2167603d26da 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemRequest.cpp @@ -3,41 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String BatchWriteItemRequest::SerializePayload() const { - JsonValue payload; - - if (m_requestItemsHasBeenSet) { - JsonValue requestItemsJsonMap; - for (auto& requestItemsItem : m_requestItems) { - Aws::Utils::Array writeRequestsJsonList(requestItemsItem.second.size()); - for (unsigned writeRequestsIndex = 0; writeRequestsIndex < writeRequestsJsonList.GetLength(); ++writeRequestsIndex) { - writeRequestsJsonList[writeRequestsIndex].AsObject(requestItemsItem.second[writeRequestsIndex].Jsonize()); - } - requestItemsJsonMap.WithArray(requestItemsItem.first, std::move(writeRequestsJsonList)); - } - payload.WithObject("RequestItems", std::move(requestItemsJsonMap)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_returnItemCollectionMetricsHasBeenSet) { - payload.WithString("ReturnItemCollectionMetrics", - ReturnItemCollectionMetricsMapper::GetNameForReturnItemCollectionMetrics(m_returnItemCollectionMetrics)); - } - - return payload.View().WriteReadable(); -} +Aws::String BatchWriteItemRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection BatchWriteItemRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemResult.cpp index a66d3b611c14..d0bba156882a 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BatchWriteItemResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,52 +20,4 @@ using namespace Aws; BatchWriteItemResult::BatchWriteItemResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -BatchWriteItemResult& BatchWriteItemResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("UnprocessedItems")) { - Aws::Map unprocessedItemsJsonMap = jsonValue.GetObject("UnprocessedItems").GetAllObjects(); - for (auto& unprocessedItemsItem : unprocessedItemsJsonMap) { - Aws::Utils::Array writeRequests2JsonList = unprocessedItemsItem.second.AsArray(); - Aws::Vector writeRequests2List; - writeRequests2List.reserve((size_t)writeRequests2JsonList.GetLength()); - for (unsigned writeRequests2Index = 0; writeRequests2Index < writeRequests2JsonList.GetLength(); ++writeRequests2Index) { - writeRequests2List.push_back(writeRequests2JsonList[writeRequests2Index].AsObject()); - } - m_unprocessedItems[unprocessedItemsItem.first] = std::move(writeRequests2List); - } - m_unprocessedItemsHasBeenSet = true; - } - if (jsonValue.ValueExists("ItemCollectionMetrics")) { - Aws::Map itemCollectionMetricsJsonMap = jsonValue.GetObject("ItemCollectionMetrics").GetAllObjects(); - for (auto& itemCollectionMetricsItem : itemCollectionMetricsJsonMap) { - Aws::Utils::Array itemCollectionMetricsMultiple2JsonList = itemCollectionMetricsItem.second.AsArray(); - Aws::Vector itemCollectionMetricsMultiple2List; - itemCollectionMetricsMultiple2List.reserve((size_t)itemCollectionMetricsMultiple2JsonList.GetLength()); - for (unsigned itemCollectionMetricsMultiple2Index = 0; - itemCollectionMetricsMultiple2Index < itemCollectionMetricsMultiple2JsonList.GetLength(); - ++itemCollectionMetricsMultiple2Index) { - itemCollectionMetricsMultiple2List.push_back( - itemCollectionMetricsMultiple2JsonList[itemCollectionMetricsMultiple2Index].AsObject()); - } - m_itemCollectionMetrics[itemCollectionMetricsItem.first] = std::move(itemCollectionMetricsMultiple2List); - } - m_itemCollectionMetricsHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - Aws::Utils::Array consumedCapacityJsonList = jsonValue.GetArray("ConsumedCapacity"); - for (unsigned consumedCapacityIndex = 0; consumedCapacityIndex < consumedCapacityJsonList.GetLength(); ++consumedCapacityIndex) { - m_consumedCapacity.push_back(consumedCapacityJsonList[consumedCapacityIndex].AsObject()); - } - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +BatchWriteItemResult& BatchWriteItemResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingMode.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingMode.cpp index 0e2baa1fdc37..d4fca19219b3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingMode.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingMode.cpp @@ -30,7 +30,6 @@ BillingMode GetBillingModeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return BillingMode::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForBillingMode(BillingMode enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingModeSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingModeSummary.cpp index 16ec6c94abbd..7bad7c890ee3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingModeSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/BillingModeSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { BillingModeSummary::BillingModeSummary(JsonView jsonValue) { *this = jsonValue; } -BillingModeSummary& BillingModeSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("BillingMode")) { - m_billingMode = BillingModeMapper::GetBillingModeForName(jsonValue.GetString("BillingMode")); - m_billingModeHasBeenSet = true; - } - if (jsonValue.ValueExists("LastUpdateToPayPerRequestDateTime")) { - m_lastUpdateToPayPerRequestDateTime = jsonValue.GetDouble("LastUpdateToPayPerRequestDateTime"); - m_lastUpdateToPayPerRequestDateTimeHasBeenSet = true; - } - return *this; -} +BillingModeSummary& BillingModeSummary::operator=(JsonView jsonValue) { return *this; } JsonValue BillingModeSummary::Jsonize() const { JsonValue payload; - - if (m_billingModeHasBeenSet) { - payload.WithString("BillingMode", BillingModeMapper::GetNameForBillingMode(m_billingMode)); - } - - if (m_lastUpdateToPayPerRequestDateTimeHasBeenSet) { - payload.WithDouble("LastUpdateToPayPerRequestDateTime", m_lastUpdateToPayPerRequestDateTime.SecondsWithMSPrecision()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CancellationReason.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CancellationReason.cpp index fb569c3d3469..215eca7969b3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CancellationReason.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CancellationReason.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,44 +20,10 @@ namespace Model { CancellationReason::CancellationReason(JsonView jsonValue) { *this = jsonValue; } -CancellationReason& CancellationReason::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - if (jsonValue.ValueExists("Code")) { - m_code = jsonValue.GetString("Code"); - m_codeHasBeenSet = true; - } - if (jsonValue.ValueExists("Message")) { - m_message = jsonValue.GetString("Message"); - m_messageHasBeenSet = true; - } - return *this; -} +CancellationReason& CancellationReason::operator=(JsonView jsonValue) { return *this; } JsonValue CancellationReason::Jsonize() const { JsonValue payload; - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - - if (m_codeHasBeenSet) { - payload.WithString("Code", m_code); - } - - if (m_messageHasBeenSet) { - payload.WithString("Message", m_message); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Capacity.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Capacity.cpp index e74406eb4883..d330ad259b30 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Capacity.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Capacity.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { Capacity::Capacity(JsonView jsonValue) { *this = jsonValue; } -Capacity& Capacity::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ReadCapacityUnits")) { - m_readCapacityUnits = jsonValue.GetDouble("ReadCapacityUnits"); - m_readCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("WriteCapacityUnits")) { - m_writeCapacityUnits = jsonValue.GetDouble("WriteCapacityUnits"); - m_writeCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("CapacityUnits")) { - m_capacityUnits = jsonValue.GetDouble("CapacityUnits"); - m_capacityUnitsHasBeenSet = true; - } - return *this; -} +Capacity& Capacity::operator=(JsonView jsonValue) { return *this; } JsonValue Capacity::Jsonize() const { JsonValue payload; - - if (m_readCapacityUnitsHasBeenSet) { - payload.WithDouble("ReadCapacityUnits", m_readCapacityUnits); - } - - if (m_writeCapacityUnitsHasBeenSet) { - payload.WithDouble("WriteCapacityUnits", m_writeCapacityUnits); - } - - if (m_capacityUnitsHasBeenSet) { - payload.WithDouble("CapacityUnits", m_capacityUnits); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ComparisonOperator.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ComparisonOperator.cpp index fc2058d1d39d..1f41ec6b4240 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ComparisonOperator.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ComparisonOperator.cpp @@ -63,7 +63,6 @@ ComparisonOperator GetComparisonOperatorForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ComparisonOperator::NOT_SET; } @@ -102,7 +101,6 @@ Aws::String GetNameForComparisonOperator(ComparisonOperator enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Condition.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Condition.cpp index 914ab2da0b80..fb55ef107ccd 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Condition.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Condition.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,38 +20,10 @@ namespace Model { Condition::Condition(JsonView jsonValue) { *this = jsonValue; } -Condition& Condition::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("AttributeValueList")) { - Aws::Utils::Array attributeValueListJsonList = jsonValue.GetArray("AttributeValueList"); - for (unsigned attributeValueListIndex = 0; attributeValueListIndex < attributeValueListJsonList.GetLength(); - ++attributeValueListIndex) { - m_attributeValueList.push_back(attributeValueListJsonList[attributeValueListIndex].AsObject()); - } - m_attributeValueListHasBeenSet = true; - } - if (jsonValue.ValueExists("ComparisonOperator")) { - m_comparisonOperator = ComparisonOperatorMapper::GetComparisonOperatorForName(jsonValue.GetString("ComparisonOperator")); - m_comparisonOperatorHasBeenSet = true; - } - return *this; -} +Condition& Condition::operator=(JsonView jsonValue) { return *this; } JsonValue Condition::Jsonize() const { JsonValue payload; - - if (m_attributeValueListHasBeenSet) { - Aws::Utils::Array attributeValueListJsonList(m_attributeValueList.size()); - for (unsigned attributeValueListIndex = 0; attributeValueListIndex < attributeValueListJsonList.GetLength(); - ++attributeValueListIndex) { - attributeValueListJsonList[attributeValueListIndex].AsObject(m_attributeValueList[attributeValueListIndex].Jsonize()); - } - payload.WithArray("AttributeValueList", std::move(attributeValueListJsonList)); - } - - if (m_comparisonOperatorHasBeenSet) { - payload.WithString("ComparisonOperator", ComparisonOperatorMapper::GetNameForComparisonOperator(m_comparisonOperator)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionCheck.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionCheck.cpp index 06efdf6164b3..0818dca3d0b2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionCheck.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionCheck.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,85 +20,10 @@ namespace Model { ConditionCheck::ConditionCheck(JsonView jsonValue) { *this = jsonValue; } -ConditionCheck& ConditionCheck::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Key")) { - Aws::Map keyJsonMap = jsonValue.GetObject("Key").GetAllObjects(); - for (auto& keyItem : keyJsonMap) { - m_key[keyItem.first] = keyItem.second.AsObject(); - } - m_keyHasBeenSet = true; - } - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ConditionExpression")) { - m_conditionExpression = jsonValue.GetString("ConditionExpression"); - m_conditionExpressionHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeNames")) { - Aws::Map expressionAttributeNamesJsonMap = jsonValue.GetObject("ExpressionAttributeNames").GetAllObjects(); - for (auto& expressionAttributeNamesItem : expressionAttributeNamesJsonMap) { - m_expressionAttributeNames[expressionAttributeNamesItem.first] = expressionAttributeNamesItem.second.AsString(); - } - m_expressionAttributeNamesHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeValues")) { - Aws::Map expressionAttributeValuesJsonMap = jsonValue.GetObject("ExpressionAttributeValues").GetAllObjects(); - for (auto& expressionAttributeValuesItem : expressionAttributeValuesJsonMap) { - m_expressionAttributeValues[expressionAttributeValuesItem.first] = expressionAttributeValuesItem.second.AsObject(); - } - m_expressionAttributeValuesHasBeenSet = true; - } - if (jsonValue.ValueExists("ReturnValuesOnConditionCheckFailure")) { - m_returnValuesOnConditionCheckFailure = ReturnValuesOnConditionCheckFailureMapper::GetReturnValuesOnConditionCheckFailureForName( - jsonValue.GetString("ReturnValuesOnConditionCheckFailure")); - m_returnValuesOnConditionCheckFailureHasBeenSet = true; - } - return *this; -} +ConditionCheck& ConditionCheck::operator=(JsonView jsonValue) { return *this; } JsonValue ConditionCheck::Jsonize() const { JsonValue payload; - - if (m_keyHasBeenSet) { - JsonValue keyJsonMap; - for (auto& keyItem : m_key) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - payload.WithObject("Key", std::move(keyJsonMap)); - } - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_conditionExpressionHasBeenSet) { - payload.WithString("ConditionExpression", m_conditionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalCheckFailedException.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalCheckFailedException.cpp index be8274604809..1bca59973d47 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalCheckFailedException.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalCheckFailedException.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { ConditionalCheckFailedException::ConditionalCheckFailedException(JsonView jsonValue) { *this = jsonValue; } -ConditionalCheckFailedException& ConditionalCheckFailedException::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("message")) { - m_message = jsonValue.GetString("message"); - m_messageHasBeenSet = true; - } - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - return *this; -} +ConditionalCheckFailedException& ConditionalCheckFailedException::operator=(JsonView jsonValue) { return *this; } JsonValue ConditionalCheckFailedException::Jsonize() const { JsonValue payload; - - if (m_messageHasBeenSet) { - payload.WithString("message", m_message); - } - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalOperator.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalOperator.cpp index 606b4c1e8916..bd60093ba700 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalOperator.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConditionalOperator.cpp @@ -30,7 +30,6 @@ ConditionalOperator GetConditionalOperatorForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ConditionalOperator::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForConditionalOperator(ConditionalOperator enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConsumedCapacity.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConsumedCapacity.cpp index e8d051ac407f..8e69b82ad25c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ConsumedCapacity.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ConsumedCapacity.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,98 +20,10 @@ namespace Model { ConsumedCapacity::ConsumedCapacity(JsonView jsonValue) { *this = jsonValue; } -ConsumedCapacity& ConsumedCapacity::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("CapacityUnits")) { - m_capacityUnits = jsonValue.GetDouble("CapacityUnits"); - m_capacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReadCapacityUnits")) { - m_readCapacityUnits = jsonValue.GetDouble("ReadCapacityUnits"); - m_readCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("WriteCapacityUnits")) { - m_writeCapacityUnits = jsonValue.GetDouble("WriteCapacityUnits"); - m_writeCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("Table")) { - m_table = jsonValue.GetObject("Table"); - m_tableHasBeenSet = true; - } - if (jsonValue.ValueExists("LocalSecondaryIndexes")) { - Aws::Map localSecondaryIndexesJsonMap = jsonValue.GetObject("LocalSecondaryIndexes").GetAllObjects(); - for (auto& localSecondaryIndexesItem : localSecondaryIndexesJsonMap) { - m_localSecondaryIndexes[localSecondaryIndexesItem.first] = localSecondaryIndexesItem.second.AsObject(); - } - m_localSecondaryIndexesHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalSecondaryIndexes")) { - Aws::Map globalSecondaryIndexesJsonMap = jsonValue.GetObject("GlobalSecondaryIndexes").GetAllObjects(); - for (auto& globalSecondaryIndexesItem : globalSecondaryIndexesJsonMap) { - m_globalSecondaryIndexes[globalSecondaryIndexesItem.first] = globalSecondaryIndexesItem.second.AsObject(); - } - m_globalSecondaryIndexesHasBeenSet = true; - } - if (jsonValue.ValueExists("VectorIndexes")) { - Aws::Map vectorIndexesJsonMap = jsonValue.GetObject("VectorIndexes").GetAllObjects(); - for (auto& vectorIndexesItem : vectorIndexesJsonMap) { - m_vectorIndexes[vectorIndexesItem.first] = vectorIndexesItem.second.AsObject(); - } - m_vectorIndexesHasBeenSet = true; - } - return *this; -} +ConsumedCapacity& ConsumedCapacity::operator=(JsonView jsonValue) { return *this; } JsonValue ConsumedCapacity::Jsonize() const { JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_capacityUnitsHasBeenSet) { - payload.WithDouble("CapacityUnits", m_capacityUnits); - } - - if (m_readCapacityUnitsHasBeenSet) { - payload.WithDouble("ReadCapacityUnits", m_readCapacityUnits); - } - - if (m_writeCapacityUnitsHasBeenSet) { - payload.WithDouble("WriteCapacityUnits", m_writeCapacityUnits); - } - - if (m_tableHasBeenSet) { - payload.WithObject("Table", m_table.Jsonize()); - } - - if (m_localSecondaryIndexesHasBeenSet) { - JsonValue localSecondaryIndexesJsonMap; - for (auto& localSecondaryIndexesItem : m_localSecondaryIndexes) { - localSecondaryIndexesJsonMap.WithObject(localSecondaryIndexesItem.first, localSecondaryIndexesItem.second.Jsonize()); - } - payload.WithObject("LocalSecondaryIndexes", std::move(localSecondaryIndexesJsonMap)); - } - - if (m_globalSecondaryIndexesHasBeenSet) { - JsonValue globalSecondaryIndexesJsonMap; - for (auto& globalSecondaryIndexesItem : m_globalSecondaryIndexes) { - globalSecondaryIndexesJsonMap.WithObject(globalSecondaryIndexesItem.first, globalSecondaryIndexesItem.second.Jsonize()); - } - payload.WithObject("GlobalSecondaryIndexes", std::move(globalSecondaryIndexesJsonMap)); - } - - if (m_vectorIndexesHasBeenSet) { - JsonValue vectorIndexesJsonMap; - for (auto& vectorIndexesItem : m_vectorIndexes) { - vectorIndexesJsonMap.WithObject(vectorIndexesItem.first, vectorIndexesItem.second.Jsonize()); - } - payload.WithObject("VectorIndexes", std::move(vectorIndexesJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsDescription.cpp index 8b9c5de9e792..302cb10c375b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,31 +20,10 @@ namespace Model { ContinuousBackupsDescription::ContinuousBackupsDescription(JsonView jsonValue) { *this = jsonValue; } -ContinuousBackupsDescription& ContinuousBackupsDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ContinuousBackupsStatus")) { - m_continuousBackupsStatus = - ContinuousBackupsStatusMapper::GetContinuousBackupsStatusForName(jsonValue.GetString("ContinuousBackupsStatus")); - m_continuousBackupsStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("PointInTimeRecoveryDescription")) { - m_pointInTimeRecoveryDescription = jsonValue.GetObject("PointInTimeRecoveryDescription"); - m_pointInTimeRecoveryDescriptionHasBeenSet = true; - } - return *this; -} +ContinuousBackupsDescription& ContinuousBackupsDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ContinuousBackupsDescription::Jsonize() const { JsonValue payload; - - if (m_continuousBackupsStatusHasBeenSet) { - payload.WithString("ContinuousBackupsStatus", - ContinuousBackupsStatusMapper::GetNameForContinuousBackupsStatus(m_continuousBackupsStatus)); - } - - if (m_pointInTimeRecoveryDescriptionHasBeenSet) { - payload.WithObject("PointInTimeRecoveryDescription", m_pointInTimeRecoveryDescription.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsStatus.cpp index 61d2479eb5db..51d0e7c68dd3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContinuousBackupsStatus.cpp @@ -30,7 +30,6 @@ ContinuousBackupsStatus GetContinuousBackupsStatusForName(const Aws::String& nam overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ContinuousBackupsStatus::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForContinuousBackupsStatus(ContinuousBackupsStatus enumValue) if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsAction.cpp index 546cb99293cf..c5795e289a69 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsAction.cpp @@ -30,7 +30,6 @@ ContributorInsightsAction GetContributorInsightsActionForName(const Aws::String& overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ContributorInsightsAction::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForContributorInsightsAction(ContributorInsightsAction enumVa if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsMode.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsMode.cpp index bbd601f70a07..5e75129864d6 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsMode.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsMode.cpp @@ -30,7 +30,6 @@ ContributorInsightsMode GetContributorInsightsModeForName(const Aws::String& nam overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ContributorInsightsMode::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForContributorInsightsMode(ContributorInsightsMode enumValue) if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsStatus.cpp index 1ce463d95fde..68c0047f88c1 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsStatus.cpp @@ -39,7 +39,6 @@ ContributorInsightsStatus GetContributorInsightsStatusForName(const Aws::String& overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ContributorInsightsStatus::NOT_SET; } @@ -62,7 +61,6 @@ Aws::String GetNameForContributorInsightsStatus(ContributorInsightsStatus enumVa if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsSummary.cpp index 17a0950bc2c3..7d006285b154 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ContributorInsightsSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,49 +20,10 @@ namespace Model { ContributorInsightsSummary::ContributorInsightsSummary(JsonView jsonValue) { *this = jsonValue; } -ContributorInsightsSummary& ContributorInsightsSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ContributorInsightsStatus")) { - m_contributorInsightsStatus = - ContributorInsightsStatusMapper::GetContributorInsightsStatusForName(jsonValue.GetString("ContributorInsightsStatus")); - m_contributorInsightsStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("ContributorInsightsMode")) { - m_contributorInsightsMode = - ContributorInsightsModeMapper::GetContributorInsightsModeForName(jsonValue.GetString("ContributorInsightsMode")); - m_contributorInsightsModeHasBeenSet = true; - } - return *this; -} +ContributorInsightsSummary& ContributorInsightsSummary::operator=(JsonView jsonValue) { return *this; } JsonValue ContributorInsightsSummary::Jsonize() const { JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_contributorInsightsStatusHasBeenSet) { - payload.WithString("ContributorInsightsStatus", - ContributorInsightsStatusMapper::GetNameForContributorInsightsStatus(m_contributorInsightsStatus)); - } - - if (m_contributorInsightsModeHasBeenSet) { - payload.WithString("ContributorInsightsMode", - ContributorInsightsModeMapper::GetNameForContributorInsightsMode(m_contributorInsightsMode)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupRequest.cpp index d70d97a23083..2b2261bd71de 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupRequest.cpp @@ -3,28 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String CreateBackupRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_backupNameHasBeenSet) { - payload.WithString("BackupName", m_backupName); - } - - return payload.View().WriteReadable(); -} +Aws::String CreateBackupRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection CreateBackupRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupResult.cpp index 8b61cae251cc..786158eb0bbc 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateBackupResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; CreateBackupResult::CreateBackupResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -CreateBackupResult& CreateBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("BackupDetails")) { - m_backupDetails = jsonValue.GetObject("BackupDetails"); - m_backupDetailsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +CreateBackupResult& CreateBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalSecondaryIndexAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalSecondaryIndexAction.cpp index 3afed9a4eaef..2cd95ce39f2f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalSecondaryIndexAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalSecondaryIndexAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,68 +20,10 @@ namespace Model { CreateGlobalSecondaryIndexAction::CreateGlobalSecondaryIndexAction(JsonView jsonValue) { *this = jsonValue; } -CreateGlobalSecondaryIndexAction& CreateGlobalSecondaryIndexAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughput")) { - m_provisionedThroughput = jsonValue.GetObject("ProvisionedThroughput"); - m_provisionedThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughput")) { - m_onDemandThroughput = jsonValue.GetObject("OnDemandThroughput"); - m_onDemandThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("WarmThroughput")) { - m_warmThroughput = jsonValue.GetObject("WarmThroughput"); - m_warmThroughputHasBeenSet = true; - } - return *this; -} +CreateGlobalSecondaryIndexAction& CreateGlobalSecondaryIndexAction::operator=(JsonView jsonValue) { return *this; } JsonValue CreateGlobalSecondaryIndexAction::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - - if (m_provisionedThroughputHasBeenSet) { - payload.WithObject("ProvisionedThroughput", m_provisionedThroughput.Jsonize()); - } - - if (m_onDemandThroughputHasBeenSet) { - payload.WithObject("OnDemandThroughput", m_onDemandThroughput.Jsonize()); - } - - if (m_warmThroughputHasBeenSet) { - payload.WithObject("WarmThroughput", m_warmThroughput.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableRequest.cpp index 1931215bba22..1a6993ede6f7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String CreateGlobalTableRequest::SerializePayload() const { - JsonValue payload; - - if (m_globalTableNameHasBeenSet) { - payload.WithString("GlobalTableName", m_globalTableName); - } - - if (m_replicationGroupHasBeenSet) { - Aws::Utils::Array replicationGroupJsonList(m_replicationGroup.size()); - for (unsigned replicationGroupIndex = 0; replicationGroupIndex < replicationGroupJsonList.GetLength(); ++replicationGroupIndex) { - replicationGroupJsonList[replicationGroupIndex].AsObject(m_replicationGroup[replicationGroupIndex].Jsonize()); - } - payload.WithArray("ReplicationGroup", std::move(replicationGroupJsonList)); - } - - return payload.View().WriteReadable(); -} +Aws::String CreateGlobalTableRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection CreateGlobalTableRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableResult.cpp index 638cdb93526e..28b98491332e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; CreateGlobalTableResult::CreateGlobalTableResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -CreateGlobalTableResult& CreateGlobalTableResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("GlobalTableDescription")) { - m_globalTableDescription = jsonValue.GetObject("GlobalTableDescription"); - m_globalTableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +CreateGlobalTableResult& CreateGlobalTableResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableWitnessGroupMemberAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableWitnessGroupMemberAction.cpp index 658e98daa372..9286d66eb218 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableWitnessGroupMemberAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateGlobalTableWitnessGroupMemberAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { CreateGlobalTableWitnessGroupMemberAction::CreateGlobalTableWitnessGroupMemberAction(JsonView jsonValue) { *this = jsonValue; } -CreateGlobalTableWitnessGroupMemberAction& CreateGlobalTableWitnessGroupMemberAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - return *this; -} +CreateGlobalTableWitnessGroupMemberAction& CreateGlobalTableWitnessGroupMemberAction::operator=(JsonView jsonValue) { return *this; } JsonValue CreateGlobalTableWitnessGroupMemberAction::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicaAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicaAction.cpp index 7a8a1a570a6c..12b58fe4b0ff 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicaAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicaAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { CreateReplicaAction::CreateReplicaAction(JsonView jsonValue) { *this = jsonValue; } -CreateReplicaAction& CreateReplicaAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - return *this; -} +CreateReplicaAction& CreateReplicaAction::operator=(JsonView jsonValue) { return *this; } JsonValue CreateReplicaAction::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicationGroupMemberAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicationGroupMemberAction.cpp index 3bf2ae1974cb..7021711bd56f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicationGroupMemberAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateReplicationGroupMemberAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,70 +20,10 @@ namespace Model { CreateReplicationGroupMemberAction::CreateReplicationGroupMemberAction(JsonView jsonValue) { *this = jsonValue; } -CreateReplicationGroupMemberAction& CreateReplicationGroupMemberAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KMSMasterKeyId")) { - m_kMSMasterKeyId = jsonValue.GetString("KMSMasterKeyId"); - m_kMSMasterKeyIdHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughputOverride")) { - m_provisionedThroughputOverride = jsonValue.GetObject("ProvisionedThroughputOverride"); - m_provisionedThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughputOverride")) { - m_onDemandThroughputOverride = jsonValue.GetObject("OnDemandThroughputOverride"); - m_onDemandThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalSecondaryIndexes")) { - Aws::Utils::Array globalSecondaryIndexesJsonList = jsonValue.GetArray("GlobalSecondaryIndexes"); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - m_globalSecondaryIndexes.push_back(globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject()); - } - m_globalSecondaryIndexesHasBeenSet = true; - } - if (jsonValue.ValueExists("TableClassOverride")) { - m_tableClassOverride = TableClassMapper::GetTableClassForName(jsonValue.GetString("TableClassOverride")); - m_tableClassOverrideHasBeenSet = true; - } - return *this; -} +CreateReplicationGroupMemberAction& CreateReplicationGroupMemberAction::operator=(JsonView jsonValue) { return *this; } JsonValue CreateReplicationGroupMemberAction::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_kMSMasterKeyIdHasBeenSet) { - payload.WithString("KMSMasterKeyId", m_kMSMasterKeyId); - } - - if (m_provisionedThroughputOverrideHasBeenSet) { - payload.WithObject("ProvisionedThroughputOverride", m_provisionedThroughputOverride.Jsonize()); - } - - if (m_onDemandThroughputOverrideHasBeenSet) { - payload.WithObject("OnDemandThroughputOverride", m_onDemandThroughputOverride.Jsonize()); - } - - if (m_globalSecondaryIndexesHasBeenSet) { - Aws::Utils::Array globalSecondaryIndexesJsonList(m_globalSecondaryIndexes.size()); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject(m_globalSecondaryIndexes[globalSecondaryIndexesIndex].Jsonize()); - } - payload.WithArray("GlobalSecondaryIndexes", std::move(globalSecondaryIndexesJsonList)); - } - - if (m_tableClassOverrideHasBeenSet) { - payload.WithString("TableClassOverride", TableClassMapper::GetNameForTableClass(m_tableClassOverride)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableRequest.cpp index 8e0182308cff..3d495fee2647 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableRequest.cpp @@ -3,121 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String CreateTableRequest::SerializePayload() const { - JsonValue payload; - - if (m_attributeDefinitionsHasBeenSet) { - Aws::Utils::Array attributeDefinitionsJsonList(m_attributeDefinitions.size()); - for (unsigned attributeDefinitionsIndex = 0; attributeDefinitionsIndex < attributeDefinitionsJsonList.GetLength(); - ++attributeDefinitionsIndex) { - attributeDefinitionsJsonList[attributeDefinitionsIndex].AsObject(m_attributeDefinitions[attributeDefinitionsIndex].Jsonize()); - } - payload.WithArray("AttributeDefinitions", std::move(attributeDefinitionsJsonList)); - } - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_localSecondaryIndexesHasBeenSet) { - Aws::Utils::Array localSecondaryIndexesJsonList(m_localSecondaryIndexes.size()); - for (unsigned localSecondaryIndexesIndex = 0; localSecondaryIndexesIndex < localSecondaryIndexesJsonList.GetLength(); - ++localSecondaryIndexesIndex) { - localSecondaryIndexesJsonList[localSecondaryIndexesIndex].AsObject(m_localSecondaryIndexes[localSecondaryIndexesIndex].Jsonize()); - } - payload.WithArray("LocalSecondaryIndexes", std::move(localSecondaryIndexesJsonList)); - } - - if (m_globalSecondaryIndexesHasBeenSet) { - Aws::Utils::Array globalSecondaryIndexesJsonList(m_globalSecondaryIndexes.size()); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject(m_globalSecondaryIndexes[globalSecondaryIndexesIndex].Jsonize()); - } - payload.WithArray("GlobalSecondaryIndexes", std::move(globalSecondaryIndexesJsonList)); - } - - if (m_billingModeHasBeenSet) { - payload.WithString("BillingMode", BillingModeMapper::GetNameForBillingMode(m_billingMode)); - } - - if (m_provisionedThroughputHasBeenSet) { - payload.WithObject("ProvisionedThroughput", m_provisionedThroughput.Jsonize()); - } - - if (m_streamSpecificationHasBeenSet) { - payload.WithObject("StreamSpecification", m_streamSpecification.Jsonize()); - } - - if (m_sSESpecificationHasBeenSet) { - payload.WithObject("SSESpecification", m_sSESpecification.Jsonize()); - } - - if (m_tagsHasBeenSet) { - Aws::Utils::Array tagsJsonList(m_tags.size()); - for (unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) { - tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); - } - payload.WithArray("Tags", std::move(tagsJsonList)); - } - - if (m_tableClassHasBeenSet) { - payload.WithString("TableClass", TableClassMapper::GetNameForTableClass(m_tableClass)); - } - - if (m_deletionProtectionEnabledHasBeenSet) { - payload.WithBool("DeletionProtectionEnabled", m_deletionProtectionEnabled); - } - - if (m_warmThroughputHasBeenSet) { - payload.WithObject("WarmThroughput", m_warmThroughput.Jsonize()); - } - - if (m_resourcePolicyHasBeenSet) { - payload.WithString("ResourcePolicy", m_resourcePolicy); - } - - if (m_onDemandThroughputHasBeenSet) { - payload.WithObject("OnDemandThroughput", m_onDemandThroughput.Jsonize()); - } - - if (m_globalTableSourceArnHasBeenSet) { - payload.WithString("GlobalTableSourceArn", m_globalTableSourceArn); - } - - if (m_globalTableSettingsReplicationModeHasBeenSet) { - payload.WithString( - "GlobalTableSettingsReplicationMode", - GlobalTableSettingsReplicationModeMapper::GetNameForGlobalTableSettingsReplicationMode(m_globalTableSettingsReplicationMode)); - } - - if (m_vectorIndexesHasBeenSet) { - Aws::Utils::Array vectorIndexesJsonList(m_vectorIndexes.size()); - for (unsigned vectorIndexesIndex = 0; vectorIndexesIndex < vectorIndexesJsonList.GetLength(); ++vectorIndexesIndex) { - vectorIndexesJsonList[vectorIndexesIndex].AsObject(m_vectorIndexes[vectorIndexesIndex].Jsonize()); - } - payload.WithArray("VectorIndexes", std::move(vectorIndexesJsonList)); - } - - return payload.View().WriteReadable(); -} +Aws::String CreateTableRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection CreateTableRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableResult.cpp index d1e0fa4b8b1a..124d17101429 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateTableResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; CreateTableResult::CreateTableResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -CreateTableResult& CreateTableResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableDescription")) { - m_tableDescription = jsonValue.GetObject("TableDescription"); - m_tableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +CreateTableResult& CreateTableResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateVectorIndexAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateVectorIndexAction.cpp index 662bf08b3b32..787cb2093cc4 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateVectorIndexAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CreateVectorIndexAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,68 +20,10 @@ namespace Model { CreateVectorIndexAction::CreateVectorIndexAction(JsonView jsonValue) { *this = jsonValue; } -CreateVectorIndexAction& CreateVectorIndexAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("VectorAttribute")) { - m_vectorAttribute = jsonValue.GetObject("VectorAttribute"); - m_vectorAttributeHasBeenSet = true; - } - if (jsonValue.ValueExists("SearchSchema")) { - Aws::Utils::Array searchSchemaJsonList = jsonValue.GetArray("SearchSchema"); - for (unsigned searchSchemaIndex = 0; searchSchemaIndex < searchSchemaJsonList.GetLength(); ++searchSchemaIndex) { - m_searchSchema.push_back(searchSchemaJsonList[searchSchemaIndex].AsObject()); - } - m_searchSchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - if (jsonValue.ValueExists("Dimensions")) { - m_dimensions = jsonValue.GetInt64("Dimensions"); - m_dimensionsHasBeenSet = true; - } - if (jsonValue.ValueExists("DistanceFunction")) { - m_distanceFunction = VectorDistanceFunctionMapper::GetVectorDistanceFunctionForName(jsonValue.GetString("DistanceFunction")); - m_distanceFunctionHasBeenSet = true; - } - return *this; -} +CreateVectorIndexAction& CreateVectorIndexAction::operator=(JsonView jsonValue) { return *this; } JsonValue CreateVectorIndexAction::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_vectorAttributeHasBeenSet) { - payload.WithObject("VectorAttribute", m_vectorAttribute.Jsonize()); - } - - if (m_searchSchemaHasBeenSet) { - Aws::Utils::Array searchSchemaJsonList(m_searchSchema.size()); - for (unsigned searchSchemaIndex = 0; searchSchemaIndex < searchSchemaJsonList.GetLength(); ++searchSchemaIndex) { - searchSchemaJsonList[searchSchemaIndex].AsObject(m_searchSchema[searchSchemaIndex].Jsonize()); - } - payload.WithArray("SearchSchema", std::move(searchSchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - - if (m_dimensionsHasBeenSet) { - payload.WithInt64("Dimensions", m_dimensions); - } - - if (m_distanceFunctionHasBeenSet) { - payload.WithString("DistanceFunction", VectorDistanceFunctionMapper::GetNameForVectorDistanceFunction(m_distanceFunction)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/CsvOptions.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/CsvOptions.cpp index da48ac64ac5d..9b658fc3e667 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/CsvOptions.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/CsvOptions.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { CsvOptions::CsvOptions(JsonView jsonValue) { *this = jsonValue; } -CsvOptions& CsvOptions::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Delimiter")) { - m_delimiter = jsonValue.GetString("Delimiter"); - m_delimiterHasBeenSet = true; - } - if (jsonValue.ValueExists("HeaderList")) { - Aws::Utils::Array headerListJsonList = jsonValue.GetArray("HeaderList"); - for (unsigned headerListIndex = 0; headerListIndex < headerListJsonList.GetLength(); ++headerListIndex) { - m_headerList.push_back(headerListJsonList[headerListIndex].AsString()); - } - m_headerListHasBeenSet = true; - } - return *this; -} +CsvOptions& CsvOptions::operator=(JsonView jsonValue) { return *this; } JsonValue CsvOptions::Jsonize() const { JsonValue payload; - - if (m_delimiterHasBeenSet) { - payload.WithString("Delimiter", m_delimiter); - } - - if (m_headerListHasBeenSet) { - Aws::Utils::Array headerListJsonList(m_headerList.size()); - for (unsigned headerListIndex = 0; headerListIndex < headerListJsonList.GetLength(); ++headerListIndex) { - headerListJsonList[headerListIndex].AsString(m_headerList[headerListIndex]); - } - payload.WithArray("HeaderList", std::move(headerListJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Delete.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Delete.cpp index 409b32966874..a8dba54d00d0 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Delete.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Delete.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,85 +20,10 @@ namespace Model { Delete::Delete(JsonView jsonValue) { *this = jsonValue; } -Delete& Delete::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Key")) { - Aws::Map keyJsonMap = jsonValue.GetObject("Key").GetAllObjects(); - for (auto& keyItem : keyJsonMap) { - m_key[keyItem.first] = keyItem.second.AsObject(); - } - m_keyHasBeenSet = true; - } - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ConditionExpression")) { - m_conditionExpression = jsonValue.GetString("ConditionExpression"); - m_conditionExpressionHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeNames")) { - Aws::Map expressionAttributeNamesJsonMap = jsonValue.GetObject("ExpressionAttributeNames").GetAllObjects(); - for (auto& expressionAttributeNamesItem : expressionAttributeNamesJsonMap) { - m_expressionAttributeNames[expressionAttributeNamesItem.first] = expressionAttributeNamesItem.second.AsString(); - } - m_expressionAttributeNamesHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeValues")) { - Aws::Map expressionAttributeValuesJsonMap = jsonValue.GetObject("ExpressionAttributeValues").GetAllObjects(); - for (auto& expressionAttributeValuesItem : expressionAttributeValuesJsonMap) { - m_expressionAttributeValues[expressionAttributeValuesItem.first] = expressionAttributeValuesItem.second.AsObject(); - } - m_expressionAttributeValuesHasBeenSet = true; - } - if (jsonValue.ValueExists("ReturnValuesOnConditionCheckFailure")) { - m_returnValuesOnConditionCheckFailure = ReturnValuesOnConditionCheckFailureMapper::GetReturnValuesOnConditionCheckFailureForName( - jsonValue.GetString("ReturnValuesOnConditionCheckFailure")); - m_returnValuesOnConditionCheckFailureHasBeenSet = true; - } - return *this; -} +Delete& Delete::operator=(JsonView jsonValue) { return *this; } JsonValue Delete::Jsonize() const { JsonValue payload; - - if (m_keyHasBeenSet) { - JsonValue keyJsonMap; - for (auto& keyItem : m_key) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - payload.WithObject("Key", std::move(keyJsonMap)); - } - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_conditionExpressionHasBeenSet) { - payload.WithString("ConditionExpression", m_conditionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupRequest.cpp index a33c4ee7d9bd..85b5731cd44b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DeleteBackupRequest::SerializePayload() const { - JsonValue payload; - - if (m_backupArnHasBeenSet) { - payload.WithString("BackupArn", m_backupArn); - } - - return payload.View().WriteReadable(); -} +Aws::String DeleteBackupRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DeleteBackupRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupResult.cpp index f38dd255bee0..d2771af5a689 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteBackupResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DeleteBackupResult::DeleteBackupResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DeleteBackupResult& DeleteBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("BackupDescription")) { - m_backupDescription = jsonValue.GetObject("BackupDescription"); - m_backupDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DeleteBackupResult& DeleteBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalSecondaryIndexAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalSecondaryIndexAction.cpp index b3e62e4d12a6..55d9cb626103 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalSecondaryIndexAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalSecondaryIndexAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { DeleteGlobalSecondaryIndexAction::DeleteGlobalSecondaryIndexAction(JsonView jsonValue) { *this = jsonValue; } -DeleteGlobalSecondaryIndexAction& DeleteGlobalSecondaryIndexAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - return *this; -} +DeleteGlobalSecondaryIndexAction& DeleteGlobalSecondaryIndexAction::operator=(JsonView jsonValue) { return *this; } JsonValue DeleteGlobalSecondaryIndexAction::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalTableWitnessGroupMemberAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalTableWitnessGroupMemberAction.cpp index 0a15568d80a8..4a156fdf8791 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalTableWitnessGroupMemberAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteGlobalTableWitnessGroupMemberAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { DeleteGlobalTableWitnessGroupMemberAction::DeleteGlobalTableWitnessGroupMemberAction(JsonView jsonValue) { *this = jsonValue; } -DeleteGlobalTableWitnessGroupMemberAction& DeleteGlobalTableWitnessGroupMemberAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - return *this; -} +DeleteGlobalTableWitnessGroupMemberAction& DeleteGlobalTableWitnessGroupMemberAction::operator=(JsonView jsonValue) { return *this; } JsonValue DeleteGlobalTableWitnessGroupMemberAction::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemRequest.cpp index ef1461eae53c..3f1a95cb8822 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemRequest.cpp @@ -3,83 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DeleteItemRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_keyHasBeenSet) { - JsonValue keyJsonMap; - for (auto& keyItem : m_key) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - payload.WithObject("Key", std::move(keyJsonMap)); - } - - if (m_expectedHasBeenSet) { - JsonValue expectedJsonMap; - for (auto& expectedItem : m_expected) { - expectedJsonMap.WithObject(expectedItem.first, expectedItem.second.Jsonize()); - } - payload.WithObject("Expected", std::move(expectedJsonMap)); - } - - if (m_conditionalOperatorHasBeenSet) { - payload.WithString("ConditionalOperator", ConditionalOperatorMapper::GetNameForConditionalOperator(m_conditionalOperator)); - } - - if (m_returnValuesHasBeenSet) { - payload.WithString("ReturnValues", ReturnValueMapper::GetNameForReturnValue(m_returnValues)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_returnItemCollectionMetricsHasBeenSet) { - payload.WithString("ReturnItemCollectionMetrics", - ReturnItemCollectionMetricsMapper::GetNameForReturnItemCollectionMetrics(m_returnItemCollectionMetrics)); - } - - if (m_conditionExpressionHasBeenSet) { - payload.WithString("ConditionExpression", m_conditionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - - return payload.View().WriteReadable(); -} +Aws::String DeleteItemRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DeleteItemRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemResult.cpp index d5756f072774..41fdf350f7bc 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteItemResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,31 +20,4 @@ using namespace Aws; DeleteItemResult::DeleteItemResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DeleteItemResult& DeleteItemResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Attributes")) { - Aws::Map attributesJsonMap = jsonValue.GetObject("Attributes").GetAllObjects(); - for (auto& attributesItem : attributesJsonMap) { - m_attributes[attributesItem.first] = attributesItem.second.AsObject(); - } - m_attributesHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - if (jsonValue.ValueExists("ItemCollectionMetrics")) { - m_itemCollectionMetrics = jsonValue.GetObject("ItemCollectionMetrics"); - m_itemCollectionMetricsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DeleteItemResult& DeleteItemResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicaAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicaAction.cpp index ed88f5b0f09c..0adfd21263d8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicaAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicaAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { DeleteReplicaAction::DeleteReplicaAction(JsonView jsonValue) { *this = jsonValue; } -DeleteReplicaAction& DeleteReplicaAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - return *this; -} +DeleteReplicaAction& DeleteReplicaAction::operator=(JsonView jsonValue) { return *this; } JsonValue DeleteReplicaAction::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicationGroupMemberAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicationGroupMemberAction.cpp index 602a013ca30c..b65828fc609f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicationGroupMemberAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteReplicationGroupMemberAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { DeleteReplicationGroupMemberAction::DeleteReplicationGroupMemberAction(JsonView jsonValue) { *this = jsonValue; } -DeleteReplicationGroupMemberAction& DeleteReplicationGroupMemberAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - return *this; -} +DeleteReplicationGroupMemberAction& DeleteReplicationGroupMemberAction::operator=(JsonView jsonValue) { return *this; } JsonValue DeleteReplicationGroupMemberAction::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteRequest.cpp index 467a4c9b8111..bce51b90b7e5 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteRequest.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,28 +20,10 @@ namespace Model { DeleteRequest::DeleteRequest(JsonView jsonValue) { *this = jsonValue; } -DeleteRequest& DeleteRequest::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Key")) { - Aws::Map keyJsonMap = jsonValue.GetObject("Key").GetAllObjects(); - for (auto& keyItem : keyJsonMap) { - m_key[keyItem.first] = keyItem.second.AsObject(); - } - m_keyHasBeenSet = true; - } - return *this; -} +DeleteRequest& DeleteRequest::operator=(JsonView jsonValue) { return *this; } JsonValue DeleteRequest::Jsonize() const { JsonValue payload; - - if (m_keyHasBeenSet) { - JsonValue keyJsonMap; - for (auto& keyItem : m_key) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - payload.WithObject("Key", std::move(keyJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyRequest.cpp index 16f66d5294db..bffb9bfa7d1a 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyRequest.cpp @@ -3,28 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DeleteResourcePolicyRequest::SerializePayload() const { - JsonValue payload; - - if (m_resourceArnHasBeenSet) { - payload.WithString("ResourceArn", m_resourceArn); - } - - if (m_expectedRevisionIdHasBeenSet) { - payload.WithString("ExpectedRevisionId", m_expectedRevisionId); - } - - return payload.View().WriteReadable(); -} +Aws::String DeleteResourcePolicyRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DeleteResourcePolicyRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyResult.cpp index 126497117591..03baa0268450 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteResourcePolicyResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DeleteResourcePolicyResult::DeleteResourcePolicyResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DeleteResourcePolicyResult& DeleteResourcePolicyResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("RevisionId")) { - m_revisionId = jsonValue.GetString("RevisionId"); - m_revisionIdHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DeleteResourcePolicyResult& DeleteResourcePolicyResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableRequest.cpp index 013bde863cef..3a4800c6e181 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DeleteTableRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DeleteTableRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DeleteTableRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableResult.cpp index 1c95e0e73202..9e5c44b24b12 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteTableResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DeleteTableResult::DeleteTableResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DeleteTableResult& DeleteTableResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableDescription")) { - m_tableDescription = jsonValue.GetObject("TableDescription"); - m_tableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DeleteTableResult& DeleteTableResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteVectorIndexAction.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteVectorIndexAction.cpp index b09a42775bfc..18a61d2962e9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteVectorIndexAction.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DeleteVectorIndexAction.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { DeleteVectorIndexAction::DeleteVectorIndexAction(JsonView jsonValue) { *this = jsonValue; } -DeleteVectorIndexAction& DeleteVectorIndexAction::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - return *this; -} +DeleteVectorIndexAction& DeleteVectorIndexAction::operator=(JsonView jsonValue) { return *this; } JsonValue DeleteVectorIndexAction::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupRequest.cpp index 9794f8b8a676..88e047ef22a1 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeBackupRequest::SerializePayload() const { - JsonValue payload; - - if (m_backupArnHasBeenSet) { - payload.WithString("BackupArn", m_backupArn); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeBackupRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeBackupRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupResult.cpp index 46fd9fe15541..28a9f4d683e4 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeBackupResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DescribeBackupResult::DescribeBackupResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeBackupResult& DescribeBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("BackupDescription")) { - m_backupDescription = jsonValue.GetObject("BackupDescription"); - m_backupDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeBackupResult& DescribeBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsRequest.cpp index 5b05f94c27aa..5e44807d1a56 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeContinuousBackupsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeContinuousBackupsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeContinuousBackupsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsResult.cpp index a8fe683af5a8..1d3aa2e2973a 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContinuousBackupsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -20,19 +21,5 @@ using namespace Aws; DescribeContinuousBackupsResult::DescribeContinuousBackupsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } DescribeContinuousBackupsResult& DescribeContinuousBackupsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ContinuousBackupsDescription")) { - m_continuousBackupsDescription = jsonValue.GetObject("ContinuousBackupsDescription"); - m_continuousBackupsDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsRequest.cpp index aeafadf06c57..b76ebce3dfea 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsRequest.cpp @@ -3,28 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeContributorInsightsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeContributorInsightsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeContributorInsightsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsResult.cpp index f3dd6dd815f4..d65e9591d78d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeContributorInsightsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -22,49 +23,5 @@ DescribeContributorInsightsResult::DescribeContributorInsightsResult(const Aws:: } DescribeContributorInsightsResult& DescribeContributorInsightsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ContributorInsightsRuleList")) { - Aws::Utils::Array contributorInsightsRuleListJsonList = jsonValue.GetArray("ContributorInsightsRuleList"); - for (unsigned contributorInsightsRuleListIndex = 0; contributorInsightsRuleListIndex < contributorInsightsRuleListJsonList.GetLength(); - ++contributorInsightsRuleListIndex) { - m_contributorInsightsRuleList.push_back(contributorInsightsRuleListJsonList[contributorInsightsRuleListIndex].AsString()); - } - m_contributorInsightsRuleListHasBeenSet = true; - } - if (jsonValue.ValueExists("ContributorInsightsStatus")) { - m_contributorInsightsStatus = - ContributorInsightsStatusMapper::GetContributorInsightsStatusForName(jsonValue.GetString("ContributorInsightsStatus")); - m_contributorInsightsStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("LastUpdateDateTime")) { - m_lastUpdateDateTime = jsonValue.GetDouble("LastUpdateDateTime"); - m_lastUpdateDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("FailureException")) { - m_failureException = jsonValue.GetObject("FailureException"); - m_failureExceptionHasBeenSet = true; - } - if (jsonValue.ValueExists("ContributorInsightsMode")) { - m_contributorInsightsMode = - ContributorInsightsModeMapper::GetContributorInsightsModeForName(jsonValue.GetString("ContributorInsightsMode")); - m_contributorInsightsModeHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsRequest.cpp index ca966bfb1119..8d19b9c6a18c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsRequest.cpp @@ -3,9 +3,15 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsResult.cpp index 5d4d9d45ce52..24a65ea58533 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeEndpointsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,23 +20,4 @@ using namespace Aws; DescribeEndpointsResult::DescribeEndpointsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeEndpointsResult& DescribeEndpointsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Endpoints")) { - Aws::Utils::Array endpointsJsonList = jsonValue.GetArray("Endpoints"); - for (unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) { - m_endpoints.push_back(endpointsJsonList[endpointsIndex].AsObject()); - } - m_endpointsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeEndpointsResult& DescribeEndpointsResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportRequest.cpp index 24590ca7ab77..063360b99d82 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeExportRequest::SerializePayload() const { - JsonValue payload; - - if (m_exportArnHasBeenSet) { - payload.WithString("ExportArn", m_exportArn); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeExportRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeExportRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportResult.cpp index 0d105bfb6bcd..8371b02d2932 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeExportResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DescribeExportResult::DescribeExportResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeExportResult& DescribeExportResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ExportDescription")) { - m_exportDescription = jsonValue.GetObject("ExportDescription"); - m_exportDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeExportResult& DescribeExportResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableRequest.cpp index 554925195663..dd67f4382bb2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeGlobalTableRequest::SerializePayload() const { - JsonValue payload; - - if (m_globalTableNameHasBeenSet) { - payload.WithString("GlobalTableName", m_globalTableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeGlobalTableRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeGlobalTableRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableResult.cpp index ce2b9a992633..f56bb859d1eb 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DescribeGlobalTableResult::DescribeGlobalTableResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeGlobalTableResult& DescribeGlobalTableResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("GlobalTableDescription")) { - m_globalTableDescription = jsonValue.GetObject("GlobalTableDescription"); - m_globalTableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeGlobalTableResult& DescribeGlobalTableResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsRequest.cpp index adccb2807430..4580e0782ac9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeGlobalTableSettingsRequest::SerializePayload() const { - JsonValue payload; - - if (m_globalTableNameHasBeenSet) { - payload.WithString("GlobalTableName", m_globalTableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeGlobalTableSettingsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeGlobalTableSettingsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsResult.cpp index 75bfe5889be6..009c576c4e4d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeGlobalTableSettingsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -22,26 +23,5 @@ DescribeGlobalTableSettingsResult::DescribeGlobalTableSettingsResult(const Aws:: } DescribeGlobalTableSettingsResult& DescribeGlobalTableSettingsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("GlobalTableName")) { - m_globalTableName = jsonValue.GetString("GlobalTableName"); - m_globalTableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaSettings")) { - Aws::Utils::Array replicaSettingsJsonList = jsonValue.GetArray("ReplicaSettings"); - for (unsigned replicaSettingsIndex = 0; replicaSettingsIndex < replicaSettingsJsonList.GetLength(); ++replicaSettingsIndex) { - m_replicaSettings.push_back(replicaSettingsJsonList[replicaSettingsIndex].AsObject()); - } - m_replicaSettingsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportRequest.cpp index 930acf9fc978..3937d00b8a66 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeImportRequest::SerializePayload() const { - JsonValue payload; - - if (m_importArnHasBeenSet) { - payload.WithString("ImportArn", m_importArn); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeImportRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeImportRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportResult.cpp index cf3789485008..49f44fd48d8c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeImportResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DescribeImportResult::DescribeImportResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeImportResult& DescribeImportResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ImportTableDescription")) { - m_importTableDescription = jsonValue.GetObject("ImportTableDescription"); - m_importTableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeImportResult& DescribeImportResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationRequest.cpp index b59b5dc7055e..aa9105cad6af 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeKinesisStreamingDestinationRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeKinesisStreamingDestinationRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeKinesisStreamingDestinationRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationResult.cpp index b9c56915bfc3..898c745423c9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeKinesisStreamingDestinationResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -23,27 +24,5 @@ DescribeKinesisStreamingDestinationResult::DescribeKinesisStreamingDestinationRe DescribeKinesisStreamingDestinationResult& DescribeKinesisStreamingDestinationResult::operator=( const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KinesisDataStreamDestinations")) { - Aws::Utils::Array kinesisDataStreamDestinationsJsonList = jsonValue.GetArray("KinesisDataStreamDestinations"); - for (unsigned kinesisDataStreamDestinationsIndex = 0; - kinesisDataStreamDestinationsIndex < kinesisDataStreamDestinationsJsonList.GetLength(); ++kinesisDataStreamDestinationsIndex) { - m_kinesisDataStreamDestinations.push_back(kinesisDataStreamDestinationsJsonList[kinesisDataStreamDestinationsIndex].AsObject()); - } - m_kinesisDataStreamDestinationsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsRequest.cpp index 6d5267784776..cb0c934b23d3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsRequest.cpp @@ -3,9 +3,15 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsResult.cpp index d72fe3de7c4b..e2825eef88ce 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeLimitsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,32 +20,4 @@ using namespace Aws; DescribeLimitsResult::DescribeLimitsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeLimitsResult& DescribeLimitsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("AccountMaxReadCapacityUnits")) { - m_accountMaxReadCapacityUnits = jsonValue.GetInt64("AccountMaxReadCapacityUnits"); - m_accountMaxReadCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("AccountMaxWriteCapacityUnits")) { - m_accountMaxWriteCapacityUnits = jsonValue.GetInt64("AccountMaxWriteCapacityUnits"); - m_accountMaxWriteCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("TableMaxReadCapacityUnits")) { - m_tableMaxReadCapacityUnits = jsonValue.GetInt64("TableMaxReadCapacityUnits"); - m_tableMaxReadCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("TableMaxWriteCapacityUnits")) { - m_tableMaxWriteCapacityUnits = jsonValue.GetInt64("TableMaxWriteCapacityUnits"); - m_tableMaxWriteCapacityUnitsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeLimitsResult& DescribeLimitsResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingRequest.cpp index ff7ef63a8c00..964850ca73b8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeTableReplicaAutoScalingRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeTableReplicaAutoScalingRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeTableReplicaAutoScalingRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingResult.cpp index b79c504e67b5..6d0703b7adaf 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableReplicaAutoScalingResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -23,19 +24,5 @@ DescribeTableReplicaAutoScalingResult::DescribeTableReplicaAutoScalingResult(con DescribeTableReplicaAutoScalingResult& DescribeTableReplicaAutoScalingResult::operator=( const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableAutoScalingDescription")) { - m_tableAutoScalingDescription = jsonValue.GetObject("TableAutoScalingDescription"); - m_tableAutoScalingDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableRequest.cpp index a056f2b5a326..5176a23ccf55 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeTableRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeTableRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeTableRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableResult.cpp index b8f75f76c947..ae36fcf3fcf3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTableResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DescribeTableResult::DescribeTableResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeTableResult& DescribeTableResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Table")) { - m_table = jsonValue.GetObject("Table"); - m_tableHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeTableResult& DescribeTableResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveRequest.cpp index 3b260920bc58..d68a10c06d92 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DescribeTimeToLiveRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - return payload.View().WriteReadable(); -} +Aws::String DescribeTimeToLiveRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DescribeTimeToLiveRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveResult.cpp index a1a892299e27..98a2280584dd 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DescribeTimeToLiveResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; DescribeTimeToLiveResult::DescribeTimeToLiveResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -DescribeTimeToLiveResult& DescribeTimeToLiveResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TimeToLiveDescription")) { - m_timeToLiveDescription = jsonValue.GetObject("TimeToLiveDescription"); - m_timeToLiveDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +DescribeTimeToLiveResult& DescribeTimeToLiveResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DestinationStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DestinationStatus.cpp index bbe1ae197b27..51fdf8476546 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DestinationStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DestinationStatus.cpp @@ -42,7 +42,6 @@ DestinationStatus GetDestinationStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return DestinationStatus::NOT_SET; } @@ -67,7 +66,6 @@ Aws::String GetNameForDestinationStatus(DestinationStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationRequest.cpp index 37feffedda06..21644f14fbe7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String DisableKinesisStreamingDestinationRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_streamArnHasBeenSet) { - payload.WithString("StreamArn", m_streamArn); - } - - if (m_enableKinesisStreamingConfigurationHasBeenSet) { - payload.WithObject("EnableKinesisStreamingConfiguration", m_enableKinesisStreamingConfiguration.Jsonize()); - } - - return payload.View().WriteReadable(); -} +Aws::String DisableKinesisStreamingDestinationRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection DisableKinesisStreamingDestinationRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationResult.cpp index 2b6ea235016f..587630aa78a8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/DisableKinesisStreamingDestinationResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -23,31 +24,5 @@ DisableKinesisStreamingDestinationResult::DisableKinesisStreamingDestinationResu DisableKinesisStreamingDestinationResult& DisableKinesisStreamingDestinationResult::operator=( const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("StreamArn")) { - m_streamArn = jsonValue.GetString("StreamArn"); - m_streamArnHasBeenSet = true; - } - if (jsonValue.ValueExists("DestinationStatus")) { - m_destinationStatus = DestinationStatusMapper::GetDestinationStatusForName(jsonValue.GetString("DestinationStatus")); - m_destinationStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("EnableKinesisStreamingConfiguration")) { - m_enableKinesisStreamingConfiguration = jsonValue.GetObject("EnableKinesisStreamingConfiguration"); - m_enableKinesisStreamingConfigurationHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingConfiguration.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingConfiguration.cpp index 035db50f956e..1df9d157a476 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingConfiguration.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,24 +20,10 @@ namespace Model { EnableKinesisStreamingConfiguration::EnableKinesisStreamingConfiguration(JsonView jsonValue) { *this = jsonValue; } -EnableKinesisStreamingConfiguration& EnableKinesisStreamingConfiguration::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ApproximateCreationDateTimePrecision")) { - m_approximateCreationDateTimePrecision = ApproximateCreationDateTimePrecisionMapper::GetApproximateCreationDateTimePrecisionForName( - jsonValue.GetString("ApproximateCreationDateTimePrecision")); - m_approximateCreationDateTimePrecisionHasBeenSet = true; - } - return *this; -} +EnableKinesisStreamingConfiguration& EnableKinesisStreamingConfiguration::operator=(JsonView jsonValue) { return *this; } JsonValue EnableKinesisStreamingConfiguration::Jsonize() const { JsonValue payload; - - if (m_approximateCreationDateTimePrecisionHasBeenSet) { - payload.WithString( - "ApproximateCreationDateTimePrecision", - ApproximateCreationDateTimePrecisionMapper::GetNameForApproximateCreationDateTimePrecision(m_approximateCreationDateTimePrecision)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationRequest.cpp index 507118ee2bc1..d9b528b052ae 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String EnableKinesisStreamingDestinationRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_streamArnHasBeenSet) { - payload.WithString("StreamArn", m_streamArn); - } - - if (m_enableKinesisStreamingConfigurationHasBeenSet) { - payload.WithObject("EnableKinesisStreamingConfiguration", m_enableKinesisStreamingConfiguration.Jsonize()); - } - - return payload.View().WriteReadable(); -} +Aws::String EnableKinesisStreamingDestinationRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection EnableKinesisStreamingDestinationRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationResult.cpp index 860c749aa663..a60f2251c2b5 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/EnableKinesisStreamingDestinationResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -23,31 +24,5 @@ EnableKinesisStreamingDestinationResult::EnableKinesisStreamingDestinationResult EnableKinesisStreamingDestinationResult& EnableKinesisStreamingDestinationResult::operator=( const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("StreamArn")) { - m_streamArn = jsonValue.GetString("StreamArn"); - m_streamArnHasBeenSet = true; - } - if (jsonValue.ValueExists("DestinationStatus")) { - m_destinationStatus = DestinationStatusMapper::GetDestinationStatusForName(jsonValue.GetString("DestinationStatus")); - m_destinationStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("EnableKinesisStreamingConfiguration")) { - m_enableKinesisStreamingConfiguration = jsonValue.GetObject("EnableKinesisStreamingConfiguration"); - m_enableKinesisStreamingConfigurationHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Endpoint.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Endpoint.cpp index 15782ed8fb0d..fecf665325a5 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Endpoint.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Endpoint.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { Endpoint::Endpoint(JsonView jsonValue) { *this = jsonValue; } -Endpoint& Endpoint::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Address")) { - m_address = jsonValue.GetString("Address"); - m_addressHasBeenSet = true; - } - if (jsonValue.ValueExists("CachePeriodInMinutes")) { - m_cachePeriodInMinutes = jsonValue.GetInt64("CachePeriodInMinutes"); - m_cachePeriodInMinutesHasBeenSet = true; - } - return *this; -} +Endpoint& Endpoint::operator=(JsonView jsonValue) { return *this; } JsonValue Endpoint::Jsonize() const { JsonValue payload; - - if (m_addressHasBeenSet) { - payload.WithString("Address", m_address); - } - - if (m_cachePeriodInMinutesHasBeenSet) { - payload.WithInt64("CachePeriodInMinutes", m_cachePeriodInMinutes); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementRequest.cpp index 0267b082567a..5c2b142986ed 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementRequest.cpp @@ -3,54 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ExecuteStatementRequest::SerializePayload() const { - JsonValue payload; - - if (m_statementHasBeenSet) { - payload.WithString("Statement", m_statement); - } - - if (m_parametersHasBeenSet) { - Aws::Utils::Array parametersJsonList(m_parameters.size()); - for (unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) { - parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); - } - payload.WithArray("Parameters", std::move(parametersJsonList)); - } - - if (m_consistentReadHasBeenSet) { - payload.WithBool("ConsistentRead", m_consistentRead); - } - - if (m_nextTokenHasBeenSet) { - payload.WithString("NextToken", m_nextToken); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_limitHasBeenSet) { - payload.WithInteger("Limit", m_limit); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - - return payload.View().WriteReadable(); -} +Aws::String ExecuteStatementRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ExecuteStatementRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementResult.cpp index 083dcf302098..58623b0b8c33 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteStatementResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,43 +20,4 @@ using namespace Aws; ExecuteStatementResult::ExecuteStatementResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ExecuteStatementResult& ExecuteStatementResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Items")) { - Aws::Utils::Array itemsJsonList = jsonValue.GetArray("Items"); - for (unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) { - Aws::Map attributeMap2JsonMap = itemsJsonList[itemsIndex].GetAllObjects(); - Aws::Map attributeMap2Map; - for (auto& attributeMap2Item : attributeMap2JsonMap) { - attributeMap2Map[attributeMap2Item.first] = attributeMap2Item.second.AsObject(); - } - m_items.push_back(std::move(attributeMap2Map)); - } - m_itemsHasBeenSet = true; - } - if (jsonValue.ValueExists("NextToken")) { - m_nextToken = jsonValue.GetString("NextToken"); - m_nextTokenHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - if (jsonValue.ValueExists("LastEvaluatedKey")) { - Aws::Map lastEvaluatedKeyJsonMap = jsonValue.GetObject("LastEvaluatedKey").GetAllObjects(); - for (auto& lastEvaluatedKeyItem : lastEvaluatedKeyJsonMap) { - m_lastEvaluatedKey[lastEvaluatedKeyItem.first] = lastEvaluatedKeyItem.second.AsObject(); - } - m_lastEvaluatedKeyHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ExecuteStatementResult& ExecuteStatementResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionRequest.cpp index fdc97fae4a4e..2b61fc6cd1d5 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionRequest.cpp @@ -3,37 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ExecuteTransactionRequest::SerializePayload() const { - JsonValue payload; - - if (m_transactStatementsHasBeenSet) { - Aws::Utils::Array transactStatementsJsonList(m_transactStatements.size()); - for (unsigned transactStatementsIndex = 0; transactStatementsIndex < transactStatementsJsonList.GetLength(); - ++transactStatementsIndex) { - transactStatementsJsonList[transactStatementsIndex].AsObject(m_transactStatements[transactStatementsIndex].Jsonize()); - } - payload.WithArray("TransactStatements", std::move(transactStatementsJsonList)); - } - - if (m_clientRequestTokenHasBeenSet) { - payload.WithString("ClientRequestToken", m_clientRequestToken); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - return payload.View().WriteReadable(); -} +Aws::String ExecuteTransactionRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ExecuteTransactionRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionResult.cpp index 6a4bfd2dafef..dd51e556063d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExecuteTransactionResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,30 +20,4 @@ using namespace Aws; ExecuteTransactionResult::ExecuteTransactionResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ExecuteTransactionResult& ExecuteTransactionResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Responses")) { - Aws::Utils::Array responsesJsonList = jsonValue.GetArray("Responses"); - for (unsigned responsesIndex = 0; responsesIndex < responsesJsonList.GetLength(); ++responsesIndex) { - m_responses.push_back(responsesJsonList[responsesIndex].AsObject()); - } - m_responsesHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - Aws::Utils::Array consumedCapacityJsonList = jsonValue.GetArray("ConsumedCapacity"); - for (unsigned consumedCapacityIndex = 0; consumedCapacityIndex < consumedCapacityJsonList.GetLength(); ++consumedCapacityIndex) { - m_consumedCapacity.push_back(consumedCapacityJsonList[consumedCapacityIndex].AsObject()); - } - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ExecuteTransactionResult& ExecuteTransactionResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExpectedAttributeValue.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExpectedAttributeValue.cpp index 48a0b001acc3..851808f69be7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExpectedAttributeValue.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExpectedAttributeValue.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,54 +20,10 @@ namespace Model { ExpectedAttributeValue::ExpectedAttributeValue(JsonView jsonValue) { *this = jsonValue; } -ExpectedAttributeValue& ExpectedAttributeValue::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Value")) { - m_value = jsonValue.GetObject("Value"); - m_valueHasBeenSet = true; - } - if (jsonValue.ValueExists("Exists")) { - m_exists = jsonValue.GetBool("Exists"); - m_existsHasBeenSet = true; - } - if (jsonValue.ValueExists("ComparisonOperator")) { - m_comparisonOperator = ComparisonOperatorMapper::GetComparisonOperatorForName(jsonValue.GetString("ComparisonOperator")); - m_comparisonOperatorHasBeenSet = true; - } - if (jsonValue.ValueExists("AttributeValueList")) { - Aws::Utils::Array attributeValueListJsonList = jsonValue.GetArray("AttributeValueList"); - for (unsigned attributeValueListIndex = 0; attributeValueListIndex < attributeValueListJsonList.GetLength(); - ++attributeValueListIndex) { - m_attributeValueList.push_back(attributeValueListJsonList[attributeValueListIndex].AsObject()); - } - m_attributeValueListHasBeenSet = true; - } - return *this; -} +ExpectedAttributeValue& ExpectedAttributeValue::operator=(JsonView jsonValue) { return *this; } JsonValue ExpectedAttributeValue::Jsonize() const { JsonValue payload; - - if (m_valueHasBeenSet) { - payload.WithObject("Value", m_value.Jsonize()); - } - - if (m_existsHasBeenSet) { - payload.WithBool("Exists", m_exists); - } - - if (m_comparisonOperatorHasBeenSet) { - payload.WithString("ComparisonOperator", ComparisonOperatorMapper::GetNameForComparisonOperator(m_comparisonOperator)); - } - - if (m_attributeValueListHasBeenSet) { - Aws::Utils::Array attributeValueListJsonList(m_attributeValueList.size()); - for (unsigned attributeValueListIndex = 0; attributeValueListIndex < attributeValueListJsonList.GetLength(); - ++attributeValueListIndex) { - attributeValueListJsonList[attributeValueListIndex].AsObject(m_attributeValueList[attributeValueListIndex].Jsonize()); - } - payload.WithArray("AttributeValueList", std::move(attributeValueListJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportDescription.cpp index 77ff34da9bc7..11ebcc42eeb2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,181 +20,10 @@ namespace Model { ExportDescription::ExportDescription(JsonView jsonValue) { *this = jsonValue; } -ExportDescription& ExportDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ExportArn")) { - m_exportArn = jsonValue.GetString("ExportArn"); - m_exportArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportStatus")) { - m_exportStatus = ExportStatusMapper::GetExportStatusForName(jsonValue.GetString("ExportStatus")); - m_exportStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("StartTime")) { - m_startTime = jsonValue.GetDouble("StartTime"); - m_startTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("EndTime")) { - m_endTime = jsonValue.GetDouble("EndTime"); - m_endTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportManifest")) { - m_exportManifest = jsonValue.GetString("ExportManifest"); - m_exportManifestHasBeenSet = true; - } - if (jsonValue.ValueExists("TableArn")) { - m_tableArn = jsonValue.GetString("TableArn"); - m_tableArnHasBeenSet = true; - } - if (jsonValue.ValueExists("TableId")) { - m_tableId = jsonValue.GetString("TableId"); - m_tableIdHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportTime")) { - m_exportTime = jsonValue.GetDouble("ExportTime"); - m_exportTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ClientToken")) { - m_clientToken = jsonValue.GetString("ClientToken"); - m_clientTokenHasBeenSet = true; - } - if (jsonValue.ValueExists("S3Bucket")) { - m_s3Bucket = jsonValue.GetString("S3Bucket"); - m_s3BucketHasBeenSet = true; - } - if (jsonValue.ValueExists("S3BucketOwner")) { - m_s3BucketOwner = jsonValue.GetString("S3BucketOwner"); - m_s3BucketOwnerHasBeenSet = true; - } - if (jsonValue.ValueExists("S3Prefix")) { - m_s3Prefix = jsonValue.GetString("S3Prefix"); - m_s3PrefixHasBeenSet = true; - } - if (jsonValue.ValueExists("S3SseAlgorithm")) { - m_s3SseAlgorithm = S3SseAlgorithmMapper::GetS3SseAlgorithmForName(jsonValue.GetString("S3SseAlgorithm")); - m_s3SseAlgorithmHasBeenSet = true; - } - if (jsonValue.ValueExists("S3SseKmsKeyId")) { - m_s3SseKmsKeyId = jsonValue.GetString("S3SseKmsKeyId"); - m_s3SseKmsKeyIdHasBeenSet = true; - } - if (jsonValue.ValueExists("FailureCode")) { - m_failureCode = jsonValue.GetString("FailureCode"); - m_failureCodeHasBeenSet = true; - } - if (jsonValue.ValueExists("FailureMessage")) { - m_failureMessage = jsonValue.GetString("FailureMessage"); - m_failureMessageHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportFormat")) { - m_exportFormat = ExportFormatMapper::GetExportFormatForName(jsonValue.GetString("ExportFormat")); - m_exportFormatHasBeenSet = true; - } - if (jsonValue.ValueExists("BilledSizeBytes")) { - m_billedSizeBytes = jsonValue.GetInt64("BilledSizeBytes"); - m_billedSizeBytesHasBeenSet = true; - } - if (jsonValue.ValueExists("ItemCount")) { - m_itemCount = jsonValue.GetInt64("ItemCount"); - m_itemCountHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportType")) { - m_exportType = ExportTypeMapper::GetExportTypeForName(jsonValue.GetString("ExportType")); - m_exportTypeHasBeenSet = true; - } - if (jsonValue.ValueExists("IncrementalExportSpecification")) { - m_incrementalExportSpecification = jsonValue.GetObject("IncrementalExportSpecification"); - m_incrementalExportSpecificationHasBeenSet = true; - } - return *this; -} +ExportDescription& ExportDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ExportDescription::Jsonize() const { JsonValue payload; - - if (m_exportArnHasBeenSet) { - payload.WithString("ExportArn", m_exportArn); - } - - if (m_exportStatusHasBeenSet) { - payload.WithString("ExportStatus", ExportStatusMapper::GetNameForExportStatus(m_exportStatus)); - } - - if (m_startTimeHasBeenSet) { - payload.WithDouble("StartTime", m_startTime.SecondsWithMSPrecision()); - } - - if (m_endTimeHasBeenSet) { - payload.WithDouble("EndTime", m_endTime.SecondsWithMSPrecision()); - } - - if (m_exportManifestHasBeenSet) { - payload.WithString("ExportManifest", m_exportManifest); - } - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_tableIdHasBeenSet) { - payload.WithString("TableId", m_tableId); - } - - if (m_exportTimeHasBeenSet) { - payload.WithDouble("ExportTime", m_exportTime.SecondsWithMSPrecision()); - } - - if (m_clientTokenHasBeenSet) { - payload.WithString("ClientToken", m_clientToken); - } - - if (m_s3BucketHasBeenSet) { - payload.WithString("S3Bucket", m_s3Bucket); - } - - if (m_s3BucketOwnerHasBeenSet) { - payload.WithString("S3BucketOwner", m_s3BucketOwner); - } - - if (m_s3PrefixHasBeenSet) { - payload.WithString("S3Prefix", m_s3Prefix); - } - - if (m_s3SseAlgorithmHasBeenSet) { - payload.WithString("S3SseAlgorithm", S3SseAlgorithmMapper::GetNameForS3SseAlgorithm(m_s3SseAlgorithm)); - } - - if (m_s3SseKmsKeyIdHasBeenSet) { - payload.WithString("S3SseKmsKeyId", m_s3SseKmsKeyId); - } - - if (m_failureCodeHasBeenSet) { - payload.WithString("FailureCode", m_failureCode); - } - - if (m_failureMessageHasBeenSet) { - payload.WithString("FailureMessage", m_failureMessage); - } - - if (m_exportFormatHasBeenSet) { - payload.WithString("ExportFormat", ExportFormatMapper::GetNameForExportFormat(m_exportFormat)); - } - - if (m_billedSizeBytesHasBeenSet) { - payload.WithInt64("BilledSizeBytes", m_billedSizeBytes); - } - - if (m_itemCountHasBeenSet) { - payload.WithInt64("ItemCount", m_itemCount); - } - - if (m_exportTypeHasBeenSet) { - payload.WithString("ExportType", ExportTypeMapper::GetNameForExportType(m_exportType)); - } - - if (m_incrementalExportSpecificationHasBeenSet) { - payload.WithObject("IncrementalExportSpecification", m_incrementalExportSpecification.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportFormat.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportFormat.cpp index 61d9d2a17b62..a0fd24ddfec4 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportFormat.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportFormat.cpp @@ -30,7 +30,6 @@ ExportFormat GetExportFormatForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ExportFormat::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForExportFormat(ExportFormat enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportStatus.cpp index 7b67b7b3bf39..2c2b0c8a12df 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportStatus.cpp @@ -33,7 +33,6 @@ ExportStatus GetExportStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ExportStatus::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForExportStatus(ExportStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportSummary.cpp index df244fc8a638..8bdac6900215 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { ExportSummary::ExportSummary(JsonView jsonValue) { *this = jsonValue; } -ExportSummary& ExportSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ExportArn")) { - m_exportArn = jsonValue.GetString("ExportArn"); - m_exportArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportStatus")) { - m_exportStatus = ExportStatusMapper::GetExportStatusForName(jsonValue.GetString("ExportStatus")); - m_exportStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportType")) { - m_exportType = ExportTypeMapper::GetExportTypeForName(jsonValue.GetString("ExportType")); - m_exportTypeHasBeenSet = true; - } - return *this; -} +ExportSummary& ExportSummary::operator=(JsonView jsonValue) { return *this; } JsonValue ExportSummary::Jsonize() const { JsonValue payload; - - if (m_exportArnHasBeenSet) { - payload.WithString("ExportArn", m_exportArn); - } - - if (m_exportStatusHasBeenSet) { - payload.WithString("ExportStatus", ExportStatusMapper::GetNameForExportStatus(m_exportStatus)); - } - - if (m_exportTypeHasBeenSet) { - payload.WithString("ExportType", ExportTypeMapper::GetNameForExportType(m_exportType)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeRequest.cpp index 07bc6402b59d..5a40b6b26eeb 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeRequest.cpp @@ -3,64 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ExportTableToPointInTimeRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_exportTimeHasBeenSet) { - payload.WithDouble("ExportTime", m_exportTime.SecondsWithMSPrecision()); - } - - if (m_clientTokenHasBeenSet) { - payload.WithString("ClientToken", m_clientToken); - } - - if (m_s3BucketHasBeenSet) { - payload.WithString("S3Bucket", m_s3Bucket); - } - - if (m_s3BucketOwnerHasBeenSet) { - payload.WithString("S3BucketOwner", m_s3BucketOwner); - } - - if (m_s3PrefixHasBeenSet) { - payload.WithString("S3Prefix", m_s3Prefix); - } - - if (m_s3SseAlgorithmHasBeenSet) { - payload.WithString("S3SseAlgorithm", S3SseAlgorithmMapper::GetNameForS3SseAlgorithm(m_s3SseAlgorithm)); - } - - if (m_s3SseKmsKeyIdHasBeenSet) { - payload.WithString("S3SseKmsKeyId", m_s3SseKmsKeyId); - } - - if (m_exportFormatHasBeenSet) { - payload.WithString("ExportFormat", ExportFormatMapper::GetNameForExportFormat(m_exportFormat)); - } - - if (m_exportTypeHasBeenSet) { - payload.WithString("ExportType", ExportTypeMapper::GetNameForExportType(m_exportType)); - } - - if (m_incrementalExportSpecificationHasBeenSet) { - payload.WithObject("IncrementalExportSpecification", m_incrementalExportSpecification.Jsonize()); - } - - return payload.View().WriteReadable(); -} +Aws::String ExportTableToPointInTimeRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ExportTableToPointInTimeRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeResult.cpp index 418e01802ac5..6c017f54251e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportTableToPointInTimeResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -20,19 +21,5 @@ using namespace Aws; ExportTableToPointInTimeResult::ExportTableToPointInTimeResult(const Aws::AmazonWebServiceResult& result) { *this = result; } ExportTableToPointInTimeResult& ExportTableToPointInTimeResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ExportDescription")) { - m_exportDescription = jsonValue.GetObject("ExportDescription"); - m_exportDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportType.cpp index 8daa0955add6..2828e20bacdf 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportType.cpp @@ -30,7 +30,6 @@ ExportType GetExportTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ExportType::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForExportType(ExportType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportViewType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportViewType.cpp index 45bee3428dcc..46e6b0443220 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportViewType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ExportViewType.cpp @@ -30,7 +30,6 @@ ExportViewType GetExportViewTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ExportViewType::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForExportViewType(ExportViewType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/FailureException.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/FailureException.cpp index 026ab4bb7950..832b4c527ffa 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/FailureException.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/FailureException.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { FailureException::FailureException(JsonView jsonValue) { *this = jsonValue; } -FailureException& FailureException::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ExceptionName")) { - m_exceptionName = jsonValue.GetString("ExceptionName"); - m_exceptionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ExceptionDescription")) { - m_exceptionDescription = jsonValue.GetString("ExceptionDescription"); - m_exceptionDescriptionHasBeenSet = true; - } - return *this; -} +FailureException& FailureException::operator=(JsonView jsonValue) { return *this; } JsonValue FailureException::Jsonize() const { JsonValue payload; - - if (m_exceptionNameHasBeenSet) { - payload.WithString("ExceptionName", m_exceptionName); - } - - if (m_exceptionDescriptionHasBeenSet) { - payload.WithString("ExceptionDescription", m_exceptionDescription); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Get.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Get.cpp index 3d704ae8d905..af652043d204 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Get.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Get.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,59 +20,10 @@ namespace Model { Get::Get(JsonView jsonValue) { *this = jsonValue; } -Get& Get::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Key")) { - Aws::Map keyJsonMap = jsonValue.GetObject("Key").GetAllObjects(); - for (auto& keyItem : keyJsonMap) { - m_key[keyItem.first] = keyItem.second.AsObject(); - } - m_keyHasBeenSet = true; - } - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProjectionExpression")) { - m_projectionExpression = jsonValue.GetString("ProjectionExpression"); - m_projectionExpressionHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeNames")) { - Aws::Map expressionAttributeNamesJsonMap = jsonValue.GetObject("ExpressionAttributeNames").GetAllObjects(); - for (auto& expressionAttributeNamesItem : expressionAttributeNamesJsonMap) { - m_expressionAttributeNames[expressionAttributeNamesItem.first] = expressionAttributeNamesItem.second.AsString(); - } - m_expressionAttributeNamesHasBeenSet = true; - } - return *this; -} +Get& Get::operator=(JsonView jsonValue) { return *this; } JsonValue Get::Jsonize() const { JsonValue payload; - - if (m_keyHasBeenSet) { - JsonValue keyJsonMap; - for (auto& keyItem : m_key) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - payload.WithObject("Key", std::move(keyJsonMap)); - } - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_projectionExpressionHasBeenSet) { - payload.WithString("ProjectionExpression", m_projectionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemRequest.cpp index ca9c1b6effcc..e2a2c6890bf9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemRequest.cpp @@ -3,60 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String GetItemRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_keyHasBeenSet) { - JsonValue keyJsonMap; - for (auto& keyItem : m_key) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - payload.WithObject("Key", std::move(keyJsonMap)); - } - - if (m_attributesToGetHasBeenSet) { - Aws::Utils::Array attributesToGetJsonList(m_attributesToGet.size()); - for (unsigned attributesToGetIndex = 0; attributesToGetIndex < attributesToGetJsonList.GetLength(); ++attributesToGetIndex) { - attributesToGetJsonList[attributesToGetIndex].AsString(m_attributesToGet[attributesToGetIndex]); - } - payload.WithArray("AttributesToGet", std::move(attributesToGetJsonList)); - } - - if (m_consistentReadHasBeenSet) { - payload.WithBool("ConsistentRead", m_consistentRead); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_projectionExpressionHasBeenSet) { - payload.WithString("ProjectionExpression", m_projectionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - return payload.View().WriteReadable(); -} +Aws::String GetItemRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection GetItemRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemResult.cpp index 5307b42ed878..97754463c60d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetItemResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; GetItemResult::GetItemResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -GetItemResult& GetItemResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +GetItemResult& GetItemResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyRequest.cpp index 03c0e354bb35..dfe7f6c811a4 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyRequest.cpp @@ -3,24 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String GetResourcePolicyRequest::SerializePayload() const { - JsonValue payload; - - if (m_resourceArnHasBeenSet) { - payload.WithString("ResourceArn", m_resourceArn); - } - - return payload.View().WriteReadable(); -} +Aws::String GetResourcePolicyRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection GetResourcePolicyRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyResult.cpp index d514063da759..c1f75be616e8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GetResourcePolicyResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,24 +20,4 @@ using namespace Aws; GetResourcePolicyResult::GetResourcePolicyResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -GetResourcePolicyResult& GetResourcePolicyResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Policy")) { - m_policy = jsonValue.GetString("Policy"); - m_policyHasBeenSet = true; - } - if (jsonValue.ValueExists("RevisionId")) { - m_revisionId = jsonValue.GetString("RevisionId"); - m_revisionIdHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +GetResourcePolicyResult& GetResourcePolicyResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndex.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndex.cpp index 9fca9f85388b..e5094e5034a6 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndex.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndex.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,68 +20,10 @@ namespace Model { GlobalSecondaryIndex::GlobalSecondaryIndex(JsonView jsonValue) { *this = jsonValue; } -GlobalSecondaryIndex& GlobalSecondaryIndex::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughput")) { - m_provisionedThroughput = jsonValue.GetObject("ProvisionedThroughput"); - m_provisionedThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughput")) { - m_onDemandThroughput = jsonValue.GetObject("OnDemandThroughput"); - m_onDemandThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("WarmThroughput")) { - m_warmThroughput = jsonValue.GetObject("WarmThroughput"); - m_warmThroughputHasBeenSet = true; - } - return *this; -} +GlobalSecondaryIndex& GlobalSecondaryIndex::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalSecondaryIndex::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - - if (m_provisionedThroughputHasBeenSet) { - payload.WithObject("ProvisionedThroughput", m_provisionedThroughput.Jsonize()); - } - - if (m_onDemandThroughputHasBeenSet) { - payload.WithObject("OnDemandThroughput", m_onDemandThroughput.Jsonize()); - } - - if (m_warmThroughputHasBeenSet) { - payload.WithObject("WarmThroughput", m_warmThroughput.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexAutoScalingUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexAutoScalingUpdate.cpp index be03eb46d4a6..078c584d3e89 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexAutoScalingUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexAutoScalingUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { GlobalSecondaryIndexAutoScalingUpdate::GlobalSecondaryIndexAutoScalingUpdate(JsonView jsonValue) { *this = jsonValue; } -GlobalSecondaryIndexAutoScalingUpdate& GlobalSecondaryIndexAutoScalingUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedWriteCapacityAutoScalingUpdate")) { - m_provisionedWriteCapacityAutoScalingUpdate = jsonValue.GetObject("ProvisionedWriteCapacityAutoScalingUpdate"); - m_provisionedWriteCapacityAutoScalingUpdateHasBeenSet = true; - } - return *this; -} +GlobalSecondaryIndexAutoScalingUpdate& GlobalSecondaryIndexAutoScalingUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalSecondaryIndexAutoScalingUpdate::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_provisionedWriteCapacityAutoScalingUpdateHasBeenSet) { - payload.WithObject("ProvisionedWriteCapacityAutoScalingUpdate", m_provisionedWriteCapacityAutoScalingUpdate.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexDescription.cpp index b054c341f801..da8697e24987 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,108 +20,10 @@ namespace Model { GlobalSecondaryIndexDescription::GlobalSecondaryIndexDescription(JsonView jsonValue) { *this = jsonValue; } -GlobalSecondaryIndexDescription& GlobalSecondaryIndexDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexStatus")) { - m_indexStatus = IndexStatusMapper::GetIndexStatusForName(jsonValue.GetString("IndexStatus")); - m_indexStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("Backfilling")) { - m_backfilling = jsonValue.GetBool("Backfilling"); - m_backfillingHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughput")) { - m_provisionedThroughput = jsonValue.GetObject("ProvisionedThroughput"); - m_provisionedThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexSizeBytes")) { - m_indexSizeBytes = jsonValue.GetInt64("IndexSizeBytes"); - m_indexSizeBytesHasBeenSet = true; - } - if (jsonValue.ValueExists("ItemCount")) { - m_itemCount = jsonValue.GetInt64("ItemCount"); - m_itemCountHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexArn")) { - m_indexArn = jsonValue.GetString("IndexArn"); - m_indexArnHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughput")) { - m_onDemandThroughput = jsonValue.GetObject("OnDemandThroughput"); - m_onDemandThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("WarmThroughput")) { - m_warmThroughput = jsonValue.GetObject("WarmThroughput"); - m_warmThroughputHasBeenSet = true; - } - return *this; -} +GlobalSecondaryIndexDescription& GlobalSecondaryIndexDescription::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalSecondaryIndexDescription::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - - if (m_indexStatusHasBeenSet) { - payload.WithString("IndexStatus", IndexStatusMapper::GetNameForIndexStatus(m_indexStatus)); - } - - if (m_backfillingHasBeenSet) { - payload.WithBool("Backfilling", m_backfilling); - } - - if (m_provisionedThroughputHasBeenSet) { - payload.WithObject("ProvisionedThroughput", m_provisionedThroughput.Jsonize()); - } - - if (m_indexSizeBytesHasBeenSet) { - payload.WithInt64("IndexSizeBytes", m_indexSizeBytes); - } - - if (m_itemCountHasBeenSet) { - payload.WithInt64("ItemCount", m_itemCount); - } - - if (m_indexArnHasBeenSet) { - payload.WithString("IndexArn", m_indexArn); - } - - if (m_onDemandThroughputHasBeenSet) { - payload.WithObject("OnDemandThroughput", m_onDemandThroughput.Jsonize()); - } - - if (m_warmThroughputHasBeenSet) { - payload.WithObject("WarmThroughput", m_warmThroughput.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexInfo.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexInfo.cpp index 9b9063670e04..4e19995fa60c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexInfo.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexInfo.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,60 +20,10 @@ namespace Model { GlobalSecondaryIndexInfo::GlobalSecondaryIndexInfo(JsonView jsonValue) { *this = jsonValue; } -GlobalSecondaryIndexInfo& GlobalSecondaryIndexInfo::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughput")) { - m_provisionedThroughput = jsonValue.GetObject("ProvisionedThroughput"); - m_provisionedThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughput")) { - m_onDemandThroughput = jsonValue.GetObject("OnDemandThroughput"); - m_onDemandThroughputHasBeenSet = true; - } - return *this; -} +GlobalSecondaryIndexInfo& GlobalSecondaryIndexInfo::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalSecondaryIndexInfo::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - - if (m_provisionedThroughputHasBeenSet) { - payload.WithObject("ProvisionedThroughput", m_provisionedThroughput.Jsonize()); - } - - if (m_onDemandThroughputHasBeenSet) { - payload.WithObject("OnDemandThroughput", m_onDemandThroughput.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexUpdate.cpp index dc24f7638a24..fc99a5ae0a3a 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { GlobalSecondaryIndexUpdate::GlobalSecondaryIndexUpdate(JsonView jsonValue) { *this = jsonValue; } -GlobalSecondaryIndexUpdate& GlobalSecondaryIndexUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Update")) { - m_update = jsonValue.GetObject("Update"); - m_updateHasBeenSet = true; - } - if (jsonValue.ValueExists("Create")) { - m_create = jsonValue.GetObject("Create"); - m_createHasBeenSet = true; - } - if (jsonValue.ValueExists("Delete")) { - m_delete = jsonValue.GetObject("Delete"); - m_deleteHasBeenSet = true; - } - return *this; -} +GlobalSecondaryIndexUpdate& GlobalSecondaryIndexUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalSecondaryIndexUpdate::Jsonize() const { JsonValue payload; - - if (m_updateHasBeenSet) { - payload.WithObject("Update", m_update.Jsonize()); - } - - if (m_createHasBeenSet) { - payload.WithObject("Create", m_create.Jsonize()); - } - - if (m_deleteHasBeenSet) { - payload.WithObject("Delete", m_delete.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexWarmThroughputDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexWarmThroughputDescription.cpp index 14fe2e80dcc7..7a5252358cc6 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexWarmThroughputDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalSecondaryIndexWarmThroughputDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -18,36 +21,11 @@ namespace Model { GlobalSecondaryIndexWarmThroughputDescription::GlobalSecondaryIndexWarmThroughputDescription(JsonView jsonValue) { *this = jsonValue; } GlobalSecondaryIndexWarmThroughputDescription& GlobalSecondaryIndexWarmThroughputDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ReadUnitsPerSecond")) { - m_readUnitsPerSecond = jsonValue.GetInt64("ReadUnitsPerSecond"); - m_readUnitsPerSecondHasBeenSet = true; - } - if (jsonValue.ValueExists("WriteUnitsPerSecond")) { - m_writeUnitsPerSecond = jsonValue.GetInt64("WriteUnitsPerSecond"); - m_writeUnitsPerSecondHasBeenSet = true; - } - if (jsonValue.ValueExists("Status")) { - m_status = IndexStatusMapper::GetIndexStatusForName(jsonValue.GetString("Status")); - m_statusHasBeenSet = true; - } return *this; } JsonValue GlobalSecondaryIndexWarmThroughputDescription::Jsonize() const { JsonValue payload; - - if (m_readUnitsPerSecondHasBeenSet) { - payload.WithInt64("ReadUnitsPerSecond", m_readUnitsPerSecond); - } - - if (m_writeUnitsPerSecondHasBeenSet) { - payload.WithInt64("WriteUnitsPerSecond", m_writeUnitsPerSecond); - } - - if (m_statusHasBeenSet) { - payload.WithString("Status", IndexStatusMapper::GetNameForIndexStatus(m_status)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTable.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTable.cpp index 6617286dbaca..f29d05c1ac79 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTable.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTable.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { GlobalTable::GlobalTable(JsonView jsonValue) { *this = jsonValue; } -GlobalTable& GlobalTable::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("GlobalTableName")) { - m_globalTableName = jsonValue.GetString("GlobalTableName"); - m_globalTableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicationGroup")) { - Aws::Utils::Array replicationGroupJsonList = jsonValue.GetArray("ReplicationGroup"); - for (unsigned replicationGroupIndex = 0; replicationGroupIndex < replicationGroupJsonList.GetLength(); ++replicationGroupIndex) { - m_replicationGroup.push_back(replicationGroupJsonList[replicationGroupIndex].AsObject()); - } - m_replicationGroupHasBeenSet = true; - } - return *this; -} +GlobalTable& GlobalTable::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalTable::Jsonize() const { JsonValue payload; - - if (m_globalTableNameHasBeenSet) { - payload.WithString("GlobalTableName", m_globalTableName); - } - - if (m_replicationGroupHasBeenSet) { - Aws::Utils::Array replicationGroupJsonList(m_replicationGroup.size()); - for (unsigned replicationGroupIndex = 0; replicationGroupIndex < replicationGroupJsonList.GetLength(); ++replicationGroupIndex) { - replicationGroupJsonList[replicationGroupIndex].AsObject(m_replicationGroup[replicationGroupIndex].Jsonize()); - } - payload.WithArray("ReplicationGroup", std::move(replicationGroupJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableDescription.cpp index 6a761569ecae..b8af3ba4554f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,60 +20,10 @@ namespace Model { GlobalTableDescription::GlobalTableDescription(JsonView jsonValue) { *this = jsonValue; } -GlobalTableDescription& GlobalTableDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ReplicationGroup")) { - Aws::Utils::Array replicationGroupJsonList = jsonValue.GetArray("ReplicationGroup"); - for (unsigned replicationGroupIndex = 0; replicationGroupIndex < replicationGroupJsonList.GetLength(); ++replicationGroupIndex) { - m_replicationGroup.push_back(replicationGroupJsonList[replicationGroupIndex].AsObject()); - } - m_replicationGroupHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalTableArn")) { - m_globalTableArn = jsonValue.GetString("GlobalTableArn"); - m_globalTableArnHasBeenSet = true; - } - if (jsonValue.ValueExists("CreationDateTime")) { - m_creationDateTime = jsonValue.GetDouble("CreationDateTime"); - m_creationDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalTableStatus")) { - m_globalTableStatus = GlobalTableStatusMapper::GetGlobalTableStatusForName(jsonValue.GetString("GlobalTableStatus")); - m_globalTableStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalTableName")) { - m_globalTableName = jsonValue.GetString("GlobalTableName"); - m_globalTableNameHasBeenSet = true; - } - return *this; -} +GlobalTableDescription& GlobalTableDescription::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalTableDescription::Jsonize() const { JsonValue payload; - - if (m_replicationGroupHasBeenSet) { - Aws::Utils::Array replicationGroupJsonList(m_replicationGroup.size()); - for (unsigned replicationGroupIndex = 0; replicationGroupIndex < replicationGroupJsonList.GetLength(); ++replicationGroupIndex) { - replicationGroupJsonList[replicationGroupIndex].AsObject(m_replicationGroup[replicationGroupIndex].Jsonize()); - } - payload.WithArray("ReplicationGroup", std::move(replicationGroupJsonList)); - } - - if (m_globalTableArnHasBeenSet) { - payload.WithString("GlobalTableArn", m_globalTableArn); - } - - if (m_creationDateTimeHasBeenSet) { - payload.WithDouble("CreationDateTime", m_creationDateTime.SecondsWithMSPrecision()); - } - - if (m_globalTableStatusHasBeenSet) { - payload.WithString("GlobalTableStatus", GlobalTableStatusMapper::GetNameForGlobalTableStatus(m_globalTableStatus)); - } - - if (m_globalTableNameHasBeenSet) { - payload.WithString("GlobalTableName", m_globalTableName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableGlobalSecondaryIndexSettingsUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableGlobalSecondaryIndexSettingsUpdate.cpp index da12dcaae5fa..fc279f325a26 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableGlobalSecondaryIndexSettingsUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableGlobalSecondaryIndexSettingsUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -18,36 +21,11 @@ namespace Model { GlobalTableGlobalSecondaryIndexSettingsUpdate::GlobalTableGlobalSecondaryIndexSettingsUpdate(JsonView jsonValue) { *this = jsonValue; } GlobalTableGlobalSecondaryIndexSettingsUpdate& GlobalTableGlobalSecondaryIndexSettingsUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedWriteCapacityUnits")) { - m_provisionedWriteCapacityUnits = jsonValue.GetInt64("ProvisionedWriteCapacityUnits"); - m_provisionedWriteCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedWriteCapacityAutoScalingSettingsUpdate")) { - m_provisionedWriteCapacityAutoScalingSettingsUpdate = jsonValue.GetObject("ProvisionedWriteCapacityAutoScalingSettingsUpdate"); - m_provisionedWriteCapacityAutoScalingSettingsUpdateHasBeenSet = true; - } return *this; } JsonValue GlobalTableGlobalSecondaryIndexSettingsUpdate::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_provisionedWriteCapacityUnitsHasBeenSet) { - payload.WithInt64("ProvisionedWriteCapacityUnits", m_provisionedWriteCapacityUnits); - } - - if (m_provisionedWriteCapacityAutoScalingSettingsUpdateHasBeenSet) { - payload.WithObject("ProvisionedWriteCapacityAutoScalingSettingsUpdate", m_provisionedWriteCapacityAutoScalingSettingsUpdate.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableSettingsReplicationMode.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableSettingsReplicationMode.cpp index 77da6fa01e85..c24526e712cf 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableSettingsReplicationMode.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableSettingsReplicationMode.cpp @@ -33,7 +33,6 @@ GlobalTableSettingsReplicationMode GetGlobalTableSettingsReplicationModeForName( overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return GlobalTableSettingsReplicationMode::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForGlobalTableSettingsReplicationMode(GlobalTableSettingsRepl if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableStatus.cpp index 06cb20a08d70..4fab6180cfe2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableStatus.cpp @@ -36,7 +36,6 @@ GlobalTableStatus GetGlobalTableStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return GlobalTableStatus::NOT_SET; } @@ -57,7 +56,6 @@ Aws::String GetNameForGlobalTableStatus(GlobalTableStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessDescription.cpp index 13c2a8ec8c84..5e80ba66dbad 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { GlobalTableWitnessDescription::GlobalTableWitnessDescription(JsonView jsonValue) { *this = jsonValue; } -GlobalTableWitnessDescription& GlobalTableWitnessDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("WitnessStatus")) { - m_witnessStatus = WitnessStatusMapper::GetWitnessStatusForName(jsonValue.GetString("WitnessStatus")); - m_witnessStatusHasBeenSet = true; - } - return *this; -} +GlobalTableWitnessDescription& GlobalTableWitnessDescription::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalTableWitnessDescription::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_witnessStatusHasBeenSet) { - payload.WithString("WitnessStatus", WitnessStatusMapper::GetNameForWitnessStatus(m_witnessStatus)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessGroupUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessGroupUpdate.cpp index 8f82d3911d76..57b1f0ceef5c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessGroupUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/GlobalTableWitnessGroupUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { GlobalTableWitnessGroupUpdate::GlobalTableWitnessGroupUpdate(JsonView jsonValue) { *this = jsonValue; } -GlobalTableWitnessGroupUpdate& GlobalTableWitnessGroupUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Create")) { - m_create = jsonValue.GetObject("Create"); - m_createHasBeenSet = true; - } - if (jsonValue.ValueExists("Delete")) { - m_delete = jsonValue.GetObject("Delete"); - m_deleteHasBeenSet = true; - } - return *this; -} +GlobalTableWitnessGroupUpdate& GlobalTableWitnessGroupUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue GlobalTableWitnessGroupUpdate::Jsonize() const { JsonValue payload; - - if (m_createHasBeenSet) { - payload.WithObject("Create", m_create.Jsonize()); - } - - if (m_deleteHasBeenSet) { - payload.WithObject("Delete", m_delete.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportStatus.cpp index 3e91c575a5d7..6ca75152371e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportStatus.cpp @@ -39,7 +39,6 @@ ImportStatus GetImportStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ImportStatus::NOT_SET; } @@ -62,7 +61,6 @@ Aws::String GetNameForImportStatus(ImportStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportSummary.cpp index f2fcd509890b..aee2e3572d78 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,77 +20,10 @@ namespace Model { ImportSummary::ImportSummary(JsonView jsonValue) { *this = jsonValue; } -ImportSummary& ImportSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ImportArn")) { - m_importArn = jsonValue.GetString("ImportArn"); - m_importArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ImportStatus")) { - m_importStatus = ImportStatusMapper::GetImportStatusForName(jsonValue.GetString("ImportStatus")); - m_importStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("TableArn")) { - m_tableArn = jsonValue.GetString("TableArn"); - m_tableArnHasBeenSet = true; - } - if (jsonValue.ValueExists("S3BucketSource")) { - m_s3BucketSource = jsonValue.GetObject("S3BucketSource"); - m_s3BucketSourceHasBeenSet = true; - } - if (jsonValue.ValueExists("CloudWatchLogGroupArn")) { - m_cloudWatchLogGroupArn = jsonValue.GetString("CloudWatchLogGroupArn"); - m_cloudWatchLogGroupArnHasBeenSet = true; - } - if (jsonValue.ValueExists("InputFormat")) { - m_inputFormat = InputFormatMapper::GetInputFormatForName(jsonValue.GetString("InputFormat")); - m_inputFormatHasBeenSet = true; - } - if (jsonValue.ValueExists("StartTime")) { - m_startTime = jsonValue.GetDouble("StartTime"); - m_startTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("EndTime")) { - m_endTime = jsonValue.GetDouble("EndTime"); - m_endTimeHasBeenSet = true; - } - return *this; -} +ImportSummary& ImportSummary::operator=(JsonView jsonValue) { return *this; } JsonValue ImportSummary::Jsonize() const { JsonValue payload; - - if (m_importArnHasBeenSet) { - payload.WithString("ImportArn", m_importArn); - } - - if (m_importStatusHasBeenSet) { - payload.WithString("ImportStatus", ImportStatusMapper::GetNameForImportStatus(m_importStatus)); - } - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_s3BucketSourceHasBeenSet) { - payload.WithObject("S3BucketSource", m_s3BucketSource.Jsonize()); - } - - if (m_cloudWatchLogGroupArnHasBeenSet) { - payload.WithString("CloudWatchLogGroupArn", m_cloudWatchLogGroupArn); - } - - if (m_inputFormatHasBeenSet) { - payload.WithString("InputFormat", InputFormatMapper::GetNameForInputFormat(m_inputFormat)); - } - - if (m_startTimeHasBeenSet) { - payload.WithDouble("StartTime", m_startTime.SecondsWithMSPrecision()); - } - - if (m_endTimeHasBeenSet) { - payload.WithDouble("EndTime", m_endTime.SecondsWithMSPrecision()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableDescription.cpp index 08062ea18f40..fe147d9c2094 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,165 +20,10 @@ namespace Model { ImportTableDescription::ImportTableDescription(JsonView jsonValue) { *this = jsonValue; } -ImportTableDescription& ImportTableDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ImportArn")) { - m_importArn = jsonValue.GetString("ImportArn"); - m_importArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ImportStatus")) { - m_importStatus = ImportStatusMapper::GetImportStatusForName(jsonValue.GetString("ImportStatus")); - m_importStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("TableArn")) { - m_tableArn = jsonValue.GetString("TableArn"); - m_tableArnHasBeenSet = true; - } - if (jsonValue.ValueExists("TableId")) { - m_tableId = jsonValue.GetString("TableId"); - m_tableIdHasBeenSet = true; - } - if (jsonValue.ValueExists("ClientToken")) { - m_clientToken = jsonValue.GetString("ClientToken"); - m_clientTokenHasBeenSet = true; - } - if (jsonValue.ValueExists("S3BucketSource")) { - m_s3BucketSource = jsonValue.GetObject("S3BucketSource"); - m_s3BucketSourceHasBeenSet = true; - } - if (jsonValue.ValueExists("ErrorCount")) { - m_errorCount = jsonValue.GetInt64("ErrorCount"); - m_errorCountHasBeenSet = true; - } - if (jsonValue.ValueExists("CloudWatchLogGroupArn")) { - m_cloudWatchLogGroupArn = jsonValue.GetString("CloudWatchLogGroupArn"); - m_cloudWatchLogGroupArnHasBeenSet = true; - } - if (jsonValue.ValueExists("InputFormat")) { - m_inputFormat = InputFormatMapper::GetInputFormatForName(jsonValue.GetString("InputFormat")); - m_inputFormatHasBeenSet = true; - } - if (jsonValue.ValueExists("InputFormatOptions")) { - m_inputFormatOptions = jsonValue.GetObject("InputFormatOptions"); - m_inputFormatOptionsHasBeenSet = true; - } - if (jsonValue.ValueExists("InputCompressionType")) { - m_inputCompressionType = InputCompressionTypeMapper::GetInputCompressionTypeForName(jsonValue.GetString("InputCompressionType")); - m_inputCompressionTypeHasBeenSet = true; - } - if (jsonValue.ValueExists("TableCreationParameters")) { - m_tableCreationParameters = jsonValue.GetObject("TableCreationParameters"); - m_tableCreationParametersHasBeenSet = true; - } - if (jsonValue.ValueExists("StartTime")) { - m_startTime = jsonValue.GetDouble("StartTime"); - m_startTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("EndTime")) { - m_endTime = jsonValue.GetDouble("EndTime"); - m_endTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ProcessedSizeBytes")) { - m_processedSizeBytes = jsonValue.GetInt64("ProcessedSizeBytes"); - m_processedSizeBytesHasBeenSet = true; - } - if (jsonValue.ValueExists("ProcessedItemCount")) { - m_processedItemCount = jsonValue.GetInt64("ProcessedItemCount"); - m_processedItemCountHasBeenSet = true; - } - if (jsonValue.ValueExists("ImportedItemCount")) { - m_importedItemCount = jsonValue.GetInt64("ImportedItemCount"); - m_importedItemCountHasBeenSet = true; - } - if (jsonValue.ValueExists("FailureCode")) { - m_failureCode = jsonValue.GetString("FailureCode"); - m_failureCodeHasBeenSet = true; - } - if (jsonValue.ValueExists("FailureMessage")) { - m_failureMessage = jsonValue.GetString("FailureMessage"); - m_failureMessageHasBeenSet = true; - } - return *this; -} +ImportTableDescription& ImportTableDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ImportTableDescription::Jsonize() const { JsonValue payload; - - if (m_importArnHasBeenSet) { - payload.WithString("ImportArn", m_importArn); - } - - if (m_importStatusHasBeenSet) { - payload.WithString("ImportStatus", ImportStatusMapper::GetNameForImportStatus(m_importStatus)); - } - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_tableIdHasBeenSet) { - payload.WithString("TableId", m_tableId); - } - - if (m_clientTokenHasBeenSet) { - payload.WithString("ClientToken", m_clientToken); - } - - if (m_s3BucketSourceHasBeenSet) { - payload.WithObject("S3BucketSource", m_s3BucketSource.Jsonize()); - } - - if (m_errorCountHasBeenSet) { - payload.WithInt64("ErrorCount", m_errorCount); - } - - if (m_cloudWatchLogGroupArnHasBeenSet) { - payload.WithString("CloudWatchLogGroupArn", m_cloudWatchLogGroupArn); - } - - if (m_inputFormatHasBeenSet) { - payload.WithString("InputFormat", InputFormatMapper::GetNameForInputFormat(m_inputFormat)); - } - - if (m_inputFormatOptionsHasBeenSet) { - payload.WithObject("InputFormatOptions", m_inputFormatOptions.Jsonize()); - } - - if (m_inputCompressionTypeHasBeenSet) { - payload.WithString("InputCompressionType", InputCompressionTypeMapper::GetNameForInputCompressionType(m_inputCompressionType)); - } - - if (m_tableCreationParametersHasBeenSet) { - payload.WithObject("TableCreationParameters", m_tableCreationParameters.Jsonize()); - } - - if (m_startTimeHasBeenSet) { - payload.WithDouble("StartTime", m_startTime.SecondsWithMSPrecision()); - } - - if (m_endTimeHasBeenSet) { - payload.WithDouble("EndTime", m_endTime.SecondsWithMSPrecision()); - } - - if (m_processedSizeBytesHasBeenSet) { - payload.WithInt64("ProcessedSizeBytes", m_processedSizeBytes); - } - - if (m_processedItemCountHasBeenSet) { - payload.WithInt64("ProcessedItemCount", m_processedItemCount); - } - - if (m_importedItemCountHasBeenSet) { - payload.WithInt64("ImportedItemCount", m_importedItemCount); - } - - if (m_failureCodeHasBeenSet) { - payload.WithString("FailureCode", m_failureCode); - } - - if (m_failureMessageHasBeenSet) { - payload.WithString("FailureMessage", m_failureMessage); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableRequest.cpp index 2321d25d2a5e..3493d4571865 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableRequest.cpp @@ -3,44 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ImportTableRequest::SerializePayload() const { - JsonValue payload; - - if (m_clientTokenHasBeenSet) { - payload.WithString("ClientToken", m_clientToken); - } - - if (m_s3BucketSourceHasBeenSet) { - payload.WithObject("S3BucketSource", m_s3BucketSource.Jsonize()); - } - - if (m_inputFormatHasBeenSet) { - payload.WithString("InputFormat", InputFormatMapper::GetNameForInputFormat(m_inputFormat)); - } - - if (m_inputFormatOptionsHasBeenSet) { - payload.WithObject("InputFormatOptions", m_inputFormatOptions.Jsonize()); - } - - if (m_inputCompressionTypeHasBeenSet) { - payload.WithString("InputCompressionType", InputCompressionTypeMapper::GetNameForInputCompressionType(m_inputCompressionType)); - } - - if (m_tableCreationParametersHasBeenSet) { - payload.WithObject("TableCreationParameters", m_tableCreationParameters.Jsonize()); - } - - return payload.View().WriteReadable(); -} +Aws::String ImportTableRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ImportTableRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableResult.cpp index c380333db5b8..694d0a28364b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ImportTableResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; ImportTableResult::ImportTableResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ImportTableResult& ImportTableResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ImportTableDescription")) { - m_importTableDescription = jsonValue.GetObject("ImportTableDescription"); - m_importTableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ImportTableResult& ImportTableResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/IncrementalExportSpecification.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/IncrementalExportSpecification.cpp index 5af9c27ff615..d3e435d08237 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/IncrementalExportSpecification.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/IncrementalExportSpecification.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { IncrementalExportSpecification::IncrementalExportSpecification(JsonView jsonValue) { *this = jsonValue; } -IncrementalExportSpecification& IncrementalExportSpecification::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ExportFromTime")) { - m_exportFromTime = jsonValue.GetDouble("ExportFromTime"); - m_exportFromTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportToTime")) { - m_exportToTime = jsonValue.GetDouble("ExportToTime"); - m_exportToTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ExportViewType")) { - m_exportViewType = ExportViewTypeMapper::GetExportViewTypeForName(jsonValue.GetString("ExportViewType")); - m_exportViewTypeHasBeenSet = true; - } - return *this; -} +IncrementalExportSpecification& IncrementalExportSpecification::operator=(JsonView jsonValue) { return *this; } JsonValue IncrementalExportSpecification::Jsonize() const { JsonValue payload; - - if (m_exportFromTimeHasBeenSet) { - payload.WithDouble("ExportFromTime", m_exportFromTime.SecondsWithMSPrecision()); - } - - if (m_exportToTimeHasBeenSet) { - payload.WithDouble("ExportToTime", m_exportToTime.SecondsWithMSPrecision()); - } - - if (m_exportViewTypeHasBeenSet) { - payload.WithString("ExportViewType", ExportViewTypeMapper::GetNameForExportViewType(m_exportViewType)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/IndexStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/IndexStatus.cpp index 9fe4c7e137f5..4c300b7b9468 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/IndexStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/IndexStatus.cpp @@ -36,7 +36,6 @@ IndexStatus GetIndexStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return IndexStatus::NOT_SET; } @@ -57,7 +56,6 @@ Aws::String GetNameForIndexStatus(IndexStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/InputCompressionType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/InputCompressionType.cpp index 15e265eb4d04..15f09de130b3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/InputCompressionType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/InputCompressionType.cpp @@ -33,7 +33,6 @@ InputCompressionType GetInputCompressionTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return InputCompressionType::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForInputCompressionType(InputCompressionType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormat.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormat.cpp index 7efdb90756c8..e09cf6e3f445 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormat.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormat.cpp @@ -33,7 +33,6 @@ InputFormat GetInputFormatForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return InputFormat::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForInputFormat(InputFormat enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormatOptions.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormatOptions.cpp index e3f2430d9d6d..41cbb358391d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormatOptions.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/InputFormatOptions.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { InputFormatOptions::InputFormatOptions(JsonView jsonValue) { *this = jsonValue; } -InputFormatOptions& InputFormatOptions::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Csv")) { - m_csv = jsonValue.GetObject("Csv"); - m_csvHasBeenSet = true; - } - return *this; -} +InputFormatOptions& InputFormatOptions::operator=(JsonView jsonValue) { return *this; } JsonValue InputFormatOptions::Jsonize() const { JsonValue payload; - - if (m_csvHasBeenSet) { - payload.WithObject("Csv", m_csv.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemCollectionMetrics.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemCollectionMetrics.cpp index 0ee834b0fc34..4b9aa321cea5 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemCollectionMetrics.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemCollectionMetrics.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,45 +20,10 @@ namespace Model { ItemCollectionMetrics::ItemCollectionMetrics(JsonView jsonValue) { *this = jsonValue; } -ItemCollectionMetrics& ItemCollectionMetrics::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ItemCollectionKey")) { - Aws::Map itemCollectionKeyJsonMap = jsonValue.GetObject("ItemCollectionKey").GetAllObjects(); - for (auto& itemCollectionKeyItem : itemCollectionKeyJsonMap) { - m_itemCollectionKey[itemCollectionKeyItem.first] = itemCollectionKeyItem.second.AsObject(); - } - m_itemCollectionKeyHasBeenSet = true; - } - if (jsonValue.ValueExists("SizeEstimateRangeGB")) { - Aws::Utils::Array sizeEstimateRangeGBJsonList = jsonValue.GetArray("SizeEstimateRangeGB"); - for (unsigned sizeEstimateRangeGBIndex = 0; sizeEstimateRangeGBIndex < sizeEstimateRangeGBJsonList.GetLength(); - ++sizeEstimateRangeGBIndex) { - m_sizeEstimateRangeGB.push_back(sizeEstimateRangeGBJsonList[sizeEstimateRangeGBIndex].AsDouble()); - } - m_sizeEstimateRangeGBHasBeenSet = true; - } - return *this; -} +ItemCollectionMetrics& ItemCollectionMetrics::operator=(JsonView jsonValue) { return *this; } JsonValue ItemCollectionMetrics::Jsonize() const { JsonValue payload; - - if (m_itemCollectionKeyHasBeenSet) { - JsonValue itemCollectionKeyJsonMap; - for (auto& itemCollectionKeyItem : m_itemCollectionKey) { - itemCollectionKeyJsonMap.WithObject(itemCollectionKeyItem.first, itemCollectionKeyItem.second.Jsonize()); - } - payload.WithObject("ItemCollectionKey", std::move(itemCollectionKeyJsonMap)); - } - - if (m_sizeEstimateRangeGBHasBeenSet) { - Aws::Utils::Array sizeEstimateRangeGBJsonList(m_sizeEstimateRangeGB.size()); - for (unsigned sizeEstimateRangeGBIndex = 0; sizeEstimateRangeGBIndex < sizeEstimateRangeGBJsonList.GetLength(); - ++sizeEstimateRangeGBIndex) { - sizeEstimateRangeGBJsonList[sizeEstimateRangeGBIndex].AsDouble(m_sizeEstimateRangeGB[sizeEstimateRangeGBIndex]); - } - payload.WithArray("SizeEstimateRangeGB", std::move(sizeEstimateRangeGBJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemResponse.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemResponse.cpp index e1667b5e0249..2e74b97120e9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemResponse.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ItemResponse.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,28 +20,10 @@ namespace Model { ItemResponse::ItemResponse(JsonView jsonValue) { *this = jsonValue; } -ItemResponse& ItemResponse::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - return *this; -} +ItemResponse& ItemResponse::operator=(JsonView jsonValue) { return *this; } JsonValue ItemResponse::Jsonize() const { JsonValue payload; - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/KeySchemaElement.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/KeySchemaElement.cpp index 347129c9513d..e014dcd73aa7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/KeySchemaElement.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/KeySchemaElement.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { KeySchemaElement::KeySchemaElement(JsonView jsonValue) { *this = jsonValue; } -KeySchemaElement& KeySchemaElement::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("AttributeName")) { - m_attributeName = jsonValue.GetString("AttributeName"); - m_attributeNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeyType")) { - m_keyType = KeyTypeMapper::GetKeyTypeForName(jsonValue.GetString("KeyType")); - m_keyTypeHasBeenSet = true; - } - return *this; -} +KeySchemaElement& KeySchemaElement::operator=(JsonView jsonValue) { return *this; } JsonValue KeySchemaElement::Jsonize() const { JsonValue payload; - - if (m_attributeNameHasBeenSet) { - payload.WithString("AttributeName", m_attributeName); - } - - if (m_keyTypeHasBeenSet) { - payload.WithString("KeyType", KeyTypeMapper::GetNameForKeyType(m_keyType)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/KeyType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/KeyType.cpp index e1c0174d447e..05e3aacc524f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/KeyType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/KeyType.cpp @@ -30,7 +30,6 @@ KeyType GetKeyTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return KeyType::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForKeyType(KeyType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/KeysAndAttributes.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/KeysAndAttributes.cpp index 509a317eda0b..41c1e79d2cef 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/KeysAndAttributes.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/KeysAndAttributes.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,83 +20,10 @@ namespace Model { KeysAndAttributes::KeysAndAttributes(JsonView jsonValue) { *this = jsonValue; } -KeysAndAttributes& KeysAndAttributes::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Keys")) { - Aws::Utils::Array keysJsonList = jsonValue.GetArray("Keys"); - for (unsigned keysIndex = 0; keysIndex < keysJsonList.GetLength(); ++keysIndex) { - Aws::Map key2JsonMap = keysJsonList[keysIndex].GetAllObjects(); - Aws::Map key2Map; - for (auto& key2Item : key2JsonMap) { - key2Map[key2Item.first] = key2Item.second.AsObject(); - } - m_keys.push_back(std::move(key2Map)); - } - m_keysHasBeenSet = true; - } - if (jsonValue.ValueExists("AttributesToGet")) { - Aws::Utils::Array attributesToGetJsonList = jsonValue.GetArray("AttributesToGet"); - for (unsigned attributesToGetIndex = 0; attributesToGetIndex < attributesToGetJsonList.GetLength(); ++attributesToGetIndex) { - m_attributesToGet.push_back(attributesToGetJsonList[attributesToGetIndex].AsString()); - } - m_attributesToGetHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsistentRead")) { - m_consistentRead = jsonValue.GetBool("ConsistentRead"); - m_consistentReadHasBeenSet = true; - } - if (jsonValue.ValueExists("ProjectionExpression")) { - m_projectionExpression = jsonValue.GetString("ProjectionExpression"); - m_projectionExpressionHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeNames")) { - Aws::Map expressionAttributeNamesJsonMap = jsonValue.GetObject("ExpressionAttributeNames").GetAllObjects(); - for (auto& expressionAttributeNamesItem : expressionAttributeNamesJsonMap) { - m_expressionAttributeNames[expressionAttributeNamesItem.first] = expressionAttributeNamesItem.second.AsString(); - } - m_expressionAttributeNamesHasBeenSet = true; - } - return *this; -} +KeysAndAttributes& KeysAndAttributes::operator=(JsonView jsonValue) { return *this; } JsonValue KeysAndAttributes::Jsonize() const { JsonValue payload; - - if (m_keysHasBeenSet) { - Aws::Utils::Array keysJsonList(m_keys.size()); - for (unsigned keysIndex = 0; keysIndex < keysJsonList.GetLength(); ++keysIndex) { - JsonValue keyJsonMap; - for (auto& keyItem : m_keys[keysIndex]) { - keyJsonMap.WithObject(keyItem.first, keyItem.second.Jsonize()); - } - keysJsonList[keysIndex].AsObject(std::move(keyJsonMap)); - } - payload.WithArray("Keys", std::move(keysJsonList)); - } - - if (m_attributesToGetHasBeenSet) { - Aws::Utils::Array attributesToGetJsonList(m_attributesToGet.size()); - for (unsigned attributesToGetIndex = 0; attributesToGetIndex < attributesToGetJsonList.GetLength(); ++attributesToGetIndex) { - attributesToGetJsonList[attributesToGetIndex].AsString(m_attributesToGet[attributesToGetIndex]); - } - payload.WithArray("AttributesToGet", std::move(attributesToGetJsonList)); - } - - if (m_consistentReadHasBeenSet) { - payload.WithBool("ConsistentRead", m_consistentRead); - } - - if (m_projectionExpressionHasBeenSet) { - payload.WithString("ProjectionExpression", m_projectionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/KinesisDataStreamDestination.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/KinesisDataStreamDestination.cpp index fcf40f0ff0b1..36b23d1dde5b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/KinesisDataStreamDestination.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/KinesisDataStreamDestination.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,48 +20,10 @@ namespace Model { KinesisDataStreamDestination::KinesisDataStreamDestination(JsonView jsonValue) { *this = jsonValue; } -KinesisDataStreamDestination& KinesisDataStreamDestination::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("StreamArn")) { - m_streamArn = jsonValue.GetString("StreamArn"); - m_streamArnHasBeenSet = true; - } - if (jsonValue.ValueExists("DestinationStatus")) { - m_destinationStatus = DestinationStatusMapper::GetDestinationStatusForName(jsonValue.GetString("DestinationStatus")); - m_destinationStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("DestinationStatusDescription")) { - m_destinationStatusDescription = jsonValue.GetString("DestinationStatusDescription"); - m_destinationStatusDescriptionHasBeenSet = true; - } - if (jsonValue.ValueExists("ApproximateCreationDateTimePrecision")) { - m_approximateCreationDateTimePrecision = ApproximateCreationDateTimePrecisionMapper::GetApproximateCreationDateTimePrecisionForName( - jsonValue.GetString("ApproximateCreationDateTimePrecision")); - m_approximateCreationDateTimePrecisionHasBeenSet = true; - } - return *this; -} +KinesisDataStreamDestination& KinesisDataStreamDestination::operator=(JsonView jsonValue) { return *this; } JsonValue KinesisDataStreamDestination::Jsonize() const { JsonValue payload; - - if (m_streamArnHasBeenSet) { - payload.WithString("StreamArn", m_streamArn); - } - - if (m_destinationStatusHasBeenSet) { - payload.WithString("DestinationStatus", DestinationStatusMapper::GetNameForDestinationStatus(m_destinationStatus)); - } - - if (m_destinationStatusDescriptionHasBeenSet) { - payload.WithString("DestinationStatusDescription", m_destinationStatusDescription); - } - - if (m_approximateCreationDateTimePrecisionHasBeenSet) { - payload.WithString( - "ApproximateCreationDateTimePrecision", - ApproximateCreationDateTimePrecisionMapper::GetNameForApproximateCreationDateTimePrecision(m_approximateCreationDateTimePrecision)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsRequest.cpp index 0cabc5a82f03..869c304af6d6 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsRequest.cpp @@ -3,44 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListBackupsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_limitHasBeenSet) { - payload.WithInteger("Limit", m_limit); - } - - if (m_timeRangeLowerBoundHasBeenSet) { - payload.WithDouble("TimeRangeLowerBound", m_timeRangeLowerBound.SecondsWithMSPrecision()); - } - - if (m_timeRangeUpperBoundHasBeenSet) { - payload.WithDouble("TimeRangeUpperBound", m_timeRangeUpperBound.SecondsWithMSPrecision()); - } - - if (m_exclusiveStartBackupArnHasBeenSet) { - payload.WithString("ExclusiveStartBackupArn", m_exclusiveStartBackupArn); - } - - if (m_backupTypeHasBeenSet) { - payload.WithString("BackupType", BackupTypeFilterMapper::GetNameForBackupTypeFilter(m_backupType)); - } - - return payload.View().WriteReadable(); -} +Aws::String ListBackupsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListBackupsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsResult.cpp index c960e7ef5d6a..edc692dbb3ba 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListBackupsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; ListBackupsResult::ListBackupsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ListBackupsResult& ListBackupsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("BackupSummaries")) { - Aws::Utils::Array backupSummariesJsonList = jsonValue.GetArray("BackupSummaries"); - for (unsigned backupSummariesIndex = 0; backupSummariesIndex < backupSummariesJsonList.GetLength(); ++backupSummariesIndex) { - m_backupSummaries.push_back(backupSummariesJsonList[backupSummariesIndex].AsObject()); - } - m_backupSummariesHasBeenSet = true; - } - if (jsonValue.ValueExists("LastEvaluatedBackupArn")) { - m_lastEvaluatedBackupArn = jsonValue.GetString("LastEvaluatedBackupArn"); - m_lastEvaluatedBackupArnHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ListBackupsResult& ListBackupsResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsRequest.cpp index 9213a629a479..e337a8dd71dc 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListContributorInsightsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_nextTokenHasBeenSet) { - payload.WithString("NextToken", m_nextToken); - } - - if (m_maxResultsHasBeenSet) { - payload.WithInteger("MaxResults", m_maxResults); - } - - return payload.View().WriteReadable(); -} +Aws::String ListContributorInsightsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListContributorInsightsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsResult.cpp index b52ec083c50b..bba3ced5e27f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListContributorInsightsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -20,27 +21,5 @@ using namespace Aws; ListContributorInsightsResult::ListContributorInsightsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } ListContributorInsightsResult& ListContributorInsightsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ContributorInsightsSummaries")) { - Aws::Utils::Array contributorInsightsSummariesJsonList = jsonValue.GetArray("ContributorInsightsSummaries"); - for (unsigned contributorInsightsSummariesIndex = 0; - contributorInsightsSummariesIndex < contributorInsightsSummariesJsonList.GetLength(); ++contributorInsightsSummariesIndex) { - m_contributorInsightsSummaries.push_back(contributorInsightsSummariesJsonList[contributorInsightsSummariesIndex].AsObject()); - } - m_contributorInsightsSummariesHasBeenSet = true; - } - if (jsonValue.ValueExists("NextToken")) { - m_nextToken = jsonValue.GetString("NextToken"); - m_nextTokenHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsRequest.cpp index 209e3073bad2..b23af266f9ce 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListExportsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_maxResultsHasBeenSet) { - payload.WithInteger("MaxResults", m_maxResults); - } - - if (m_nextTokenHasBeenSet) { - payload.WithString("NextToken", m_nextToken); - } - - return payload.View().WriteReadable(); -} +Aws::String ListExportsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListExportsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsResult.cpp index 42d23968d686..015bf2fc79ae 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListExportsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; ListExportsResult::ListExportsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ListExportsResult& ListExportsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ExportSummaries")) { - Aws::Utils::Array exportSummariesJsonList = jsonValue.GetArray("ExportSummaries"); - for (unsigned exportSummariesIndex = 0; exportSummariesIndex < exportSummariesJsonList.GetLength(); ++exportSummariesIndex) { - m_exportSummaries.push_back(exportSummariesJsonList[exportSummariesIndex].AsObject()); - } - m_exportSummariesHasBeenSet = true; - } - if (jsonValue.ValueExists("NextToken")) { - m_nextToken = jsonValue.GetString("NextToken"); - m_nextTokenHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ListExportsResult& ListExportsResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesRequest.cpp index d0c8400c4e82..998d5253b8a1 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListGlobalTablesRequest::SerializePayload() const { - JsonValue payload; - - if (m_exclusiveStartGlobalTableNameHasBeenSet) { - payload.WithString("ExclusiveStartGlobalTableName", m_exclusiveStartGlobalTableName); - } - - if (m_limitHasBeenSet) { - payload.WithInteger("Limit", m_limit); - } - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - return payload.View().WriteReadable(); -} +Aws::String ListGlobalTablesRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListGlobalTablesRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesResult.cpp index 97daae266b7e..5faf4e419dc2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListGlobalTablesResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; ListGlobalTablesResult::ListGlobalTablesResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ListGlobalTablesResult& ListGlobalTablesResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("GlobalTables")) { - Aws::Utils::Array globalTablesJsonList = jsonValue.GetArray("GlobalTables"); - for (unsigned globalTablesIndex = 0; globalTablesIndex < globalTablesJsonList.GetLength(); ++globalTablesIndex) { - m_globalTables.push_back(globalTablesJsonList[globalTablesIndex].AsObject()); - } - m_globalTablesHasBeenSet = true; - } - if (jsonValue.ValueExists("LastEvaluatedGlobalTableName")) { - m_lastEvaluatedGlobalTableName = jsonValue.GetString("LastEvaluatedGlobalTableName"); - m_lastEvaluatedGlobalTableNameHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ListGlobalTablesResult& ListGlobalTablesResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsRequest.cpp index f466686cb1b7..131c9cda5b87 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsRequest.cpp @@ -3,32 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListImportsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableArnHasBeenSet) { - payload.WithString("TableArn", m_tableArn); - } - - if (m_pageSizeHasBeenSet) { - payload.WithInteger("PageSize", m_pageSize); - } - - if (m_nextTokenHasBeenSet) { - payload.WithString("NextToken", m_nextToken); - } - - return payload.View().WriteReadable(); -} +Aws::String ListImportsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListImportsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsResult.cpp index 91b6c2836cc3..3605f70eb3fc 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListImportsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; ListImportsResult::ListImportsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ListImportsResult& ListImportsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ImportSummaryList")) { - Aws::Utils::Array importSummaryListJsonList = jsonValue.GetArray("ImportSummaryList"); - for (unsigned importSummaryListIndex = 0; importSummaryListIndex < importSummaryListJsonList.GetLength(); ++importSummaryListIndex) { - m_importSummaryList.push_back(importSummaryListJsonList[importSummaryListIndex].AsObject()); - } - m_importSummaryListHasBeenSet = true; - } - if (jsonValue.ValueExists("NextToken")) { - m_nextToken = jsonValue.GetString("NextToken"); - m_nextTokenHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ListImportsResult& ListImportsResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesRequest.cpp index 9c996b360e15..009aa6f1aaf7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesRequest.cpp @@ -3,28 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListTablesRequest::SerializePayload() const { - JsonValue payload; - - if (m_exclusiveStartTableNameHasBeenSet) { - payload.WithString("ExclusiveStartTableName", m_exclusiveStartTableName); - } - - if (m_limitHasBeenSet) { - payload.WithInteger("Limit", m_limit); - } - - return payload.View().WriteReadable(); -} +Aws::String ListTablesRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListTablesRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesResult.cpp index 15b206fe45a8..cf764b648389 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTablesResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; ListTablesResult::ListTablesResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ListTablesResult& ListTablesResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableNames")) { - Aws::Utils::Array tableNamesJsonList = jsonValue.GetArray("TableNames"); - for (unsigned tableNamesIndex = 0; tableNamesIndex < tableNamesJsonList.GetLength(); ++tableNamesIndex) { - m_tableNames.push_back(tableNamesJsonList[tableNamesIndex].AsString()); - } - m_tableNamesHasBeenSet = true; - } - if (jsonValue.ValueExists("LastEvaluatedTableName")) { - m_lastEvaluatedTableName = jsonValue.GetString("LastEvaluatedTableName"); - m_lastEvaluatedTableNameHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ListTablesResult& ListTablesResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceRequest.cpp index 9887cc27e3cc..fb027f7e6dbd 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceRequest.cpp @@ -3,28 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ListTagsOfResourceRequest::SerializePayload() const { - JsonValue payload; - - if (m_resourceArnHasBeenSet) { - payload.WithString("ResourceArn", m_resourceArn); - } - - if (m_nextTokenHasBeenSet) { - payload.WithString("NextToken", m_nextToken); - } - - return payload.View().WriteReadable(); -} +Aws::String ListTagsOfResourceRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ListTagsOfResourceRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceResult.cpp index db6680097009..0fbe2896a9e7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ListTagsOfResourceResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; ListTagsOfResourceResult::ListTagsOfResourceResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ListTagsOfResourceResult& ListTagsOfResourceResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Tags")) { - Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); - for (unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) { - m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); - } - m_tagsHasBeenSet = true; - } - if (jsonValue.ValueExists("NextToken")) { - m_nextToken = jsonValue.GetString("NextToken"); - m_nextTokenHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ListTagsOfResourceResult& ListTagsOfResourceResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndex.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndex.cpp index 298b1c7e6ef2..3ea23e540dd8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndex.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndex.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,44 +20,10 @@ namespace Model { LocalSecondaryIndex::LocalSecondaryIndex(JsonView jsonValue) { *this = jsonValue; } -LocalSecondaryIndex& LocalSecondaryIndex::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - return *this; -} +LocalSecondaryIndex& LocalSecondaryIndex::operator=(JsonView jsonValue) { return *this; } JsonValue LocalSecondaryIndex::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexDescription.cpp index 0c6ec85c8b0d..1ee8535b8280 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,68 +20,10 @@ namespace Model { LocalSecondaryIndexDescription::LocalSecondaryIndexDescription(JsonView jsonValue) { *this = jsonValue; } -LocalSecondaryIndexDescription& LocalSecondaryIndexDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexSizeBytes")) { - m_indexSizeBytes = jsonValue.GetInt64("IndexSizeBytes"); - m_indexSizeBytesHasBeenSet = true; - } - if (jsonValue.ValueExists("ItemCount")) { - m_itemCount = jsonValue.GetInt64("ItemCount"); - m_itemCountHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexArn")) { - m_indexArn = jsonValue.GetString("IndexArn"); - m_indexArnHasBeenSet = true; - } - return *this; -} +LocalSecondaryIndexDescription& LocalSecondaryIndexDescription::operator=(JsonView jsonValue) { return *this; } JsonValue LocalSecondaryIndexDescription::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - - if (m_indexSizeBytesHasBeenSet) { - payload.WithInt64("IndexSizeBytes", m_indexSizeBytes); - } - - if (m_itemCountHasBeenSet) { - payload.WithInt64("ItemCount", m_itemCount); - } - - if (m_indexArnHasBeenSet) { - payload.WithString("IndexArn", m_indexArn); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexInfo.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexInfo.cpp index 8dc0f0d97780..f927b33f176c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexInfo.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/LocalSecondaryIndexInfo.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,44 +20,10 @@ namespace Model { LocalSecondaryIndexInfo::LocalSecondaryIndexInfo(JsonView jsonValue) { *this = jsonValue; } -LocalSecondaryIndexInfo& LocalSecondaryIndexInfo::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("KeySchema")) { - Aws::Utils::Array keySchemaJsonList = jsonValue.GetArray("KeySchema"); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - m_keySchema.push_back(keySchemaJsonList[keySchemaIndex].AsObject()); - } - m_keySchemaHasBeenSet = true; - } - if (jsonValue.ValueExists("Projection")) { - m_projection = jsonValue.GetObject("Projection"); - m_projectionHasBeenSet = true; - } - return *this; -} +LocalSecondaryIndexInfo& LocalSecondaryIndexInfo::operator=(JsonView jsonValue) { return *this; } JsonValue LocalSecondaryIndexInfo::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_keySchemaHasBeenSet) { - Aws::Utils::Array keySchemaJsonList(m_keySchema.size()); - for (unsigned keySchemaIndex = 0; keySchemaIndex < keySchemaJsonList.GetLength(); ++keySchemaIndex) { - keySchemaJsonList[keySchemaIndex].AsObject(m_keySchema[keySchemaIndex].Jsonize()); - } - payload.WithArray("KeySchema", std::move(keySchemaJsonList)); - } - - if (m_projectionHasBeenSet) { - payload.WithObject("Projection", m_projection.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/MultiRegionConsistency.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/MultiRegionConsistency.cpp index 9f8601e2b9c2..862a0f06ac71 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/MultiRegionConsistency.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/MultiRegionConsistency.cpp @@ -30,7 +30,6 @@ MultiRegionConsistency GetMultiRegionConsistencyForName(const Aws::String& name) overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return MultiRegionConsistency::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForMultiRegionConsistency(MultiRegionConsistency enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughput.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughput.cpp index e162fe947709..f9ebdbf609fd 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughput.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughput.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { OnDemandThroughput::OnDemandThroughput(JsonView jsonValue) { *this = jsonValue; } -OnDemandThroughput& OnDemandThroughput::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("MaxReadRequestUnits")) { - m_maxReadRequestUnits = jsonValue.GetInt64("MaxReadRequestUnits"); - m_maxReadRequestUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("MaxWriteRequestUnits")) { - m_maxWriteRequestUnits = jsonValue.GetInt64("MaxWriteRequestUnits"); - m_maxWriteRequestUnitsHasBeenSet = true; - } - return *this; -} +OnDemandThroughput& OnDemandThroughput::operator=(JsonView jsonValue) { return *this; } JsonValue OnDemandThroughput::Jsonize() const { JsonValue payload; - - if (m_maxReadRequestUnitsHasBeenSet) { - payload.WithInt64("MaxReadRequestUnits", m_maxReadRequestUnits); - } - - if (m_maxWriteRequestUnitsHasBeenSet) { - payload.WithInt64("MaxWriteRequestUnits", m_maxWriteRequestUnits); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughputOverride.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughputOverride.cpp index 12d895894c8d..2f6f179b7b4b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughputOverride.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/OnDemandThroughputOverride.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { OnDemandThroughputOverride::OnDemandThroughputOverride(JsonView jsonValue) { *this = jsonValue; } -OnDemandThroughputOverride& OnDemandThroughputOverride::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("MaxReadRequestUnits")) { - m_maxReadRequestUnits = jsonValue.GetInt64("MaxReadRequestUnits"); - m_maxReadRequestUnitsHasBeenSet = true; - } - return *this; -} +OnDemandThroughputOverride& OnDemandThroughputOverride::operator=(JsonView jsonValue) { return *this; } JsonValue OnDemandThroughputOverride::Jsonize() const { JsonValue payload; - - if (m_maxReadRequestUnitsHasBeenSet) { - payload.WithInt64("MaxReadRequestUnits", m_maxReadRequestUnits); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ParameterizedStatement.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ParameterizedStatement.cpp index af62c8d3d8f6..4e1f88cf773c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ParameterizedStatement.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ParameterizedStatement.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,47 +20,10 @@ namespace Model { ParameterizedStatement::ParameterizedStatement(JsonView jsonValue) { *this = jsonValue; } -ParameterizedStatement& ParameterizedStatement::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Statement")) { - m_statement = jsonValue.GetString("Statement"); - m_statementHasBeenSet = true; - } - if (jsonValue.ValueExists("Parameters")) { - Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); - for (unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) { - m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); - } - m_parametersHasBeenSet = true; - } - if (jsonValue.ValueExists("ReturnValuesOnConditionCheckFailure")) { - m_returnValuesOnConditionCheckFailure = ReturnValuesOnConditionCheckFailureMapper::GetReturnValuesOnConditionCheckFailureForName( - jsonValue.GetString("ReturnValuesOnConditionCheckFailure")); - m_returnValuesOnConditionCheckFailureHasBeenSet = true; - } - return *this; -} +ParameterizedStatement& ParameterizedStatement::operator=(JsonView jsonValue) { return *this; } JsonValue ParameterizedStatement::Jsonize() const { JsonValue payload; - - if (m_statementHasBeenSet) { - payload.WithString("Statement", m_statement); - } - - if (m_parametersHasBeenSet) { - Aws::Utils::Array parametersJsonList(m_parameters.size()); - for (unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) { - parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); - } - payload.WithArray("Parameters", std::move(parametersJsonList)); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryDescription.cpp index 1a55651a0c9f..e04f912d93ad 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,47 +20,10 @@ namespace Model { PointInTimeRecoveryDescription::PointInTimeRecoveryDescription(JsonView jsonValue) { *this = jsonValue; } -PointInTimeRecoveryDescription& PointInTimeRecoveryDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("PointInTimeRecoveryStatus")) { - m_pointInTimeRecoveryStatus = - PointInTimeRecoveryStatusMapper::GetPointInTimeRecoveryStatusForName(jsonValue.GetString("PointInTimeRecoveryStatus")); - m_pointInTimeRecoveryStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("RecoveryPeriodInDays")) { - m_recoveryPeriodInDays = jsonValue.GetInteger("RecoveryPeriodInDays"); - m_recoveryPeriodInDaysHasBeenSet = true; - } - if (jsonValue.ValueExists("EarliestRestorableDateTime")) { - m_earliestRestorableDateTime = jsonValue.GetDouble("EarliestRestorableDateTime"); - m_earliestRestorableDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("LatestRestorableDateTime")) { - m_latestRestorableDateTime = jsonValue.GetDouble("LatestRestorableDateTime"); - m_latestRestorableDateTimeHasBeenSet = true; - } - return *this; -} +PointInTimeRecoveryDescription& PointInTimeRecoveryDescription::operator=(JsonView jsonValue) { return *this; } JsonValue PointInTimeRecoveryDescription::Jsonize() const { JsonValue payload; - - if (m_pointInTimeRecoveryStatusHasBeenSet) { - payload.WithString("PointInTimeRecoveryStatus", - PointInTimeRecoveryStatusMapper::GetNameForPointInTimeRecoveryStatus(m_pointInTimeRecoveryStatus)); - } - - if (m_recoveryPeriodInDaysHasBeenSet) { - payload.WithInteger("RecoveryPeriodInDays", m_recoveryPeriodInDays); - } - - if (m_earliestRestorableDateTimeHasBeenSet) { - payload.WithDouble("EarliestRestorableDateTime", m_earliestRestorableDateTime.SecondsWithMSPrecision()); - } - - if (m_latestRestorableDateTimeHasBeenSet) { - payload.WithDouble("LatestRestorableDateTime", m_latestRestorableDateTime.SecondsWithMSPrecision()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoverySpecification.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoverySpecification.cpp index fa9ed36b4da8..ff32e81fd5e9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoverySpecification.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoverySpecification.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { PointInTimeRecoverySpecification::PointInTimeRecoverySpecification(JsonView jsonValue) { *this = jsonValue; } -PointInTimeRecoverySpecification& PointInTimeRecoverySpecification::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("PointInTimeRecoveryEnabled")) { - m_pointInTimeRecoveryEnabled = jsonValue.GetBool("PointInTimeRecoveryEnabled"); - m_pointInTimeRecoveryEnabledHasBeenSet = true; - } - if (jsonValue.ValueExists("RecoveryPeriodInDays")) { - m_recoveryPeriodInDays = jsonValue.GetInteger("RecoveryPeriodInDays"); - m_recoveryPeriodInDaysHasBeenSet = true; - } - return *this; -} +PointInTimeRecoverySpecification& PointInTimeRecoverySpecification::operator=(JsonView jsonValue) { return *this; } JsonValue PointInTimeRecoverySpecification::Jsonize() const { JsonValue payload; - - if (m_pointInTimeRecoveryEnabledHasBeenSet) { - payload.WithBool("PointInTimeRecoveryEnabled", m_pointInTimeRecoveryEnabled); - } - - if (m_recoveryPeriodInDaysHasBeenSet) { - payload.WithInteger("RecoveryPeriodInDays", m_recoveryPeriodInDays); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryStatus.cpp index c24f9cb97e10..ecc685aed075 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PointInTimeRecoveryStatus.cpp @@ -30,7 +30,6 @@ PointInTimeRecoveryStatus GetPointInTimeRecoveryStatusForName(const Aws::String& overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return PointInTimeRecoveryStatus::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForPointInTimeRecoveryStatus(PointInTimeRecoveryStatus enumVa if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Projection.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Projection.cpp index c1b4fe97ca2c..a0e08435955e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Projection.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Projection.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { Projection::Projection(JsonView jsonValue) { *this = jsonValue; } -Projection& Projection::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ProjectionType")) { - m_projectionType = ProjectionTypeMapper::GetProjectionTypeForName(jsonValue.GetString("ProjectionType")); - m_projectionTypeHasBeenSet = true; - } - if (jsonValue.ValueExists("NonKeyAttributes")) { - Aws::Utils::Array nonKeyAttributesJsonList = jsonValue.GetArray("NonKeyAttributes"); - for (unsigned nonKeyAttributesIndex = 0; nonKeyAttributesIndex < nonKeyAttributesJsonList.GetLength(); ++nonKeyAttributesIndex) { - m_nonKeyAttributes.push_back(nonKeyAttributesJsonList[nonKeyAttributesIndex].AsString()); - } - m_nonKeyAttributesHasBeenSet = true; - } - return *this; -} +Projection& Projection::operator=(JsonView jsonValue) { return *this; } JsonValue Projection::Jsonize() const { JsonValue payload; - - if (m_projectionTypeHasBeenSet) { - payload.WithString("ProjectionType", ProjectionTypeMapper::GetNameForProjectionType(m_projectionType)); - } - - if (m_nonKeyAttributesHasBeenSet) { - Aws::Utils::Array nonKeyAttributesJsonList(m_nonKeyAttributes.size()); - for (unsigned nonKeyAttributesIndex = 0; nonKeyAttributesIndex < nonKeyAttributesJsonList.GetLength(); ++nonKeyAttributesIndex) { - nonKeyAttributesJsonList[nonKeyAttributesIndex].AsString(m_nonKeyAttributes[nonKeyAttributesIndex]); - } - payload.WithArray("NonKeyAttributes", std::move(nonKeyAttributesJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProjectionType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProjectionType.cpp index 0e3da8a562ad..3f16ec76d5de 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProjectionType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProjectionType.cpp @@ -33,7 +33,6 @@ ProjectionType GetProjectionTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ProjectionType::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForProjectionType(ProjectionType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughput.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughput.cpp index bb526b28c6d2..9c08948c2398 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughput.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughput.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { ProvisionedThroughput::ProvisionedThroughput(JsonView jsonValue) { *this = jsonValue; } -ProvisionedThroughput& ProvisionedThroughput::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ReadCapacityUnits")) { - m_readCapacityUnits = jsonValue.GetInt64("ReadCapacityUnits"); - m_readCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("WriteCapacityUnits")) { - m_writeCapacityUnits = jsonValue.GetInt64("WriteCapacityUnits"); - m_writeCapacityUnitsHasBeenSet = true; - } - return *this; -} +ProvisionedThroughput& ProvisionedThroughput::operator=(JsonView jsonValue) { return *this; } JsonValue ProvisionedThroughput::Jsonize() const { JsonValue payload; - - if (m_readCapacityUnitsHasBeenSet) { - payload.WithInt64("ReadCapacityUnits", m_readCapacityUnits); - } - - if (m_writeCapacityUnitsHasBeenSet) { - payload.WithInt64("WriteCapacityUnits", m_writeCapacityUnits); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputDescription.cpp index 25994bc0e39b..d01c1d559b81 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,53 +20,10 @@ namespace Model { ProvisionedThroughputDescription::ProvisionedThroughputDescription(JsonView jsonValue) { *this = jsonValue; } -ProvisionedThroughputDescription& ProvisionedThroughputDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("LastIncreaseDateTime")) { - m_lastIncreaseDateTime = jsonValue.GetDouble("LastIncreaseDateTime"); - m_lastIncreaseDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("LastDecreaseDateTime")) { - m_lastDecreaseDateTime = jsonValue.GetDouble("LastDecreaseDateTime"); - m_lastDecreaseDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("NumberOfDecreasesToday")) { - m_numberOfDecreasesToday = jsonValue.GetInt64("NumberOfDecreasesToday"); - m_numberOfDecreasesTodayHasBeenSet = true; - } - if (jsonValue.ValueExists("ReadCapacityUnits")) { - m_readCapacityUnits = jsonValue.GetInt64("ReadCapacityUnits"); - m_readCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("WriteCapacityUnits")) { - m_writeCapacityUnits = jsonValue.GetInt64("WriteCapacityUnits"); - m_writeCapacityUnitsHasBeenSet = true; - } - return *this; -} +ProvisionedThroughputDescription& ProvisionedThroughputDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ProvisionedThroughputDescription::Jsonize() const { JsonValue payload; - - if (m_lastIncreaseDateTimeHasBeenSet) { - payload.WithDouble("LastIncreaseDateTime", m_lastIncreaseDateTime.SecondsWithMSPrecision()); - } - - if (m_lastDecreaseDateTimeHasBeenSet) { - payload.WithDouble("LastDecreaseDateTime", m_lastDecreaseDateTime.SecondsWithMSPrecision()); - } - - if (m_numberOfDecreasesTodayHasBeenSet) { - payload.WithInt64("NumberOfDecreasesToday", m_numberOfDecreasesToday); - } - - if (m_readCapacityUnitsHasBeenSet) { - payload.WithInt64("ReadCapacityUnits", m_readCapacityUnits); - } - - if (m_writeCapacityUnitsHasBeenSet) { - payload.WithInt64("WriteCapacityUnits", m_writeCapacityUnits); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputExceededException.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputExceededException.cpp index 43e3eb4dda12..2862b4f0f50b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputExceededException.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputExceededException.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { ProvisionedThroughputExceededException::ProvisionedThroughputExceededException(JsonView jsonValue) { *this = jsonValue; } -ProvisionedThroughputExceededException& ProvisionedThroughputExceededException::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("message")) { - m_message = jsonValue.GetString("message"); - m_messageHasBeenSet = true; - } - if (jsonValue.ValueExists("ThrottlingReasons")) { - Aws::Utils::Array throttlingReasonsJsonList = jsonValue.GetArray("ThrottlingReasons"); - for (unsigned throttlingReasonsIndex = 0; throttlingReasonsIndex < throttlingReasonsJsonList.GetLength(); ++throttlingReasonsIndex) { - m_throttlingReasons.push_back(throttlingReasonsJsonList[throttlingReasonsIndex].AsObject()); - } - m_throttlingReasonsHasBeenSet = true; - } - return *this; -} +ProvisionedThroughputExceededException& ProvisionedThroughputExceededException::operator=(JsonView jsonValue) { return *this; } JsonValue ProvisionedThroughputExceededException::Jsonize() const { JsonValue payload; - - if (m_messageHasBeenSet) { - payload.WithString("message", m_message); - } - - if (m_throttlingReasonsHasBeenSet) { - Aws::Utils::Array throttlingReasonsJsonList(m_throttlingReasons.size()); - for (unsigned throttlingReasonsIndex = 0; throttlingReasonsIndex < throttlingReasonsJsonList.GetLength(); ++throttlingReasonsIndex) { - throttlingReasonsJsonList[throttlingReasonsIndex].AsObject(m_throttlingReasons[throttlingReasonsIndex].Jsonize()); - } - payload.WithArray("ThrottlingReasons", std::move(throttlingReasonsJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputOverride.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputOverride.cpp index 0b944cf04a2a..35cd5f8bde59 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputOverride.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ProvisionedThroughputOverride.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { ProvisionedThroughputOverride::ProvisionedThroughputOverride(JsonView jsonValue) { *this = jsonValue; } -ProvisionedThroughputOverride& ProvisionedThroughputOverride::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("ReadCapacityUnits")) { - m_readCapacityUnits = jsonValue.GetInt64("ReadCapacityUnits"); - m_readCapacityUnitsHasBeenSet = true; - } - return *this; -} +ProvisionedThroughputOverride& ProvisionedThroughputOverride::operator=(JsonView jsonValue) { return *this; } JsonValue ProvisionedThroughputOverride::Jsonize() const { JsonValue payload; - - if (m_readCapacityUnitsHasBeenSet) { - payload.WithInt64("ReadCapacityUnits", m_readCapacityUnits); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Put.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Put.cpp index df0267ad04dd..82106c094cd8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Put.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Put.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,85 +20,10 @@ namespace Model { Put::Put(JsonView jsonValue) { *this = jsonValue; } -Put& Put::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - if (jsonValue.ValueExists("TableName")) { - m_tableName = jsonValue.GetString("TableName"); - m_tableNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ConditionExpression")) { - m_conditionExpression = jsonValue.GetString("ConditionExpression"); - m_conditionExpressionHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeNames")) { - Aws::Map expressionAttributeNamesJsonMap = jsonValue.GetObject("ExpressionAttributeNames").GetAllObjects(); - for (auto& expressionAttributeNamesItem : expressionAttributeNamesJsonMap) { - m_expressionAttributeNames[expressionAttributeNamesItem.first] = expressionAttributeNamesItem.second.AsString(); - } - m_expressionAttributeNamesHasBeenSet = true; - } - if (jsonValue.ValueExists("ExpressionAttributeValues")) { - Aws::Map expressionAttributeValuesJsonMap = jsonValue.GetObject("ExpressionAttributeValues").GetAllObjects(); - for (auto& expressionAttributeValuesItem : expressionAttributeValuesJsonMap) { - m_expressionAttributeValues[expressionAttributeValuesItem.first] = expressionAttributeValuesItem.second.AsObject(); - } - m_expressionAttributeValuesHasBeenSet = true; - } - if (jsonValue.ValueExists("ReturnValuesOnConditionCheckFailure")) { - m_returnValuesOnConditionCheckFailure = ReturnValuesOnConditionCheckFailureMapper::GetReturnValuesOnConditionCheckFailureForName( - jsonValue.GetString("ReturnValuesOnConditionCheckFailure")); - m_returnValuesOnConditionCheckFailureHasBeenSet = true; - } - return *this; -} +Put& Put::operator=(JsonView jsonValue) { return *this; } JsonValue Put::Jsonize() const { JsonValue payload; - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_conditionExpressionHasBeenSet) { - payload.WithString("ConditionExpression", m_conditionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemRequest.cpp index 86388afb909f..c3dc46586fb9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemRequest.cpp @@ -3,83 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String PutItemRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - - if (m_expectedHasBeenSet) { - JsonValue expectedJsonMap; - for (auto& expectedItem : m_expected) { - expectedJsonMap.WithObject(expectedItem.first, expectedItem.second.Jsonize()); - } - payload.WithObject("Expected", std::move(expectedJsonMap)); - } - - if (m_returnValuesHasBeenSet) { - payload.WithString("ReturnValues", ReturnValueMapper::GetNameForReturnValue(m_returnValues)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_returnItemCollectionMetricsHasBeenSet) { - payload.WithString("ReturnItemCollectionMetrics", - ReturnItemCollectionMetricsMapper::GetNameForReturnItemCollectionMetrics(m_returnItemCollectionMetrics)); - } - - if (m_conditionalOperatorHasBeenSet) { - payload.WithString("ConditionalOperator", ConditionalOperatorMapper::GetNameForConditionalOperator(m_conditionalOperator)); - } - - if (m_conditionExpressionHasBeenSet) { - payload.WithString("ConditionExpression", m_conditionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_returnValuesOnConditionCheckFailureHasBeenSet) { - payload.WithString( - "ReturnValuesOnConditionCheckFailure", - ReturnValuesOnConditionCheckFailureMapper::GetNameForReturnValuesOnConditionCheckFailure(m_returnValuesOnConditionCheckFailure)); - } - - return payload.View().WriteReadable(); -} +Aws::String PutItemRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection PutItemRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemResult.cpp index b393e8af7d04..7c511427dbda 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutItemResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,31 +20,4 @@ using namespace Aws; PutItemResult::PutItemResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -PutItemResult& PutItemResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Attributes")) { - Aws::Map attributesJsonMap = jsonValue.GetObject("Attributes").GetAllObjects(); - for (auto& attributesItem : attributesJsonMap) { - m_attributes[attributesItem.first] = attributesItem.second.AsObject(); - } - m_attributesHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - if (jsonValue.ValueExists("ItemCollectionMetrics")) { - m_itemCollectionMetrics = jsonValue.GetObject("ItemCollectionMetrics"); - m_itemCollectionMetricsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +PutItemResult& PutItemResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutRequest.cpp index 00a27c219b5c..c90a6f4586f7 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutRequest.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,28 +20,10 @@ namespace Model { PutRequest::PutRequest(JsonView jsonValue) { *this = jsonValue; } -PutRequest& PutRequest::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - return *this; -} +PutRequest& PutRequest::operator=(JsonView jsonValue) { return *this; } JsonValue PutRequest::Jsonize() const { JsonValue payload; - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyRequest.cpp index 5b43d585cce5..720711b5a62d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyRequest.cpp @@ -3,36 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String PutResourcePolicyRequest::SerializePayload() const { - JsonValue payload; - - if (m_resourceArnHasBeenSet) { - payload.WithString("ResourceArn", m_resourceArn); - } - - if (m_policyHasBeenSet) { - payload.WithString("Policy", m_policy); - } - - if (m_expectedRevisionIdHasBeenSet) { - payload.WithString("ExpectedRevisionId", m_expectedRevisionId); - } - - if (m_confirmRemoveSelfResourceAccessHasBeenSet) { - payload.WithBool("ConfirmRemoveSelfResourceAccess", m_confirmRemoveSelfResourceAccess); - } - - return payload.View().WriteReadable(); -} +Aws::String PutResourcePolicyRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection PutResourcePolicyRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyResult.cpp index 5d077da43536..f44e7ba7b3e4 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/PutResourcePolicyResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,20 +20,4 @@ using namespace Aws; PutResourcePolicyResult::PutResourcePolicyResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -PutResourcePolicyResult& PutResourcePolicyResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("RevisionId")) { - m_revisionId = jsonValue.GetString("RevisionId"); - m_revisionIdHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +PutResourcePolicyResult& PutResourcePolicyResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryRequest.cpp index 326bbeb5d52f..4d08eb426841 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryRequest.cpp @@ -3,112 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String QueryRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_selectHasBeenSet) { - payload.WithString("Select", SelectMapper::GetNameForSelect(m_select)); - } - - if (m_attributesToGetHasBeenSet) { - Aws::Utils::Array attributesToGetJsonList(m_attributesToGet.size()); - for (unsigned attributesToGetIndex = 0; attributesToGetIndex < attributesToGetJsonList.GetLength(); ++attributesToGetIndex) { - attributesToGetJsonList[attributesToGetIndex].AsString(m_attributesToGet[attributesToGetIndex]); - } - payload.WithArray("AttributesToGet", std::move(attributesToGetJsonList)); - } - - if (m_limitHasBeenSet) { - payload.WithInteger("Limit", m_limit); - } - - if (m_consistentReadHasBeenSet) { - payload.WithBool("ConsistentRead", m_consistentRead); - } - - if (m_keyConditionsHasBeenSet) { - JsonValue keyConditionsJsonMap; - for (auto& keyConditionsItem : m_keyConditions) { - keyConditionsJsonMap.WithObject(keyConditionsItem.first, keyConditionsItem.second.Jsonize()); - } - payload.WithObject("KeyConditions", std::move(keyConditionsJsonMap)); - } - - if (m_queryFilterHasBeenSet) { - JsonValue queryFilterJsonMap; - for (auto& queryFilterItem : m_queryFilter) { - queryFilterJsonMap.WithObject(queryFilterItem.first, queryFilterItem.second.Jsonize()); - } - payload.WithObject("QueryFilter", std::move(queryFilterJsonMap)); - } - - if (m_conditionalOperatorHasBeenSet) { - payload.WithString("ConditionalOperator", ConditionalOperatorMapper::GetNameForConditionalOperator(m_conditionalOperator)); - } - - if (m_scanIndexForwardHasBeenSet) { - payload.WithBool("ScanIndexForward", m_scanIndexForward); - } - - if (m_exclusiveStartKeyHasBeenSet) { - JsonValue exclusiveStartKeyJsonMap; - for (auto& exclusiveStartKeyItem : m_exclusiveStartKey) { - exclusiveStartKeyJsonMap.WithObject(exclusiveStartKeyItem.first, exclusiveStartKeyItem.second.Jsonize()); - } - payload.WithObject("ExclusiveStartKey", std::move(exclusiveStartKeyJsonMap)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_projectionExpressionHasBeenSet) { - payload.WithString("ProjectionExpression", m_projectionExpression); - } - - if (m_filterExpressionHasBeenSet) { - payload.WithString("FilterExpression", m_filterExpression); - } - - if (m_keyConditionExpressionHasBeenSet) { - payload.WithString("KeyConditionExpression", m_keyConditionExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - return payload.View().WriteReadable(); -} +Aws::String QueryRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection QueryRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryResult.cpp index debf51350560..27fac5140684 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/QueryResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,47 +20,4 @@ using namespace Aws; QueryResult::QueryResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -QueryResult& QueryResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Items")) { - Aws::Utils::Array itemsJsonList = jsonValue.GetArray("Items"); - for (unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) { - Aws::Map attributeMap2JsonMap = itemsJsonList[itemsIndex].GetAllObjects(); - Aws::Map attributeMap2Map; - for (auto& attributeMap2Item : attributeMap2JsonMap) { - attributeMap2Map[attributeMap2Item.first] = attributeMap2Item.second.AsObject(); - } - m_items.push_back(std::move(attributeMap2Map)); - } - m_itemsHasBeenSet = true; - } - if (jsonValue.ValueExists("Count")) { - m_count = jsonValue.GetInteger("Count"); - m_countHasBeenSet = true; - } - if (jsonValue.ValueExists("ScannedCount")) { - m_scannedCount = jsonValue.GetInteger("ScannedCount"); - m_scannedCountHasBeenSet = true; - } - if (jsonValue.ValueExists("LastEvaluatedKey")) { - Aws::Map lastEvaluatedKeyJsonMap = jsonValue.GetObject("LastEvaluatedKey").GetAllObjects(); - for (auto& lastEvaluatedKeyItem : lastEvaluatedKeyJsonMap) { - m_lastEvaluatedKey[lastEvaluatedKeyItem.first] = lastEvaluatedKeyItem.second.AsObject(); - } - m_lastEvaluatedKeyHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +QueryResult& QueryResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Replica.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Replica.cpp index e057e96efa9a..4c973dd09d49 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Replica.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Replica.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,21 +20,10 @@ namespace Model { Replica::Replica(JsonView jsonValue) { *this = jsonValue; } -Replica& Replica::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - return *this; -} +Replica& Replica::operator=(JsonView jsonValue) { return *this; } JsonValue Replica::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingDescription.cpp index 5645f8670d8e..e34805a446a4 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,63 +20,10 @@ namespace Model { ReplicaAutoScalingDescription::ReplicaAutoScalingDescription(JsonView jsonValue) { *this = jsonValue; } -ReplicaAutoScalingDescription& ReplicaAutoScalingDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalSecondaryIndexes")) { - Aws::Utils::Array globalSecondaryIndexesJsonList = jsonValue.GetArray("GlobalSecondaryIndexes"); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - m_globalSecondaryIndexes.push_back(globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject()); - } - m_globalSecondaryIndexesHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedReadCapacityAutoScalingSettings")) { - m_replicaProvisionedReadCapacityAutoScalingSettings = jsonValue.GetObject("ReplicaProvisionedReadCapacityAutoScalingSettings"); - m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedWriteCapacityAutoScalingSettings")) { - m_replicaProvisionedWriteCapacityAutoScalingSettings = jsonValue.GetObject("ReplicaProvisionedWriteCapacityAutoScalingSettings"); - m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaStatus")) { - m_replicaStatus = ReplicaStatusMapper::GetReplicaStatusForName(jsonValue.GetString("ReplicaStatus")); - m_replicaStatusHasBeenSet = true; - } - return *this; -} +ReplicaAutoScalingDescription& ReplicaAutoScalingDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaAutoScalingDescription::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_globalSecondaryIndexesHasBeenSet) { - Aws::Utils::Array globalSecondaryIndexesJsonList(m_globalSecondaryIndexes.size()); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject(m_globalSecondaryIndexes[globalSecondaryIndexesIndex].Jsonize()); - } - payload.WithArray("GlobalSecondaryIndexes", std::move(globalSecondaryIndexesJsonList)); - } - - if (m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ReplicaProvisionedReadCapacityAutoScalingSettings", m_replicaProvisionedReadCapacityAutoScalingSettings.Jsonize()); - } - - if (m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ReplicaProvisionedWriteCapacityAutoScalingSettings", - m_replicaProvisionedWriteCapacityAutoScalingSettings.Jsonize()); - } - - if (m_replicaStatusHasBeenSet) { - payload.WithString("ReplicaStatus", ReplicaStatusMapper::GetNameForReplicaStatus(m_replicaStatus)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingUpdate.cpp index 59e2149899b4..c1e412a37b3b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaAutoScalingUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,50 +20,10 @@ namespace Model { ReplicaAutoScalingUpdate::ReplicaAutoScalingUpdate(JsonView jsonValue) { *this = jsonValue; } -ReplicaAutoScalingUpdate& ReplicaAutoScalingUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaGlobalSecondaryIndexUpdates")) { - Aws::Utils::Array replicaGlobalSecondaryIndexUpdatesJsonList = jsonValue.GetArray("ReplicaGlobalSecondaryIndexUpdates"); - for (unsigned replicaGlobalSecondaryIndexUpdatesIndex = 0; - replicaGlobalSecondaryIndexUpdatesIndex < replicaGlobalSecondaryIndexUpdatesJsonList.GetLength(); - ++replicaGlobalSecondaryIndexUpdatesIndex) { - m_replicaGlobalSecondaryIndexUpdates.push_back( - replicaGlobalSecondaryIndexUpdatesJsonList[replicaGlobalSecondaryIndexUpdatesIndex].AsObject()); - } - m_replicaGlobalSecondaryIndexUpdatesHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedReadCapacityAutoScalingUpdate")) { - m_replicaProvisionedReadCapacityAutoScalingUpdate = jsonValue.GetObject("ReplicaProvisionedReadCapacityAutoScalingUpdate"); - m_replicaProvisionedReadCapacityAutoScalingUpdateHasBeenSet = true; - } - return *this; -} +ReplicaAutoScalingUpdate& ReplicaAutoScalingUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaAutoScalingUpdate::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_replicaGlobalSecondaryIndexUpdatesHasBeenSet) { - Aws::Utils::Array replicaGlobalSecondaryIndexUpdatesJsonList(m_replicaGlobalSecondaryIndexUpdates.size()); - for (unsigned replicaGlobalSecondaryIndexUpdatesIndex = 0; - replicaGlobalSecondaryIndexUpdatesIndex < replicaGlobalSecondaryIndexUpdatesJsonList.GetLength(); - ++replicaGlobalSecondaryIndexUpdatesIndex) { - replicaGlobalSecondaryIndexUpdatesJsonList[replicaGlobalSecondaryIndexUpdatesIndex].AsObject( - m_replicaGlobalSecondaryIndexUpdates[replicaGlobalSecondaryIndexUpdatesIndex].Jsonize()); - } - payload.WithArray("ReplicaGlobalSecondaryIndexUpdates", std::move(replicaGlobalSecondaryIndexUpdatesJsonList)); - } - - if (m_replicaProvisionedReadCapacityAutoScalingUpdateHasBeenSet) { - payload.WithObject("ReplicaProvisionedReadCapacityAutoScalingUpdate", m_replicaProvisionedReadCapacityAutoScalingUpdate.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaDescription.cpp index 481ef6f2fb07..77993c3f9396 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,129 +20,10 @@ namespace Model { ReplicaDescription::ReplicaDescription(JsonView jsonValue) { *this = jsonValue; } -ReplicaDescription& ReplicaDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaStatus")) { - m_replicaStatus = ReplicaStatusMapper::GetReplicaStatusForName(jsonValue.GetString("ReplicaStatus")); - m_replicaStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaArn")) { - m_replicaArn = jsonValue.GetString("ReplicaArn"); - m_replicaArnHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaStatusDescription")) { - m_replicaStatusDescription = jsonValue.GetString("ReplicaStatusDescription"); - m_replicaStatusDescriptionHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaStatusPercentProgress")) { - m_replicaStatusPercentProgress = jsonValue.GetString("ReplicaStatusPercentProgress"); - m_replicaStatusPercentProgressHasBeenSet = true; - } - if (jsonValue.ValueExists("KMSMasterKeyId")) { - m_kMSMasterKeyId = jsonValue.GetString("KMSMasterKeyId"); - m_kMSMasterKeyIdHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughputOverride")) { - m_provisionedThroughputOverride = jsonValue.GetObject("ProvisionedThroughputOverride"); - m_provisionedThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughputOverride")) { - m_onDemandThroughputOverride = jsonValue.GetObject("OnDemandThroughputOverride"); - m_onDemandThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("WarmThroughput")) { - m_warmThroughput = jsonValue.GetObject("WarmThroughput"); - m_warmThroughputHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalSecondaryIndexes")) { - Aws::Utils::Array globalSecondaryIndexesJsonList = jsonValue.GetArray("GlobalSecondaryIndexes"); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - m_globalSecondaryIndexes.push_back(globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject()); - } - m_globalSecondaryIndexesHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaInaccessibleDateTime")) { - m_replicaInaccessibleDateTime = jsonValue.GetDouble("ReplicaInaccessibleDateTime"); - m_replicaInaccessibleDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaTableClassSummary")) { - m_replicaTableClassSummary = jsonValue.GetObject("ReplicaTableClassSummary"); - m_replicaTableClassSummaryHasBeenSet = true; - } - if (jsonValue.ValueExists("GlobalTableSettingsReplicationMode")) { - m_globalTableSettingsReplicationMode = GlobalTableSettingsReplicationModeMapper::GetGlobalTableSettingsReplicationModeForName( - jsonValue.GetString("GlobalTableSettingsReplicationMode")); - m_globalTableSettingsReplicationModeHasBeenSet = true; - } - return *this; -} +ReplicaDescription& ReplicaDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaDescription::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_replicaStatusHasBeenSet) { - payload.WithString("ReplicaStatus", ReplicaStatusMapper::GetNameForReplicaStatus(m_replicaStatus)); - } - - if (m_replicaArnHasBeenSet) { - payload.WithString("ReplicaArn", m_replicaArn); - } - - if (m_replicaStatusDescriptionHasBeenSet) { - payload.WithString("ReplicaStatusDescription", m_replicaStatusDescription); - } - - if (m_replicaStatusPercentProgressHasBeenSet) { - payload.WithString("ReplicaStatusPercentProgress", m_replicaStatusPercentProgress); - } - - if (m_kMSMasterKeyIdHasBeenSet) { - payload.WithString("KMSMasterKeyId", m_kMSMasterKeyId); - } - - if (m_provisionedThroughputOverrideHasBeenSet) { - payload.WithObject("ProvisionedThroughputOverride", m_provisionedThroughputOverride.Jsonize()); - } - - if (m_onDemandThroughputOverrideHasBeenSet) { - payload.WithObject("OnDemandThroughputOverride", m_onDemandThroughputOverride.Jsonize()); - } - - if (m_warmThroughputHasBeenSet) { - payload.WithObject("WarmThroughput", m_warmThroughput.Jsonize()); - } - - if (m_globalSecondaryIndexesHasBeenSet) { - Aws::Utils::Array globalSecondaryIndexesJsonList(m_globalSecondaryIndexes.size()); - for (unsigned globalSecondaryIndexesIndex = 0; globalSecondaryIndexesIndex < globalSecondaryIndexesJsonList.GetLength(); - ++globalSecondaryIndexesIndex) { - globalSecondaryIndexesJsonList[globalSecondaryIndexesIndex].AsObject(m_globalSecondaryIndexes[globalSecondaryIndexesIndex].Jsonize()); - } - payload.WithArray("GlobalSecondaryIndexes", std::move(globalSecondaryIndexesJsonList)); - } - - if (m_replicaInaccessibleDateTimeHasBeenSet) { - payload.WithDouble("ReplicaInaccessibleDateTime", m_replicaInaccessibleDateTime.SecondsWithMSPrecision()); - } - - if (m_replicaTableClassSummaryHasBeenSet) { - payload.WithObject("ReplicaTableClassSummary", m_replicaTableClassSummary.Jsonize()); - } - - if (m_globalTableSettingsReplicationModeHasBeenSet) { - payload.WithString( - "GlobalTableSettingsReplicationMode", - GlobalTableSettingsReplicationModeMapper::GetNameForGlobalTableSettingsReplicationMode(m_globalTableSettingsReplicationMode)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndex.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndex.cpp index f147d6b8467e..1a55cfd8117c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndex.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndex.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { ReplicaGlobalSecondaryIndex::ReplicaGlobalSecondaryIndex(JsonView jsonValue) { *this = jsonValue; } -ReplicaGlobalSecondaryIndex& ReplicaGlobalSecondaryIndex::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughputOverride")) { - m_provisionedThroughputOverride = jsonValue.GetObject("ProvisionedThroughputOverride"); - m_provisionedThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughputOverride")) { - m_onDemandThroughputOverride = jsonValue.GetObject("OnDemandThroughputOverride"); - m_onDemandThroughputOverrideHasBeenSet = true; - } - return *this; -} +ReplicaGlobalSecondaryIndex& ReplicaGlobalSecondaryIndex::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaGlobalSecondaryIndex::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_provisionedThroughputOverrideHasBeenSet) { - payload.WithObject("ProvisionedThroughputOverride", m_provisionedThroughputOverride.Jsonize()); - } - - if (m_onDemandThroughputOverrideHasBeenSet) { - payload.WithObject("OnDemandThroughputOverride", m_onDemandThroughputOverride.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingDescription.cpp index 2890cd77b168..ef56aa9fcf85 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -20,44 +23,11 @@ ReplicaGlobalSecondaryIndexAutoScalingDescription::ReplicaGlobalSecondaryIndexAu } ReplicaGlobalSecondaryIndexAutoScalingDescription& ReplicaGlobalSecondaryIndexAutoScalingDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexStatus")) { - m_indexStatus = IndexStatusMapper::GetIndexStatusForName(jsonValue.GetString("IndexStatus")); - m_indexStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedReadCapacityAutoScalingSettings")) { - m_provisionedReadCapacityAutoScalingSettings = jsonValue.GetObject("ProvisionedReadCapacityAutoScalingSettings"); - m_provisionedReadCapacityAutoScalingSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedWriteCapacityAutoScalingSettings")) { - m_provisionedWriteCapacityAutoScalingSettings = jsonValue.GetObject("ProvisionedWriteCapacityAutoScalingSettings"); - m_provisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; - } return *this; } JsonValue ReplicaGlobalSecondaryIndexAutoScalingDescription::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_indexStatusHasBeenSet) { - payload.WithString("IndexStatus", IndexStatusMapper::GetNameForIndexStatus(m_indexStatus)); - } - - if (m_provisionedReadCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ProvisionedReadCapacityAutoScalingSettings", m_provisionedReadCapacityAutoScalingSettings.Jsonize()); - } - - if (m_provisionedWriteCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ProvisionedWriteCapacityAutoScalingSettings", m_provisionedWriteCapacityAutoScalingSettings.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingUpdate.cpp index fd7bd6d0c82d..ebd4e6a723dd 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexAutoScalingUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { ReplicaGlobalSecondaryIndexAutoScalingUpdate::ReplicaGlobalSecondaryIndexAutoScalingUpdate(JsonView jsonValue) { *this = jsonValue; } -ReplicaGlobalSecondaryIndexAutoScalingUpdate& ReplicaGlobalSecondaryIndexAutoScalingUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedReadCapacityAutoScalingUpdate")) { - m_provisionedReadCapacityAutoScalingUpdate = jsonValue.GetObject("ProvisionedReadCapacityAutoScalingUpdate"); - m_provisionedReadCapacityAutoScalingUpdateHasBeenSet = true; - } - return *this; -} +ReplicaGlobalSecondaryIndexAutoScalingUpdate& ReplicaGlobalSecondaryIndexAutoScalingUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaGlobalSecondaryIndexAutoScalingUpdate::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_provisionedReadCapacityAutoScalingUpdateHasBeenSet) { - payload.WithObject("ProvisionedReadCapacityAutoScalingUpdate", m_provisionedReadCapacityAutoScalingUpdate.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexDescription.cpp index 2ed2063cbaef..11d40f5e318f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,45 +20,10 @@ namespace Model { ReplicaGlobalSecondaryIndexDescription::ReplicaGlobalSecondaryIndexDescription(JsonView jsonValue) { *this = jsonValue; } -ReplicaGlobalSecondaryIndexDescription& ReplicaGlobalSecondaryIndexDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedThroughputOverride")) { - m_provisionedThroughputOverride = jsonValue.GetObject("ProvisionedThroughputOverride"); - m_provisionedThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("OnDemandThroughputOverride")) { - m_onDemandThroughputOverride = jsonValue.GetObject("OnDemandThroughputOverride"); - m_onDemandThroughputOverrideHasBeenSet = true; - } - if (jsonValue.ValueExists("WarmThroughput")) { - m_warmThroughput = jsonValue.GetObject("WarmThroughput"); - m_warmThroughputHasBeenSet = true; - } - return *this; -} +ReplicaGlobalSecondaryIndexDescription& ReplicaGlobalSecondaryIndexDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaGlobalSecondaryIndexDescription::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_provisionedThroughputOverrideHasBeenSet) { - payload.WithObject("ProvisionedThroughputOverride", m_provisionedThroughputOverride.Jsonize()); - } - - if (m_onDemandThroughputOverrideHasBeenSet) { - payload.WithObject("OnDemandThroughputOverride", m_onDemandThroughputOverride.Jsonize()); - } - - if (m_warmThroughputHasBeenSet) { - payload.WithObject("WarmThroughput", m_warmThroughput.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsDescription.cpp index ef58c7b38ec1..5f884c9bce69 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -18,60 +21,11 @@ namespace Model { ReplicaGlobalSecondaryIndexSettingsDescription::ReplicaGlobalSecondaryIndexSettingsDescription(JsonView jsonValue) { *this = jsonValue; } ReplicaGlobalSecondaryIndexSettingsDescription& ReplicaGlobalSecondaryIndexSettingsDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("IndexStatus")) { - m_indexStatus = IndexStatusMapper::GetIndexStatusForName(jsonValue.GetString("IndexStatus")); - m_indexStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedReadCapacityUnits")) { - m_provisionedReadCapacityUnits = jsonValue.GetInt64("ProvisionedReadCapacityUnits"); - m_provisionedReadCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedReadCapacityAutoScalingSettings")) { - m_provisionedReadCapacityAutoScalingSettings = jsonValue.GetObject("ProvisionedReadCapacityAutoScalingSettings"); - m_provisionedReadCapacityAutoScalingSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedWriteCapacityUnits")) { - m_provisionedWriteCapacityUnits = jsonValue.GetInt64("ProvisionedWriteCapacityUnits"); - m_provisionedWriteCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedWriteCapacityAutoScalingSettings")) { - m_provisionedWriteCapacityAutoScalingSettings = jsonValue.GetObject("ProvisionedWriteCapacityAutoScalingSettings"); - m_provisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; - } return *this; } JsonValue ReplicaGlobalSecondaryIndexSettingsDescription::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_indexStatusHasBeenSet) { - payload.WithString("IndexStatus", IndexStatusMapper::GetNameForIndexStatus(m_indexStatus)); - } - - if (m_provisionedReadCapacityUnitsHasBeenSet) { - payload.WithInt64("ProvisionedReadCapacityUnits", m_provisionedReadCapacityUnits); - } - - if (m_provisionedReadCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ProvisionedReadCapacityAutoScalingSettings", m_provisionedReadCapacityAutoScalingSettings.Jsonize()); - } - - if (m_provisionedWriteCapacityUnitsHasBeenSet) { - payload.WithInt64("ProvisionedWriteCapacityUnits", m_provisionedWriteCapacityUnits); - } - - if (m_provisionedWriteCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ProvisionedWriteCapacityAutoScalingSettings", m_provisionedWriteCapacityAutoScalingSettings.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsUpdate.cpp index e6612b878122..25ddaf784f33 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaGlobalSecondaryIndexSettingsUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { ReplicaGlobalSecondaryIndexSettingsUpdate::ReplicaGlobalSecondaryIndexSettingsUpdate(JsonView jsonValue) { *this = jsonValue; } -ReplicaGlobalSecondaryIndexSettingsUpdate& ReplicaGlobalSecondaryIndexSettingsUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("IndexName")) { - m_indexName = jsonValue.GetString("IndexName"); - m_indexNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedReadCapacityUnits")) { - m_provisionedReadCapacityUnits = jsonValue.GetInt64("ProvisionedReadCapacityUnits"); - m_provisionedReadCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ProvisionedReadCapacityAutoScalingSettingsUpdate")) { - m_provisionedReadCapacityAutoScalingSettingsUpdate = jsonValue.GetObject("ProvisionedReadCapacityAutoScalingSettingsUpdate"); - m_provisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet = true; - } - return *this; -} +ReplicaGlobalSecondaryIndexSettingsUpdate& ReplicaGlobalSecondaryIndexSettingsUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaGlobalSecondaryIndexSettingsUpdate::Jsonize() const { JsonValue payload; - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_provisionedReadCapacityUnitsHasBeenSet) { - payload.WithInt64("ProvisionedReadCapacityUnits", m_provisionedReadCapacityUnits); - } - - if (m_provisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet) { - payload.WithObject("ProvisionedReadCapacityAutoScalingSettingsUpdate", m_provisionedReadCapacityAutoScalingSettingsUpdate.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsDescription.cpp index 4744e3b6ba2e..2f1d61da5d1e 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,99 +20,10 @@ namespace Model { ReplicaSettingsDescription::ReplicaSettingsDescription(JsonView jsonValue) { *this = jsonValue; } -ReplicaSettingsDescription& ReplicaSettingsDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaStatus")) { - m_replicaStatus = ReplicaStatusMapper::GetReplicaStatusForName(jsonValue.GetString("ReplicaStatus")); - m_replicaStatusHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaBillingModeSummary")) { - m_replicaBillingModeSummary = jsonValue.GetObject("ReplicaBillingModeSummary"); - m_replicaBillingModeSummaryHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedReadCapacityUnits")) { - m_replicaProvisionedReadCapacityUnits = jsonValue.GetInt64("ReplicaProvisionedReadCapacityUnits"); - m_replicaProvisionedReadCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedReadCapacityAutoScalingSettings")) { - m_replicaProvisionedReadCapacityAutoScalingSettings = jsonValue.GetObject("ReplicaProvisionedReadCapacityAutoScalingSettings"); - m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedWriteCapacityUnits")) { - m_replicaProvisionedWriteCapacityUnits = jsonValue.GetInt64("ReplicaProvisionedWriteCapacityUnits"); - m_replicaProvisionedWriteCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedWriteCapacityAutoScalingSettings")) { - m_replicaProvisionedWriteCapacityAutoScalingSettings = jsonValue.GetObject("ReplicaProvisionedWriteCapacityAutoScalingSettings"); - m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaGlobalSecondaryIndexSettings")) { - Aws::Utils::Array replicaGlobalSecondaryIndexSettingsJsonList = jsonValue.GetArray("ReplicaGlobalSecondaryIndexSettings"); - for (unsigned replicaGlobalSecondaryIndexSettingsIndex = 0; - replicaGlobalSecondaryIndexSettingsIndex < replicaGlobalSecondaryIndexSettingsJsonList.GetLength(); - ++replicaGlobalSecondaryIndexSettingsIndex) { - m_replicaGlobalSecondaryIndexSettings.push_back( - replicaGlobalSecondaryIndexSettingsJsonList[replicaGlobalSecondaryIndexSettingsIndex].AsObject()); - } - m_replicaGlobalSecondaryIndexSettingsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaTableClassSummary")) { - m_replicaTableClassSummary = jsonValue.GetObject("ReplicaTableClassSummary"); - m_replicaTableClassSummaryHasBeenSet = true; - } - return *this; -} +ReplicaSettingsDescription& ReplicaSettingsDescription::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaSettingsDescription::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_replicaStatusHasBeenSet) { - payload.WithString("ReplicaStatus", ReplicaStatusMapper::GetNameForReplicaStatus(m_replicaStatus)); - } - - if (m_replicaBillingModeSummaryHasBeenSet) { - payload.WithObject("ReplicaBillingModeSummary", m_replicaBillingModeSummary.Jsonize()); - } - - if (m_replicaProvisionedReadCapacityUnitsHasBeenSet) { - payload.WithInt64("ReplicaProvisionedReadCapacityUnits", m_replicaProvisionedReadCapacityUnits); - } - - if (m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ReplicaProvisionedReadCapacityAutoScalingSettings", m_replicaProvisionedReadCapacityAutoScalingSettings.Jsonize()); - } - - if (m_replicaProvisionedWriteCapacityUnitsHasBeenSet) { - payload.WithInt64("ReplicaProvisionedWriteCapacityUnits", m_replicaProvisionedWriteCapacityUnits); - } - - if (m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet) { - payload.WithObject("ReplicaProvisionedWriteCapacityAutoScalingSettings", - m_replicaProvisionedWriteCapacityAutoScalingSettings.Jsonize()); - } - - if (m_replicaGlobalSecondaryIndexSettingsHasBeenSet) { - Aws::Utils::Array replicaGlobalSecondaryIndexSettingsJsonList(m_replicaGlobalSecondaryIndexSettings.size()); - for (unsigned replicaGlobalSecondaryIndexSettingsIndex = 0; - replicaGlobalSecondaryIndexSettingsIndex < replicaGlobalSecondaryIndexSettingsJsonList.GetLength(); - ++replicaGlobalSecondaryIndexSettingsIndex) { - replicaGlobalSecondaryIndexSettingsJsonList[replicaGlobalSecondaryIndexSettingsIndex].AsObject( - m_replicaGlobalSecondaryIndexSettings[replicaGlobalSecondaryIndexSettingsIndex].Jsonize()); - } - payload.WithArray("ReplicaGlobalSecondaryIndexSettings", std::move(replicaGlobalSecondaryIndexSettingsJsonList)); - } - - if (m_replicaTableClassSummaryHasBeenSet) { - payload.WithObject("ReplicaTableClassSummary", m_replicaTableClassSummary.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsUpdate.cpp index a7aada537d31..c5d0346f0784 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaSettingsUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,69 +20,10 @@ namespace Model { ReplicaSettingsUpdate::ReplicaSettingsUpdate(JsonView jsonValue) { *this = jsonValue; } -ReplicaSettingsUpdate& ReplicaSettingsUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("RegionName")) { - m_regionName = jsonValue.GetString("RegionName"); - m_regionNameHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedReadCapacityUnits")) { - m_replicaProvisionedReadCapacityUnits = jsonValue.GetInt64("ReplicaProvisionedReadCapacityUnits"); - m_replicaProvisionedReadCapacityUnitsHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate")) { - m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate = - jsonValue.GetObject("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate"); - m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaGlobalSecondaryIndexSettingsUpdate")) { - Aws::Utils::Array replicaGlobalSecondaryIndexSettingsUpdateJsonList = - jsonValue.GetArray("ReplicaGlobalSecondaryIndexSettingsUpdate"); - for (unsigned replicaGlobalSecondaryIndexSettingsUpdateIndex = 0; - replicaGlobalSecondaryIndexSettingsUpdateIndex < replicaGlobalSecondaryIndexSettingsUpdateJsonList.GetLength(); - ++replicaGlobalSecondaryIndexSettingsUpdateIndex) { - m_replicaGlobalSecondaryIndexSettingsUpdate.push_back( - replicaGlobalSecondaryIndexSettingsUpdateJsonList[replicaGlobalSecondaryIndexSettingsUpdateIndex].AsObject()); - } - m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet = true; - } - if (jsonValue.ValueExists("ReplicaTableClass")) { - m_replicaTableClass = TableClassMapper::GetTableClassForName(jsonValue.GetString("ReplicaTableClass")); - m_replicaTableClassHasBeenSet = true; - } - return *this; -} +ReplicaSettingsUpdate& ReplicaSettingsUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaSettingsUpdate::Jsonize() const { JsonValue payload; - - if (m_regionNameHasBeenSet) { - payload.WithString("RegionName", m_regionName); - } - - if (m_replicaProvisionedReadCapacityUnitsHasBeenSet) { - payload.WithInt64("ReplicaProvisionedReadCapacityUnits", m_replicaProvisionedReadCapacityUnits); - } - - if (m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet) { - payload.WithObject("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate", - m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate.Jsonize()); - } - - if (m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet) { - Aws::Utils::Array replicaGlobalSecondaryIndexSettingsUpdateJsonList(m_replicaGlobalSecondaryIndexSettingsUpdate.size()); - for (unsigned replicaGlobalSecondaryIndexSettingsUpdateIndex = 0; - replicaGlobalSecondaryIndexSettingsUpdateIndex < replicaGlobalSecondaryIndexSettingsUpdateJsonList.GetLength(); - ++replicaGlobalSecondaryIndexSettingsUpdateIndex) { - replicaGlobalSecondaryIndexSettingsUpdateJsonList[replicaGlobalSecondaryIndexSettingsUpdateIndex].AsObject( - m_replicaGlobalSecondaryIndexSettingsUpdate[replicaGlobalSecondaryIndexSettingsUpdateIndex].Jsonize()); - } - payload.WithArray("ReplicaGlobalSecondaryIndexSettingsUpdate", std::move(replicaGlobalSecondaryIndexSettingsUpdateJsonList)); - } - - if (m_replicaTableClassHasBeenSet) { - payload.WithString("ReplicaTableClass", TableClassMapper::GetNameForTableClass(m_replicaTableClass)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaStatus.cpp index 5d4073299a86..4339da0142df 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaStatus.cpp @@ -54,7 +54,6 @@ ReplicaStatus GetReplicaStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ReplicaStatus::NOT_SET; } @@ -87,7 +86,6 @@ Aws::String GetNameForReplicaStatus(ReplicaStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaUpdate.cpp index 2a5e69b85473..f464863b347f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicaUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,29 +20,10 @@ namespace Model { ReplicaUpdate::ReplicaUpdate(JsonView jsonValue) { *this = jsonValue; } -ReplicaUpdate& ReplicaUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Create")) { - m_create = jsonValue.GetObject("Create"); - m_createHasBeenSet = true; - } - if (jsonValue.ValueExists("Delete")) { - m_delete = jsonValue.GetObject("Delete"); - m_deleteHasBeenSet = true; - } - return *this; -} +ReplicaUpdate& ReplicaUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicaUpdate::Jsonize() const { JsonValue payload; - - if (m_createHasBeenSet) { - payload.WithObject("Create", m_create.Jsonize()); - } - - if (m_deleteHasBeenSet) { - payload.WithObject("Delete", m_delete.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicationGroupUpdate.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicationGroupUpdate.cpp index 917681d84333..0b8320019b5c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicationGroupUpdate.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReplicationGroupUpdate.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { ReplicationGroupUpdate::ReplicationGroupUpdate(JsonView jsonValue) { *this = jsonValue; } -ReplicationGroupUpdate& ReplicationGroupUpdate::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Create")) { - m_create = jsonValue.GetObject("Create"); - m_createHasBeenSet = true; - } - if (jsonValue.ValueExists("Update")) { - m_update = jsonValue.GetObject("Update"); - m_updateHasBeenSet = true; - } - if (jsonValue.ValueExists("Delete")) { - m_delete = jsonValue.GetObject("Delete"); - m_deleteHasBeenSet = true; - } - return *this; -} +ReplicationGroupUpdate& ReplicationGroupUpdate::operator=(JsonView jsonValue) { return *this; } JsonValue ReplicationGroupUpdate::Jsonize() const { JsonValue payload; - - if (m_createHasBeenSet) { - payload.WithObject("Create", m_create.Jsonize()); - } - - if (m_updateHasBeenSet) { - payload.WithObject("Update", m_update.Jsonize()); - } - - if (m_deleteHasBeenSet) { - payload.WithObject("Delete", m_delete.Jsonize()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/RequestLimitExceeded.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/RequestLimitExceeded.cpp index 3a5c7741fda0..8094074b611c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/RequestLimitExceeded.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/RequestLimitExceeded.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { RequestLimitExceeded::RequestLimitExceeded(JsonView jsonValue) { *this = jsonValue; } -RequestLimitExceeded& RequestLimitExceeded::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("message")) { - m_message = jsonValue.GetString("message"); - m_messageHasBeenSet = true; - } - if (jsonValue.ValueExists("ThrottlingReasons")) { - Aws::Utils::Array throttlingReasonsJsonList = jsonValue.GetArray("ThrottlingReasons"); - for (unsigned throttlingReasonsIndex = 0; throttlingReasonsIndex < throttlingReasonsJsonList.GetLength(); ++throttlingReasonsIndex) { - m_throttlingReasons.push_back(throttlingReasonsJsonList[throttlingReasonsIndex].AsObject()); - } - m_throttlingReasonsHasBeenSet = true; - } - return *this; -} +RequestLimitExceeded& RequestLimitExceeded::operator=(JsonView jsonValue) { return *this; } JsonValue RequestLimitExceeded::Jsonize() const { JsonValue payload; - - if (m_messageHasBeenSet) { - payload.WithString("message", m_message); - } - - if (m_throttlingReasonsHasBeenSet) { - Aws::Utils::Array throttlingReasonsJsonList(m_throttlingReasons.size()); - for (unsigned throttlingReasonsIndex = 0; throttlingReasonsIndex < throttlingReasonsJsonList.GetLength(); ++throttlingReasonsIndex) { - throttlingReasonsJsonList[throttlingReasonsIndex].AsObject(m_throttlingReasons[throttlingReasonsIndex].Jsonize()); - } - payload.WithArray("ThrottlingReasons", std::move(throttlingReasonsJsonList)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreSummary.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreSummary.cpp index 5ca2f1553800..50b6c5d6ab4c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreSummary.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreSummary.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,45 +20,10 @@ namespace Model { RestoreSummary::RestoreSummary(JsonView jsonValue) { *this = jsonValue; } -RestoreSummary& RestoreSummary::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("SourceBackupArn")) { - m_sourceBackupArn = jsonValue.GetString("SourceBackupArn"); - m_sourceBackupArnHasBeenSet = true; - } - if (jsonValue.ValueExists("SourceTableArn")) { - m_sourceTableArn = jsonValue.GetString("SourceTableArn"); - m_sourceTableArnHasBeenSet = true; - } - if (jsonValue.ValueExists("RestoreDateTime")) { - m_restoreDateTime = jsonValue.GetDouble("RestoreDateTime"); - m_restoreDateTimeHasBeenSet = true; - } - if (jsonValue.ValueExists("RestoreInProgress")) { - m_restoreInProgress = jsonValue.GetBool("RestoreInProgress"); - m_restoreInProgressHasBeenSet = true; - } - return *this; -} +RestoreSummary& RestoreSummary::operator=(JsonView jsonValue) { return *this; } JsonValue RestoreSummary::Jsonize() const { JsonValue payload; - - if (m_sourceBackupArnHasBeenSet) { - payload.WithString("SourceBackupArn", m_sourceBackupArn); - } - - if (m_sourceTableArnHasBeenSet) { - payload.WithString("SourceTableArn", m_sourceTableArn); - } - - if (m_restoreDateTimeHasBeenSet) { - payload.WithDouble("RestoreDateTime", m_restoreDateTime.SecondsWithMSPrecision()); - } - - if (m_restoreInProgressHasBeenSet) { - payload.WithBool("RestoreInProgress", m_restoreInProgress); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupRequest.cpp index b73e1abe11bc..1c4535621289 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupRequest.cpp @@ -3,73 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String RestoreTableFromBackupRequest::SerializePayload() const { - JsonValue payload; - - if (m_targetTableNameHasBeenSet) { - payload.WithString("TargetTableName", m_targetTableName); - } - - if (m_backupArnHasBeenSet) { - payload.WithString("BackupArn", m_backupArn); - } - - if (m_billingModeOverrideHasBeenSet) { - payload.WithString("BillingModeOverride", BillingModeMapper::GetNameForBillingMode(m_billingModeOverride)); - } - - if (m_globalSecondaryIndexOverrideHasBeenSet) { - Aws::Utils::Array globalSecondaryIndexOverrideJsonList(m_globalSecondaryIndexOverride.size()); - for (unsigned globalSecondaryIndexOverrideIndex = 0; - globalSecondaryIndexOverrideIndex < globalSecondaryIndexOverrideJsonList.GetLength(); ++globalSecondaryIndexOverrideIndex) { - globalSecondaryIndexOverrideJsonList[globalSecondaryIndexOverrideIndex].AsObject( - m_globalSecondaryIndexOverride[globalSecondaryIndexOverrideIndex].Jsonize()); - } - payload.WithArray("GlobalSecondaryIndexOverride", std::move(globalSecondaryIndexOverrideJsonList)); - } - - if (m_localSecondaryIndexOverrideHasBeenSet) { - Aws::Utils::Array localSecondaryIndexOverrideJsonList(m_localSecondaryIndexOverride.size()); - for (unsigned localSecondaryIndexOverrideIndex = 0; localSecondaryIndexOverrideIndex < localSecondaryIndexOverrideJsonList.GetLength(); - ++localSecondaryIndexOverrideIndex) { - localSecondaryIndexOverrideJsonList[localSecondaryIndexOverrideIndex].AsObject( - m_localSecondaryIndexOverride[localSecondaryIndexOverrideIndex].Jsonize()); - } - payload.WithArray("LocalSecondaryIndexOverride", std::move(localSecondaryIndexOverrideJsonList)); - } - - if (m_provisionedThroughputOverrideHasBeenSet) { - payload.WithObject("ProvisionedThroughputOverride", m_provisionedThroughputOverride.Jsonize()); - } - - if (m_onDemandThroughputOverrideHasBeenSet) { - payload.WithObject("OnDemandThroughputOverride", m_onDemandThroughputOverride.Jsonize()); - } - - if (m_sSESpecificationOverrideHasBeenSet) { - payload.WithObject("SSESpecificationOverride", m_sSESpecificationOverride.Jsonize()); - } - - if (m_vectorIndexOverrideHasBeenSet) { - Aws::Utils::Array vectorIndexOverrideJsonList(m_vectorIndexOverride.size()); - for (unsigned vectorIndexOverrideIndex = 0; vectorIndexOverrideIndex < vectorIndexOverrideJsonList.GetLength(); - ++vectorIndexOverrideIndex) { - vectorIndexOverrideJsonList[vectorIndexOverrideIndex].AsObject(m_vectorIndexOverride[vectorIndexOverrideIndex].Jsonize()); - } - payload.WithArray("VectorIndexOverride", std::move(vectorIndexOverrideJsonList)); - } - - return payload.View().WriteReadable(); -} +Aws::String RestoreTableFromBackupRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection RestoreTableFromBackupRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupResult.cpp index fcf5e0a2c9f9..f1bcc5d8f059 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableFromBackupResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -20,19 +21,5 @@ using namespace Aws; RestoreTableFromBackupResult::RestoreTableFromBackupResult(const Aws::AmazonWebServiceResult& result) { *this = result; } RestoreTableFromBackupResult& RestoreTableFromBackupResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableDescription")) { - m_tableDescription = jsonValue.GetObject("TableDescription"); - m_tableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeRequest.cpp index 9d6773e327d5..34a7959c1734 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeRequest.cpp @@ -3,85 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String RestoreTableToPointInTimeRequest::SerializePayload() const { - JsonValue payload; - - if (m_sourceTableArnHasBeenSet) { - payload.WithString("SourceTableArn", m_sourceTableArn); - } - - if (m_sourceTableNameHasBeenSet) { - payload.WithString("SourceTableName", m_sourceTableName); - } - - if (m_targetTableNameHasBeenSet) { - payload.WithString("TargetTableName", m_targetTableName); - } - - if (m_useLatestRestorableTimeHasBeenSet) { - payload.WithBool("UseLatestRestorableTime", m_useLatestRestorableTime); - } - - if (m_restoreDateTimeHasBeenSet) { - payload.WithDouble("RestoreDateTime", m_restoreDateTime.SecondsWithMSPrecision()); - } - - if (m_billingModeOverrideHasBeenSet) { - payload.WithString("BillingModeOverride", BillingModeMapper::GetNameForBillingMode(m_billingModeOverride)); - } - - if (m_globalSecondaryIndexOverrideHasBeenSet) { - Aws::Utils::Array globalSecondaryIndexOverrideJsonList(m_globalSecondaryIndexOverride.size()); - for (unsigned globalSecondaryIndexOverrideIndex = 0; - globalSecondaryIndexOverrideIndex < globalSecondaryIndexOverrideJsonList.GetLength(); ++globalSecondaryIndexOverrideIndex) { - globalSecondaryIndexOverrideJsonList[globalSecondaryIndexOverrideIndex].AsObject( - m_globalSecondaryIndexOverride[globalSecondaryIndexOverrideIndex].Jsonize()); - } - payload.WithArray("GlobalSecondaryIndexOverride", std::move(globalSecondaryIndexOverrideJsonList)); - } - - if (m_localSecondaryIndexOverrideHasBeenSet) { - Aws::Utils::Array localSecondaryIndexOverrideJsonList(m_localSecondaryIndexOverride.size()); - for (unsigned localSecondaryIndexOverrideIndex = 0; localSecondaryIndexOverrideIndex < localSecondaryIndexOverrideJsonList.GetLength(); - ++localSecondaryIndexOverrideIndex) { - localSecondaryIndexOverrideJsonList[localSecondaryIndexOverrideIndex].AsObject( - m_localSecondaryIndexOverride[localSecondaryIndexOverrideIndex].Jsonize()); - } - payload.WithArray("LocalSecondaryIndexOverride", std::move(localSecondaryIndexOverrideJsonList)); - } - - if (m_provisionedThroughputOverrideHasBeenSet) { - payload.WithObject("ProvisionedThroughputOverride", m_provisionedThroughputOverride.Jsonize()); - } - - if (m_onDemandThroughputOverrideHasBeenSet) { - payload.WithObject("OnDemandThroughputOverride", m_onDemandThroughputOverride.Jsonize()); - } - - if (m_sSESpecificationOverrideHasBeenSet) { - payload.WithObject("SSESpecificationOverride", m_sSESpecificationOverride.Jsonize()); - } - - if (m_vectorIndexOverrideHasBeenSet) { - Aws::Utils::Array vectorIndexOverrideJsonList(m_vectorIndexOverride.size()); - for (unsigned vectorIndexOverrideIndex = 0; vectorIndexOverrideIndex < vectorIndexOverrideJsonList.GetLength(); - ++vectorIndexOverrideIndex) { - vectorIndexOverrideJsonList[vectorIndexOverrideIndex].AsObject(m_vectorIndexOverride[vectorIndexOverrideIndex].Jsonize()); - } - payload.WithArray("VectorIndexOverride", std::move(vectorIndexOverrideJsonList)); - } - - return payload.View().WriteReadable(); -} +Aws::String RestoreTableToPointInTimeRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection RestoreTableToPointInTimeRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeResult.cpp index e321dd588330..8c113602bfb0 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/RestoreTableToPointInTimeResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -20,19 +21,5 @@ using namespace Aws; RestoreTableToPointInTimeResult::RestoreTableToPointInTimeResult(const Aws::AmazonWebServiceResult& result) { *this = result; } RestoreTableToPointInTimeResult& RestoreTableToPointInTimeResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("TableDescription")) { - m_tableDescription = jsonValue.GetObject("TableDescription"); - m_tableDescriptionHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnConsumedCapacity.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnConsumedCapacity.cpp index 4a15c7648f5a..5913d04405c2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnConsumedCapacity.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnConsumedCapacity.cpp @@ -33,7 +33,6 @@ ReturnConsumedCapacity GetReturnConsumedCapacityForName(const Aws::String& name) overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ReturnConsumedCapacity::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForReturnConsumedCapacity(ReturnConsumedCapacity enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnItemCollectionMetrics.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnItemCollectionMetrics.cpp index 3ae982f5fc73..8bd420892019 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnItemCollectionMetrics.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnItemCollectionMetrics.cpp @@ -30,7 +30,6 @@ ReturnItemCollectionMetrics GetReturnItemCollectionMetricsForName(const Aws::Str overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ReturnItemCollectionMetrics::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForReturnItemCollectionMetrics(ReturnItemCollectionMetrics en if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValue.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValue.cpp index f7e7444f8826..e343265219cd 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValue.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValue.cpp @@ -39,7 +39,6 @@ ReturnValue GetReturnValueForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ReturnValue::NOT_SET; } @@ -62,7 +61,6 @@ Aws::String GetNameForReturnValue(ReturnValue enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValuesOnConditionCheckFailure.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValuesOnConditionCheckFailure.cpp index 1184fea281ea..a2f1f3463421 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValuesOnConditionCheckFailure.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ReturnValuesOnConditionCheckFailure.cpp @@ -30,7 +30,6 @@ ReturnValuesOnConditionCheckFailure GetReturnValuesOnConditionCheckFailureForNam overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ReturnValuesOnConditionCheckFailure::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForReturnValuesOnConditionCheckFailure(ReturnValuesOnConditio if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/S3BucketSource.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/S3BucketSource.cpp index d78e69f5d432..43234329b203 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/S3BucketSource.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/S3BucketSource.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { S3BucketSource::S3BucketSource(JsonView jsonValue) { *this = jsonValue; } -S3BucketSource& S3BucketSource::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("S3BucketOwner")) { - m_s3BucketOwner = jsonValue.GetString("S3BucketOwner"); - m_s3BucketOwnerHasBeenSet = true; - } - if (jsonValue.ValueExists("S3Bucket")) { - m_s3Bucket = jsonValue.GetString("S3Bucket"); - m_s3BucketHasBeenSet = true; - } - if (jsonValue.ValueExists("S3KeyPrefix")) { - m_s3KeyPrefix = jsonValue.GetString("S3KeyPrefix"); - m_s3KeyPrefixHasBeenSet = true; - } - return *this; -} +S3BucketSource& S3BucketSource::operator=(JsonView jsonValue) { return *this; } JsonValue S3BucketSource::Jsonize() const { JsonValue payload; - - if (m_s3BucketOwnerHasBeenSet) { - payload.WithString("S3BucketOwner", m_s3BucketOwner); - } - - if (m_s3BucketHasBeenSet) { - payload.WithString("S3Bucket", m_s3Bucket); - } - - if (m_s3KeyPrefixHasBeenSet) { - payload.WithString("S3KeyPrefix", m_s3KeyPrefix); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/S3SseAlgorithm.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/S3SseAlgorithm.cpp index 5c3276f789b0..3812a6fc2d8c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/S3SseAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/S3SseAlgorithm.cpp @@ -30,7 +30,6 @@ S3SseAlgorithm GetS3SseAlgorithmForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return S3SseAlgorithm::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForS3SseAlgorithm(S3SseAlgorithm enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEDescription.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEDescription.cpp index fe663a444ec5..6ee4f63d5159 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEDescription.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEDescription.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,45 +20,10 @@ namespace Model { SSEDescription::SSEDescription(JsonView jsonValue) { *this = jsonValue; } -SSEDescription& SSEDescription::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Status")) { - m_status = SSEStatusMapper::GetSSEStatusForName(jsonValue.GetString("Status")); - m_statusHasBeenSet = true; - } - if (jsonValue.ValueExists("SSEType")) { - m_sSEType = SSETypeMapper::GetSSETypeForName(jsonValue.GetString("SSEType")); - m_sSETypeHasBeenSet = true; - } - if (jsonValue.ValueExists("KMSMasterKeyArn")) { - m_kMSMasterKeyArn = jsonValue.GetString("KMSMasterKeyArn"); - m_kMSMasterKeyArnHasBeenSet = true; - } - if (jsonValue.ValueExists("InaccessibleEncryptionDateTime")) { - m_inaccessibleEncryptionDateTime = jsonValue.GetDouble("InaccessibleEncryptionDateTime"); - m_inaccessibleEncryptionDateTimeHasBeenSet = true; - } - return *this; -} +SSEDescription& SSEDescription::operator=(JsonView jsonValue) { return *this; } JsonValue SSEDescription::Jsonize() const { JsonValue payload; - - if (m_statusHasBeenSet) { - payload.WithString("Status", SSEStatusMapper::GetNameForSSEStatus(m_status)); - } - - if (m_sSETypeHasBeenSet) { - payload.WithString("SSEType", SSETypeMapper::GetNameForSSEType(m_sSEType)); - } - - if (m_kMSMasterKeyArnHasBeenSet) { - payload.WithString("KMSMasterKeyArn", m_kMSMasterKeyArn); - } - - if (m_inaccessibleEncryptionDateTimeHasBeenSet) { - payload.WithDouble("InaccessibleEncryptionDateTime", m_inaccessibleEncryptionDateTime.SecondsWithMSPrecision()); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSESpecification.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSESpecification.cpp index f982d3459f5c..54c16d904b81 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSESpecification.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSESpecification.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,37 +20,10 @@ namespace Model { SSESpecification::SSESpecification(JsonView jsonValue) { *this = jsonValue; } -SSESpecification& SSESpecification::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Enabled")) { - m_enabled = jsonValue.GetBool("Enabled"); - m_enabledHasBeenSet = true; - } - if (jsonValue.ValueExists("SSEType")) { - m_sSEType = SSETypeMapper::GetSSETypeForName(jsonValue.GetString("SSEType")); - m_sSETypeHasBeenSet = true; - } - if (jsonValue.ValueExists("KMSMasterKeyId")) { - m_kMSMasterKeyId = jsonValue.GetString("KMSMasterKeyId"); - m_kMSMasterKeyIdHasBeenSet = true; - } - return *this; -} +SSESpecification& SSESpecification::operator=(JsonView jsonValue) { return *this; } JsonValue SSESpecification::Jsonize() const { JsonValue payload; - - if (m_enabledHasBeenSet) { - payload.WithBool("Enabled", m_enabled); - } - - if (m_sSETypeHasBeenSet) { - payload.WithString("SSEType", SSETypeMapper::GetNameForSSEType(m_sSEType)); - } - - if (m_kMSMasterKeyIdHasBeenSet) { - payload.WithString("KMSMasterKeyId", m_kMSMasterKeyId); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEStatus.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEStatus.cpp index 66fa19ef226f..e6876f5d7398 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEStatus.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEStatus.cpp @@ -39,7 +39,6 @@ SSEStatus GetSSEStatusForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return SSEStatus::NOT_SET; } @@ -62,7 +61,6 @@ Aws::String GetNameForSSEStatus(SSEStatus enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEType.cpp index 900718f9ef16..c1d29e8b02ae 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SSEType.cpp @@ -30,7 +30,6 @@ SSEType GetSSETypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return SSEType::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForSSEType(SSEType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ScalarAttributeType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ScalarAttributeType.cpp index dd4de1e4d5c8..1a8efca2bf10 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ScalarAttributeType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ScalarAttributeType.cpp @@ -33,7 +33,6 @@ ScalarAttributeType GetScalarAttributeTypeForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return ScalarAttributeType::NOT_SET; } @@ -52,7 +51,6 @@ Aws::String GetNameForScalarAttributeType(ScalarAttributeType enumValue) { if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanRequest.cpp index 44c3c5534ebd..1548ec1dbb3f 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanRequest.cpp @@ -3,104 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String ScanRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_attributesToGetHasBeenSet) { - Aws::Utils::Array attributesToGetJsonList(m_attributesToGet.size()); - for (unsigned attributesToGetIndex = 0; attributesToGetIndex < attributesToGetJsonList.GetLength(); ++attributesToGetIndex) { - attributesToGetJsonList[attributesToGetIndex].AsString(m_attributesToGet[attributesToGetIndex]); - } - payload.WithArray("AttributesToGet", std::move(attributesToGetJsonList)); - } - - if (m_limitHasBeenSet) { - payload.WithInteger("Limit", m_limit); - } - - if (m_selectHasBeenSet) { - payload.WithString("Select", SelectMapper::GetNameForSelect(m_select)); - } - - if (m_scanFilterHasBeenSet) { - JsonValue scanFilterJsonMap; - for (auto& scanFilterItem : m_scanFilter) { - scanFilterJsonMap.WithObject(scanFilterItem.first, scanFilterItem.second.Jsonize()); - } - payload.WithObject("ScanFilter", std::move(scanFilterJsonMap)); - } - - if (m_conditionalOperatorHasBeenSet) { - payload.WithString("ConditionalOperator", ConditionalOperatorMapper::GetNameForConditionalOperator(m_conditionalOperator)); - } - - if (m_exclusiveStartKeyHasBeenSet) { - JsonValue exclusiveStartKeyJsonMap; - for (auto& exclusiveStartKeyItem : m_exclusiveStartKey) { - exclusiveStartKeyJsonMap.WithObject(exclusiveStartKeyItem.first, exclusiveStartKeyItem.second.Jsonize()); - } - payload.WithObject("ExclusiveStartKey", std::move(exclusiveStartKeyJsonMap)); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_totalSegmentsHasBeenSet) { - payload.WithInteger("TotalSegments", m_totalSegments); - } - - if (m_segmentHasBeenSet) { - payload.WithInteger("Segment", m_segment); - } - - if (m_projectionExpressionHasBeenSet) { - payload.WithString("ProjectionExpression", m_projectionExpression); - } - - if (m_filterExpressionHasBeenSet) { - payload.WithString("FilterExpression", m_filterExpression); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_consistentReadHasBeenSet) { - payload.WithBool("ConsistentRead", m_consistentRead); - } - - return payload.View().WriteReadable(); -} +Aws::String ScanRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection ScanRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanResult.cpp index 619ee1ef2576..464ad2a67aa8 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/ScanResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,47 +20,4 @@ using namespace Aws; ScanResult::ScanResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -ScanResult& ScanResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("Items")) { - Aws::Utils::Array itemsJsonList = jsonValue.GetArray("Items"); - for (unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) { - Aws::Map attributeMap2JsonMap = itemsJsonList[itemsIndex].GetAllObjects(); - Aws::Map attributeMap2Map; - for (auto& attributeMap2Item : attributeMap2JsonMap) { - attributeMap2Map[attributeMap2Item.first] = attributeMap2Item.second.AsObject(); - } - m_items.push_back(std::move(attributeMap2Map)); - } - m_itemsHasBeenSet = true; - } - if (jsonValue.ValueExists("Count")) { - m_count = jsonValue.GetInteger("Count"); - m_countHasBeenSet = true; - } - if (jsonValue.ValueExists("ScannedCount")) { - m_scannedCount = jsonValue.GetInteger("ScannedCount"); - m_scannedCountHasBeenSet = true; - } - if (jsonValue.ValueExists("LastEvaluatedKey")) { - Aws::Map lastEvaluatedKeyJsonMap = jsonValue.GetObject("LastEvaluatedKey").GetAllObjects(); - for (auto& lastEvaluatedKeyItem : lastEvaluatedKeyJsonMap) { - m_lastEvaluatedKey[lastEvaluatedKeyItem.first] = lastEvaluatedKeyItem.second.AsObject(); - } - m_lastEvaluatedKeyHasBeenSet = true; - } - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +ScanResult& ScanResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchResultItem.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchResultItem.cpp index aad3b793965f..2b66bb3d9607 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchResultItem.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchResultItem.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,36 +20,10 @@ namespace Model { SearchResultItem::SearchResultItem(JsonView jsonValue) { *this = jsonValue; } -SearchResultItem& SearchResultItem::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("Item")) { - Aws::Map itemJsonMap = jsonValue.GetObject("Item").GetAllObjects(); - for (auto& itemItem : itemJsonMap) { - m_item[itemItem.first] = itemItem.second.AsObject(); - } - m_itemHasBeenSet = true; - } - if (jsonValue.ValueExists("Score")) { - m_score = jsonValue.GetDouble("Score"); - m_scoreHasBeenSet = true; - } - return *this; -} +SearchResultItem& SearchResultItem::operator=(JsonView jsonValue) { return *this; } JsonValue SearchResultItem::Jsonize() const { JsonValue payload; - - if (m_itemHasBeenSet) { - JsonValue itemJsonMap; - for (auto& itemItem : m_item) { - itemJsonMap.WithObject(itemItem.first, itemItem.second.Jsonize()); - } - payload.WithObject("Item", std::move(itemJsonMap)); - } - - if (m_scoreHasBeenSet) { - payload.WithDouble("Score", m_score); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElement.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElement.cpp index 3dde48531b38..3d0b06fa6023 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElement.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElement.cpp @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include #include +#include #include #include @@ -17,31 +20,10 @@ namespace Model { SearchSchemaElement::SearchSchemaElement(JsonView jsonValue) { *this = jsonValue; } -SearchSchemaElement& SearchSchemaElement::operator=(JsonView jsonValue) { - if (jsonValue.ValueExists("AttributeName")) { - m_attributeName = jsonValue.GetString("AttributeName"); - m_attributeNameHasBeenSet = true; - } - if (jsonValue.ValueExists("SearchSchemaElementType")) { - m_searchSchemaElementType = - SearchSchemaElementTypeMapper::GetSearchSchemaElementTypeForName(jsonValue.GetString("SearchSchemaElementType")); - m_searchSchemaElementTypeHasBeenSet = true; - } - return *this; -} +SearchSchemaElement& SearchSchemaElement::operator=(JsonView jsonValue) { return *this; } JsonValue SearchSchemaElement::Jsonize() const { JsonValue payload; - - if (m_attributeNameHasBeenSet) { - payload.WithString("AttributeName", m_attributeName); - } - - if (m_searchSchemaElementTypeHasBeenSet) { - payload.WithString("SearchSchemaElementType", - SearchSchemaElementTypeMapper::GetNameForSearchSchemaElementType(m_searchSchemaElementType)); - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElementType.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElementType.cpp index 4f4f61a6b301..8ebb39dfd90a 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElementType.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchSchemaElementType.cpp @@ -30,7 +30,6 @@ SearchSchemaElementType GetSearchSchemaElementTypeForName(const Aws::String& nam overflowContainer->StoreOverflow(hashCode, name); return static_cast(hashCode); } - return SearchSchemaElementType::NOT_SET; } @@ -47,7 +46,6 @@ Aws::String GetNameForSearchSchemaElementType(SearchSchemaElementType enumValue) if (overflowContainer) { return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } - return {}; } } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsRequest.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsRequest.cpp index 1720d53bf850..f6a36a4b0bd9 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsRequest.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsRequest.cpp @@ -3,68 +3,22 @@ * SPDX-License-Identifier: Apache-2.0. */ +#include +#include +#include +#include #include +#include #include +#include #include using namespace Aws::DynamoDB::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; -Aws::String SearchVectorsRequest::SerializePayload() const { - JsonValue payload; - - if (m_tableNameHasBeenSet) { - payload.WithString("TableName", m_tableName); - } - - if (m_indexNameHasBeenSet) { - payload.WithString("IndexName", m_indexName); - } - - if (m_returnConsumedCapacityHasBeenSet) { - payload.WithString("ReturnConsumedCapacity", ReturnConsumedCapacityMapper::GetNameForReturnConsumedCapacity(m_returnConsumedCapacity)); - } - - if (m_expressionAttributeNamesHasBeenSet) { - JsonValue expressionAttributeNamesJsonMap; - for (auto& expressionAttributeNamesItem : m_expressionAttributeNames) { - expressionAttributeNamesJsonMap.WithString(expressionAttributeNamesItem.first, expressionAttributeNamesItem.second); - } - payload.WithObject("ExpressionAttributeNames", std::move(expressionAttributeNamesJsonMap)); - } - - if (m_expressionAttributeValuesHasBeenSet) { - JsonValue expressionAttributeValuesJsonMap; - for (auto& expressionAttributeValuesItem : m_expressionAttributeValues) { - expressionAttributeValuesJsonMap.WithObject(expressionAttributeValuesItem.first, expressionAttributeValuesItem.second.Jsonize()); - } - payload.WithObject("ExpressionAttributeValues", std::move(expressionAttributeValuesJsonMap)); - } - - if (m_projectionExpressionHasBeenSet) { - payload.WithString("ProjectionExpression", m_projectionExpression); - } - - if (m_searchVectorHasBeenSet) { - Aws::Utils::Array searchVectorJsonList(m_searchVector.size()); - for (unsigned searchVectorIndex = 0; searchVectorIndex < searchVectorJsonList.GetLength(); ++searchVectorIndex) { - searchVectorJsonList[searchVectorIndex].AsObject(m_searchVector[searchVectorIndex].Jsonize()); - } - payload.WithArray("SearchVector", std::move(searchVectorJsonList)); - } - - if (m_searchConditionExpressionHasBeenSet) { - payload.WithString("SearchConditionExpression", m_searchConditionExpression); - } - - if (m_topKHasBeenSet) { - payload.WithInteger("TopK", m_topK); - } - - return payload.View().WriteReadable(); -} +Aws::String SearchVectorsRequest::SerializePayload() const { return "{}"; } Aws::Http::HeaderValueCollection SearchVectorsRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsResult.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsResult.cpp index 73721c124d41..a951b8c9a0d2 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsResult.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/SearchVectorsResult.cpp @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -19,27 +20,4 @@ using namespace Aws; SearchVectorsResult::SearchVectorsResult(const Aws::AmazonWebServiceResult& result) { *this = result; } -SearchVectorsResult& SearchVectorsResult::operator=(const Aws::AmazonWebServiceResult& result) { - m_HttpResponseCode = result.GetResponseCode(); - JsonView jsonValue = result.GetPayload().View(); - if (jsonValue.ValueExists("ConsumedCapacity")) { - m_consumedCapacity = jsonValue.GetObject("ConsumedCapacity"); - m_consumedCapacityHasBeenSet = true; - } - if (jsonValue.ValueExists("SearchResults")) { - Aws::Utils::Array searchResultsJsonList = jsonValue.GetArray("SearchResults"); - for (unsigned searchResultsIndex = 0; searchResultsIndex < searchResultsJsonList.GetLength(); ++searchResultsIndex) { - m_searchResults.push_back(searchResultsJsonList[searchResultsIndex].AsObject()); - } - m_searchResultsHasBeenSet = true; - } - - const auto& headers = result.GetHeaderValueCollection(); - const auto& requestIdIter = headers.find("x-amzn-requestid"); - if (requestIdIter != headers.end()) { - m_requestId = requestIdIter->second; - m_requestIdHasBeenSet = true; - } - - return *this; -} +SearchVectorsResult& SearchVectorsResult::operator=(const Aws::AmazonWebServiceResult& result) { return *this; } diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/model/Select.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/model/Select.cpp index 7fb6752614fc..73507337b381 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/model/Select.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/model/Select.cpp @@ -36,7 +36,6 @@ Select GetSelectForName(const Aws::String& name) { overflowContainer->StoreOverflow(hashCode, name); return static_cast with a collision-renamed getter (GetMemberBody, - // because GetBody is reserved). The member has no templated setter and stores a shared_ptr. + // C2J renders an event-stream (input) member specially: inline empty SerializePayload, a + // GetBody() override, and the member as shared_ptr with a renamed getter (GetMemberBody). String h = renderRequestHeaderForStreamingOp(true, true); assertTrue(h.contains("#include "), "Missing include: " + h); assertTrue(h.contains("Aws::String SerializePayload() const override { return {}; }"), @@ -157,15 +273,13 @@ void bidirectionalRequest_rendersEventStreamInputMemberAsSharedPtr() { @Test void bidirectionalRequestSource_definesGetBody() { - // The header declares `std::shared_ptr GetBody() const override;`, so the - // source MUST define it (returning the event-stream member) or linking fails. Matches C2J - // StreamRequestSource.vm. + // Header declares GetBody() const override, so the source MUST define it (returning the + // event-stream member) or linking fails. Matches C2J StreamRequestSource.vm. String c = renderStreamingOp(true, true, "DoStreamRequest.cpp"); assertTrue(c.contains( "std::shared_ptr DoStreamRequest::GetBody() const { return m_body; }"), "Bidirectional request source must define GetBody() returning the event-stream member: " + c); - // C2J's event-stream request source pulls AmazonWebServiceResult.h and the Stream/Aws - // usings rather than the JSON serde header. + // C2J's event-stream request source pulls AmazonWebServiceResult.h + Stream/Aws usings, not JSON serde. assertTrue(c.contains("#include "), c); assertTrue(c.contains("using namespace Aws::Utils::Stream;"), c); } @@ -200,10 +314,8 @@ private static Model queryMemberModel() { } /** - * Request headers must NOT include {@code } even when they declare - * URI-taking methods: the base {@code AmazonWebServiceRequest.h} forward-declares - * {@code Aws::Http::URI}, which suffices for a reference parameter, and C2J omits the - * include. Emitting it would break byte-parity with the C2J output. + * Request headers must NOT include {@code }: the base + * {@code AmazonWebServiceRequest.h} forward-declares {@code Aws::Http::URI}, and C2J omits it. */ @Test void requestWithQueryMember_doesNotIncludeUriHeader() { @@ -263,10 +375,8 @@ private static String renderRawStreamingPayloadRequest(String fileSuffix) { @Test void rawStreamingPayloadRequest_usesStreamingBaseClassAndDropsPayloadMembers() { - // C2J: a request with a raw streaming @httpPayload member derives from - // StreamingRequest, which supplies GetBody/SetBody and GetContentType/SetContentType. - // The payload member (body) and the contentType member are stripped, and SerializePayload - // is not emitted (the base handles the body). Other members (modelId) remain. + // C2J: a raw streaming @httpPayload request derives from StreamingRequest (supplies + // GetBody/GetContentType); the body + contentType members and SerializePayload are dropped. String h = renderRawStreamingPayloadRequest("DoStreamRequest.h"); assertTrue(h.contains("class DoStreamRequest : public StreamingExampleRequest {"), "Must derive from StreamingExampleRequest: " + h); @@ -304,11 +414,7 @@ void rawStreamingPayloadRequestSource_usesStreamIncludesNotJsonSerde() { "Streaming-payload request source must not use the Json namespace: " + c); } - /** - * Same as {@link #rawStreamingPayloadRequestModel()} but under REST-JSON, where {@code contentType} - * (stripped, supplied by the streaming base) is the ONLY header-bound member and - * {@code hasTargetHeader()} is false. This is the combination that exposes header/source drift. - */ + /** Like {@link #rawStreamingPayloadRequestModel()} but REST-JSON, where the stripped {@code contentType} is the only header-bound member ({@code hasTargetHeader()} false) — exposes header/source drift. */ private static Model rawStreamingPayloadRestJsonRequestModel() { StringShape str = StringShape.builder().id("com.example#String").build(); software.amazon.smithy.model.shapes.BlobShape blob = @@ -353,11 +459,7 @@ private static String renderRawStreamingPayloadRestJsonRequest(String fileSuffix // --- @httpChecksum --- - /** - * A JSON operation with @httpChecksum. The input carries a {@code checksumAlgorithm} enum member - * (for requestAlgorithmMember) and a {@code checksumMode} enum member (for - * requestValidationModeMember); the trait is configured from the given values. - */ + /** JSON op with @httpChecksum; input carries {@code checksumAlgorithm} and {@code checksumMode} enum members. */ private static Model httpChecksumModel(software.amazon.smithy.aws.traits.HttpChecksumTrait trait) { StringShape str = StringShape.builder().id("com.example#String").build(); software.amazon.smithy.model.shapes.EnumShape algo = @@ -451,10 +553,8 @@ void httpChecksumRequestChecksumRequired_rendersInlineOverride() { @Test void httpChecksumRequired_rendersInlineShouldComputeContentMd5() { - // The legacy smithy.api#httpChecksumRequired trait (s3control uses it) requests a - // Content-MD5 header. C2J derives Shape.computeContentMd5 from it and emits an inline - // ShouldComputeContentMd5() override (RequestHeader.vm:105-108, no .cpp body). Distinct - // from the flexible @httpChecksum trait. + // The legacy smithy.api#httpChecksumRequired trait (s3control) emits an inline + // ShouldComputeContentMd5() override (no .cpp body); distinct from the flexible @httpChecksum. StringShape str = StringShape.builder().id("com.example#String").build(); StructureShape input = StructureShape.builder().id("com.example#PutThingInput") .addMember("name", str.getId()).build(); @@ -504,11 +604,7 @@ void requestWithoutHttpChecksum_emitsNoChecksumMethods() { // --- @requestCompression --- - /** - * Model for a JSON operation carrying {@code @requestCompression(encodings: ["gzip"])} on - * either a plain input (streaming = false) or a raw {@code @httpPayload} blob body input - * (streaming = true). - */ + /** JSON op with {@code @requestCompression(encodings: ["gzip"])} on a plain input (streaming=false) or a raw {@code @httpPayload} blob body (streaming=true). */ private static Model requestCompressionModel(boolean streaming, java.util.List encodings) { StringShape str = StringShape.builder().id("com.example#String").build(); StructureShape.Builder input = StructureShape.builder().id("com.example#PutThingInput"); @@ -559,10 +655,8 @@ private static String renderCompressionRequest(boolean streaming, String fileSuf @Test void requestCompressionGzip_headerDeclaresGuardedVirtualOverride() { - // C2J's RequestHeader.vm:148-156 emits GetSelectedCompressionAlgorithm as a virtual override - // gated by ENABLED_ZLIB_REQUEST_COMPRESSION. The types (CompressionAlgorithm, - // RequestCompressionConfig) come from the base AmazonWebServiceRequest.h transitively — - // NO extra include in the request header. + // C2J emits GetSelectedCompressionAlgorithm as a virtual override gated by + // ENABLED_ZLIB_REQUEST_COMPRESSION; its types come from the base transitively (no extra include). String h = renderCompressionRequest(false, "PutThingRequest.h"); assertTrue(h.contains("#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION"), "Missing ENABLED_ZLIB_REQUEST_COMPRESSION guard: " + h); @@ -575,10 +669,8 @@ void requestCompressionGzip_headerDeclaresGuardedVirtualOverride() { @Test void requestCompressionGzip_nonStreamingSourceUsesBodySizeCheck() { - // Non-streaming variant (ModelClassRequiredCompression.vm): DISABLE -> NONE, then read the - // already-serialized body via AmazonSerializableWebServiceRequest::GetBody(), compare its - // size to config.requestMinCompressionSizeBytes, and either NONE or GZIP. Matches cloudwatch - // PutMetricDataRequest.cpp exactly. Body only touches base state; NOT serde-blocked. + // Non-streaming variant: DISABLE -> NONE, else compare the serialized body size to + // config.requestMinCompressionSizeBytes to pick NONE or GZIP. Matches cloudwatch PutMetricDataRequest.cpp. String c = renderCompressionRequest(false, "PutThingRequest.cpp"); assertTrue(c.contains("#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION"), c); assertTrue(c.contains( @@ -648,12 +740,9 @@ void requestWithoutCompressionTrait_emitsNothingCompressionRelated() { @Test void rawStreamingPayloadRequestRestJson_headerAndSourceAgreeOnRequestSpecificHeaders() { - // Under a REST protocol (hasTargetHeader() == false), a raw-streaming-payload request whose - // ONLY header-bound member is the stripped contentType must emit GetRequestSpecificHeaders in - // NEITHER the header nor the source. The header renders from the contentType-excluded shape; - // the source MUST render from the same shape. Otherwise the source defines - // GetRequestSpecificHeaders() out-of-line for a method the header never declares (a C++ - // compile error). + // Under REST (hasTargetHeader()==false), a raw-streaming-payload request whose only + // header-bound member is the stripped contentType must emit GetRequestSpecificHeaders in neither + // header nor source, else the source defines a method the header never declares (compile error). String h = renderRawStreamingPayloadRestJsonRequest("DoStreamRequest.h"); String c = renderRawStreamingPayloadRestJsonRequest("DoStreamRequest.cpp"); assertFalse(h.contains("GetRequestSpecificHeaders"), @@ -661,4 +750,368 @@ void rawStreamingPayloadRequestRestJson_headerAndSourceAgreeOnRequestSpecificHea assertFalse(c.contains("GetRequestSpecificHeaders"), "Source must not define GetRequestSpecificHeaders (contentType is stripped): " + c); } + + // --- smithy.rules#operationContextParams --- + + /** Operation carrying ONLY smithy.rules#operationContextParams (no static, no member-level). */ + private static Model operationContextParamsOnlyModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + // Map for keys(RequestItems) — the JMESPath the trait resolves. + MapShape requestItemsMap = MapShape.builder() + .id("com.example#RequestItemsMap") + .key(MemberShape.builder().id("com.example#RequestItemsMap$key").target(str.getId()).build()) + .value(MemberShape.builder().id("com.example#RequestItemsMap$value").target(str.getId()).build()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoBatchInput") + .addMember("RequestItems", requestItemsMap.getId()) + .build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoBatchOutput").addMember("r", str.getId()).build(); + OperationContextParamsTrait ctxTrait = OperationContextParamsTrait.builder() + .putParameter("ResourceArnList", + OperationContextParamDefinition.builder().path("keys(RequestItems)").build()) + .build(); + OperationShape op = OperationShape.builder() + .id("com.example#DoBatch").input(input.getId()).output(output.getId()) + .addTrait(ctxTrait).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#Example").version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, requestItemsMap, input, output, op, service).build(); + } + + private static String renderOperationContextRequest(Model model, String fileSuffix) { + ServiceShape service = model.expectShape(ShapeId.from("com.example#Example"), ServiceShape.class); + MockManifest manifest = new MockManifest(); + CppWriterDelegator delegator = new CppWriterDelegator(manifest); + Protocol protocol = ProtocolResolver.resolve(service, model); + new RequestRenderer( + ShapeClassifier.classify(model, service, protocol).requests(), + new RenderContext(model, service, ProtocolResolver.traitsFor(protocol), + "Example", "AWS_EXAMPLE_API", "example")).render(delegator); + delegator.flushWriters(); + return manifest.getFileString(manifest.getFiles().stream() + .filter(p -> p.toString().endsWith(fileSuffix)).findFirst().orElseThrow()).orElseThrow(); + } + + @Test + void operationContextParams_headerDeclaresGetters() { + // An op carrying only smithy.rules#operationContextParams must emit both GetEndpointContextParams() + // and GetOperationContextParams() in its request header. + String h = renderOperationContextRequest(operationContextParamsOnlyModel(), "DoBatchRequest.h"); + assertTrue(h.contains("EndpointParameters GetEndpointContextParams() const override;"), + "Missing GetEndpointContextParams decl: " + h); + assertTrue(h.contains("Aws::Vector GetOperationContextParams() const;"), + "Missing GetOperationContextParams decl: " + h); + } + + /** Struct-dot-string: TableCreationParameters.TableName. */ + private static Model operationContextParams_dotAccessModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape tcp = StructureShape.builder() + .id("com.example#TableCreationParameters").addMember("TableName", str.getId()).build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoBatchInput") + .addMember("TableCreationParameters", tcp.getId()).build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoBatchOutput").addMember("r", str.getId()).build(); + OperationContextParamsTrait trait = OperationContextParamsTrait.builder() + .putParameter("ResourceArn", + OperationContextParamDefinition.builder().path("TableCreationParameters.TableName").build()) + .build(); + OperationShape op = OperationShape.builder() + .id("com.example#DoBatch").input(input.getId()).output(output.getId()).addTrait(trait).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#Example").version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, tcp, input, output, op, service).build(); + } + + /** List-projection-dot-string: TransactItems[*].Get.TableName. */ + private static Model operationContextParams_projectionModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape get = StructureShape.builder() + .id("com.example#Get").addMember("TableName", str.getId()).build(); + StructureShape item = StructureShape.builder() + .id("com.example#Item").addMember("Get", get.getId()).build(); + ListShape list = ListShape.builder() + .id("com.example#Items") + .member(MemberShape.builder().id("com.example#Items$member").target(item.getId()).build()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoBatchInput").addMember("TransactItems", list.getId()).build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoBatchOutput").addMember("r", str.getId()).build(); + OperationContextParamsTrait trait = OperationContextParamsTrait.builder() + .putParameter("ResourceArnList", + OperationContextParamDefinition.builder().path("TransactItems[*].Get.TableName").build()) + .build(); + OperationShape op = OperationShape.builder() + .id("com.example#DoBatch").input(input.getId()).output(output.getId()).addTrait(trait).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#Example").version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, get, item, list, input, output, op, service).build(); + } + + /** Multi-select-list flatten: TransactItems[*].[ConditionCheck.TableName, Put.TableName, Delete.TableName, Update.TableName][]. */ + private static Model operationContextParams_multiSelectFlattenModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape cc = StructureShape.builder() + .id("com.example#CC").addMember("TableName", str.getId()).build(); + StructureShape put = StructureShape.builder() + .id("com.example#Put").addMember("TableName", str.getId()).build(); + StructureShape del = StructureShape.builder() + .id("com.example#Delete").addMember("TableName", str.getId()).build(); + StructureShape upd = StructureShape.builder() + .id("com.example#Update").addMember("TableName", str.getId()).build(); + StructureShape item = StructureShape.builder() + .id("com.example#Item") + .addMember("ConditionCheck", cc.getId()) + .addMember("Put", put.getId()) + .addMember("Delete", del.getId()) + .addMember("Update", upd.getId()).build(); + ListShape list = ListShape.builder() + .id("com.example#Items") + .member(MemberShape.builder().id("com.example#Items$member").target(item.getId()).build()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoBatchInput").addMember("TransactItems", list.getId()).build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoBatchOutput").addMember("r", str.getId()).build(); + OperationContextParamsTrait trait = OperationContextParamsTrait.builder() + .putParameter("ResourceArnList", + OperationContextParamDefinition.builder() + .path("TransactItems[*].[ConditionCheck.TableName, Put.TableName, Delete.TableName, Update.TableName][]").build()) + .build(); + OperationShape op = OperationShape.builder() + .id("com.example#DoBatch").input(input.getId()).output(output.getId()).addTrait(trait).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#Example").version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, cc, put, del, upd, item, list, input, output, op, service).build(); + } + + @Test + void operationContextParams_keysPattern_endToEnd() { + // Uses Task 1's operationContextParamsOnlyModel() (keys(RequestItems)). + String h = renderOperationContextRequest(operationContextParamsOnlyModel(), "DoBatchRequest.h"); + String c = renderOperationContextRequest(operationContextParamsOnlyModel(), "DoBatchRequest.cpp"); + assertTrue(h.contains("EndpointParameters GetEndpointContextParams() const override;"), h); + assertTrue(h.contains("Aws::Vector GetOperationContextParams() const;"), h); + assertTrue(c.contains( + "parameters.emplace_back(Aws::String{\"ResourceArnList\"}, this->GetOperationContextParams()"), c); + assertTrue(c.contains("Aws::Vector DoBatchRequest::GetOperationContextParams() const"), c); + assertTrue(c.contains("auto& RequestItemsElems = (*this).GetRequestItems();"), c); + assertTrue(c.contains("for (auto& keysElem : RequestItemsElems)"), c); + assertTrue(c.contains("result.emplace_back(keysElem.first);"), c); + } + + @Test + void operationContextParams_dotAccessPattern_endToEnd() { + Model model = operationContextParams_dotAccessModel(); + String h = renderOperationContextRequest(model, "DoBatchRequest.h"); + String c = renderOperationContextRequest(model, "DoBatchRequest.cpp"); + assertTrue(h.contains("Aws::Vector GetOperationContextParams() const;"), h); + assertTrue(c.contains( + "parameters.emplace_back(Aws::String{\"ResourceArn\"}, this->GetOperationContextParams()"), c); + assertTrue(c.contains( + "auto& TableCreationParametersElems = (*this).GetTableCreationParameters().GetTableName();"), c); + assertTrue(c.contains("result.emplace_back(TableCreationParametersElems);"), c); + assertFalse(c.contains("for (auto&"), + "Dot-access pattern must not emit a for-loop: " + c); + } + + @Test + void operationContextParams_projectionPattern_endToEnd() { + Model model = operationContextParams_projectionModel(); + String c = renderOperationContextRequest(model, "DoBatchRequest.cpp"); + assertTrue(c.contains("auto& TransactItemsElems = (*this).GetTransactItems();"), c); + assertTrue(c.contains("for (auto& TransactItemsElem : TransactItemsElems)"), c); + assertTrue(c.contains( + "auto& GetElems = TransactItemsElem.GetGet().GetTableName();"), c); + assertTrue(c.contains("result.emplace_back(GetElems);"), c); + } + + @Test + void operationContextParams_multiSelectFlattenPattern_endToEnd() { + Model model = operationContextParams_multiSelectFlattenModel(); + String c = renderOperationContextRequest(model, "DoBatchRequest.cpp"); + assertTrue(c.contains("for (auto& TransactItemsElem : TransactItemsElems)"), c); + // Each of the four field-access branches must appear inside the loop body. + for (String branch : java.util.List.of("ConditionCheck", "Put", "Delete", "Update")) { + assertTrue(c.contains( + "auto& " + branch + "Elems = TransactItemsElem.Get" + branch + "().GetTableName();"), + "Missing branch " + branch + ": " + c); + assertTrue(c.contains("result.emplace_back(" + branch + "Elems);"), + "Missing result push for " + branch + ": " + c); + } + } + + // --- aws.auth#unsignedPayload (SignBody) --- + + /** Op with {@code aws.auth#unsignedPayload} ({@code marked}); {@code emptyInput} toggles a member to exercise the {@code !members.isEmpty()} guard. */ + private static Model unsignedPayloadModel(boolean marked, boolean emptyInput) { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape.Builder inB = StructureShape.builder().id("com.example#DoThingRequest"); + if (!emptyInput) { + inB.addMember("name", str.getId()); + } + StructureShape input = inB.build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoThingOutput").addMember("result", str.getId()).build(); + OperationShape.Builder opB = OperationShape.builder().id("com.example#DoThing") + .input(input.getId()).output(output.getId()); + if (marked) { + opB.addTrait(new software.amazon.smithy.aws.traits.auth.UnsignedPayloadTrait()); + } + OperationShape op = opB.build(); + ServiceShape service = ServiceShape.builder().id("com.example#Example") + .version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, input, output, op, service).build(); + } + + @Test + void unsignedPayloadTrait_emitsSignBodyFalse() { + // C2J RequestHeader.vm: a v4-unsigned-body request with members emits SignBody() -> false. + // In Smithy that maps to the operation carrying aws.auth#unsignedPayload. + String h = renderDoThingRequestHeader(unsignedPayloadModel(true, false)); + assertTrue(h.contains("bool SignBody() const override { return false; }"), + "@unsignedPayload op with members must emit SignBody() -> false: " + h); + } + + @Test + void withoutUnsignedPayloadTrait_omitsSignBody() { + String h = renderDoThingRequestHeader(unsignedPayloadModel(false, false)); + assertFalse(h.contains("SignBody"), + "op without @unsignedPayload must not emit SignBody: " + h); + } + + @Test + void unsignedPayloadTraitWithEmptyRequest_omitsSignBody() { + // The !members.isEmpty() guard: an @unsignedPayload op whose request has no members + // must not emit SignBody (matches C2J's $shape.members.size() > 0 gate). + String h = renderDoThingRequestHeader(unsignedPayloadModel(true, true)); + assertFalse(h.contains("SignBody"), + "@unsignedPayload op with an empty request must not emit SignBody: " + h); + } + + // --- aws.cpp.internal#chunkedEncoding (IsChunked) --- + + private static Model chunkedEncodingModel(boolean marked) { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape.Builder inB = StructureShape.builder() + .id("com.example#DoThingRequest").addMember("name", str.getId()); + if (marked) { + inB.addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms.ChunkedEncodingTrait()); + } + StructureShape input = inB.build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoThingOutput").addMember("result", str.getId()).build(); + OperationShape op = OperationShape.builder().id("com.example#DoThing") + .input(input.getId()).output(output.getId()).build(); + ServiceShape service = ServiceShape.builder().id("com.example#Example") + .version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, input, output, op, service).build(); + } + + @Test + void chunkedEncodingTrait_emitsIsChunkedTrue() { + // C2J RequestHeader.vm emits IsChunked() -> true for a chunked-encoding request; the marker + // (stamped by ChunkedEncodingTransform) drives the same override here. + String h = renderDoThingRequestHeader(chunkedEncodingModel(true)); + assertTrue(h.contains("bool IsChunked() const override { return true; }"), + "ChunkedEncodingTrait must emit the IsChunked override: " + h); + } + + @Test + void withoutChunkedEncodingTrait_omitsIsChunked() { + String h = renderDoThingRequestHeader(chunkedEncodingModel(false)); + assertFalse(h.contains("IsChunked"), + "unmarked requests must not emit IsChunked: " + h); + } + + // --- aws.cpp.internal#longPolling (IsLongPollingOperation) --- + + private static Model longPollingModel(boolean marked) { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape.Builder inB = StructureShape.builder() + .id("com.example#DoThingRequest").addMember("name", str.getId()); + if (marked) { + inB.addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms.LongPollingTrait()); + } + StructureShape input = inB.build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoThingOutput").addMember("result", str.getId()).build(); + OperationShape op = OperationShape.builder().id("com.example#DoThing") + .input(input.getId()).output(output.getId()).build(); + ServiceShape service = ServiceShape.builder().id("com.example#Example") + .version("2024-01-01").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, input, output, op, service).build(); + } + + // An operation whose shape id is version-suffixed (CloudFront-style) but stamped with the clean + // logical name via ServiceRequestNameTrait. + private static Model serviceRequestNameModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoThing2020_05_31Request").addMember("name", str.getId()).build(); + StructureShape output = StructureShape.builder() + .id("com.example#DoThing2020_05_31Output").addMember("result", str.getId()).build(); + OperationShape op = OperationShape.builder().id("com.example#DoThing2020_05_31") + .input(input.getId()).output(output.getId()) + .addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms + .ServiceRequestNameTrait("DoThing")) + .build(); + ServiceShape service = ServiceShape.builder().id("com.example#Example") + .version("2020-05-31").addOperation(op.getId()).build(); + return Model.builder().addShapes(str, input, output, op, service).build(); + } + + @Test + void serviceRequestNameTrait_keepsGetServiceRequestNameClean_whileClassStaysSuffixed() { + Model model = serviceRequestNameModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#Example"), ServiceShape.class); + MockManifest manifest = new MockManifest(); + CppWriterDelegator delegator = new CppWriterDelegator(manifest); + Protocol protocol = ProtocolResolver.resolve(service, model); + new RequestRenderer(ShapeClassifier.classify(model, service, protocol).requests(), + new RenderContext(model, service, ProtocolResolver.traitsFor(protocol), + "Example", "AWS_EXAMPLE_API", "example")).render(delegator); + delegator.flushWriters(); + String h = manifest.getFileString(manifest.getFiles().stream() + .filter(p -> p.toString().endsWith("DoThing2020_05_31Request.h")).findFirst().orElseThrow()) + .orElseThrow(); + assertTrue(h.contains("GetServiceRequestName() const override { return \"DoThing\"; }"), + "GetServiceRequestName must return the clean name from the trait: " + h); + assertTrue(h.contains("class DoThing2020_05_31Request"), + "class name must keep the version suffix: " + h); + } + + @Test + void longPollingTrait_emitsIsLongPollingOperationTrue() { + // C2J emits IsLongPollingOperation() -> true for a long-polling request; the marker (stamped + // by LongPollingTransform) drives the same override here. + String h = renderDoThingRequestHeader(longPollingModel(true)); + assertTrue(h.contains("bool IsLongPollingOperation() const override { return true; }"), + "LongPollingTrait must emit the IsLongPollingOperation override: " + h); + } + + @Test + void longPollingTrait_emittedWithTopIdentityMethods() { + // Ordering: IsLongPollingOperation sits with the top identity methods (after + // GetServiceRequestName, before SerializePayload), not the SignBody/IsChunked block. + String h = renderDoThingRequestHeader(longPollingModel(true)); + int requestName = h.indexOf("GetServiceRequestName"); + int longPolling = h.indexOf("IsLongPollingOperation"); + int serializePayload = h.indexOf("SerializePayload"); + assertTrue(requestName >= 0 && longPolling > requestName, + "IsLongPollingOperation must come after GetServiceRequestName: " + h); + assertTrue(serializePayload >= 0 && longPolling < serializePayload, + "IsLongPollingOperation must come before SerializePayload (top identity block): " + h); + } + + @Test + void withoutLongPollingTrait_omitsIsLongPollingOperation() { + String h = renderDoThingRequestHeader(longPollingModel(false)); + assertFalse(h.contains("IsLongPollingOperation"), + "unmarked requests must not emit IsLongPollingOperation: " + h); + } } diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ResultRendererTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ResultRendererTest.java index eeea14d4920b..c543526c953e 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ResultRendererTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ResultRendererTest.java @@ -57,11 +57,42 @@ private static String renderResultHeader(Trait protocolTrait) { .filter(p -> p.toString().endsWith("DoThingResult.h")).findFirst().orElseThrow()).orElseThrow(); } + /** Renders the result header for the one-member model under the given smithyServiceName. */ + private static java.util.List renderResultFileNames(Trait protocolTrait, String smithyServiceName) { + Model model = oneMemberOutputModel(protocolTrait); + ServiceShape service = model.expectShape(ShapeId.from("com.example#Example"), ServiceShape.class); + MockManifest manifest = new MockManifest(); + CppWriterDelegator delegator = new CppWriterDelegator(manifest); + Protocol protocol = ProtocolResolver.resolve(service, model); + new ResultRenderer( + ShapeClassifier.classify(model, service, protocol).results(), + new RenderContext(model, service, ProtocolResolver.traitsFor(protocol), + "Example", "AWS_EXAMPLE_API", smithyServiceName)).render(delegator); + delegator.flushWriters(); + return manifest.getFiles().stream().map(java.nio.file.Path::toString) + .collect(java.util.stream.Collectors.toList()); + } + + @Test + void ec2Result_usesResponseSuffix() { + // ShapeUtil.getResultSuffix returns "Response" for the ec2 service, so EC2 result + // classes/files must be named *Response, matching the legacy C2J generator. + java.util.List ec2Files = + renderResultFileNames(software.amazon.smithy.aws.traits.protocols.RestJson1Trait.builder().build(), "ec2"); + assertTrue(ec2Files.stream().anyMatch(f -> f.endsWith("DoThingResponse.h")), ec2Files.toString()); + assertTrue(ec2Files.stream().anyMatch(f -> f.endsWith("DoThingResponse.cpp")), ec2Files.toString()); + assertFalse(ec2Files.stream().anyMatch(f -> f.endsWith("DoThingResult.h")), ec2Files.toString()); + + // Non-ec2 services keep the "Result" suffix. + java.util.List otherFiles = + renderResultFileNames(software.amazon.smithy.aws.traits.protocols.RestJson1Trait.builder().build(), "example"); + assertTrue(otherFiles.stream().anyMatch(f -> f.endsWith("DoThingResult.h")), otherFiles.toString()); + } + @Test void cborResult_omitsHasBeenSetAccessors() { // C2J's CborResultHeader.vm sets useRequiredField=false, so result classes never emit - // HasBeenSet() accessors — same as every other protocol. (Only sub-object and request - // headers set useRequiredField=true.) + // HasBeenSet() accessors (only sub-object and request headers do). String h = renderResultHeader(software.amazon.smithy.protocol.traits.Rpcv2CborTrait.builder().build()); assertFalse(h.contains("HasBeenSet() const"), h); } @@ -272,4 +303,64 @@ void statusCodeMember_setFromResponseCode() { String cpp = renderResultSource(statusCodeResultModel(), "StatResult.cpp"); assertTrue(cpp.contains("m_status = static_cast(result.GetResponseCode());"), cpp); } + + /** + * A one-member rest-xml output whose output structure optionally carries the internal + * {@link com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms.TopLevelHostIdTrait} marker. + */ + private static Model hostIdResultModel(boolean marked) { + StringShape str = StringShape.builder().id("com.example#Str").build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoThingInput").addMember("name", str.getId()).build(); + StructureShape.Builder outputBuilder = StructureShape.builder() + .id("com.example#DoThingOutput").addMember("field", str.getId()); + if (marked) { + outputBuilder.addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators + .model.transforms.TopLevelHostIdTrait()); + } + StructureShape output = outputBuilder.build(); + OperationShape op = OperationShape.builder() + .id("com.example#DoThing").input(input.getId()).output(output.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#Example").version("2024-01-01") + .addTrait(software.amazon.smithy.aws.traits.protocols.RestXmlTrait.builder().build()) + .addOperation(op.getId()).build(); + return Model.builder().addShapes(str, input, output, op, service).build(); + } + + @Test + void hostIdTrait_rendersHostIdGroupAfterRequestId() { + String h = renderResultSource(hostIdResultModel(true), "DoThingResult.h"); + assertTrue(h.contains("inline const Aws::String& GetHostId() const { return m_hostId; }"), h); + assertTrue(h.contains("x-amz-id-2 header value, also known as Host Id"), h); + assertTrue(h.contains("Aws::String m_hostId;"), h); + assertTrue(h.contains("bool m_hostIdHasBeenSet = false;"), h); + + // The HostId accessor group renders immediately after the RequestId group. + int reqAccessor = h.indexOf("GetRequestId"); + int hostAccessor = h.indexOf("GetHostId"); + assertTrue(reqAccessor >= 0 && hostAccessor > reqAccessor, + "HostId accessor group must follow the RequestId group: " + h); + + // m_hostId is declared immediately after m_requestId in the private section. + int reqMember = h.indexOf("Aws::String m_requestId;"); + int hostMember = h.indexOf("Aws::String m_hostId;"); + assertTrue(reqMember >= 0 && hostMember > reqMember, + "m_hostId must be declared after m_requestId: " + h); + + int reqFlag = h.indexOf("bool m_requestIdHasBeenSet = false;"); + int hostFlag = h.indexOf("bool m_hostIdHasBeenSet = false;"); + assertTrue(reqFlag >= 0 && hostFlag > reqFlag, + "m_hostIdHasBeenSet must be declared after m_requestIdHasBeenSet: " + h); + } + + @Test + void noHostIdTrait_omitsHostIdGroup() { + String h = renderResultSource(hostIdResultModel(false), "DoThingResult.h"); + // A rest-xml result still gets the sibling top-level RequestId group ... + assertTrue(h.contains("GetRequestId"), h); + // ... but no HostId group without the marker trait. + assertFalse(h.contains("GetHostId"), h); + assertFalse(h.contains("m_hostId"), h); + } } diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ServiceNameUtilTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ServiceNameUtilTest.java index ecbf42c20936..9d8e5ba74de0 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ServiceNameUtilTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ServiceNameUtilTest.java @@ -32,14 +32,12 @@ void capitalize_singleChar() { @Test void getExportMacro_standardService() { - // Test the export macro format follows AWS_{SERVICE_NAME}_API pattern - // We test it indirectly through the capitalize logic it uses + // Export macro is AWS_{SERVICE_NAME}_API; exercised indirectly via the capitalize logic it uses. assertEquals("Kinesis", ServiceNameUtil.capitalize("kinesis")); } @Test void getProjectName_standardService() { - // Test the project name format (lowercase hyphenated) - // This would require a full ServiceShape which is tested separately + // Project name format (lowercase hyphenated) needs a full ServiceShape; covered separately. } } diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeClassifierTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeClassifierTest.java index 7c709a1e0621..58526386d4a0 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeClassifierTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeClassifierTest.java @@ -4,6 +4,7 @@ */ package com.amazonaws.util.awsclientsmithygenerator.generators.model; +import com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms.CustomRenderedTrait; import org.junit.jupiter.api.Test; import software.amazon.smithy.model.Model; import software.amazon.smithy.model.shapes.*; @@ -423,6 +424,287 @@ void noInputOperation_stillProducesRequest() { "Expected a RequestInfo for the no-input operation Ping"); } + /** Structure that is both an operation output and a list-element member (dual-role, like Lambda FunctionConfiguration); must end up in both results and subObjects. */ + private Model buildDualRoleModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + // Thing is the output of GetThing AND the element of ThingList. + StructureShape thing = StructureShape.builder() + .id("com.example#Thing") + .addMember("name", str.getId()) + .build(); + ListShape thingList = ListShape.builder() + .id("com.example#ThingList") + .member(thing.getId()) + .build(); + StructureShape getThingRequest = StructureShape.builder() + .id("com.example#GetThingRequest") + .addMember("id", str.getId()) + .build(); + StructureShape listThingsRequest = StructureShape.builder() + .id("com.example#ListThingsRequest") + .build(); + StructureShape listThingsResponse = StructureShape.builder() + .id("com.example#ListThingsResponse") + .addMember("things", thingList.getId()) + .build(); + OperationShape getThing = OperationShape.builder() + .id("com.example#GetThing") + .input(getThingRequest.getId()) + .output(thing.getId()) + .build(); + OperationShape listThings = OperationShape.builder() + .id("com.example#ListThings") + .input(listThingsRequest.getId()) + .output(listThingsResponse.getId()) + .build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService") + .version("2023-01-01") + .addOperation(getThing.getId()) + .addOperation(listThings.getId()) + .addTrait(ServiceTrait.builder().sdkId("test").arnNamespace("test").cloudFormationName("Test").cloudTrailEventSource("test").build()) + .build(); + return Model.builder() + .addShapes(str, thing, thingList, getThingRequest, listThingsRequest, listThingsResponse, getThing, listThings, service) + .build(); + } + + @Test + void dualRoleOutputAndMember_appearsInBothResultsAndSubObjects() { + Model model = buildDualRoleModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertTrue(classified.results().stream() + .anyMatch(r -> r.shape().getId().getName().equals("Thing")), + "Dual-role Thing must be classified as a result (GetThing output): " + classified.results()); + assertTrue(classified.subObjects().stream() + .anyMatch(s -> s.getId().getName().equals("Thing")), + "Dual-role Thing must also be classified as a sub-object (referenced via ThingList): " + + classified.subObjects()); + } + + @Test + void outputOnly_appearsInResultsButNotSubObjects() { + // GetItemResponse is ONLY an operation output; it is not referenced as a member anywhere. + Model model = buildSimpleModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertTrue(classified.results().stream() + .anyMatch(r -> r.shape().getId().getName().equals("GetItemResponse")), + "Output-only GetItemResponse must be in results"); + assertTrue(classified.subObjects().stream() + .noneMatch(s -> s.getId().getName().equals("GetItemResponse")), + "Output-only GetItemResponse must NOT be over-emitted as a sub-object: " + classified.subObjects()); + } + + /** @streaming union with an @eventPayload-blob event and a plain-string event, bound to an operation output so both are reachable. */ + private Model eventStreamBlobPayloadModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + BlobShape blob = BlobShape.builder().id("com.example#Blob").build(); + // Blob-payload event: single @eventPayload blob member. + StructureShape updateEvent = StructureShape.builder() + .id("com.example#UpdateEvent") + .addMember(MemberShape.builder() + .id("com.example#UpdateEvent$Payload").target(blob.getId()) + .addTrait(new EventPayloadTrait()).build()) + .build(); + // Non-blob event: plain string member -> must stay a sub-object. + StructureShape completeEvent = StructureShape.builder() + .id("com.example#CompleteEvent") + .addMember("Details", str.getId()) + .build(); + UnionShape eventStream = UnionShape.builder() + .id("com.example#ResponseStreamEvent") + .addTrait(new StreamingTrait()) + .addMember("PayloadChunk", updateEvent.getId()) + .addMember("Complete", completeEvent.getId()) + .build(); + StructureShape request = StructureShape.builder() + .id("com.example#InvokeRequest").addMember("name", str.getId()).build(); + StructureShape response = StructureShape.builder() + .id("com.example#InvokeResponse").addMember("events", eventStream.getId()).build(); + OperationShape op = OperationShape.builder() + .id("com.example#Invoke").input(request.getId()).output(response.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2023-01-01").addOperation(op.getId()) + .addTrait(ServiceTrait.builder().sdkId("test").arnNamespace("test").cloudFormationName("Test").cloudTrailEventSource("test").build()) + .build(); + return Model.builder() + .addShapes(str, blob, updateEvent, completeEvent, eventStream, request, response, op, service) + .build(); + } + + @Test + void blobEventPayload_isClassifiedAsBlobPayloadEventNotSubObject() { + Model model = eventStreamBlobPayloadModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertTrue(classified.blobPayloadEvents().stream() + .anyMatch(s -> s.getId().getName().equals("UpdateEvent")), + "Blob @eventPayload event must be in blobPayloadEvents: " + classified.blobPayloadEvents()); + assertTrue(classified.subObjects().stream() + .noneMatch(s -> s.getId().getName().equals("UpdateEvent")), + "Blob @eventPayload event must NOT be a sub-object: " + classified.subObjects()); + } + + @Test + void nonBlobEvent_staysSubObject() { + Model model = eventStreamBlobPayloadModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertTrue(classified.subObjects().stream() + .anyMatch(s -> s.getId().getName().equals("CompleteEvent")), + "Non-blob event struct must stay a sub-object: " + classified.subObjects()); + assertTrue(classified.blobPayloadEvents().stream() + .noneMatch(s -> s.getId().getName().equals("CompleteEvent")), + "Non-blob event struct must NOT be a blob-payload event: " + classified.blobPayloadEvents()); + } + + /** Operation input references two structs, one marked {@link CustomRenderedTrait} and one plain; the marker rule drops the marked one from subObjects for any service. */ + private Model modelWithCustomRenderedShape() { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape marked = StructureShape.builder() + .id("com.example#MarkedThing") + .addMember("name", str.getId()) + .addTrait(new CustomRenderedTrait()) + .build(); + StructureShape plain = StructureShape.builder() + .id("com.example#PlainThing") + .addMember("name", str.getId()) + .build(); + StructureShape request = StructureShape.builder() + .id("com.example#DoRequest") + .addMember("marked", marked.getId()) + .addMember("plain", plain.getId()) + .build(); + StructureShape response = StructureShape.builder().id("com.example#DoResponse").build(); + OperationShape op = OperationShape.builder() + .id("com.example#Do").input(request.getId()).output(response.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2023-01-01").addOperation(op.getId()) + .addTrait(ServiceTrait.builder().sdkId("test").arnNamespace("test") + .cloudFormationName("Test").cloudTrailEventSource("test").build()) + .build(); + return Model.builder().addShapes(str, marked, plain, request, response, op, service).build(); + } + + @Test + void customRenderedShape_isExcludedFromSubObjects() { + Model model = modelWithCustomRenderedShape(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertTrue(classified.subObjects().stream() + .noneMatch(s -> s.getId().getName().equals("MarkedThing")), + "@customRendered shape must be dropped from subObjects: " + classified.subObjects()); + assertTrue(classified.subObjects().stream() + .anyMatch(s -> s.getId().getName().equals("PlainThing")), + "unmarked shape must remain a sub-object: " + classified.subObjects()); + } + + /** @streaming union with an empty-member event (like S3 ContinuationEvent) and a string data event, bound to an operation output so both are reachable. */ + private Model eventStreamEmptyAndDataModel() { + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape emptyEvt = StructureShape.builder() + .id("com.example#EmptyEvt") + .build(); + StructureShape dataEvt = StructureShape.builder() + .id("com.example#DataEvt") + .addMember("records", str.getId()) + .build(); + UnionShape eventStream = UnionShape.builder() + .id("com.example#SelectEventStream") + .addTrait(new StreamingTrait()) + .addMember("Empty", emptyEvt.getId()) + .addMember("Data", dataEvt.getId()) + .build(); + StructureShape request = StructureShape.builder() + .id("com.example#SelectRequest").addMember("name", str.getId()).build(); + StructureShape response = StructureShape.builder() + .id("com.example#SelectResponse").addMember("events", eventStream.getId()).build(); + OperationShape op = OperationShape.builder() + .id("com.example#Select").input(request.getId()).output(response.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2023-01-01").addOperation(op.getId()) + .addTrait(ServiceTrait.builder().sdkId("test").arnNamespace("test").cloudFormationName("Test").cloudTrailEventSource("test").build()) + .build(); + return Model.builder() + .addShapes(str, emptyEvt, dataEvt, eventStream, request, response, op, service) + .build(); + } + + @Test + void classifyDropsEmptyMemberEventStructFromSubObjects() { + Model model = eventStreamEmptyAndDataModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertFalse(classified.subObjects().stream() + .anyMatch(s -> s.getId().getName().equals("EmptyEvt")), + "empty event struct dropped from subObjects: " + classified.subObjects()); + assertTrue(classified.subObjects().stream() + .anyMatch(s -> s.getId().getName().equals("DataEvt")), + "data event struct still emitted as sub-object: " + classified.subObjects()); + } + + @Test + void classifyDropsIncomingEventStreamUnionFromSubObjects() { + // The @streaming union bound to an output (incoming event stream) is realized via the + // generated handler; nothing references it as a data type, so no standalone sub-object header. + Model model = eventStreamEmptyAndDataModel(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + assertFalse(classified.subObjects().stream() + .anyMatch(s -> s.getId().getName().equals("SelectEventStream")), + "incoming event-stream union dropped from subObjects: " + classified.subObjects()); + } + + @Test + void deprecatedOperation_inputAndOutputExcludedFromRequestsAndResults() { + // Legacy C2J drops @deprecated operations entirely; the classifier must keep a @deprecated + // op's input/output out of requests/results while a live op's are present. + StringShape str = StringShape.builder().id("com.example#String").build(); + StructureShape deprecatedRequest = StructureShape.builder() + .id("com.example#DeprecatedRequest").addMember("id", str.getId()).build(); + StructureShape deprecatedResponse = StructureShape.builder() + .id("com.example#DeprecatedResponse").addMember("r", str.getId()).build(); + StructureShape liveRequest = StructureShape.builder() + .id("com.example#LiveRequest").addMember("id", str.getId()).build(); + StructureShape liveResponse = StructureShape.builder() + .id("com.example#LiveResponse").addMember("r", str.getId()).build(); + OperationShape deprecatedOp = OperationShape.builder() + .id("com.example#DeprecatedOp") + .input(deprecatedRequest.getId()).output(deprecatedResponse.getId()) + .addTrait(DeprecatedTrait.builder().build()) + .build(); + OperationShape liveOp = OperationShape.builder() + .id("com.example#LiveOp") + .input(liveRequest.getId()).output(liveResponse.getId()) + .build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2023-01-01") + .addOperation(deprecatedOp.getId()).addOperation(liveOp.getId()) + .addTrait(ServiceTrait.builder().sdkId("test").arnNamespace("test") + .cloudFormationName("Test").cloudTrailEventSource("test").build()) + .build(); + Model model = Model.builder() + .addShapes(str, deprecatedRequest, deprecatedResponse, liveRequest, liveResponse, + deprecatedOp, liveOp, service) + .build(); + var classified = ShapeClassifier.classify(model, service, ProtocolResolver.resolve(service, model)); + + assertTrue(classified.requests().stream() + .noneMatch(r -> r.shape().getId().getName().equals("DeprecatedRequest")), + "deprecated op input must not be a request: " + classified.requests()); + assertTrue(classified.results().stream() + .noneMatch(r -> r.shape().getId().getName().equals("DeprecatedResponse")), + "deprecated op output must not be a result: " + classified.results()); + assertTrue(classified.requests().stream() + .anyMatch(r -> r.shape().getId().getName().equals("LiveRequest")), + "live op input must be a request: " + classified.requests()); + assertTrue(classified.results().stream() + .anyMatch(r -> r.shape().getId().getName().equals("LiveResponse")), + "live op output must be a result: " + classified.results()); + } + @Test void classifiesEnumShape() { // StringShape with @enum trait -> classified as enum diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeUtilExtensionsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeUtilExtensionsTest.java deleted file mode 100644 index 7f57785b4419..000000000000 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/ShapeUtilExtensionsTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ -package com.amazonaws.util.awsclientsmithygenerator.generators.model; - -import com.amazonaws.util.awsclientsmithygenerator.generators.ShapeUtil; -import org.junit.jupiter.api.Test; - -import java.util.Optional; - -import static org.junit.jupiter.api.Assertions.*; - -class ShapeUtilExtensionsTest { - - @Test - void hardcodedCollisionResolution_s3CopyObjectResult() { - assertEquals(Optional.of("CopyObjectResultDetails"), - ShapeUtil.getHardcodedResolution("s3", "CopyObjectResult")); - } - - @Test - void hardcodedCollisionResolution_accessAnalyzer() { - assertEquals(Optional.of("GeneratedPolicyResults"), - ShapeUtil.getHardcodedResolution("accessanalyzer", "GeneratedPolicyResult")); - } - - @Test - void hardcodedCollisionResolution_cloudSearchDomain() { - assertEquals(Optional.of("SearchResultDetails"), - ShapeUtil.getHardcodedResolution("cloudsearchdomain", "SearchResult")); - } - - @Test - void hardcodedCollisionResolution_noMatch_returnsEmpty() { - assertTrue(ShapeUtil.getHardcodedResolution("kinesis", "SomeShape").isEmpty()); - } - - @Test - void hardcodedCollisionResolution_medialive_noEntry() { - assertTrue(ShapeUtil.getHardcodedResolution("medialive", "BatchUpdateScheduleResult").isEmpty()); - } - - @Test - void shapeCppName_numericPrefix() { - assertEquals("The1stShape", ShapeUtil.getShapeCppName("1stShape", "someservice")); - } - - @Test - void shapeCppName_normalName_unchanged() { - assertEquals("MyShape", ShapeUtil.getShapeCppName("MyShape", "someservice")); - } - - @Test - void shapeCppName_medialive_noOverride_returnsUnchanged() { - assertEquals("BatchUpdateScheduleResult", - ShapeUtil.getShapeCppName("BatchUpdateScheduleResult", "medialive")); - } - - @Test - void shapeCppName_withHardcodedResolution_s3CopyObjectResult() { - assertEquals("CopyObjectResultDetails", - ShapeUtil.getShapeCppName("CopyObjectResult", "s3")); - } -} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/SubObjectRendererTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/SubObjectRendererTest.java index 9052f7abd91f..891480b256ba 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/SubObjectRendererTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/SubObjectRendererTest.java @@ -12,6 +12,7 @@ import org.junit.jupiter.api.Test; import software.amazon.smithy.build.MockManifest; import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.shapes.StringShape; @@ -19,24 +20,19 @@ import software.amazon.smithy.model.shapes.UnionShape; import software.amazon.smithy.model.traits.DocumentationTrait; import software.amazon.smithy.model.traits.StreamingTrait; +import software.amazon.smithy.model.traits.Trait; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; /** - * Verifies that {@link SubObjectRenderer} renders C2J-style union shapes. In C2J a union is a - * {@code structure} with {@code "union": true} and is emitted by the same ModelClass templates - * as a plain structure (serde decls + per-member Get/Set/With/HasBeenSet accessors + private - * data members and flags). Non-streaming unions must produce header + source files; {@code - * @streaming} unions belong to the event-stream renderers and must be skipped here. + * Verifies {@link SubObjectRenderer} renders C2J-style union shapes like plain structures (serde + * decls + per-member accessors + private members). Non-streaming unions produce header + source; + * {@code @streaming} unions belong to the event-stream renderers and are skipped here. */ class SubObjectRendererTest { - /** - * A model with a plain structure sub-object, a non-streaming union, and a {@code @streaming} - * union — mirroring bedrock-runtime (ContentBlock / ToolChoice are data unions; - * InvokeModelWithBidirectionalStreamInput is a streaming union). - */ + /** Plain structure sub-object, a non-streaming data union, and a {@code @streaming} union (mirrors bedrock-runtime). */ private static Model model() { StringShape str = StringShape.builder().id("com.example#Str").build(); StructureShape leaf = StructureShape.builder() @@ -57,13 +53,11 @@ private static Model model() { .addTrait(new StreamingTrait()) .addMember("chunk", leaf.getId()) .build(); - // Memberless structure (e.g. bedrock-runtime AnyToolChoice / AutoToolChoice): C2J emits - // no private: section when the shape has no members. + // Memberless structure (e.g. bedrock-runtime AnyToolChoice): C2J emits no private: section. StructureShape empty = StructureShape.builder() .id("com.example#AnyToolChoice") .build(); - // Union with a blob member (e.g. bedrock-runtime AudioSource): its source needs - // HashingUtils.h for Base64 blob serde. + // Union with a blob member (e.g. bedrock-runtime AudioSource): source needs HashingUtils.h for Base64 serde. software.amazon.smithy.model.shapes.BlobShape blob = software.amazon.smithy.model.shapes.BlobShape.builder().id("com.example#PartBody").build(); UnionShape blobUnion = UnionShape.builder() @@ -91,7 +85,7 @@ private static java.util.Map renderAll() { model.expectShape(ShapeId.from("com.example#BidirectionalInput")), model.expectShape(ShapeId.from("com.example#AnyToolChoice")), model.expectShape(ShapeId.from("com.example#AudioSource"))); - new SubObjectRenderer(subObjects, + new SubObjectRenderer(subObjects, java.util.Collections.emptySet(), new RenderContext(model, service, traits, "Example", "AWS_EXAMPLE_API", "example")).render(delegator); delegator.flushWriters(); @@ -118,7 +112,6 @@ void nonStreamingUnion_headerHasSerdeDeclsAndPerMemberAccessors() { assertTrue(h.contains("AWS_EXAMPLE_API ContentBlock() = default;"), h); assertTrue(h.contains("AWS_EXAMPLE_API ContentBlock(Aws::Utils::Json::JsonView jsonValue);"), h); assertTrue(h.contains("AWS_EXAMPLE_API Aws::Utils::Json::JsonValue Jsonize() const;"), h); - // Per-member accessors for each variant. assertTrue(h.contains("GetText") && h.contains("SetText") && h.contains("WithText"), h); assertTrue(h.contains("GetLeaf") && h.contains("SetLeaf") && h.contains("WithLeaf"), h); assertTrue(h.contains("bool m_textHasBeenSet = false;"), h); @@ -138,8 +131,7 @@ void nonStreamingUnion_sourceHasSerdeImpls() { @Test void blobMemberSource_includesHashingUtils() { - // A sub-object with a blob member needs HashingUtils.h in its source (Base64 blob serde), - // matching C2J's computeSourceIncludes. The header must NOT carry it (source-only include). + // Blob member needs HashingUtils.h in source (Base64 serde, C2J computeSourceIncludes); header must not carry it. java.util.Map files = renderAll(); String c = files.get("AudioSource.cpp"); assertTrue(c.contains("#include "), @@ -151,9 +143,8 @@ void blobMemberSource_includesHashingUtils() { @Test void memberlessShape_omitsPrivateSection() { - // C2J emits the private: section only when the shape has members - // (ModelClassMembersAndInlines.vm: `#if($shape.members.size() > 0 ...`). A memberless - // sub-object ends right after its serde decls — no trailing blank line and no private:. + // C2J emits private: only when the shape has members; a memberless sub-object ends right + // after its serde decls with no private: section. String h = renderAll().get("AnyToolChoice.h"); assertTrue(h.contains("AWS_EXAMPLE_API Aws::Utils::Json::JsonValue Jsonize() const;"), h); assertFalse(h.contains("private:"), @@ -168,4 +159,76 @@ void streamingUnion_isNotRenderedBySubObjectRenderer() { assertFalse(files.containsKey("BidirectionalInput.cpp"), "Streaming union must NOT be rendered by SubObjectRenderer: " + files.keySet()); } + + // --- dual-role (operation output that is also a member) requestId stamp --- + + /** {@code Thing} is both the output of {@code DoThing} and a member of {@code Plain} (dual-role); {@code Plain} is member-only. */ + private static Model dualRoleModel(Trait protocolTrait) { + StringShape str = StringShape.builder().id("com.example#Str").build(); + StructureShape thing = StructureShape.builder() + .id("com.example#Thing").addMember("name", str.getId()).build(); + // Both Plain and Thing are reachable sub-objects; only Thing is an operation output. + StructureShape plain = StructureShape.builder() + .id("com.example#Plain") + .addMember("label", str.getId()) + .addMember("thing", thing.getId()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#DoThingInput").addMember("plain", plain.getId()).build(); + OperationShape op = OperationShape.builder() + .id("com.example#DoThing").input(input.getId()).output(thing.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#Example").version("2024-01-01") + .addTrait(protocolTrait).addOperation(op.getId()).build(); + return Model.builder().addShapes(str, thing, plain, input, op, service).build(); + } + + /** Classifies {@code dualRoleModel} and renders its sub-objects, returning filename -> content. */ + private static java.util.Map renderDualRole(Trait protocolTrait) { + Model model = dualRoleModel(protocolTrait); + ServiceShape service = model.expectShape(ShapeId.from("com.example#Example"), ServiceShape.class); + Protocol protocol = ProtocolResolver.resolve(service, model); + ShapeClassifier.ClassifiedShapes classified = ShapeClassifier.classify(model, service, protocol); + MockManifest manifest = new MockManifest(); + CppWriterDelegator delegator = new CppWriterDelegator(manifest); + new SubObjectRenderer(classified.subObjects(), classified.resultOutputIds(), + new RenderContext(model, service, ProtocolResolver.traitsFor(protocol), + "Example", "AWS_EXAMPLE_API", "example")).render(delegator); + delegator.flushWriters(); + java.util.Map out = new java.util.TreeMap<>(); + for (java.nio.file.Path path : manifest.getFiles()) { + out.put(path.getFileName().toString(), manifest.getFileString(path).orElseThrow()); + } + return out; + } + + @Test + void dualRoleOutput_jsonProtocol_stampsRequestId() { + String h = renderDualRole( + software.amazon.smithy.aws.traits.protocols.RestJson1Trait.builder().build()).get("Thing.h"); + assertTrue(h.contains("inline const Aws::String& GetRequestId() const { return m_requestId; }"), h); + assertTrue(h.contains("inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }"), h); + assertTrue(h.contains("Aws::String m_requestId;"), h); + assertTrue(h.contains("bool m_requestIdHasBeenSet = false;"), h); + // The stamped Aws::String field pulls in AWSString.h. + assertTrue(h.contains("#include "), h); + } + + @Test + void memberOnlySubObject_jsonProtocol_hasNoRequestId() { + String h = renderDualRole( + software.amazon.smithy.aws.traits.protocols.RestJson1Trait.builder().build()).get("Plain.h"); + assertFalse(h.contains("GetRequestId"), + "A member-only (non-output) sub-object must not receive the requestId stamp: " + h); + assertFalse(h.contains("m_requestId"), h); + } + + @Test + void dualRoleOutput_queryProtocol_hasNoRequestId() { + // Query/EC2 dual-role outputs get ResponseMetadata instead, so no requestId block is stamped. + String h = renderDualRole( + new software.amazon.smithy.aws.traits.protocols.AwsQueryTrait()).get("Thing.h"); + assertFalse(h.contains("GetRequestId"), + "Query dual-role output must not receive the requestId stamp: " + h); + } } diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/TransformPipelineTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/TransformPipelineTest.java index c178d0abb85e..3e006c7ea4e9 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/TransformPipelineTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/TransformPipelineTest.java @@ -11,12 +11,27 @@ import java.util.ArrayList; import java.util.List; +import java.util.function.BiFunction; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertSame; class TransformPipelineTest { + /** Wraps a transform body as an always-run transform (shouldRun defaults to false otherwise). */ + private static ModelTransform alwaysRun(BiFunction body) { + return new ModelTransform() { + @Override + public boolean shouldRun(ServiceShape service) { + return true; + } + @Override + public Model transform(Model model, ServiceShape service) { + return body.apply(model, service); + } + }; + } + @Test void emptyPipelineReturnsModelUnchanged() { Model model = Model.builder() @@ -38,8 +53,8 @@ void transformsExecuteInOrder() { ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); List executionOrder = new ArrayList<>(); - ModelTransform first = (m, s) -> { executionOrder.add("first"); return m; }; - ModelTransform second = (m, s) -> { executionOrder.add("second"); return m; }; + ModelTransform first = alwaysRun((m, s) -> { executionOrder.add("first"); return m; }); + ModelTransform second = alwaysRun((m, s) -> { executionOrder.add("second"); return m; }); TransformPipeline pipeline = new TransformPipeline(List.of(first, second)); pipeline.apply(model, service); @@ -54,17 +69,16 @@ void transformReceivesOutputOfPrevious() { .build(); ServiceShape service = original.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); - // First transform adds a new shape Model withExtra = original.toBuilder() .addShape(ServiceShape.builder().id("com.example#Extra").version("2024-01-01").build()) .build(); - ModelTransform addShape = (m, s) -> withExtra; - ModelTransform checkShape = (m, s) -> { + ModelTransform addShape = alwaysRun((m, s) -> withExtra); + ModelTransform checkShape = alwaysRun((m, s) -> { // This transform should see the shape added by the first m.expectShape(ShapeId.from("com.example#Extra")); return m; - }; + }); TransformPipeline pipeline = new TransformPipeline(List.of(addShape, checkShape)); Model result = pipeline.apply(original, service); @@ -72,4 +86,21 @@ void transformReceivesOutputOfPrevious() { // Final result is the model from the last transform assertSame(withExtra, result); } + + @Test + void skipsTransformThatDoesNotOptIn() { + Model model = Model.builder() + .addShape(ServiceShape.builder().id("com.example#TestService").version("2024-01-01").build()) + .build(); + ServiceShape service = model.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + + List executionOrder = new ArrayList<>(); + // A bare transform inherits shouldRun == false, so the pipeline must skip it. + ModelTransform notOptedIn = (m, s) -> { executionOrder.add("skipped"); return m; }; + ModelTransform optedIn = alwaysRun((m, s) -> { executionOrder.add("ran"); return m; }); + + new TransformPipeline(List.of(notOptedIn, optedIn)).apply(model, service); + + assertEquals(List.of("ran"), executionOrder); + } } diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/CborProtocolTraitsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/CborProtocolTraitsTest.java index 258c1d41361d..56bb49b0313f 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/CborProtocolTraitsTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/CborProtocolTraitsTest.java @@ -175,6 +175,27 @@ void requestWithInput_emitsContentTypeAndEncoderPayload() { assertTrue(i.contains("headers.emplace(Aws::Http::ACCEPT_HEADER, Aws::CBOR_CONTENT_TYPE);"), i); } + @Test + void cbor_queryMember_notWireSerialized_keepsProtocolHeaders() { + // RPC CBOR routes @httpQuery members to the body; no AddQueryStringParameters method, but + // the fixed CBOR protocol headers are still emitted. + var req = reqWith(false, true); var op = opWithInput(req); var model = modelWith(req); + String d = render(w -> cbor.writeRequestMethodDecls(w, "AWS_EX_API", req, op, model)); + assertFalse(d.contains("AddQueryStringParameters"), d); + String i = render(w -> cbor.writeRequestMethodImpls(w, "DoThingRequest", req, op, svcAthena(), model)); + assertFalse(i.contains("AddQueryStringParameters"), i); + assertTrue(i.contains("headers.emplace(Aws::Http::SMITHY_PROTOCOL_HEADER, Aws::RPC_V2_CBOR);"), i); + } + + @Test + void cbor_headerMember_notWireSerialized_keepsProtocolHeaders() { + var req = reqWith(true, false); var op = opWithInput(req); var model = modelWith(req); + String i = render(w -> cbor.writeRequestMethodImpls(w, "DoThingRequest", req, op, svcAthena(), model)); + assertFalse(i.contains("headers.emplace(\"x-h\""), i); + assertFalse(i.contains("ss << m_h;"), i); + assertTrue(i.contains("headers.emplace(Aws::Http::ACCEPT_HEADER, Aws::CBOR_CONTENT_TYPE);"), i); + } + // hasRequest()==false (input targets smithy.api#Unit): SerializePayload returns {}, NO CONTENT_TYPE. @Test void noInputRequest_returnsEmptyBracesAndOmitsContentType() { @@ -187,4 +208,22 @@ void noInputRequest_returnsEmptyBracesAndOmitsContentType() { assertTrue(i.contains("headers.emplace(Aws::Http::SMITHY_PROTOCOL_HEADER, Aws::RPC_V2_CBOR);"), i); assertTrue(i.contains("headers.emplace(Aws::Http::ACCEPT_HEADER, Aws::CBOR_CONTENT_TYPE);"), i); } + + @Test + void initialResponse_emitsHeaderCollectionCtorAndHeaderConstruction() { + // CBOR initial responses arrive as an event message with headers, like JSON. + String decl = render(w -> cbor.writeInitialResponseCtorDecl(w, "AWS_EX_API", "DoStreamInitialResponse")); + assertTrue(decl.contains( + "AWS_EX_API DoStreamInitialResponse(const Http::HeaderValueCollection& responseHeaders);"), decl); + + String impl = render(w -> cbor.writeInitialResponseCtorImpl(w, "DoStreamInitialResponse")); + assertTrue(impl.contains( + "DoStreamInitialResponse::DoStreamInitialResponse(const Http::HeaderValueCollection& " + + "responseHeaders) : DoStreamInitialResponse() {"), impl); + assertTrue(impl.contains("AWS_UNREFERENCED_PARAM(responseHeaders);"), impl); + + String handler = render(w -> cbor.writeInitialResponseHandlerConstruction(w, "DoStreamInitialResponse", "DOSTREAM_HANDLER_CLASS_TAG")); + assertTrue(handler.contains("DoStreamInitialResponse event(GetEventHeadersAsHttpHeaders());"), handler); + assertFalse(handler.contains("xmlDoc"), handler); + } } diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/JsonProtocolTraitsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/JsonProtocolTraitsTest.java index 7f4281bf8f2a..828d206178fd 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/JsonProtocolTraitsTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/JsonProtocolTraitsTest.java @@ -41,6 +41,12 @@ private static software.amazon.smithy.model.shapes.StructureShape reqWith(boolea private static software.amazon.smithy.model.shapes.OperationShape opDoThing() { return software.amazon.smithy.model.shapes.OperationShape.builder().id("com.example#DoThing").build(); } + /** A presignable operation: carries the internal trait stamped by SupportsPresigningTransform. */ + private static software.amazon.smithy.model.shapes.OperationShape opDoThingPresigning() { + return software.amazon.smithy.model.shapes.OperationShape.builder().id("com.example#DoThing") + .addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms.SupportsPresigningTrait()) + .build(); + } private static software.amazon.smithy.model.shapes.ServiceShape svcAthena() { return software.amazon.smithy.model.shapes.ServiceShape.builder() .id("com.example#AmazonAthena").version("2017-05-18").build(); @@ -175,10 +181,106 @@ void restJson_withHeaderMember_emitsHeadersMethodWithoutTarget() { } @Test - void json_withQueryMember_emitsAddQueryStringParameters() { + void awsJson_headerMember_notWireSerialized_keepsTarget() { + // RPC awsJson routes @httpHeader members to the JSON body; GetRequestSpecificHeaders still + // emits X-Amz-Target but performs no member header serialization. + var req = reqWith(true, false); var model = modelWith(req); + String i = render(w -> json.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertTrue(i.contains("X-Amz-Target"), i); + assertFalse(i.contains("headers.emplace(\"x-h\""), i); + assertFalse(i.contains("ss << m_h;"), i); + } + + @Test + void awsJson_queryMember_notWireSerialized() { + // RPC awsJson routes @httpQuery members to the body; no AddQueryStringParameters is emitted. var req = reqWith(false, true); var model = modelWith(req); String d = render(w -> json.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThing(), model)); + assertFalse(d.contains("AddQueryStringParameters"), d); + String i = render(w -> json.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertFalse(i.contains("AddQueryStringParameters"), i); + } + + @Test + void restJson_headerMember_isWireSerialized() { + // REST protocols honor HTTP bindings: the @httpHeader member is serialized onto the wire. + var req = reqWith(true, false); var model = modelWith(req); + String i = render(w -> restJson.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertTrue(i.contains("if (m_hHasBeenSet) {"), i); + assertTrue(i.contains("headers.emplace(\"x-h\", ss.str());"), i); + } + + @Test + void restJson_additionalHeadersTrait_emitsConstantHeaderBeforeMemberHeaders() { + // A request with AdditionalRequestHeadersTrait (Glacier's x-amz-glacier-version) emits the + // constant header in GetRequestSpecificHeaders, after X-Amz-Target and before member headers. + var req = reqWith(true, false).toBuilder() + .addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms + .AdditionalRequestHeadersTrait(java.util.Map.of("x-amz-glacier-version", "2012-06-01"))) + .build(); + var model = modelWith(req); + String i = render(w -> restJson.writeRequestMethodImpls( + w, "UploadArchiveRequest", req, opDoThing(), svcAthena(), model)); + assertTrue(i.contains( + "headers.insert(Aws::Http::HeaderValuePair(\"x-amz-glacier-version\", \"2012-06-01\"));"), i); + assertTrue(i.indexOf("x-amz-glacier-version") < i.indexOf("Aws::StringStream ss;"), + "constant header precedes the member-driven headers: " + i); + } + + @Test + void restJson_noAdditionalHeadersTrait_emitsNoConstantHeader() { + var req = reqWith(true, false); var model = modelWith(req); + String i = render(w -> restJson.writeRequestMethodImpls( + w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertFalse(i.contains("x-amz-glacier-version"), i); + } + + @Test + void restJson_queryMember_isWireSerialized() { + var req = reqWith(false, true); var model = modelWith(req); + String d = render(w -> restJson.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThing(), model)); assertTrue(d.contains("void AddQueryStringParameters(Aws::Http::URI& uri) const override;"), d); + String i = render(w -> restJson.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertTrue(i.contains("uri.AddQueryStringParameter(\"q\", ss.str());"), i); + } + + @Test + void supportsPresigning_emitsDumpBodyToUrlStubImpl() { + // A presignable op (Polly SynthesizeSpeech) carries SupportsPresigningTrait; RequestRenderer + // emits the decl, JsonProtocolTraits supplies a stub impl (same trait) that defers serde. + var req = reqWith(false, false); var model = modelWith(req); + String i = render(w -> restJson.writeRequestMethodImpls( + w, "SynthesizeSpeechRequest", req, opDoThingPresigning(), svcAthena(), model)); + assertTrue(i.contains( + "void SynthesizeSpeechRequest::DumpBodyToUrl(Aws::Http::URI& uri) const { AWS_UNREFERENCED_PARAM(uri); }"), + i); + } + + @Test + void withoutSupportsPresigning_omitsDumpBodyToUrlImpl() { + var req = reqWith(false, false); var model = modelWith(req); + String i = render(w -> restJson.writeRequestMethodImpls( + w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertFalse(i.contains("DumpBodyToUrl"), + "non-presignable request must not emit a DumpBodyToUrl impl: " + i); + } + + @Test + void initialResponse_emitsHeaderCollectionCtorAndHeaderConstruction() { + // JSON initial responses arrive as an event message with headers. + String decl = render(w -> json.writeInitialResponseCtorDecl(w, "AWS_EX_API", "DoStreamInitialResponse")); + assertTrue(decl.contains( + "AWS_EX_API DoStreamInitialResponse(const Http::HeaderValueCollection& responseHeaders);"), decl); + + String impl = render(w -> json.writeInitialResponseCtorImpl(w, "DoStreamInitialResponse")); + assertTrue(impl.contains( + "DoStreamInitialResponse::DoStreamInitialResponse(const Http::HeaderValueCollection& " + + "responseHeaders) : DoStreamInitialResponse() {"), impl); + assertTrue(impl.contains("AWS_UNREFERENCED_PARAM(responseHeaders);"), impl); + + String handler = render(w -> json.writeInitialResponseHandlerConstruction(w, "DoStreamInitialResponse", "DOSTREAM_HANDLER_CLASS_TAG")); + assertTrue(handler.contains("DoStreamInitialResponse event(GetEventHeadersAsHttpHeaders());"), handler); + assertFalse(handler.contains("xmlDoc"), handler); } @Test diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsIncludeSetTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsIncludeSetTest.java index d0b31058ebad..42fe60411dc1 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsIncludeSetTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsIncludeSetTest.java @@ -47,6 +47,21 @@ void queryXml_subobjectHeader_hasStreamFwd() { q.serdeIncludes(FileKind.SUBOBJECT_HEADER).toString()); } + @Test + void requestSource_everyProtocolIncludesNumericForListHeaderAccumulate() { + // RequestHeaderSerializer emits std::accumulate for list-typed @httpHeader members (protocol- + // agnostic), so every protocol's REQUEST_SOURCE must declare . Guards a JSON/QueryXml regression. + for (ProtocolTraits t : List.of( + new JsonProtocolTraits(Protocol.JSON), + new JsonProtocolTraits(Protocol.REST_JSON), + new QueryXmlProtocolTraits(Protocol.QUERY_XML), + new QueryXmlProtocolTraits(Protocol.EC2), + new RestXmlProtocolTraits())) { + List inc = t.serdeIncludes(FileKind.REQUEST_SOURCE); + assertTrue(inc.contains("numeric"), t.protocol() + " REQUEST_SOURCE: " + inc); + } + } + @Test void restXml_requestSource_hasUtilityAndXmlSerializer() { ProtocolTraits x = new RestXmlProtocolTraits(); diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsSerdeTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsSerdeTest.java index 39a7858d7bdd..ae96eb2b59e8 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsSerdeTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsSerdeTest.java @@ -15,9 +15,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; /** - * Pins the invariant that the event- and error-payload stubs stay protocol-agnostic - * for EVERY protocol -- they are {@code default} methods on {@link ProtocolTraits} and - * no implementation should override them with protocol-specific text until + * Pins that event- and error-payload stubs stay protocol-agnostic for EVERY protocol: {@code default} + * methods on {@link ProtocolTraits} that no impl overrides with protocol-specific text until * schema-based serde lands. */ class ProtocolTraitsSerdeTest { diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsStreamingPayloadTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsStreamingPayloadTest.java index 76be69124d09..5ae6596afae9 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsStreamingPayloadTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/ProtocolTraitsStreamingPayloadTest.java @@ -21,11 +21,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; /** - * C2J gates {@code SerializePayload()} on {@code !hasStreamMembers()} in the single shared - * {@code RequestHeader.vm}, so the rule is protocol-agnostic: no protocol emits SerializePayload - * for a request with a raw streaming {@code @httpPayload} member. These tests pin that every - * {@link ProtocolTraits} implementation honours it (and still emits SerializePayload for a plain - * request). + * C2J gates {@code SerializePayload()} on {@code !hasStreamMembers()}, so the rule is protocol-agnostic: + * no protocol emits it for a raw streaming {@code @httpPayload} request. Pins that every + * {@link ProtocolTraits} honours this (and still emits SerializePayload for a plain request). */ class ProtocolTraitsStreamingPayloadTest { diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/XmlProtocolTraitsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/XmlProtocolTraitsTest.java index dc04e36ef508..39ebbf259660 100644 --- a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/XmlProtocolTraitsTest.java +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/protocol/XmlProtocolTraitsTest.java @@ -24,10 +24,8 @@ private static String render(java.util.function.Consumer body) { } /** - * Renders inside a simulated class body (indent level 1), matching how request-method - * declarations are emitted by {@code RequestRenderer}. Query/EC2 decls open with a - * {@code dedent()} for the {@code protected:} sandwich, which requires a non-zero - * starting indent. + * Renders at indent level 1, as {@code RequestRenderer} emits request-method decls. Query/EC2 + * decls open with a {@code dedent()} for the {@code protected:} sandwich, needing a non-zero indent. */ private static String renderInClassBody(java.util.function.Consumer body) { CppWriter writer = new CppWriter(); @@ -58,6 +56,12 @@ private static software.amazon.smithy.model.shapes.StructureShape reqWith(boolea private static software.amazon.smithy.model.shapes.OperationShape opDoThing() { return software.amazon.smithy.model.shapes.OperationShape.builder().id("com.example#DoThing").build(); } + /** A presignable operation: carries the internal trait stamped by SupportsPresigningTransform. */ + private static software.amazon.smithy.model.shapes.OperationShape opDoThingPresigning() { + return software.amazon.smithy.model.shapes.OperationShape.builder().id("com.example#DoThing") + .addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms.SupportsPresigningTrait()) + .build(); + } private static software.amazon.smithy.model.shapes.ServiceShape svcAthena() { return software.amazon.smithy.model.shapes.ServiceShape.builder() .id("com.example#AmazonAthena").version("2017-05-18").build(); @@ -120,6 +124,34 @@ void restXml_serdeMethodDecls_runsHookBeforeSerializeMethod() { "Hook must run before the serialize method: " + out); } + // ---------- REST_XML: event-stream initial response ---------- + + @Test + void restXml_initialResponse_omitsHeaderCollectionCtor_buildsFromXmlRoot() { + // REST-XML reuses its XmlNode serde ctor; the initial response is built from the XML body + // root element, so no (const Http::HeaderValueCollection&) ctor is emitted. + String decl = render(w -> restXml.writeInitialResponseCtorDecl(w, "AWS_EX_API", "DoStreamInitialResponse")); + assertFalse(decl.contains("HeaderValueCollection"), + "REST-XML must not emit a header-collection initial-response ctor: " + decl); + + String impl = render(w -> restXml.writeInitialResponseCtorImpl(w, "DoStreamInitialResponse")); + assertFalse(impl.contains("HeaderValueCollection"), + "REST-XML must not emit a header-collection initial-response ctor impl: " + impl); + + // The handler-construction block must declare xmlDoc, guard the parse (WARN + break), and + // then build the event from the XML root — mirroring C2J's XmlRequestEventStreamHandlerSource. + String handler = render(w -> restXml.writeInitialResponseHandlerConstruction( + w, "DoStreamInitialResponse", "DOSTREAM_HANDLER_CLASS_TAG")); + assertTrue(handler.contains( + "auto xmlDoc = XmlDocument::CreateFromXmlString(GetEventPayloadAsString());"), handler); + assertTrue(handler.contains("if (!xmlDoc.WasParseSuccessful()) {"), handler); + assertTrue(handler.contains("AWS_LOGSTREAM_WARN(DOSTREAM_HANDLER_CLASS_TAG, \"Unable to generate " + + "a proper InitialResponse object from the response in XML format.\");"), handler); + assertTrue(handler.contains("break;"), handler); + assertTrue(handler.contains("DoStreamInitialResponse event(xmlDoc.GetRootElement());"), handler); + assertFalse(handler.contains("GetEventHeadersAsHttpHeaders"), handler); + } + // ---------- QUERY_XML / EC2: two OutputToStream overloads ---------- @ParameterizedTest @@ -235,30 +267,78 @@ void restXml_withQueryMember_emitsAddQueryStringParameters() { assertTrue(d.contains("void AddQueryStringParameters(Aws::Http::URI& uri) const override;"), d); } + private static software.amazon.smithy.model.shapes.StructureShape reqWithEmbeddedErrors() { + return software.amazon.smithy.model.shapes.StructureShape.builder() + .id("com.example#DoThingRequest") + .addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms + .EmbeddedErrorsTrait()) + .build(); + } + + @Test + void restXml_withEmbeddedErrorsTrait_emitsHasEmbeddedError() { + var req = reqWithEmbeddedErrors(); var model = modelWith(req); + ProtocolTraits xml = new RestXmlProtocolTraits(); + String d = render(w -> xml.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThing(), model)); + assertTrue(d.contains("AWS_EX_API bool HasEmbeddedError(IOStream &body, " + + "const Http::HeaderValueCollection &header) const override;"), d); + String i = render(w -> xml.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + // The impl is the real constant XML error-sniff body (not a stub) — matches C2J's S3 + // request-source templates: parse the body and report true iff the root element is . + assertTrue(i.contains("bool DoThingRequest::HasEmbeddedError("), i); + assertTrue(i.contains("XmlDocument doc = XmlDocument::CreateFromXmlStream(body);"), i); + assertTrue(i.contains("doc.GetRootElement().GetName() == Aws::String(\"Error\")"), i); + assertFalse(i.contains("return false; }"), "impl must not be the one-line stub"); + } + + @Test + void restXml_withoutEmbeddedErrorsTrait_omitsHasEmbeddedError() { + var req = reqWith(false, false); var model = modelWith(req); + ProtocolTraits xml = new RestXmlProtocolTraits(); + String d = render(w -> xml.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThing(), model)); + assertFalse(d.contains("HasEmbeddedError"), d); + String i = render(w -> xml.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertFalse(i.contains("HasEmbeddedError"), i); + } + // ---------- Query/EC2 request contract (Axis-1 gating + protected DumpBodyToUrl) ---------- @Test - void queryXml_serializePayloadAndProtectedDumpBodyToUrl() { + void queryXml_serializePayloadAndDumpBodyToUrlImpl() { + // DumpBodyToUrl DECL is emitted by RequestRenderer (gated on SupportsPresigningTrait), not the + // query traits; the IMPL is here, gated on the SAME operation trait so decl+impl stay symmetric. var req = reqWith(false, false); var model = modelWith(req); ProtocolTraits q = new QueryXmlProtocolTraits(Protocol.QUERY_XML); - String d = renderInClassBody(w -> q.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThing(), model)); + String d = renderInClassBody(w -> q.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThingPresigning(), model)); assertTrue(d.contains("Aws::String SerializePayload() const override;"), d); - assertTrue(d.contains("void DumpBodyToUrl(Aws::Http::URI& uri) const override;"), d); - assertTrue(d.contains("protected:"), d); - assertTrue(d.contains("public:"), d); + assertFalse(d.contains("DumpBodyToUrl"), + "DumpBodyToUrl decl moved to RequestRenderer; query traits must not emit it: " + d); assertFalse(d.contains("GetRequestSpecificHeaders"), d); - String i = render(w -> q.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + String i = render(w -> q.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThingPresigning(), svcAthena(), model)); assertTrue(i.contains("Aws::String DoThingRequest::SerializePayload() const { return {}; }"), i); assertTrue(i.contains("void DoThingRequest::DumpBodyToUrl(Aws::Http::URI& uri) const { uri.SetQueryString(SerializePayload()); }"), i); } @Test - void queryXml_withHeaderMember_alsoEmitsHeaders_andStillDumpBodyToUrl() { + void queryXml_withoutPresigningOperation_omitsDumpBodyToUrlImpl() { + // Compile-break regression: the impl must be ABSENT when the operation lacks the trait, so a + // Unit-input op that never got the operation trait doesn't emit an impl with no declaration. + var req = reqWith(false, false); var model = modelWith(req); + ProtocolTraits q = new QueryXmlProtocolTraits(Protocol.QUERY_XML); + String i = render(w -> q.writeRequestMethodImpls(w, "DoThingRequest", req, opDoThing(), svcAthena(), model)); + assertTrue(i.contains("Aws::String DoThingRequest::SerializePayload() const { return {}; }"), i); + assertFalse(i.contains("DumpBodyToUrl"), + "operation without SupportsPresigningTrait must not emit the DumpBodyToUrl impl: " + i); + } + + @Test + void queryXml_withHeaderMember_alsoEmitsHeaders() { var req = reqWith(true, false); var model = modelWith(req); ProtocolTraits q = new QueryXmlProtocolTraits(Protocol.QUERY_XML); String d = renderInClassBody(w -> q.writeRequestMethodDecls(w, "AWS_EX_API", req, opDoThing(), model)); assertTrue(d.contains("GetRequestSpecificHeaders() const override;"), d); - assertTrue(d.contains("DumpBodyToUrl"), d); + assertFalse(d.contains("DumpBodyToUrl"), + "DumpBodyToUrl decl moved to RequestRenderer; query traits must not emit it: " + d); } // ---------- Query/EC2 result ResponseMetadata / requestId extraction ---------- diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/DynamoDbRendererTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/DynamoDbRendererTest.java new file mode 100644 index 000000000000..f60dbf50a208 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/DynamoDbRendererTest.java @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.renderers; + +import com.amazonaws.util.awsclientsmithygenerator.generators.CppWriterDelegator; +import com.amazonaws.util.awsclientsmithygenerator.generators.model.ProtocolResolver; +import com.amazonaws.util.awsclientsmithygenerator.generators.model.ProtocolResolver.Protocol; +import com.amazonaws.util.awsclientsmithygenerator.generators.model.RenderContext; +import com.amazonaws.util.awsclientsmithygenerator.generators.model.protocol.ProtocolTraits; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.build.MockManifest; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.ServiceShape; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Verifies that {@link DynamoDbRenderer} emits DynamoDB's bespoke {@code AttributeValue} / + * {@code AttributeValueValue} classes verbatim from classpath resources for the {@code dynamodb} + * service only, and is a no-op for every other service. + */ +class DynamoDbRendererTest { + + /** Builds a minimal {@link RenderContext} whose {@code smithyServiceName} is the given name. */ + private static RenderContext ctx(String smithyServiceName) { + ServiceShape service = ServiceShape.builder() + .id("com.example#Example") + .version("2024-01-01") + .build(); + Model model = Model.builder().addShape(service).build(); + ProtocolTraits traits = ProtocolResolver.traitsFor(Protocol.JSON); + return new RenderContext(model, service, traits, + "DynamoDB", "AWS_DYNAMODB_API", smithyServiceName); + } + + @Test + void emitsFourAttributeValueFilesForDynamoDb() { + MockManifest manifest = new MockManifest(); + CppWriterDelegator delegator = new CppWriterDelegator(manifest); + new DynamoDbRenderer(ctx("dynamodb")).render(delegator); + delegator.flushWriters(); + assertTrue(manifest.hasFile("include/aws/dynamodb/model/AttributeValue.h")); + assertTrue(manifest.hasFile("source/model/AttributeValue.cpp")); + assertTrue(manifest.hasFile("include/aws/dynamodb/model/AttributeValueValue.h")); + assertTrue(manifest.hasFile("source/model/AttributeValueValue.cpp")); + // Body was emitted verbatim: the class + a distinctive static-content marker are present. + String header = manifest.getFileString("include/aws/dynamodb/model/AttributeValue.h").orElseThrow(); + assertTrue(header.contains("class AWS_DYNAMODB_API AttributeValue")); + assertTrue(header.contains("std::shared_ptr m_value;")); + } + + @Test + void noOpForOtherService() { + MockManifest manifest = new MockManifest(); + CppWriterDelegator delegator = new CppWriterDelegator(manifest); + new DynamoDbRenderer(ctx("kinesis")).render(delegator); + delegator.flushWriters(); + assertTrue(manifest.getFiles().isEmpty(), "non-dynamodb service must emit nothing"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/RequestHeaderSerializerTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/RequestHeaderSerializerTest.java new file mode 100644 index 000000000000..e77a05d3b1d1 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/RequestHeaderSerializerTest.java @@ -0,0 +1,317 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.renderers; + +import com.amazonaws.util.awsclientsmithygenerator.generators.CppWriter; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.BlobShape; +import software.amazon.smithy.model.shapes.BooleanShape; +import software.amazon.smithy.model.shapes.EnumShape; +import software.amazon.smithy.model.shapes.IntegerShape; +import software.amazon.smithy.model.shapes.ListShape; +import software.amazon.smithy.model.shapes.MapShape; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.TimestampShape; +import software.amazon.smithy.model.traits.HttpHeaderTrait; +import software.amazon.smithy.model.traits.HttpPrefixHeadersTrait; +import software.amazon.smithy.model.traits.SparseTrait; +import software.amazon.smithy.model.traits.TimestampFormatTrait; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Verifies {@link RequestHeaderSerializer} emits the scalar {@code @httpHeader} member + * serialization (string / {@code x-amz-copy-source} / enum / boolean / blob / timestamp) + * byte-for-byte with the legacy C2J {@code ModelClassHeaderMembersSource.vm} output. + */ +class RequestHeaderSerializerTest { + + private static String render(StructureShape shape, Model model) { + CppWriter w = new CppWriter(); + RequestHeaderSerializer.render(w, shape, model); + return w.toString(); + } + + @Test + void stringHeader_gatedAndStreamed() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("CacheControl", s.getId(), b -> b.addTrait(new HttpHeaderTrait("cache-control"))) + .build(); + Model m = Model.builder().addShapes(s, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_cacheControlHasBeenSet) {"), out); + assertTrue(out.contains("ss << m_cacheControl;"), out); + assertTrue(out.contains("headers.emplace(\"cache-control\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void copySourceHeader_isUrlEncoded() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("CopySource", s.getId(), b -> b.addTrait(new HttpHeaderTrait("x-amz-copy-source"))) + .build(); + Model m = Model.builder().addShapes(s, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_copySourceHasBeenSet) {"), out); + assertTrue(out.contains("ss << m_copySource;"), out); + assertTrue(out.contains( + "headers.emplace(\"x-amz-copy-source\", URI::URLEncodePath(ss.str()));"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void enumHeader_usesMapperAndNotSetGuard() { + EnumShape acl = EnumShape.builder().id("com.ex#ObjectCannedACL") + .addMember("PRIVATE", "private") + .addMember("PUBLIC_READ", "public-read") + .build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("ACL", acl.getId(), b -> b.addTrait(new HttpHeaderTrait("x-amz-acl"))) + .build(); + Model m = Model.builder().addShapes(acl, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_aCLHasBeenSet && m_aCL != ObjectCannedACL::NOT_SET) {"), out); + assertTrue(out.contains( + "headers.emplace(\"x-amz-acl\", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL));"), out); + // Enums never route through the stringstream. + assertFalse(out.contains("ss << m_aCL"), out); + } + + @Test + void booleanHeader_usesBoolalpha() { + BooleanShape b = BooleanShape.builder().id("com.ex#B").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("BypassGovernanceRetention", b.getId(), + mb -> mb.addTrait(new HttpHeaderTrait("x-amz-bypass-governance-retention"))) + .build(); + Model m = Model.builder().addShapes(b, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_bypassGovernanceRetentionHasBeenSet) {"), out); + assertTrue(out.contains("ss << std::boolalpha << m_bypassGovernanceRetention;"), out); + assertTrue(out.contains( + "headers.emplace(\"x-amz-bypass-governance-retention\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void blobHeader_base64() { + BlobShape blob = BlobShape.builder().id("com.ex#Blob").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("SSECustomerKeyMD5", blob.getId(), + mb -> mb.addTrait(new HttpHeaderTrait("x-amz-server-side-encryption-customer-key-MD5"))) + .build(); + Model m = Model.builder().addShapes(blob, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_sSECustomerKeyMD5HasBeenSet) {"), out); + assertTrue(out.contains("ss << HashingUtils::Base64Encode(m_sSECustomerKeyMD5);"), out); + // C2J lowercases header locations: the model's uppercase "MD5" segment becomes "md5". + assertTrue(out.contains( + "headers.emplace(\"x-amz-server-side-encryption-customer-key-md5\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void timestampHeader_defaultRfc822() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expires", ts.getId(), b -> b.addTrait(new HttpHeaderTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_expiresHasBeenSet) {"), out); + assertTrue(out.contains( + "headers.emplace(\"expires\", m_expires.ToGmtString(Aws::Utils::DateFormat::RFC822));"), out); + // Timestamps emplace directly; they never touch the stringstream. + assertFalse(out.contains("ss << m_expires"), out); + } + + @Test + void timestampHeader_dateTimeTraitMapsToIso8601() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T") + .addTrait(new TimestampFormatTrait("date-time")).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expires", ts.getId(), b -> b.addTrait(new HttpHeaderTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "headers.emplace(\"expires\", m_expires.ToGmtString(Aws::Utils::DateFormat::ISO_8601));"), out); + } + + @Test + void epochSecondsTimestampHeader_usesSeconds() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T") + .addTrait(new TimestampFormatTrait("epoch-seconds")).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expires", ts.getId(), b -> b.addTrait(new HttpHeaderTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "headers.emplace(\"expires\", StringUtils::to_string(m_expires.Seconds()));"), out); + } + + @Test + void prefixHeadersMap_loopsWithPrefix() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#Meta") + .key(s.getId()).value(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Metadata", map.getId(), + b -> b.addTrait(new HttpPrefixHeadersTrait("x-amz-meta-"))) + .build(); + Model m = Model.builder().addShapes(s, map, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_metadataHasBeenSet) {"), out); + assertTrue(out.contains("for (const auto& item : m_metadata) {"), out); + assertTrue(out.contains("ss << \"x-amz-meta-\" << item.first;"), out); + assertTrue(out.contains("headers.emplace(ss.str(), item.second);"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void sparsePrefixHeadersMap_unwrapsOptional() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#Meta") + .key(s.getId()).value(s.getId()) + .addTrait(new SparseTrait()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Metadata", map.getId(), + b -> b.addTrait(new HttpPrefixHeadersTrait("x-amz-meta-"))) + .build(); + Model m = Model.builder().addShapes(s, map, req).build(); + String out = render(req, m); + assertTrue(out.contains("for (const auto& item : m_metadata) {"), out); + assertTrue(out.contains("ss << \"x-amz-meta-\" << item.first;"), out); + assertTrue(out.contains( + "if (item.second.has_value()) { headers.emplace(ss.str(), item.second.value()); }"), out); + // The sparse form never emits the plain unconditional emplace. + assertFalse(out.contains("headers.emplace(ss.str(), item.second);"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void listHeader_accumulatesCommaJoined() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("X", list.getId(), b -> b.addTrait(new HttpHeaderTrait("x-h"))) + .build(); + Model m = Model.builder().addShapes(s, list, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_xHasBeenSet) {"), out); + assertTrue(out.contains( + "headers.emplace(\"x-h\", std::accumulate(std::begin(m_x), std::end(m_x), Aws::String{},"), out); + assertTrue(out.contains( + "[](const Aws::String& acc, const Aws::String& item) -> Aws::String {"), out); + assertTrue(out.contains("const auto headerValue = item;"), out); + assertTrue(out.contains("return acc.empty() ? headerValue : acc + \",\" + headerValue;"), out); + assertTrue(out.contains("}));"), out); + } + + @Test + void listHeader_enumElement_usesMapper() { + EnumShape e = EnumShape.builder().id("com.ex#ObjectAttributes") + .addMember("ETAG", "ETag").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(e.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("X", list.getId(), + b -> b.addTrait(new HttpHeaderTrait("x-amz-object-attributes"))) + .build(); + Model m = Model.builder().addShapes(e, list, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "[](const Aws::String& acc, const ObjectAttributes& item) -> Aws::String {"), out); + assertTrue(out.contains( + "const auto headerValue = ObjectAttributesMapper::GetNameForObjectAttributes(item);"), out); + } + + @Test + void listHeader_timestampElement_usesToGmtString() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(ts.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("X", list.getId(), b -> b.addTrait(new HttpHeaderTrait("x-h"))) + .build(); + Model m = Model.builder().addShapes(ts, list, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "[](const Aws::String& acc, const Aws::Utils::DateTime& item) -> Aws::String {"), out); + assertTrue(out.contains( + "const auto headerValue = item.ToGmtString(Aws::Utils::DateFormat::RFC822);"), out); + } + + @Test + void listHeader_primitiveElement_usesToString() { + IntegerShape i = IntegerShape.builder().id("com.ex#I").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(i.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("X", list.getId(), b -> b.addTrait(new HttpHeaderTrait("x-h"))) + .build(); + Model m = Model.builder().addShapes(i, list, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "[](const Aws::String& acc, const int& item) -> Aws::String {"), out); + assertTrue(out.contains("const auto headerValue = StringUtils::to_string(item);"), out); + } + + @Test + void mixedCaseHeaderLocation_isLowercased() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("CacheControl", s.getId(), b -> b.addTrait(new HttpHeaderTrait("Cache-Control"))) + .build(); + Model m = Model.builder().addShapes(s, req).build(); + String out = render(req, m); + // C2J lowercases HTTP header location names; the mixed-case model name must be emitted lowercase. + assertTrue(out.contains("headers.emplace(\"cache-control\", ss.str());"), out); + assertFalse(out.contains("Cache-Control"), out); + } + + @Test + void mixedCaseEnumHeaderLocation_isLowercased() { + EnumShape acl = EnumShape.builder().id("com.ex#ObjectCannedACL") + .addMember("PRIVATE", "private") + .build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("ACL", acl.getId(), b -> b.addTrait(new HttpHeaderTrait("X-Amz-ACL"))) + .build(); + Model m = Model.builder().addShapes(acl, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "headers.emplace(\"x-amz-acl\", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL));"), out); + assertFalse(out.contains("X-Amz-ACL"), out); + } + + @Test + void mixedCasePrefixHeaders_prefixIsLowercased() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#Meta") + .key(s.getId()).value(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Metadata", map.getId(), + b -> b.addTrait(new HttpPrefixHeadersTrait("X-Amz-Meta-"))) + .build(); + Model m = Model.builder().addShapes(s, map, req).build(); + String out = render(req, m); + assertTrue(out.contains("ss << \"x-amz-meta-\" << item.first;"), out); + assertFalse(out.contains("X-Amz-Meta-"), out); + } + + @Test + void memberWithoutHeaderTrait_emitsNothing() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Body", s.getId()) + .build(); + Model m = Model.builder().addShapes(s, req).build(); + assertTrue(render(req, m).isBlank(), render(req, m)); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/RequestQuerySerializerTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/RequestQuerySerializerTest.java new file mode 100644 index 000000000000..5d5b53fa0b55 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/RequestQuerySerializerTest.java @@ -0,0 +1,268 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.renderers; + +import com.amazonaws.util.awsclientsmithygenerator.generators.CppWriter; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.EnumShape; +import software.amazon.smithy.model.shapes.ListShape; +import software.amazon.smithy.model.shapes.MapShape; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.TimestampShape; +import software.amazon.smithy.model.traits.HttpQueryParamsTrait; +import software.amazon.smithy.model.traits.HttpQueryTrait; +import software.amazon.smithy.model.traits.TimestampFormatTrait; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Verifies {@link RequestQuerySerializer} emits the scalar / string / enum / timestamp + * {@code @httpQuery} member serialization byte-for-byte with the legacy C2J + * {@code AddQueryStringParametersToRequest.vm} output. {@code @httpQuery} lists and + * {@code @httpQueryParams} maps are handled separately and are not exercised here. + */ +class RequestQuerySerializerTest { + + private static String render(StructureShape shape, Model model) { + CppWriter w = new CppWriter(); + RequestQuerySerializer.render(w, shape, model); + return w.toString(); + } + + @Test + void stringQuery_gatedAndAdded() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Prefix", s.getId(), b -> b.addTrait(new HttpQueryTrait("prefix"))) + .build(); + Model m = Model.builder().addShapes(s, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_prefixHasBeenSet) {"), out); + assertTrue(out.contains("ss << m_prefix;"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"prefix\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void enumQuery_streamsMapper() { + EnumShape e = EnumShape.builder().id("com.ex#EncodingType") + .addMember("URL", "url") + .build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("EncodingType", e.getId(), b -> b.addTrait(new HttpQueryTrait("encoding-type"))) + .build(); + Model m = Model.builder().addShapes(e, req).build(); + String out = render(req, m); + // C2J's query template (AddQueryStringParameter.vm) gates query enums on HasBeenSet only — + // there is no NOT_SET clause for query members (unlike headers). + assertTrue(out.contains("if (m_encodingTypeHasBeenSet) {"), out); + assertFalse(out.contains("NOT_SET"), out); + assertTrue(out.contains( + "ss << EncodingTypeMapper::GetNameForEncodingType(m_encodingType);"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"encoding-type\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void timestampQuery_defaultIso8601() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expires", ts.getId(), b -> b.addTrait(new HttpQueryTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_expiresHasBeenSet) {"), out); + assertTrue(out.contains( + "ss << m_expires.ToGmtString(Aws::Utils::DateFormat::ISO_8601);"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"expires\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void timestampQuery_httpDateTraitMapsToRfc822() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T") + .addTrait(new TimestampFormatTrait("http-date")).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expires", ts.getId(), b -> b.addTrait(new HttpQueryTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, req).build(); + String out = render(req, m); + assertTrue(out.contains( + "ss << m_expires.ToGmtString(Aws::Utils::DateFormat::RFC822);"), out); + } + + @Test + void timestampQuery_epochSecondsTrait() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T") + .addTrait(new TimestampFormatTrait("epoch-seconds")).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expires", ts.getId(), b -> b.addTrait(new HttpQueryTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_expiresHasBeenSet) {"), out); + assertTrue(out.contains("ss << m_expires.SecondsWithMSPrecision();"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"expires\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void memberWithoutQueryTrait_emitsNothing() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Body", s.getId()) + .build(); + Model m = Model.builder().addShapes(s, req).build(); + assertTrue(render(req, m).isBlank(), render(req, m)); + } + + @Test + void listQuery_loopsSameLocation() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Ids", list.getId(), b -> b.addTrait(new HttpQueryTrait("id"))) + .build(); + Model m = Model.builder().addShapes(s, list, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_idsHasBeenSet) {"), out); + assertTrue(out.contains("for (const auto& item : m_ids) {"), out); + assertTrue(out.contains("ss << item;"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"id\", ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void listQuery_enumElement_streamsMapper() { + EnumShape e = EnumShape.builder().id("com.ex#EncodingType") + .addMember("URL", "url").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(e.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("EncodingTypes", list.getId(), b -> b.addTrait(new HttpQueryTrait("encoding-type"))) + .build(); + Model m = Model.builder().addShapes(e, list, req).build(); + String out = render(req, m); + assertTrue(out.contains("for (const auto& item : m_encodingTypes) {"), out); + assertTrue(out.contains("ss << EncodingTypeMapper::GetNameForEncodingType(item);"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"encoding-type\", ss.str());"), out); + } + + @Test + void listQuery_timestampElement_defaultIso8601() { + TimestampShape ts = TimestampShape.builder().id("com.ex#T").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(ts.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Expirations", list.getId(), b -> b.addTrait(new HttpQueryTrait("expires"))) + .build(); + Model m = Model.builder().addShapes(ts, list, req).build(); + String out = render(req, m); + assertTrue(out.contains("for (const auto& item : m_expirations) {"), out); + assertTrue(out.contains( + "ss << item.ToGmtString(Aws::Utils::DateFormat::ISO_8601);"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(\"expires\", ss.str());"), out); + } + + @Test + void queryParamsMap_scalarValue_usesEntryKey() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#M").key(s.getId()).value(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Params", map.getId(), b -> b.addTrait(new HttpQueryParamsTrait())) + .build(); + Model m = Model.builder().addShapes(s, map, req).build(); + String out = render(req, m); + assertTrue(out.contains("if (m_paramsHasBeenSet) {"), out); + assertTrue(out.contains("for (auto& item : m_params) {"), out); + assertTrue(out.contains("ss << item.second;"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(item.first.c_str(), ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void queryParamsMap_listValue_innerLoop() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + ListShape list = ListShape.builder().id("com.ex#L").member(s.getId()).build(); + MapShape map = MapShape.builder().id("com.ex#M").key(s.getId()).value(list.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Params", map.getId(), b -> b.addTrait(new HttpQueryParamsTrait())) + .build(); + Model m = Model.builder().addShapes(s, list, map, req).build(); + String out = render(req, m); + assertTrue(out.contains("for (auto& item : m_params) {"), out); + assertTrue(out.contains("for (auto& innerItem : item.second) {"), out); + assertTrue(out.contains("ss << innerItem;"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(item.first.c_str(), ss.str());"), out); + assertTrue(out.contains("ss.str(\"\");"), out); + } + + @Test + void customizedAccessLogTagMarker_emitsXFilterBlockAndSkipsNormalMap() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#M").key(s.getId()).value(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("customizedAccessLogTag", map.getId(), b -> b + .addTrait(new HttpQueryParamsTrait()) + .addTrait(new com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms + .CustomizedAccessLogTagTrait())) + .build(); + Model m = Model.builder().addShapes(s, map, req).build(); + String out = render(req, m); + + // The x- filter block is emitted verbatim (NOT HasBeenSet-gated). + assertTrue(out.contains("if (!m_customizedAccessLogTag.empty()) {"), out); + assertTrue(out.contains("// only accept customized LogTag which starts with \"x-\""), out); + assertTrue(out.contains("Aws::Map collectedLogTags;"), out); + assertTrue(out.contains("for (const auto& entry : m_customizedAccessLogTag) {"), out); + assertTrue(out.contains( + "if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == \"x-\") {"), + out); + assertTrue(out.contains("collectedLogTags.emplace(entry.first, entry.second);"), out); + assertTrue(out.contains("if (!collectedLogTags.empty()) {"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(collectedLogTags);"), out); + + // The marked member must be skipped in the normal @httpQueryParams loop. + assertFalse(out.contains("if (m_customizedAccessLogTagHasBeenSet) {"), out); + assertFalse(out.contains("for (auto& item : m_customizedAccessLogTag) {"), out); + } + + @Test + void plainQueryParamsMap_withoutMarker_stillNormalSerialization() { + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#M").key(s.getId()).value(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Params", map.getId(), b -> b.addTrait(new HttpQueryParamsTrait())) + .build(); + Model m = Model.builder().addShapes(s, map, req).build(); + String out = render(req, m); + + // A plain @httpQueryParams map (no marker) keeps the Task-4 normal map serialization. + assertTrue(out.contains("if (m_paramsHasBeenSet) {"), out); + assertTrue(out.contains("for (auto& item : m_params) {"), out); + assertTrue(out.contains("ss << item.second;"), out); + assertTrue(out.contains("uri.AddQueryStringParameter(item.first.c_str(), ss.str());"), out); + // No x- filter block for a plain map. + assertFalse(out.contains("collectedLogTags"), out); + } + + @Test + void queryParamsMap_enumKey_usesMapper() { + EnumShape key = EnumShape.builder().id("com.ex#KeyEnum") + .addMember("A", "a").build(); + StringShape s = StringShape.builder().id("com.ex#S").build(); + MapShape map = MapShape.builder().id("com.ex#M").key(key.getId()).value(s.getId()).build(); + StructureShape req = StructureShape.builder().id("com.ex#R") + .addMember("Params", map.getId(), b -> b.addTrait(new HttpQueryParamsTrait())) + .build(); + Model m = Model.builder().addShapes(key, s, map, req).build(); + String out = render(req, m); + assertTrue(out.contains("for (auto& item : m_params) {"), out); + assertTrue(out.contains("ss << item.second;"), out); + assertTrue(out.contains( + "uri.AddQueryStringParameter(KeyEnumMapper::GetNameForKeyEnum(item.first).c_str(), ss.str());"), out); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/endpointcontext/SmithyEndpointsJmesPathVisitorTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/endpointcontext/SmithyEndpointsJmesPathVisitorTest.java new file mode 100644 index 000000000000..d0150f6d6192 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/renderers/endpointcontext/SmithyEndpointsJmesPathVisitorTest.java @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.renderers.endpointcontext; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.jmespath.JmespathExpression; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.ListShape; +import software.amazon.smithy.model.shapes.MapShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class SmithyEndpointsJmesPathVisitorTest { + + private static final String STR = "com.example#String"; + + private static StringShape str() { + return StringShape.builder().id(STR).build(); + } + + private static String render(Model model, StructureShape input, String jmesPath) { + return JmespathExpression.parse(jmesPath) + .accept(new SmithyEndpointsJmesPathVisitor(model, input, "(*this)")) + .statements(); + } + + /** Collapse all runs of whitespace to a single space and trim, so comparisons ignore + * indentation/newlines (clang-format normalizes generated whitespace downstream). */ + private static String normalizeWs(String s) { + return s.replaceAll("\\s+", " ").trim(); + } + + @Test + void keysPattern() { + // Map under a request struct member "RequestItems". + MapShape reqMap = MapShape.builder() + .id("com.example#RequestItemsMap") + .key(MemberShape.builder().id("com.example#RequestItemsMap$key").target(STR).build()) + .value(MemberShape.builder().id("com.example#RequestItemsMap$value").target(STR).build()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#Req") + .addMember("RequestItems", reqMap.getId()).build(); + Model model = Model.builder().addShapes(str(), reqMap, input).build(); + + String expected = + "auto& RequestItemsElems = (*this).GetRequestItems();\n" + + "for (auto& keysElem : RequestItemsElems)\n" + + "{\n" + + "\tresult.emplace_back(keysElem.first);\n" + + "}\n"; + assertEquals(normalizeWs(expected), normalizeWs(render(model, input, "keys(RequestItems)"))); + } + + @Test + void dotAccessPattern() { + // Struct with member TableCreationParameters (Struct with member TableName: String). + StructureShape tcp = StructureShape.builder() + .id("com.example#TableCreationParameters") + .addMember("TableName", ShapeId.from(STR)).build(); + StructureShape input = StructureShape.builder() + .id("com.example#Req") + .addMember("TableCreationParameters", tcp.getId()).build(); + Model model = Model.builder().addShapes(str(), tcp, input).build(); + + String expected = + "auto& TableCreationParametersElems = (*this).GetTableCreationParameters().GetTableName();\n" + + "result.emplace_back(TableCreationParametersElems);\n"; + assertEquals(normalizeWs(expected), normalizeWs(render(model, input, "TableCreationParameters.TableName"))); + } + + @Test + void projectionPattern() { + // List>> under member TransactItems. + StructureShape getStruct = StructureShape.builder() + .id("com.example#Get").addMember("TableName", ShapeId.from(STR)).build(); + StructureShape item = StructureShape.builder() + .id("com.example#Item").addMember("Get", getStruct.getId()).build(); + ListShape list = ListShape.builder() + .id("com.example#Items") + .member(MemberShape.builder().id("com.example#Items$member").target(item.getId()).build()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#Req").addMember("TransactItems", list.getId()).build(); + Model model = Model.builder().addShapes(str(), getStruct, item, list, input).build(); + + String expected = + "auto& TransactItemsElems = (*this).GetTransactItems();\n" + + "for (auto& TransactItemsElem : TransactItemsElems)\n" + + "{\n" + + "\tauto& GetElems = TransactItemsElem.GetGet().GetTableName();\n" + + "\tresult.emplace_back(GetElems);\n" + + "}\n"; + assertEquals(normalizeWs(expected), normalizeWs(render(model, input, "TransactItems[*].Get.TableName"))); + } + + @Test + void multiSelectListFlattenPattern() { + // Same list-of-Item as projectionPattern but Item has four sibling struct members. + StructureShape cc = StructureShape.builder().id("com.example#CC").addMember("TableName", ShapeId.from(STR)).build(); + StructureShape put = StructureShape.builder().id("com.example#Put").addMember("TableName", ShapeId.from(STR)).build(); + StructureShape del = StructureShape.builder().id("com.example#Delete").addMember("TableName", ShapeId.from(STR)).build(); + StructureShape upd = StructureShape.builder().id("com.example#Update").addMember("TableName", ShapeId.from(STR)).build(); + StructureShape item = StructureShape.builder() + .id("com.example#Item") + .addMember("ConditionCheck", cc.getId()) + .addMember("Put", put.getId()) + .addMember("Delete", del.getId()) + .addMember("Update", upd.getId()).build(); + ListShape list = ListShape.builder() + .id("com.example#Items") + .member(MemberShape.builder().id("com.example#Items$member").target(item.getId()).build()) + .build(); + StructureShape input = StructureShape.builder() + .id("com.example#Req").addMember("TransactItems", list.getId()).build(); + Model model = Model.builder().addShapes(str(), cc, put, del, upd, item, list, input).build(); + + String expected = + "auto& TransactItemsElems = (*this).GetTransactItems();\n" + + "for (auto& TransactItemsElem : TransactItemsElems)\n" + + "{\n" + + "\tauto& ConditionCheckElems = TransactItemsElem.GetConditionCheck().GetTableName();\n" + + "\tresult.emplace_back(ConditionCheckElems);\n" + + "\tauto& PutElems = TransactItemsElem.GetPut().GetTableName();\n" + + "\tresult.emplace_back(PutElems);\n" + + "\tauto& DeleteElems = TransactItemsElem.GetDelete().GetTableName();\n" + + "\tresult.emplace_back(DeleteElems);\n" + + "\tauto& UpdateElems = TransactItemsElem.GetUpdate().GetTableName();\n" + + "\tresult.emplace_back(UpdateElems);\n" + + "}\n"; + String actual = render(model, input, + "TransactItems[*].[ConditionCheck.TableName, Put.TableName, Delete.TableName, Update.TableName][]"); + assertEquals(normalizeWs(expected), normalizeWs(actual)); + } + + @Test + void unsupportedNode_throws() { + // An unsupported node (filter projection) must throw UnsupportedOperationException (from + // UnsupportedExpressionVisitor): fail fast on unrecognized constructs. + StructureShape input = StructureShape.builder() + .id("com.example#Req").addMember("x", ShapeId.from(STR)).build(); + Model model = Model.builder().addShapes(str(), input).build(); + + UnsupportedOperationException ex = assertThrows(UnsupportedOperationException.class, + () -> render(model, input, "x[?y == 'z']")); + // Only assert the prefix — the node-type suffix is intentionally not pinned. + assertTrue(ex.getMessage().startsWith("Unsupported expression:")); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/AccessAnalyzerTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/AccessAnalyzerTransformsTest.java new file mode 100644 index 000000000000..2b5e91b311a5 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/AccessAnalyzerTransformsTest.java @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; +import software.amazon.smithy.model.traits.JsonNameTrait; + +import static org.junit.jupiter.api.Assertions.*; + +class AccessAnalyzerTransformsTest { + + private static Model model(String sdkId, boolean withResultShape) { + String ns = "com.amazonaws.accessanalyzer"; + StructureShape.Builder respB = StructureShape.builder().id(ns + "#GetGeneratedPolicyResponse"); + StructureShape gpr = StructureShape.builder().id(ns + "#GeneratedPolicyResult") + .addMember("x", ShapeId.from("smithy.api#String")).build(); + if (withResultShape) { + respB.addMember("generatedPolicyResult", gpr.getId()); + } + StructureShape resp = respB.build(); + StructureShape req = StructureShape.builder().id(ns + "#GetGeneratedPolicyRequest").build(); + OperationShape op = OperationShape.builder().id(ns + "#GetGeneratedPolicy") + .input(req.getId()).output(resp.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(ns + "#AccessAnalyzer").version("2019-11-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("access-analyzer") + .cloudFormationName("AccessAnalyzer").cloudTrailEventSource("access-analyzer").build()) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(req, resp, op, svc).addShape(gpr).assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.amazonaws.accessanalyzer#AccessAnalyzer"), ServiceShape.class); + } + + @Test + void renamesShapeAndMember_withJsonNamePreserved() { + Model m = model("AccessAnalyzer", true); + Model out = new AccessAnalyzerTransforms().transform(m, service(m)); + + assertTrue(out.getShape( + ShapeId.from("com.amazonaws.accessanalyzer#GeneratedPolicyResults")).isPresent(), + "shape renamed to GeneratedPolicyResults"); + assertFalse(out.getShape( + ShapeId.from("com.amazonaws.accessanalyzer#GeneratedPolicyResult")).isPresent(), + "old shape name gone"); + + StructureShape resp = out.expectShape( + ShapeId.from("com.amazonaws.accessanalyzer#GetGeneratedPolicyResponse"), StructureShape.class); + MemberShape member = resp.getMember("generatedPolicyResults").orElseThrow(); + assertEquals("com.amazonaws.accessanalyzer#GeneratedPolicyResults", + member.getTarget().toString(), "member repointed to renamed shape"); + assertEquals("generatedPolicyResult", + member.expectTrait(JsonNameTrait.class).getValue(), "wire name preserved"); + assertFalse(resp.getMember("generatedPolicyResult").isPresent(), "old member name gone"); + } + + @Test + void noOpForOtherService() { + Model m = model("SomethingElse", true); + assertFalse(new AccessAnalyzerTransforms().shouldRun(service(m))); + } + + @Test + void throwsWhenTargetShapeAlreadyExists() { + String ns = "com.amazonaws.accessanalyzer"; + StructureShape gpr = StructureShape.builder().id(ns + "#GeneratedPolicyResult") + .addMember("x", ShapeId.from("smithy.api#String")).build(); + StructureShape gprs = StructureShape.builder().id(ns + "#GeneratedPolicyResults") + .addMember("y", ShapeId.from("smithy.api#String")).build(); + StructureShape resp = StructureShape.builder().id(ns + "#GetGeneratedPolicyResponse") + .addMember("generatedPolicyResult", gpr.getId()).build(); + StructureShape req = StructureShape.builder().id(ns + "#GetGeneratedPolicyRequest").build(); + OperationShape op = OperationShape.builder().id(ns + "#GetGeneratedPolicy") + .input(req.getId()).output(resp.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(ns + "#AccessAnalyzer").version("2019-11-01") + .addTrait(ServiceTrait.builder().sdkId("AccessAnalyzer").arnNamespace("access-analyzer") + .cloudFormationName("AccessAnalyzer").cloudTrailEventSource("access-analyzer").build()) + .addOperation(op.getId()).build(); + Model m = Model.assembler().addShapes(gpr, gprs, resp, req, op, svc).assemble().unwrap(); + assertThrows(IllegalStateException.class, + () -> new AccessAnalyzerTransforms().transform(m, service(m))); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ApiGatewayTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ApiGatewayTransformsTest.java new file mode 100644 index 000000000000..42e4382fad06 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ApiGatewayTransformsTest.java @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; +import software.amazon.smithy.model.traits.JsonNameTrait; + +import static org.junit.jupiter.api.Assertions.*; + +class ApiGatewayTransformsTest { + + private static Model apiGatewayModel(String sdkId) { + StructureShape testInvokeMethod = StructureShape.builder() + .id("com.example#TestInvokeMethodRequest") + .addMember(MemberShape.builder().id("com.example#TestInvokeMethodRequest$body") + .target("smithy.api#String").build()) + .addMember(MemberShape.builder().id("com.example#TestInvokeMethodRequest$headers") + .target("smithy.api#String").build()) + .build(); + StructureShape testInvokeAuth = StructureShape.builder() + .id("com.example#TestInvokeAuthorizerRequest") + .addMember(MemberShape.builder().id("com.example#TestInvokeAuthorizerRequest$body") + .target("smithy.api#String").build()) + .addMember(MemberShape.builder().id("com.example#TestInvokeAuthorizerRequest$headers") + .target("smithy.api#String").build()) + .build(); + StructureShape out = StructureShape.builder().id("com.example#EmptyOut").build(); + OperationShape op1 = OperationShape.builder().id("com.example#TestInvokeMethod") + .input(testInvokeMethod.getId()).output(out.getId()).build(); + OperationShape op2 = OperationShape.builder().id("com.example#TestInvokeAuthorizer") + .input(testInvokeAuth.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("apigateway") + .cloudFormationName("ApiGateway").cloudTrailEventSource("apigateway").build()) + .addOperation(op1.getId()).addOperation(op2.getId()) + .build(); + return Model.assembler() + .addShapes(testInvokeMethod, testInvokeAuth, out, op1, op2, service) + .assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + @Test + void renamesBodyAndHeaders() { + Model m = apiGatewayModel("API Gateway"); + Model out = new ApiGatewayTransforms().transform(m, service(m)); + + StructureShape r = out.expectShape( + ShapeId.from("com.example#TestInvokeMethodRequest"), StructureShape.class); + assertTrue(r.getMember("requestBody").isPresent()); + assertTrue(r.getMember("requestHeaders").isPresent()); + assertTrue(r.getMember("body").isEmpty()); + assertTrue(r.getMember("headers").isEmpty()); + assertEquals("body", r.getMember("requestBody").orElseThrow() + .expectTrait(JsonNameTrait.class).getValue(), "body wire key preserved"); + assertEquals("headers", r.getMember("requestHeaders").orElseThrow() + .expectTrait(JsonNameTrait.class).getValue(), "headers wire key preserved"); + + StructureShape a = out.expectShape( + ShapeId.from("com.example#TestInvokeAuthorizerRequest"), StructureShape.class); + assertTrue(a.getMember("requestBody").isPresent()); + assertTrue(a.getMember("requestHeaders").isPresent()); + } + + @Test + void noOpForOtherService() { + Model m = apiGatewayModel("SomeOther"); + assertFalse(new ApiGatewayTransforms().shouldRun(service(m))); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ApiGatewayV2TransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ApiGatewayV2TransformsTest.java new file mode 100644 index 000000000000..21a8c62aac9d --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ApiGatewayV2TransformsTest.java @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; +import software.amazon.smithy.model.traits.JsonNameTrait; + +import static org.junit.jupiter.api.Assertions.*; + +class ApiGatewayV2TransformsTest { + + private static StructureShape reqWithBody(String name) { + return StructureShape.builder() + .id("com.example#" + name) + .addMember(MemberShape.builder().id("com.example#" + name + "$Body") + .target("smithy.api#String").build()) + .build(); + } + + private static Model model(String sdkId) { + StructureShape importApi = reqWithBody("ImportApiRequest"); + StructureShape reimportApi = reqWithBody("ReimportApiRequest"); + StructureShape out = StructureShape.builder().id("com.example#EmptyOut").build(); + OperationShape op1 = OperationShape.builder().id("com.example#ImportApi") + .input(importApi.getId()).output(out.getId()).build(); + OperationShape op2 = OperationShape.builder().id("com.example#ReimportApi") + .input(reimportApi.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("apigatewayv2") + .cloudFormationName("ApiGatewayV2").cloudTrailEventSource("apigatewayv2").build()) + .addOperation(op1.getId()).addOperation(op2.getId()) + .build(); + return Model.assembler().addShapes(importApi, reimportApi, out, op1, op2, service) + .assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + @Test + void renamesBody() { + Model m = model("ApiGatewayV2"); + Model out = new ApiGatewayV2Transforms().transform(m, service(m)); + for (String name : new String[]{"ImportApiRequest", "ReimportApiRequest"}) { + StructureShape r = out.expectShape(ShapeId.from("com.example#" + name), StructureShape.class); + assertTrue(r.getMember("requestBody").isPresent(), name); + assertTrue(r.getMember("Body").isEmpty(), name); + assertEquals("Body", r.getMember("requestBody").orElseThrow() + .expectTrait(JsonNameTrait.class).getValue(), name + " wire key preserved"); + } + } + + @Test + void noOpForOtherService() { + Model m = model("SomeOther"); + assertFalse(new ApiGatewayV2Transforms().shouldRun(service(m))); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ChunkedEncodingTransformTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ChunkedEncodingTransformTest.java new file mode 100644 index 000000000000..035f70ca2404 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/ChunkedEncodingTransformTest.java @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.aws.traits.auth.UnsignedPayloadTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.BlobShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.traits.HttpPayloadTrait; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class ChunkedEncodingTransformTest { + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + private static boolean stamped(Model m, String requestShapeName) { + return m.expectShape(ShapeId.from("com.example#" + requestShapeName), StructureShape.class) + .hasTrait(ChunkedEncodingTrait.class); + } + + private static ServiceTrait serviceTrait(String sdkId) { + return ServiceTrait.builder().sdkId(sdkId).arnNamespace("ns") + .cloudFormationName("Cfn").cloudTrailEventSource("src").build(); + } + + /** + * Builds a single-operation service. {@code streaming} adds a raw {@code @httpPayload} blob body + * (plus a plain member so members > 0); {@code unsigned} adds {@code aws.auth#unsignedPayload}. + */ + private static Model oneOpModel(String sdkId, String opName, boolean streaming, boolean unsigned) { + StringShape str = StringShape.builder().id("com.example#String").build(); + BlobShape blob = BlobShape.builder().id("com.example#Body").build(); + StructureShape.Builder inB = StructureShape.builder().id("com.example#" + opName + "Request") + .addMember("name", str.getId()); + if (streaming) { + inB.addMember(MemberShape.builder() + .id("com.example#" + opName + "Request$body").target(blob.getId()) + .addTrait(new HttpPayloadTrait()).build()); + } + StructureShape input = inB.build(); + OperationShape.Builder opB = OperationShape.builder() + .id("com.example#" + opName).input(input.getId()); + if (unsigned) { + opB.addTrait(new UnsignedPayloadTrait()); + } + OperationShape op = opB.build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(serviceTrait(sdkId)) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(str, blob, input, op, service).assemble().unwrap(); + } + + @Test + void mediaStoreDataUnsignedStreamingOp_stampsInput() { + Model m = oneOpModel("MediaStore Data", "PutObject", true, true); + Model out = new ChunkedEncodingTransform().transform(m, service(m)); + assertTrue(stamped(out, "PutObjectRequest"), + "MediaStore Data unsigned-payload streaming request must be stamped"); + } + + @Test + void mediaStoreDataNonStreamingOp_notStamped() { + Model m = oneOpModel("MediaStore Data", "DescribeObject", false, true); + Model out = new ChunkedEncodingTransform().transform(m, service(m)); + assertSame(m, out, "no qualifying operation must leave the model untouched"); + assertFalse(stamped(out, "DescribeObjectRequest"), + "a non-streaming request must not be stamped"); + } + + @Test + void mediaStoreDataSignedStreamingOp_notStamped() { + Model m = oneOpModel("MediaStore Data", "PutObject", true, false); + Model out = new ChunkedEncodingTransform().transform(m, service(m)); + assertSame(m, out, "no qualifying operation must leave the model untouched"); + assertFalse(stamped(out, "PutObjectRequest"), + "a signed (no @unsignedPayload) request must not be stamped"); + } + + @Test + void s3WriteGetObjectResponseUnsignedStreamingOp_stampsInput() { + Model m = oneOpModel("S3", "WriteGetObjectResponse", true, true); + Model out = new ChunkedEncodingTransform().transform(m, service(m)); + assertTrue(stamped(out, "WriteGetObjectResponseRequest"), + "S3 WriteGetObjectResponse unsigned-payload streaming request must be stamped"); + } + + @Test + void unrelatedServiceStreamingOp_notStamped() { + Model m = oneOpModel("S3", "PutObject", true, true); + Model out = new ChunkedEncodingTransform().transform(m, service(m)); + assertSame(m, out, "an unrelated operation must leave the model untouched"); + assertFalse(stamped(out, "PutObjectRequest"), + "only WriteGetObjectResponse (or MediaStore Data) may be stamped"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/CloudFrontTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/CloudFrontTransformsTest.java new file mode 100644 index 000000000000..42751814a1ea --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/CloudFrontTransformsTest.java @@ -0,0 +1,162 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StructureShape; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class CloudFrontTransformsTest { + + private static final String NS = "com.amazonaws.cloudfront"; + + private static Model cloudFrontModel(String sdkId, String version) { + StructureShape in = StructureShape.builder().id(NS + "#AssociateAliasRequest").build(); + StructureShape out = StructureShape.builder().id(NS + "#AssociateAliasResult").build(); + OperationShape op = OperationShape.builder().id(NS + "#AssociateAlias") + .input(in.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id(NS + "#Cloudfront2020_05_31").version(version) + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("cloudfront") + .cloudFormationName("CloudFront").cloudTrailEventSource("cloudfront.amazonaws.com").build()) + .addOperation(op.getId()) + .build(); + return Model.assembler().addShapes(in, out, op, service).assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from(NS + "#Cloudfront2020_05_31"), ServiceShape.class); + } + + @Test + void suffixesOperationNameWithApiVersion() { + Model m = cloudFrontModel("CloudFront", "2020-05-31"); + Model out = new CloudFrontTransforms().transform(m, service(m)); + + ShapeId suffixed = ShapeId.from(NS + "#AssociateAlias2020_05_31"); + assertTrue(out.getShape(suffixed).isPresent(), "operation must be renamed with version suffix"); + assertFalse(out.getShape(ShapeId.from(NS + "#AssociateAlias")).isPresent(), + "clean operation name must no longer exist"); + assertTrue(service(out).getOperations().contains(suffixed), + "service must reference the suffixed operation"); + } + + @Test + void stampsCleanServiceRequestNameOnSuffixedOperation() { + Model m = cloudFrontModel("CloudFront", "2020-05-31"); + Model out = new CloudFrontTransforms().transform(m, service(m)); + + OperationShape suffixed = out.expectShape( + ShapeId.from(NS + "#AssociateAlias2020_05_31"), OperationShape.class); + assertEquals("AssociateAlias", + suffixed.expectTrait(ServiceRequestNameTrait.class).getValue(), + "renamed operation must carry the clean logical name for GetServiceRequestName"); + } + + @Test + void doesNotRenameInputOrOutputStructures() { + Model m = cloudFrontModel("CloudFront", "2020-05-31"); + Model out = new CloudFrontTransforms().transform(m, service(m)); + + assertTrue(out.getShape(ShapeId.from(NS + "#AssociateAliasRequest")).isPresent(), + "input structure must keep its clean name (it folds into the request class)"); + assertTrue(out.getShape(ShapeId.from(NS + "#AssociateAliasResult")).isPresent(), + "output structure must keep its clean name"); + } + + @Test + void noOpForOtherService() { + StructureShape in = StructureShape.builder().id("com.example#DoThingRequest").build(); + OperationShape op = OperationShape.builder().id("com.example#DoThing").input(in.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#KvsService").version("2022-07-26") + .addTrait(ServiceTrait.builder().sdkId("CloudFront KeyValueStore").arnNamespace("cloudfront-keyvaluestore") + .cloudFormationName("CloudFrontKeyValueStore").cloudTrailEventSource("cloudfront-keyvaluestore.amazonaws.com").build()) + .addOperation(op.getId()) + .build(); + Model m = Model.assembler().addShapes(in, op, service).assemble().unwrap(); + ServiceShape svc = m.expectShape(ShapeId.from("com.example#KvsService"), ServiceShape.class); + + assertFalse(new CloudFrontTransforms().shouldRun(svc), + "cloudfront-keyvaluestore is a separate service and must not run"); + } + + @Test + void retypesMaxItemsBackToString() { + StructureShape in = StructureShape.builder().id(NS + "#ListDistributionsRequest") + .addMember("MaxItems", ShapeId.from("smithy.api#Integer")) + .build(); + StructureShape out = StructureShape.builder().id(NS + "#ListDistributionsResult").build(); + OperationShape op = OperationShape.builder().id(NS + "#ListDistributions") + .input(in.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id(NS + "#Cloudfront2020_05_31").version("2020-05-31") + .addTrait(ServiceTrait.builder().sdkId("CloudFront").arnNamespace("cloudfront") + .cloudFormationName("CloudFront").cloudTrailEventSource("cloudfront.amazonaws.com").build()) + .addOperation(op.getId()) + .build(); + Model m = Model.assembler().addShapes(in, out, op, service).assemble().unwrap(); + + Model transformed = new CloudFrontTransforms().transform( + m, m.expectShape(ShapeId.from(NS + "#Cloudfront2020_05_31"), ServiceShape.class)); + + MemberShape maxItems = transformed.expectShape(ShapeId.from(NS + "#ListDistributionsRequest"), + StructureShape.class).getMember("MaxItems").orElseThrow(); + assertTrue(transformed.expectShape(maxItems.getTarget()).isStringShape(), + "MaxItems must be retyped to a string shape"); + } + + @Test + void doesNotRetypeMaxItemsOnNonAllowlistedShape() { + StructureShape in = StructureShape.builder().id(NS + "#ListAnycastIpListsRequest") + .addMember("MaxItems", ShapeId.from("smithy.api#Integer")) + .build(); + StructureShape out = StructureShape.builder().id(NS + "#ListAnycastIpListsResult").build(); + StructureShape distributionList = StructureShape.builder().id(NS + "#DistributionList") + .addMember("MaxItems", ShapeId.from("smithy.api#Integer")) + .build(); + OperationShape op = OperationShape.builder().id(NS + "#ListAnycastIpLists") + .input(in.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id(NS + "#Cloudfront2020_05_31").version("2020-05-31") + .addTrait(ServiceTrait.builder().sdkId("CloudFront").arnNamespace("cloudfront") + .cloudFormationName("CloudFront").cloudTrailEventSource("cloudfront.amazonaws.com").build()) + .addOperation(op.getId()) + .build(); + Model m = Model.assembler().addShapes(in, out, distributionList, op, service).assemble().unwrap(); + + Model transformed = new CloudFrontTransforms().transform( + m, m.expectShape(ShapeId.from(NS + "#Cloudfront2020_05_31"), ServiceShape.class)); + + MemberShape reqMaxItems = transformed.expectShape(ShapeId.from(NS + "#ListAnycastIpListsRequest"), + StructureShape.class).getMember("MaxItems").orElseThrow(); + assertFalse(transformed.expectShape(reqMaxItems.getTarget()).isStringShape(), + "MaxItems on a non-allowlisted request (int in C2J) must stay integer"); + MemberShape structMaxItems = transformed.expectShape(ShapeId.from(NS + "#DistributionList"), + StructureShape.class).getMember("MaxItems").orElseThrow(); + assertFalse(transformed.expectShape(structMaxItems.getTarget()).isStringShape(), + "MaxItems on a list struct (int in C2J) must stay integer"); + } + + @Test + void idempotentDoesNotDoubleSuffix() { + Model m = cloudFrontModel("CloudFront", "2020-05-31"); + Model once = new CloudFrontTransforms().transform(m, service(m)); + Model twice = new CloudFrontTransforms().transform(once, service(once)); + + assertTrue(twice.getShape(ShapeId.from(NS + "#AssociateAlias2020_05_31")).isPresent()); + assertFalse(twice.getShape(ShapeId.from(NS + "#AssociateAlias2020_05_312020_05_31")).isPresent(), + "running twice must not append the suffix again"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/DynamoDbTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/DynamoDbTransformsTest.java new file mode 100644 index 000000000000..4d73c5079997 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/DynamoDbTransformsTest.java @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.UnionShape; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Verifies {@link DynamoDbTransforms} stamps {@link CustomRenderedTrait} onto DynamoDB's + * {@code AttributeValue} and is a no-op for other services / absent shapes. Also proves Smithy + * accepts an in-memory trait instance with a synthetic, undefined id via + * {@code shapeToBuilder().addTrait(...)} + {@code model.toBuilder().build()} — that build path skips + * trait-definition validation. + */ +class DynamoDbTransformsTest { + + private static final String NS = "com.amazonaws.dynamodb"; + + private static Model model(String sdkId, boolean withAttributeValue) { + StringShape str = StringShape.builder().id(NS + "#Str").build(); + StructureShape.Builder inputB = StructureShape.builder().id(NS + "#PutItemInput"); + Model.Builder builder = Model.builder().addShape(str); + if (withAttributeValue) { + UnionShape attributeValue = UnionShape.builder() + .id(NS + "#AttributeValue") + .addMember("s", str.getId()) + .build(); + inputB.addMember("item", attributeValue.getId()); + builder.addShape(attributeValue); + } + StructureShape input = inputB.build(); + StructureShape output = StructureShape.builder().id(NS + "#PutItemOutput").build(); + OperationShape op = OperationShape.builder() + .id(NS + "#PutItem").input(input.getId()).output(output.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id(NS + "#DynamoDB_20120810").version("2012-08-10") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("dynamodb") + .cloudFormationName("DynamoDB").cloudTrailEventSource("dynamodb").build()) + .addOperation(op.getId()).build(); + return builder.addShapes(input, output, op, service).build(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from(NS + "#DynamoDB_20120810"), ServiceShape.class); + } + + @Test + void marksAttributeValueForDynamoDb() { + Model m = model("DynamoDB", true); + Model out = new DynamoDbTransforms().transform(m, service(m)); + + assertTrue(out.expectShape(ShapeId.from(NS + "#AttributeValue")) + .hasTrait(CustomRenderedTrait.class), + "AttributeValue must be marked @customRendered for dynamodb"); + } + + @Test + void noOpForOtherService() { + // A non-dynamodb service (sdkId resolves via getSmithyServiceName) does not run. + Model m = model("Kinesis", true); + assertFalse(new DynamoDbTransforms().shouldRun(service(m)), + "transform must not run for non-dynamodb services"); + } + + @Test + void noOpWhenAttributeValueAbsent() { + Model m = model("DynamoDB", false); + Model out = new DynamoDbTransforms().transform(m, service(m)); + assertSame(m, out, "transform must be a no-op when AttributeValue is absent"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/Ec2TransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/Ec2TransformsTest.java new file mode 100644 index 000000000000..e3baad7b016f --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/Ec2TransformsTest.java @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import com.amazonaws.util.awsclientsmithygenerator.generators.model.EnumRenderer; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; +import software.amazon.smithy.model.traits.SensitiveTrait; + +import static org.junit.jupiter.api.Assertions.*; + +class Ec2TransformsTest { + + private static Model ec2Model(String sdkId) { + StructureShape in = StructureShape.builder().id("com.example#DescribeThingsRequest").build(); + StructureShape out = StructureShape.builder().id("com.example#DescribeThingsResult").build(); + OperationShape op = OperationShape.builder().id("com.example#DescribeThings") + .input(in.getId()).output(out.getId()).build(); + EnumShape spot = EnumShape.builder().id("com.example#SpotInstanceState") + .addMember("open", "open").addMember("active", "active").build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("ec2") + .cloudFormationName("EC2").cloudTrailEventSource("ec2").build()) + .addOperation(op.getId()) + .build(); + return Model.assembler().addShapes(in, out, op, spot, service).assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + private static ServiceShape ec2Service(String sdkId) { + return ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("ec2") + .cloudFormationName("EC2").cloudTrailEventSource("ec2").build()) + .build(); + } + + @Test + void addsDisabledToSpotInstanceState() { + Model m = ec2Model("EC2"); + Model out = new Ec2Transforms().transform(m, service(m)); + assertTrue(EnumRenderer.getEnumValues( + out.expectShape(ShapeId.from("com.example#SpotInstanceState"))).contains("disabled")); + } + + @Test + void noOpForOtherService() { + Model m = ec2Model("SomeOther"); + assertFalse(new Ec2Transforms().shouldRun(service(m))); + } + + @Test + void renamesNestedResultStructToResponse() { + StructureShape nested = StructureShape.builder() + .id("com.example#MetricDataResult").build(); + ServiceShape service = ec2Service("EC2"); + Model m = Model.assembler().addShapes(nested, service).assemble().unwrap(); + + Model out = new Ec2Transforms().transform(m, service); + + assertFalse(out.getShape(ShapeId.from("com.example#MetricDataResult")).isPresent()); + assertTrue(out.getShape(ShapeId.from("com.example#MetricDataResponse")).isPresent()); + } + + @Test + void throwsWhenResponseShapeAlreadyExists() { + // A *Result domain struct colliding with an existing *Response is a genuine collision: + // fail loudly rather than silently skip (the obsolete-transform / drift signal). + StructureShape result = StructureShape.builder().id("com.example#FooResult").build(); + StructureShape response = StructureShape.builder().id("com.example#FooResponse").build(); + StructureShape in = StructureShape.builder().id("com.example#DescribeThingsRequest").build(); + StructureShape out = StructureShape.builder().id("com.example#DescribeThingsResult").build(); + OperationShape op = OperationShape.builder().id("com.example#DescribeThings") + .input(in.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId("EC2").arnNamespace("ec2") + .cloudFormationName("EC2").cloudTrailEventSource("ec2").build()) + .addOperation(op.getId()).build(); + Model m = Model.assembler().addShapes(result, response, in, out, op, service).assemble().unwrap(); + assertThrows(IllegalStateException.class, + () -> new Ec2Transforms().transform(m, service(m))); + } + + /** + * Model mirroring the upstream Smithy EC2 shape: {@code ModifyInstanceAttributeRequest.UserData} + * targets the non-sensitive {@code BlobAttributeValue { Value: Blob }}. + */ + private static Model userDataModel() { + BlobShape blob = BlobShape.builder().id("com.example#Blob").build(); + StructureShape blobAttr = StructureShape.builder() + .id("com.example#BlobAttributeValue") + .addMember(MemberShape.builder() + .id("com.example#BlobAttributeValue$Value").target(blob.getId()).build()) + .build(); + StructureShape request = StructureShape.builder() + .id("com.example#ModifyInstanceAttributeRequest") + .addMember(MemberShape.builder() + .id("com.example#ModifyInstanceAttributeRequest$UserData").target(blobAttr.getId()).build()) + .build(); + StructureShape out = StructureShape.builder().id("com.example#ModifyInstanceAttributeResult").build(); + OperationShape op = OperationShape.builder().id("com.example#ModifyInstanceAttribute") + .input(request.getId()).output(out.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId("EC2").arnNamespace("ec2") + .cloudFormationName("EC2").cloudTrailEventSource("ec2").build()) + .addOperation(op.getId()) + .build(); + return Model.assembler().addShapes(blob, blobAttr, request, out, op, service).assemble().unwrap(); + } + + @Test + void modelsUserDataAsSensitiveSecureBlobAttributeValue() { + Model m = userDataModel(); + Model out = new Ec2Transforms().transform(m, service(m)); + + // SecureBlobAttributeValue exists with a Value member targeting a @sensitive blob + // (a @sensitive blob maps to Aws::Utils::CryptoBuffer, matching the C2J baseline). + StructureShape secure = out.expectShape( + ShapeId.from("com.example#SecureBlobAttributeValue"), StructureShape.class); + MemberShape value = secure.getAllMembers().get("Value"); + assertNotNull(value, "SecureBlobAttributeValue must have a Value member"); + Shape valueTarget = out.expectShape(value.getTarget()); + assertTrue(valueTarget.isBlobShape(), "Value must target a blob"); + assertTrue(valueTarget.hasTrait(SensitiveTrait.class), + "the blob must be @sensitive so it renders as CryptoBuffer"); + + MemberShape userData = out.expectShape( + ShapeId.from("com.example#ModifyInstanceAttributeRequest"), StructureShape.class) + .getAllMembers().get("UserData"); + assertEquals(ShapeId.from("com.example#SecureBlobAttributeValue"), userData.getTarget()); + + // BlobAttributeValue is now unreferenced, so it drops out of the emitted set (matching C2J). + boolean stillReferenced = out.shapes(StructureShape.class) + .flatMap(s -> s.getAllMembers().values().stream()) + .anyMatch(mem -> mem.getTarget().equals(ShapeId.from("com.example#BlobAttributeValue"))); + assertFalse(stillReferenced, "BlobAttributeValue must be unreferenced after repointing UserData"); + } + + @Test + void throwsWhenSecureBlobAttributeValueAlreadyExists() { + // Once upstream aws-models adds SecureBlobAttributeValue, this compensating transform is + // obsolete. Fail loudly so a human removes it, rather than silently self-retiring. + Model once = new Ec2Transforms().transform(userDataModel(), service(userDataModel())); + assertThrows(IllegalStateException.class, + () -> new Ec2Transforms().transform(once, service(once))); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/GlacierTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/GlacierTransformsTest.java new file mode 100644 index 000000000000..f85f64e97683 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/GlacierTransformsTest.java @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.BlobShape; +import software.amazon.smithy.model.shapes.IntegerShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.traits.HttpPayloadTrait; +import software.amazon.smithy.model.traits.HttpQueryTrait; +import software.amazon.smithy.model.traits.StreamingTrait; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class GlacierTransformsTest { + + static final String NS = "com.amazonaws.glacier"; + + private static ServiceShape glacierService(String sdkId, OperationShape... operations) { + ServiceShape.Builder b = ServiceShape.builder().id(NS + "#Glacier").version("2012-06-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("glacier") + .cloudFormationName("Glacier").cloudTrailEventSource("glacier.amazonaws.com").build()); + for (OperationShape op : operations) { + b.addOperation(op.getId()); + } + return b.build(); + } + + // A raw streaming-payload request: input struct with an @httpPayload member targeting a + // @streaming blob (matches Glacier's UploadArchive/UploadMultipartPart body member). + private static StructureShape streamingInput(String name) { + return StructureShape.builder().id(NS + "#" + name) + .addMember(MemberShape.builder().id(NS + "#" + name + "$body") + .target(NS + "#Stream").addTrait(new HttpPayloadTrait()).build()) + .build(); + } + + private static StructureShape plainInput(String name) { + return StructureShape.builder().id(NS + "#" + name) + .addMember(MemberShape.builder().id(NS + "#" + name + "$vaultName") + .target("smithy.api#String").build()) + .build(); + } + + // A paginateable request: input struct with an integer @httpQuery `limit` (page-size) member, + // matching the type Coral2Smithy's GlacierTransformer produces upstream. + private static StructureShape queryLimitInput(String name) { + return StructureShape.builder().id(NS + "#" + name) + .addMember(MemberShape.builder().id(NS + "#" + name + "$limit") + .target(NS + "#intType").addTrait(new HttpQueryTrait("limit")).build()) + .build(); + } + + private static OperationShape op(String name, StructureShape input) { + return OperationShape.builder().id(NS + "#" + name).input(input.getId()).build(); + } + + private static Model modelWith(ServiceShape svc, software.amazon.smithy.model.shapes.Shape... shapes) { + Model.Builder b = Model.builder().addShape(svc) + .addShape(BlobShape.builder().id(NS + "#Stream").addTrait(new StreamingTrait()).build()) + // The service string shape the limit retype retargets to (siblings like marker use it). + .addShape(StringShape.builder().id(NS + "#string").build()) + .addShape(IntegerShape.builder().id(NS + "#intType").build()) + .addShape(StringShape.builder().id("smithy.api#String").build()); + for (software.amazon.smithy.model.shapes.Shape s : shapes) { + b.addShape(s); + } + return b.build(); + } + + @Test + void noOpForOtherService() { + ServiceShape svc = ServiceShape.builder().id("com.amazonaws.other#Other").version("1") + .addTrait(ServiceTrait.builder().sdkId("Other").arnNamespace("other") + .cloudFormationName("Other").cloudTrailEventSource("other").build()).build(); + assertFalse(new GlacierTransforms().shouldRun(svc), "non-glacier service must not run"); + } + + @Test + void stampsVersionHeaderOnStreamingRequestInputs() { + StructureShape upload = streamingInput("UploadArchiveInput"); + OperationShape uploadOp = op("UploadArchive", upload); + ServiceShape svc = glacierService("Glacier", uploadOp); + Model out = new GlacierTransforms().transform(modelWith(svc, upload, uploadOp), svc); + + AdditionalRequestHeadersTrait trait = out + .expectShape(ShapeId.from(NS + "#UploadArchiveInput"), StructureShape.class) + .getTrait(AdditionalRequestHeadersTrait.class) + .orElseThrow(() -> new AssertionError("streaming request input must carry the trait")); + assertEquals(1, trait.getHeaders().size()); + assertEquals("2012-06-01", trait.getHeaders().get("x-amz-glacier-version"), + "header value is the service API version"); + } + + @Test + void doesNotStampNonStreamingRequestInputs() { + StructureShape plain = plainInput("CompleteVaultLockInput"); + OperationShape plainOp = op("CompleteVaultLock", plain); + ServiceShape svc = glacierService("Glacier", plainOp); + Model out = new GlacierTransforms().transform(modelWith(svc, plain, plainOp), svc); + + assertFalse(out.expectShape(ShapeId.from(NS + "#CompleteVaultLockInput"), StructureShape.class) + .hasTrait(AdditionalRequestHeadersTrait.class), + "non-streaming request input must not carry the trait"); + } + + @Test + void retypesQueryLimitMemberBackToString() { + StructureShape listJobs = queryLimitInput("ListJobsInput"); + OperationShape listJobsOp = op("ListJobs", listJobs); + ServiceShape svc = glacierService("Glacier", listJobsOp); + Model out = new GlacierTransforms().transform(modelWith(svc, listJobs, listJobsOp), svc); + + MemberShape limit = out.expectShape(ShapeId.from(NS + "#ListJobsInput"), StructureShape.class) + .getMember("limit").orElseThrow(); + assertEquals(NS + "#string", limit.getTarget().toString(), + "query limit member retargeted to the service string shape"); + assertTrue(out.expectShape(limit.getTarget()).isStringShape(), "target is a string shape"); + } + + @Test + void leavesQueryLimitUnchangedWhenAlreadyString() { + StructureShape listJobs = StructureShape.builder().id(NS + "#ListJobsInput") + .addMember(MemberShape.builder().id(NS + "#ListJobsInput$limit") + .target(NS + "#string").addTrait(new HttpQueryTrait("limit")).build()) + .build(); + OperationShape listJobsOp = op("ListJobs", listJobs); + ServiceShape svc = glacierService("Glacier", listJobsOp); + Model out = new GlacierTransforms().transform(modelWith(svc, listJobs, listJobsOp), svc); + + MemberShape limit = out.expectShape(ShapeId.from(NS + "#ListJobsInput"), StructureShape.class) + .getMember("limit").orElseThrow(); + assertEquals(NS + "#string", limit.getTarget().toString(), "already-string limit is untouched"); + } + + @Test + void isIdempotent() { + StructureShape upload = streamingInput("UploadArchiveInput"); + OperationShape uploadOp = op("UploadArchive", upload); + ServiceShape svc = glacierService("Glacier", uploadOp); + Model once = new GlacierTransforms().transform(modelWith(svc, upload, uploadOp), svc); + Model twice = new GlacierTransforms().transform(once, svc); + + assertTrue(twice.expectShape(ShapeId.from(NS + "#UploadArchiveInput"), StructureShape.class) + .hasTrait(AdditionalRequestHeadersTrait.class), + "re-applying keeps a single trait without error"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/LambdaTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/LambdaTransformsTest.java new file mode 100644 index 000000000000..81034fc2313b --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/LambdaTransformsTest.java @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; + +import static org.junit.jupiter.api.Assertions.*; + +class LambdaTransformsTest { + + private static Model lambdaModel(String sdkId) { + StructureShape invokeReq = StructureShape.builder().id("com.example#InvocationRequest").build(); + StructureShape invokeRes = StructureShape.builder().id("com.example#InvocationResponse").build(); + OperationShape invoke = OperationShape.builder() + .id("com.example#Invoke").input(invokeReq.getId()).output(invokeRes.getId()).build(); + + StructureShape asyncReq = StructureShape.builder().id("com.example#InvokeAsyncRequest").build(); + StructureShape asyncRes = StructureShape.builder().id("com.example#InvokeAsyncResult").build(); + OperationShape invokeAsync = OperationShape.builder() + .id("com.example#InvokeAsync").input(asyncReq.getId()).output(asyncRes.getId()).build(); + + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace(sdkId.toLowerCase()) + .cloudFormationName(sdkId).cloudTrailEventSource(sdkId.toLowerCase()).build()) + .addOperation(invoke.getId()).addOperation(invokeAsync.getId()) + .build(); + return Model.assembler() + .addShapes(invokeReq, invokeRes, invoke, asyncReq, asyncRes, invokeAsync, service) + .assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + @Test + void removesInvokeAsyncOperationAndShapes() { + Model m = lambdaModel("Lambda"); + Model out = new LambdaTransforms().transform(m, service(m)); + + assertTrue(out.getShape(ShapeId.from("com.example#InvokeAsync")).isEmpty()); + assertTrue(out.getShape(ShapeId.from("com.example#InvokeAsyncRequest")).isEmpty()); + assertTrue(out.getShape(ShapeId.from("com.example#InvokeAsyncResult")).isEmpty()); + assertTrue(out.getShape(ShapeId.from("com.example#Invoke")).isPresent()); + assertTrue(out.getShape(ShapeId.from("com.example#InvocationRequest")).isPresent()); + } + + @Test + void noOpForOtherService() { + Model m = lambdaModel("SomeOther"); + assertFalse(new LambdaTransforms().shouldRun(service(m))); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/LongPollingTransformTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/LongPollingTransformTest.java new file mode 100644 index 000000000000..aba0216fbf12 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/LongPollingTransformTest.java @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class LongPollingTransformTest { + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + private static boolean stamped(Model m, String requestShapeName) { + return m.expectShape(ShapeId.from("com.example#" + requestShapeName), StructureShape.class) + .hasTrait(LongPollingTrait.class); + } + + private static ServiceTrait serviceTrait(String sdkId) { + return ServiceTrait.builder().sdkId(sdkId).arnNamespace("ns") + .cloudFormationName("Cfn").cloudTrailEventSource("src").build(); + } + + /** Builds a service with the given sdkId containing one input+operation per op name. */ + private static Model model(String sdkId, String... opNames) { + StringShape str = StringShape.builder().id("com.example#String").build(); + List shapes = new ArrayList<>(); + shapes.add(str); + ServiceShape.Builder serviceB = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(serviceTrait(sdkId)); + for (String opName : opNames) { + StructureShape input = StructureShape.builder() + .id("com.example#" + opName + "Request").addMember("name", str.getId()).build(); + OperationShape op = OperationShape.builder() + .id("com.example#" + opName).input(input.getId()).build(); + shapes.add(input); + shapes.add(op); + serviceB.addOperation(op.getId()); + } + shapes.add(serviceB.build()); + return Model.assembler() + .addShapes(shapes.toArray(new software.amazon.smithy.model.shapes.Shape[0])) + .assemble().unwrap(); + } + + @Test + void sqsReceiveMessage_stampsOnlyReceiveMessageInput() { + Model m = model("SQS", "ReceiveMessage", "SendMessage"); + Model out = new LongPollingTransform().transform(m, service(m)); + assertTrue(stamped(out, "ReceiveMessageRequest"), + "SQS ReceiveMessage input must be stamped"); + assertFalse(stamped(out, "SendMessageRequest"), + "a non-long-polling SQS operation must not be stamped"); + } + + @Test + void swf_stampsBothPollOperations() { + Model m = model("SWF", "PollForActivityTask", "PollForDecisionTask", "StartWorkflowExecution"); + Model out = new LongPollingTransform().transform(m, service(m)); + assertTrue(stamped(out, "PollForActivityTaskRequest"), + "SWF PollForActivityTask input must be stamped"); + assertTrue(stamped(out, "PollForDecisionTaskRequest"), + "SWF PollForDecisionTask input must be stamped"); + assertFalse(stamped(out, "StartWorkflowExecutionRequest"), + "a non-long-polling SWF operation must not be stamped"); + } + + @Test + void sfnGetActivityTask_stampsInput() { + Model m = model("SFN", "GetActivityTask", "StartExecution"); + Model out = new LongPollingTransform().transform(m, service(m)); + assertTrue(stamped(out, "GetActivityTaskRequest"), + "SFN GetActivityTask input must be stamped"); + assertFalse(stamped(out, "StartExecutionRequest"), + "a non-long-polling SFN operation must not be stamped"); + } + + @Test + void unrelatedService_stampsNothing() { + Model m = model("DynamoDB", "GetItem", "ReceiveMessage"); + assertFalse(new LongPollingTransform().shouldRun(service(m)), + "an unrelated service must not run even if an operation name matches"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/Route53TransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/Route53TransformsTest.java new file mode 100644 index 000000000000..1803d06776c2 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/Route53TransformsTest.java @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StructureShape; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class Route53TransformsTest { + + private static final String NS = "com.amazonaws.route53"; + + // A List*Request carrying an integer MaxItems member, matching the type the Coral/Smithy model + // produces upstream (C2J ships it as Aws::String). + private static Model route53Model(String sdkId) { + StructureShape in = StructureShape.builder().id(NS + "#ListHostedZonesRequest") + .addMember("MaxItems", ShapeId.from("smithy.api#Integer")) + .build(); + OperationShape op = OperationShape.builder().id(NS + "#ListHostedZones") + .input(in.getId()).build(); + ServiceShape service = ServiceShape.builder() + .id(NS + "#Route53").version("2013-04-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("route53") + .cloudFormationName("Route53").cloudTrailEventSource("route53.amazonaws.com").build()) + .addOperation(op.getId()) + .build(); + return Model.assembler().addShapes(in, op, service).assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from(NS + "#Route53"), ServiceShape.class); + } + + @Test + void retypesMaxItemsBackToString() { + Model m = route53Model("Route 53"); + Model out = new Route53Transforms().transform(m, service(m)); + + MemberShape maxItems = out.expectShape(ShapeId.from(NS + "#ListHostedZonesRequest"), + StructureShape.class).getMember("MaxItems").orElseThrow(); + assertTrue(out.expectShape(maxItems.getTarget()).isStringShape(), + "MaxItems must be retyped to a string shape"); + } + + @Test + void shouldRunForRoute53() { + Model m = route53Model("Route 53"); + assertTrue(new Route53Transforms().shouldRun(service(m)), + "sdkId 'Route 53' maps to smithy name 'route-53'"); + } + + @Test + void doesNotRunForOtherService() { + ServiceShape svc = ServiceShape.builder().id("com.amazonaws.other#Other").version("1") + .addTrait(ServiceTrait.builder().sdkId("Other").arnNamespace("other") + .cloudFormationName("Other").cloudTrailEventSource("other").build()).build(); + assertFalse(new Route53Transforms().shouldRun(svc), "non-route-53 service must not run"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/S3ControlTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/S3ControlTransformsTest.java new file mode 100644 index 000000000000..b5678579ceea --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/S3ControlTransformsTest.java @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; + +import static org.junit.jupiter.api.Assertions.*; + +class S3ControlTransformsTest { + static final String NS = "com.amazonaws.s3control"; + + static Model model(String sdkId) { + StructureShape result = StructureShape.builder().id(NS + "#CreateAccessPointResult") + .addMember("AccessPointArn", ShapeId.from("smithy.api#String")).build(); + StructureShape req = StructureShape.builder().id(NS + "#CreateAccessPointRequest").build(); + OperationShape op = OperationShape.builder().id(NS + "#CreateAccessPoint") + .input(req.getId()).output(result.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(NS + "#AWSS3Control").version("2018-08-20") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("s3") + .cloudFormationName("S3Control").cloudTrailEventSource("s3control.amazonaws.com").build()) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(req, result, op, svc).assemble().unwrap(); + } + + static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from(NS + "#AWSS3Control"), ServiceShape.class); + } + + @Test + void marksResultShapesWithHostIdTrait() { + Model m = model("S3 Control"); + Model out = new S3ControlTransforms().transform(m, service(m)); + assertTrue(out.expectShape(ShapeId.from(NS + "#CreateAccessPointResult")) + .hasTrait(TopLevelHostIdTrait.class), "result shape marked"); + } + + @Test + void noOpForOtherService() { + Model m = model("SomethingElse"); + assertFalse(new S3ControlTransforms().shouldRun(service(m))); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/S3TransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/S3TransformsTest.java new file mode 100644 index 000000000000..b4d560f86ecf --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/S3TransformsTest.java @@ -0,0 +1,480 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.IntegerShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.TimestampShape; +import software.amazon.smithy.model.traits.DocumentationTrait; +import software.amazon.smithy.model.traits.HttpHeaderTrait; + +import static org.junit.jupiter.api.Assertions.*; + +class S3TransformsTest { + + static final String NS = "com.amazonaws.s3"; + + static ServiceShape s3Service(String sdkId) { + return ServiceShape.builder().id(NS + "#AmazonS3").version("2006-03-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("s3") + .cloudFormationName("S3").cloudTrailEventSource("s3.amazonaws.com").build()) + .build(); + } + + static Model modelWith(ServiceShape svc, software.amazon.smithy.model.shapes.Shape... shapes) { + Model.Builder b = Model.builder().addShape(svc); + for (software.amazon.smithy.model.shapes.Shape s : shapes) b.addShape(s); + return b.build(); + } + + @Test + void noOpForOtherService() { + ServiceShape svc = ServiceShape.builder().id("com.amazonaws.other#Other").version("1") + .addTrait(ServiceTrait.builder().sdkId("Other").arnNamespace("other") + .cloudFormationName("Other").cloudTrailEventSource("other").build()).build(); + assertFalse(new S3Transforms().shouldRun(svc), "non-s3 service must not run"); + } + + @Test + void noOpForS3WhenNothingToDo() { + ServiceShape svc = s3Service("S3"); + Model m = modelWith(svc); + // Scaffold has no sub-transforms yet: s3 model returns unchanged (structurally equal). + Model out = new S3Transforms().transform(m, svc); + assertNotNull(out); + assertTrue(out.getShape(ShapeId.from(NS + "#AmazonS3")).isPresent()); + } + + static ServiceShape s3RestXmlService(String sdkId) { + return ServiceShape.builder().id(NS + "#AmazonS3").version("2006-03-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace("s3") + .cloudFormationName("S3").cloudTrailEventSource("s3.amazonaws.com").build()) + .addTrait(software.amazon.smithy.aws.traits.protocols.RestXmlTrait.builder().build()) + .build(); + } + + @Test + void renamesCopyObjectResultShapeAndMember() { + ServiceShape svc = s3RestXmlService("S3"); + StructureShape copyResult = StructureShape.builder().id(NS + "#CopyObjectResult") + .addMember("ETag", ShapeId.from("smithy.api#String")).build(); + StructureShape copyOutput = StructureShape.builder().id(NS + "#CopyObjectOutput") + .addMember("CopyObjectResult", copyResult.getId()).build(); + Model m = modelWith(svc, copyResult, copyOutput); + Model out = new S3Transforms().transform(m, svc); + + assertTrue(out.getShape(ShapeId.from(NS + "#CopyObjectResultDetails")).isPresent(), + "shape renamed to CopyObjectResultDetails"); + assertFalse(out.getShape(ShapeId.from(NS + "#CopyObjectResult")).isPresent(), + "old shape name gone"); + + StructureShape output = out.expectShape(ShapeId.from(NS + "#CopyObjectOutput"), StructureShape.class); + assertFalse(output.getMember("CopyObjectResult").isPresent(), + "old member name gone"); + MemberShape renamed = output.getMember("CopyObjectResultDetails").orElseThrow(); + assertEquals(NS + "#CopyObjectResultDetails", renamed.getTarget().toString(), + "renamed member still targets the renamed shape"); + assertEquals("CopyObjectResult", + renamed.expectTrait(software.amazon.smithy.model.traits.XmlNameTrait.class).getValue(), + "renamed member pins its original CopyObjectResult wire name via @xmlName"); + } + + @Test + void copyObjectResultRename_throwsOnCollision() { + ServiceShape svc = s3Service("S3"); + StructureShape copyResult = StructureShape.builder().id(NS + "#CopyObjectResult") + .addMember("ETag", ShapeId.from("smithy.api#String")).build(); + StructureShape details = StructureShape.builder().id(NS + "#CopyObjectResultDetails") + .addMember("Other", ShapeId.from("smithy.api#String")).build(); + Model m = modelWith(svc, copyResult, details); + assertThrows(IllegalStateException.class, () -> new S3Transforms().transform(m, svc)); + } + + /** PutObject-style op whose input and output both carry a {@code string} {@code Expires} member. */ + private static Model expiresModel() { + Shape expires = StringShape.builder().id(NS + "#Expires").build(); + StructureShape input = StructureShape.builder().id(NS + "#PutObjectRequest") + .addMember("Expires", expires.getId(), b -> b + .addTrait(new HttpHeaderTrait("Expires")) + .addTrait(new DocumentationTrait("The date and time at which the object is no longer cacheable."))) + .build(); + StructureShape output = StructureShape.builder().id(NS + "#GetObjectOutput") + .addMember("Expires", expires.getId(), b -> b + .addTrait(new HttpHeaderTrait("Expires")) + .addTrait(new DocumentationTrait("The date and time at which the object is no longer cacheable."))) + .build(); + OperationShape op = OperationShape.builder().id(NS + "#GetObject") + .input(input.getId()).output(output.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(NS + "#AmazonS3").version("2006-03-01") + .addTrait(ServiceTrait.builder().sdkId("S3").arnNamespace("s3") + .cloudFormationName("S3").cloudTrailEventSource("s3.amazonaws.com").build()) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(expires, input, output, op, svc).assemble().unwrap(); + } + + private static ServiceShape expiresService(Model m) { + return m.expectShape(ShapeId.from(NS + "#AmazonS3"), ServiceShape.class); + } + + @Test + void retypesExpiresShapeToTimestamp() { + Model m = expiresModel(); + assertTrue(m.expectShape(ShapeId.from(NS + "#Expires")).isStringShape(), + "precondition: Expires starts as a string"); + Model out = new S3Transforms().transform(m, expiresService(m)); + assertTrue(out.expectShape(ShapeId.from(NS + "#Expires")) instanceof TimestampShape, + "Expires retyped to a timestamp shape"); + StructureShape input = out.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + StructureShape output = out.expectShape(ShapeId.from(NS + "#GetObjectOutput"), StructureShape.class); + assertTrue(out.expectShape(input.getMember("Expires").orElseThrow().getTarget()) instanceof TimestampShape); + assertTrue(out.expectShape(output.getMember("Expires").orElseThrow().getTarget()) instanceof TimestampShape); + } + + /** + * ListParts-style op whose request/result reference {@code PartNumberMarker} / + * {@code NextPartNumberMarker} as strings (Coral2Smithy treats them as opaque pagination tokens). + */ + private static Model partNumberMarkerModel() { + Shape marker = StringShape.builder().id(NS + "#PartNumberMarker").build(); + Shape nextMarker = StringShape.builder().id(NS + "#NextPartNumberMarker").build(); + StructureShape input = StructureShape.builder().id(NS + "#ListPartsRequest") + .addMember("PartNumberMarker", marker.getId()).build(); + StructureShape output = StructureShape.builder().id(NS + "#ListPartsOutput") + .addMember("PartNumberMarker", marker.getId()) + .addMember("NextPartNumberMarker", nextMarker.getId()).build(); + OperationShape op = OperationShape.builder().id(NS + "#ListParts") + .input(input.getId()).output(output.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(NS + "#AmazonS3").version("2006-03-01") + .addTrait(ServiceTrait.builder().sdkId("S3").arnNamespace("s3") + .cloudFormationName("S3").cloudTrailEventSource("s3.amazonaws.com").build()) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(marker, nextMarker, input, output, op, svc).assemble().unwrap(); + } + + @Test + void retypesPartNumberMarkersToInteger() { + Model m = partNumberMarkerModel(); + assertTrue(m.expectShape(ShapeId.from(NS + "#PartNumberMarker")).isStringShape(), + "precondition: PartNumberMarker starts as a string"); + assertTrue(m.expectShape(ShapeId.from(NS + "#NextPartNumberMarker")).isStringShape(), + "precondition: NextPartNumberMarker starts as a string"); + ServiceShape svc = m.expectShape(ShapeId.from(NS + "#AmazonS3"), ServiceShape.class); + Model out = new S3Transforms().transform(m, svc); + assertTrue(out.expectShape(ShapeId.from(NS + "#PartNumberMarker")) instanceof IntegerShape, + "PartNumberMarker retyped to integer to preserve the shipped C2J int API"); + assertTrue(out.expectShape(ShapeId.from(NS + "#NextPartNumberMarker")) instanceof IntegerShape, + "NextPartNumberMarker retyped to integer to preserve the shipped C2J int API"); + StructureShape input = out.expectShape(ShapeId.from(NS + "#ListPartsRequest"), StructureShape.class); + StructureShape output = out.expectShape(ShapeId.from(NS + "#ListPartsOutput"), StructureShape.class); + assertTrue(out.expectShape(input.getMember("PartNumberMarker").orElseThrow().getTarget()) instanceof IntegerShape); + assertTrue(out.expectShape(output.getMember("NextPartNumberMarker").orElseThrow().getTarget()) instanceof IntegerShape); + } + + @Test + void marksOverrideStreamingRequests() { + StructureShape put = StructureShape.builder().id(NS + "#PutObjectAnnotationRequest").build(); + StructureShape policy = StructureShape.builder().id(NS + "#PutBucketPolicyRequest").build(); + StructureShape other = StructureShape.builder().id(NS + "#GetObjectRequest").build(); + ServiceShape svc = s3Service("S3"); + Model out = new S3Transforms().transform(modelWith(svc, put, policy, other), svc); + assertTrue(out.expectShape(put.getId()).hasTrait(OverrideStreamingTrait.class), + "PutObjectAnnotationRequest is in REQUESTS_TO_OVERRIDE_STREAMING"); + assertTrue(out.expectShape(policy.getId()).hasTrait(OverrideStreamingTrait.class), + "PutBucketPolicyRequest is in REQUESTS_TO_OVERRIDE_STREAMING"); + assertFalse(out.expectShape(other.getId()).hasTrait(OverrideStreamingTrait.class), + "other requests are untouched"); + } + + /** + * PutObject-style request with checksum members plus a non-checksum one; {@code withAlgorithmMember} + * toggles the {@code ChecksumAlgorithm} member that gates the C2J customization. + */ + private static Model checksumModel(boolean withAlgorithmMember) { + Shape crc32 = StringShape.builder().id(NS + "#ChecksumCRC32").build(); + Shape sha256 = StringShape.builder().id(NS + "#ChecksumSHA256").build(); + Shape crc64 = StringShape.builder().id(NS + "#ChecksumCRC64NVME").build(); + Shape algo = StringShape.builder().id(NS + "#ChecksumAlgorithm").build(); + Shape key = StringShape.builder().id(NS + "#ObjectKey").build(); + StructureShape.Builder reqB = StructureShape.builder().id(NS + "#PutObjectRequest") + .addMember("ChecksumCRC32", crc32.getId()) + .addMember("ChecksumSHA256", sha256.getId()) + .addMember("ChecksumCRC64NVME", crc64.getId()) + .addMember("Key", key.getId()); + if (withAlgorithmMember) { + reqB.addMember("ChecksumAlgorithm", algo.getId()); + } + StructureShape req = reqB.build(); + StructureShape output = StructureShape.builder().id(NS + "#PutObjectOutput").build(); + OperationShape op = OperationShape.builder().id(NS + "#PutObject") + .input(req.getId()).output(output.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(NS + "#AmazonS3").version("2006-03-01") + .addTrait(ServiceTrait.builder().sdkId("S3").arnNamespace("s3") + .cloudFormationName("S3").cloudTrailEventSource("s3.amazonaws.com").build()) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(crc32, sha256, crc64, algo, key, req, output, op, svc) + .assemble().unwrap(); + } + + @Test + void marksChecksumMembersOnRequestWithChecksumAlgorithm() { + Model m = checksumModel(true); + ServiceShape svc = m.expectShape(ShapeId.from(NS + "#AmazonS3"), ServiceShape.class); + Model out = new S3Transforms().transform(m, svc); + StructureShape req = out.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + assertEquals("CRC32", + req.getMember("ChecksumCRC32").orElseThrow().expectTrait(ChecksumMemberTrait.class).getValue()); + assertEquals("SHA256", + req.getMember("ChecksumSHA256").orElseThrow().expectTrait(ChecksumMemberTrait.class).getValue()); + // ChecksumCRC64NVME is intentionally absent from C2J's map — it keeps a plain setter. + assertFalse(req.getMember("ChecksumCRC64NVME").orElseThrow().hasTrait(ChecksumMemberTrait.class), + "CRC64NVME is not a C2J checksum member"); + assertFalse(req.getMember("Key").orElseThrow().hasTrait(ChecksumMemberTrait.class), + "non-checksum members are untouched"); + } + + @Test + void doesNotMarkChecksumMembersWithoutChecksumAlgorithm() { + Model m = checksumModel(false); + ServiceShape svc = m.expectShape(ShapeId.from(NS + "#AmazonS3"), ServiceShape.class); + Model out = new S3Transforms().transform(m, svc); + StructureShape req = out.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + assertFalse(req.getMember("ChecksumCRC32").orElseThrow().hasTrait(ChecksumMemberTrait.class), + "no ChecksumAlgorithm member => C2J does not flag the checksum members"); + } + + @Test + void addsExpiresStringToOutputAndDeprecatesExpires() { + Model m = expiresModel(); + Model out = new S3Transforms().transform(m, expiresService(m)); + + assertTrue(out.getShape(ShapeId.from(NS + "#ExpiresString")).isPresent(), + "ExpiresString string shape injected"); + StructureShape outShape = out.expectShape(ShapeId.from(NS + "#GetObjectOutput"), StructureShape.class); + MemberShape expiresString = outShape.getMember("ExpiresString").orElseThrow(); + assertEquals(NS + "#ExpiresString", expiresString.getTarget().toString()); + assertEquals("Expires", expiresString.expectTrait(HttpHeaderTrait.class).getValue(), + "ExpiresString reads the same Expires header"); + MemberShape expiresMember = outShape.getMember("Expires").orElseThrow(); + assertTrue(expiresMember.expectTrait(DocumentationTrait.class) + .getValue().startsWith("Deprecated: Please use ExpiresString instead."), + "Expires member carries the deprecation note"); + } + + @Test + void doesNotAddExpiresStringToInput() { + Model m = expiresModel(); + Model out = new S3Transforms().transform(m, expiresService(m)); + + StructureShape input = out.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + assertFalse(input.getMember("ExpiresString").isPresent(), + "input shape must not gain ExpiresString"); + MemberShape inputExpires = input.getMember("Expires").orElseThrow(); + assertFalse(inputExpires.getTrait(DocumentationTrait.class) + .map(DocumentationTrait::getValue).orElse("").startsWith("Deprecated:"), + "input Expires must not carry the deprecation note"); + } + + @Test + void appendsMissingBucketLocationConstraintRegions() { + ServiceShape svc = s3Service("S3"); + software.amazon.smithy.model.shapes.EnumShape enumShape = + software.amazon.smithy.model.shapes.EnumShape.builder() + .id(NS + "#BucketLocationConstraint") + .addMember("us_west_2", "us-west-2") + .build(); + Model m = modelWith(svc, enumShape); + Model out = new S3Transforms().transform(m, svc); + + software.amazon.smithy.model.shapes.EnumShape result = out.expectShape( + ShapeId.from(NS + "#BucketLocationConstraint"), + software.amazon.smithy.model.shapes.EnumShape.class); + // EnumRenderer.getEnumValues() sanitizes '-' to '_', so assert on the raw wire values here. + java.util.Collection wireValues = result.getEnumValues().values(); + assertTrue(wireValues.contains("us-east-1"), "us-east-1 appended"); + assertTrue(wireValues.contains("us-iso-west-1"), "us-iso-west-1 appended"); + assertTrue(wireValues.contains("us-west-2"), "existing value preserved"); + // Member names are identifier-safe, matching the existing model form (hyphens -> underscores). + assertTrue(result.getAllMembers().containsKey("us_east_1"), "identifier-safe member name"); + assertTrue(result.getAllMembers().containsKey("us_iso_west_1"), "identifier-safe member name"); + // C2J appends the two regions in the order us_iso_west_1 then us_east_1. + assertEquals(java.util.List.of("us_west_2", "us_iso_west_1", "us_east_1"), + new java.util.ArrayList<>(result.getAllMembers().keySet()), + "appended regions follow C2J order: us_iso_west_1 before us_east_1"); + } + + @Test + void bucketLocationConstraintExpansionIsIdempotent() { + ServiceShape svc = s3Service("S3"); + software.amazon.smithy.model.shapes.EnumShape enumShape = + software.amazon.smithy.model.shapes.EnumShape.builder() + .id(NS + "#BucketLocationConstraint") + .addMember("us_west_2", "us-west-2") + .build(); + Model m = modelWith(svc, enumShape); + Model once = new S3Transforms().transform(m, svc); + Model twice = new S3Transforms().transform(once, svc); + software.amazon.smithy.model.shapes.EnumShape result = twice.expectShape( + ShapeId.from(NS + "#BucketLocationConstraint"), + software.amazon.smithy.model.shapes.EnumShape.class); + long usEast1 = result.getEnumValues().values().stream().filter("us-east-1"::equals).count(); + assertEquals(1, usEast1, "re-applying must not duplicate appended values"); + } + + @Test + void normalizesReplicationStatusCompleteToCompleted() { + ServiceShape svc = s3Service("S3"); + software.amazon.smithy.model.shapes.EnumShape enumShape = + software.amazon.smithy.model.shapes.EnumShape.builder() + .id(NS + "#ReplicationStatus") + .addMember("COMPLETE", "COMPLETE") + .addMember("PENDING", "PENDING") + .addMember("FAILED", "FAILED") + .addMember("REPLICA", "REPLICA") + .addMember("COMPLETED", "COMPLETED") + .build(); + Model m = modelWith(svc, enumShape); + Model out = new S3Transforms().transform(m, svc); + + java.util.List values = com.amazonaws.util.awsclientsmithygenerator.generators.model + .EnumRenderer.getEnumValues(out.expectShape(ShapeId.from(NS + "#ReplicationStatus"))); + assertEquals(java.util.List.of("COMPLETED", "PENDING", "FAILED", "REPLICA"), values, + "COMPLETE rewritten to COMPLETED, duplicate removed, order preserved"); + } + + @Test + void injectsGetObjectId2Only() { + ServiceShape svc = s3Service("S3"); + StructureShape getObjectOutput = StructureShape.builder().id(NS + "#GetObjectOutput") + .addMember("ETag", ShapeId.from("smithy.api#String")).build(); + Model m = modelWith(svc, getObjectOutput); + Model out = new S3Transforms().transform(m, svc); + + assertTrue(out.getShape(ShapeId.from(NS + "#ObjectId2")).isPresent()); + StructureShape outShape = out.expectShape(ShapeId.from(NS + "#GetObjectOutput"), StructureShape.class); + MemberShape id2 = outShape.getMember("Id2").orElseThrow(); + assertEquals(NS + "#ObjectId2", id2.getTarget().toString()); + assertEquals("x-amz-id-2", + id2.expectTrait(software.amazon.smithy.model.traits.HttpHeaderTrait.class).getValue()); + + // ResultRenderer supplies the top-level RequestId for rest-xml results; a modeled RequestId + // member would duplicate it and fail to compile, so it must not be injected here. + assertFalse(outShape.getMember("RequestId").isPresent(), + "no modeled RequestId member; the renderer emits RequestId"); + assertFalse(out.getShape(ShapeId.from(NS + "#ObjectRequestId")).isPresent(), + "ObjectRequestId shape must not be created"); + } + + /** Op whose input has two ordinary members, so the access-log tag's appended-last order is assertable. */ + private static Model accessLogModel() { + StructureShape input = StructureShape.builder().id(NS + "#PutObjectRequest") + .addMember("Bucket", ShapeId.from("smithy.api#String")) + .addMember("Key", ShapeId.from("smithy.api#String")) + .build(); + StructureShape output = StructureShape.builder().id(NS + "#PutObjectOutput") + .addMember("ETag", ShapeId.from("smithy.api#String")) + .build(); + OperationShape op = OperationShape.builder().id(NS + "#PutObject") + .input(input.getId()).output(output.getId()).build(); + ServiceShape svc = ServiceShape.builder().id(NS + "#AmazonS3").version("2006-03-01") + .addTrait(ServiceTrait.builder().sdkId("S3").arnNamespace("s3") + .cloudFormationName("S3").cloudTrailEventSource("s3.amazonaws.com").build()) + .addOperation(op.getId()).build(); + return Model.assembler().addShapes(input, output, op, svc).assemble().unwrap(); + } + + private static ServiceShape s3ServiceOf(Model m) { + return m.expectShape(ShapeId.from(NS + "#AmazonS3"), ServiceShape.class); + } + + @Test + void injectsCustomizedAccessLogTagIntoRequestAsStringMapAppendedLast() { + Model m = accessLogModel(); + Model out = new S3Transforms().transform(m, s3ServiceOf(m)); + + StructureShape input = out.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + MemberShape tag = input.getMember("customizedAccessLogTag").orElseThrow(); + + // Target must be a Map (both key and value render as Aws::String). + software.amazon.smithy.model.shapes.MapShape mapShape = out.expectShape( + tag.getTarget(), software.amazon.smithy.model.shapes.MapShape.class); + assertEquals("smithy.api#String", mapShape.getKey().getTarget().toString()); + assertEquals("smithy.api#String", mapShape.getValue().getTarget().toString()); + + // Must bind @httpQueryParams so the request emits AddQueryStringParameters — matching C2J, + // which renders that method via the customizedAccessLogTag querystring member. + assertTrue(tag.hasTrait(software.amazon.smithy.model.traits.HttpQueryParamsTrait.class), + "customizedAccessLogTag must carry @httpQueryParams"); + + java.util.List order = new java.util.ArrayList<>(input.getAllMembers().keySet()); + assertEquals(java.util.List.of("Bucket", "Key", "customizedAccessLogTag"), order, + "access-log tag member appended last"); + } + + @Test + void stampsCustomizedAccessLogTagMarkerAndKeepsQueryParams() { + Model m = accessLogModel(); + Model out = new S3Transforms().transform(m, s3ServiceOf(m)); + + StructureShape input = out.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + MemberShape tag = input.getMember("customizedAccessLogTag").orElseThrow(); + + // C2J models this member with a distinct customizedQuery flag; mirror that with the marker. + assertTrue(tag.hasTrait(CustomizedAccessLogTagTrait.class), + "injected member must carry the CustomizedAccessLogTag marker"); + // The marker is additive: @httpQueryParams must remain so the request still emits + // AddQueryStringParameters (RequestBindings.hasQueryStringMembers). + assertTrue(tag.hasTrait(software.amazon.smithy.model.traits.HttpQueryParamsTrait.class), + "customizedAccessLogTag must still carry @httpQueryParams alongside the marker"); + } + + @Test + void doesNotInjectCustomizedAccessLogTagIntoOutput() { + Model m = accessLogModel(); + Model out = new S3Transforms().transform(m, s3ServiceOf(m)); + + StructureShape output = out.expectShape(ShapeId.from(NS + "#PutObjectOutput"), StructureShape.class); + assertFalse(output.getMember("customizedAccessLogTag").isPresent(), + "output shape must not gain the access-log tag member"); + } + + @Test + void stampsEmbeddedErrorsTraitOnRequestInC2jSet() { + ServiceShape svc = s3Service("S3"); + StructureShape inSet = StructureShape.builder().id(NS + "#CreateSessionRequest") + .addMember("Bucket", ShapeId.from("smithy.api#String")).build(); + StructureShape notInSet = StructureShape.builder().id(NS + "#SomeOtherRequest") + .addMember("Bucket", ShapeId.from("smithy.api#String")).build(); + Model m = modelWith(svc, inSet, notInSet); + Model out = new S3Transforms().transform(m, svc); + + StructureShape marked = out.expectShape(ShapeId.from(NS + "#CreateSessionRequest"), StructureShape.class); + assertTrue(marked.hasTrait(EmbeddedErrorsTrait.class), + "request in the C2J functionsWithEmbeddedErrors set must be marked"); + StructureShape unmarked = out.expectShape(ShapeId.from(NS + "#SomeOtherRequest"), StructureShape.class); + assertFalse(unmarked.hasTrait(EmbeddedErrorsTrait.class), + "request not in the set must not be marked"); + } + + @Test + void accessLogTagInjectionIsIdempotent() { + Model m = accessLogModel(); + Model once = new S3Transforms().transform(m, s3ServiceOf(m)); + Model twice = new S3Transforms().transform(once, s3ServiceOf(once)); + + StructureShape input = twice.expectShape(ShapeId.from(NS + "#PutObjectRequest"), StructureShape.class); + long count = input.getAllMembers().keySet().stream() + .filter("customizedAccessLogTag"::equals).count(); + assertEquals(1, count, "re-applying must not duplicate the injected member"); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SourceRegionTransformTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SourceRegionTransformTest.java new file mode 100644 index 000000000000..4b20eafdac28 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SourceRegionTransformTest.java @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import com.amazonaws.util.awsclientsmithygenerator.generators.model.ModelTransform; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; + +import static org.junit.jupiter.api.Assertions.*; + +class SourceRegionTransformTest { + + // sdkId drives ServiceNameUtil.getSmithyServiceName. + private static Model modelWithOp(String sdkId, String opName, String reqName) { + StructureShape req = StructureShape.builder() + .id("com.example#" + reqName) + .addMember(MemberShape.builder() + .id("com.example#" + reqName + "$ExistingMember") + .target("smithy.api#String") + .build()) + .build(); + StructureShape out = StructureShape.builder().id("com.example#" + opName + "Result").build(); + OperationShape op = OperationShape.builder() + .id("com.example#" + opName) + .input(req.getId()) + .output(out.getId()) + .build(); + ServiceShape service = ServiceShape.builder() + .id("com.example#TestService") + .version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId(sdkId).arnNamespace(sdkId.toLowerCase()) + .cloudFormationName(sdkId).cloudTrailEventSource(sdkId.toLowerCase()).build()) + .addOperation(op.getId()) + .build(); + return Model.assembler().addShapes(req, out, op, service).assemble().unwrap(); + } + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + @Test + void injectsSourceRegionIntoRdsRequest() { + Model m = modelWithOp("RDS", "CopyDBClusterSnapshot", "CopyDBClusterSnapshotRequest"); + Model out = new SourceRegionTransform().transform(m, service(m)); + + StructureShape req = out.expectShape( + ShapeId.from("com.example#CopyDBClusterSnapshotRequest"), StructureShape.class); + assertTrue(req.getMember("SourceRegion").isPresent()); + assertEquals("smithy.api#String", + req.getMember("SourceRegion").get().getTarget().toString()); + } + + @Test + void noOpForUntargetedOperation() { + Model m = modelWithOp("RDS", "DescribeDBClusters", "DescribeDBClustersRequest"); + Model out = new SourceRegionTransform().transform(m, service(m)); + assertTrue(out.expectShape(ShapeId.from("com.example#DescribeDBClustersRequest"), + StructureShape.class).getMember("SourceRegion").isEmpty()); + } + + @Test + void noOpForUntargetedService() { + Model m = modelWithOp("SomeOther", "CopyDBClusterSnapshot", "CopyDBClusterSnapshotRequest"); + assertFalse(new SourceRegionTransform().shouldRun(service(m))); + } + + @Test + void idempotent_doesNotDuplicateExistingMember() { + Model m = modelWithOp("RDS", "CopyDBClusterSnapshot", "CopyDBClusterSnapshotRequest"); + Model once = new SourceRegionTransform().transform(m, service(m)); + Model twice = new SourceRegionTransform().transform(once, service(once)); + long count = twice.expectShape(ShapeId.from("com.example#CopyDBClusterSnapshotRequest"), + StructureShape.class).members().stream() + .filter(mem -> mem.getMemberName().equals("SourceRegion")).count(); + assertEquals(1, count); + } + + @Test + void injectsSourceRegionIntoDocDbRequest() { + Model m = modelWithOp("DocDB", "CreateDBCluster", "CreateDBClusterMessage"); + Model out = new SourceRegionTransform().transform(m, service(m)); + assertTrue(out.expectShape(ShapeId.from("com.example#CreateDBClusterMessage"), + StructureShape.class).getMember("SourceRegion").isPresent()); + } + + @Test + void injectsSourceRegionIntoNeptuneRequest() { + Model m = modelWithOp("Neptune", "CopyDBClusterSnapshot", "CopyDBClusterSnapshotMessage"); + Model out = new SourceRegionTransform().transform(m, service(m)); + assertTrue(out.expectShape(ShapeId.from("com.example#CopyDBClusterSnapshotMessage"), + StructureShape.class).getMember("SourceRegion").isPresent()); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SqsTransformsTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SqsTransformsTest.java new file mode 100644 index 000000000000..91eec74c1602 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SqsTransformsTest.java @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import com.amazonaws.util.awsclientsmithygenerator.generators.model.EnumRenderer; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.*; +import software.amazon.smithy.model.traits.EnumDefinition; +import software.amazon.smithy.model.traits.EnumTrait; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class SqsTransformsTest { + + private static final List ADDED = List.of( + "SentTimestamp", "ApproximateFirstReceiveTimestamp", "ApproximateReceiveCount", "SenderId"); + + private static ServiceShape sqsService() { + return ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(ServiceTrait.builder().sdkId("SQS").arnNamespace("sqs") + .cloudFormationName("SQS").cloudTrailEventSource("sqs").build()) + .build(); + } + + @Test + void addsValuesToEnumShape() { + EnumShape enumShape = EnumShape.builder() + .id("com.example#QueueAttributeName") + .addMember("All", "All") + .addMember("Policy", "Policy") + .build(); + Model m = Model.assembler().addShapes(enumShape, sqsService()).assemble().unwrap(); + ServiceShape svc = m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + + Model out = new SqsTransforms().transform(m, svc); + List values = EnumRenderer.getEnumValues( + out.expectShape(ShapeId.from("com.example#QueueAttributeName"))); + assertTrue(values.containsAll(ADDED)); + assertTrue(values.contains("All")); + } + + @Test + void addsValuesToStringEnumTrait() { + StringShape s = StringShape.builder() + .id("com.example#QueueAttributeName") + .addTrait(EnumTrait.builder() + .addEnum(EnumDefinition.builder().value("All").build()) + .addEnum(EnumDefinition.builder().value("Policy").build()) + .build()) + .build(); + Model m = Model.assembler().addShapes(s, sqsService()).assemble().unwrap(); + ServiceShape svc = m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + + Model out = new SqsTransforms().transform(m, svc); + List values = EnumRenderer.getEnumValues( + out.expectShape(ShapeId.from("com.example#QueueAttributeName"))); + assertTrue(values.containsAll(ADDED)); + } + + @Test + void appendValuesRejectsNonIdentifierValue() { + EnumShape enumShape = EnumShape.builder() + .id("com.example#QueueAttributeName").addMember("All", "All").build(); + IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, + () -> TransformSupport.appendValues(enumShape, List.of("bad-value"))); + assertTrue(ex.getMessage().contains("bad-value")); + assertTrue(ex.getMessage().contains("com.example#QueueAttributeName")); + } + + @Test + void idempotent() { + EnumShape enumShape = EnumShape.builder() + .id("com.example#QueueAttributeName").addMember("All", "All").build(); + Model m = Model.assembler().addShapes(enumShape, sqsService()).assemble().unwrap(); + ServiceShape svc = m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + + Model once = new SqsTransforms().transform(m, svc); + Model twice = new SqsTransforms().transform(once, svc); + long senderId = EnumRenderer.getEnumValues( + twice.expectShape(ShapeId.from("com.example#QueueAttributeName"))) + .stream().filter("SenderId"::equals).count(); + assertEquals(1, senderId); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SupportsPresigningTransformTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SupportsPresigningTransformTest.java new file mode 100644 index 000000000000..78960b1adcc1 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/SupportsPresigningTransformTest.java @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.ServiceTrait; +import software.amazon.smithy.aws.traits.protocols.AwsQueryTrait; +import software.amazon.smithy.aws.traits.protocols.Ec2QueryTrait; +import software.amazon.smithy.aws.traits.protocols.RestJson1Trait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.traits.Trait; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class SupportsPresigningTransformTest { + + private static ServiceShape service(Model m) { + return m.expectShape(ShapeId.from("com.example#TestService"), ServiceShape.class); + } + + /** Whether the OPERATION (not its input) carries the internal trait after transformation. */ + private static boolean stamped(Model m, String operationName) { + return m.expectShape(ShapeId.from("com.example#" + operationName), OperationShape.class) + .hasTrait(SupportsPresigningTrait.class); + } + + /** Two operations (each with a distinct input) under a service carrying {@code protocolTrait}. */ + private static Model twoOpModel(Trait protocolTrait, ServiceTrait serviceTrait, + String opAName, String opBName) { + StructureShape inA = StructureShape.builder().id("com.example#" + opAName + "Request").build(); + StructureShape inB = StructureShape.builder().id("com.example#" + opBName + "Request").build(); + OperationShape opA = OperationShape.builder() + .id("com.example#" + opAName).input(inA.getId()).build(); + OperationShape opB = OperationShape.builder() + .id("com.example#" + opBName).input(inB.getId()).build(); + ServiceShape.Builder svc = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(protocolTrait) + .addOperation(opA.getId()).addOperation(opB.getId()); + if (serviceTrait != null) { + svc.addTrait(serviceTrait); + } + return Model.assembler().addShapes(inA, inB, opA, opB, svc.build()).assemble().unwrap(); + } + + /** + * A normal-input op plus a no-input op (input defaults to {@code smithy.api#Unit}), under a + * service with {@code protocolTrait}. Mirrors IAM {@code GetAccountSummary} (shared Unit input). + */ + private static Model opPlusUnitInputModel(Trait protocolTrait, String normalOp, String unitOp) { + StructureShape in = StructureShape.builder().id("com.example#" + normalOp + "Request").build(); + OperationShape normal = OperationShape.builder() + .id("com.example#" + normalOp).input(in.getId()).build(); + OperationShape unit = OperationShape.builder() + .id("com.example#" + unitOp).build(); + ServiceShape svc = ServiceShape.builder() + .id("com.example#TestService").version("2024-01-01") + .addTrait(protocolTrait) + .addOperation(normal.getId()).addOperation(unit.getId()).build(); + return Model.assembler().addShapes(in, normal, unit, svc).assemble().unwrap(); + } + + private static ServiceTrait pollyServiceTrait() { + return ServiceTrait.builder().sdkId("polly").arnNamespace("polly") + .cloudFormationName("Polly").cloudTrailEventSource("polly").build(); + } + + @Test + void queryXmlService_stampsEveryOperation() { + Model m = twoOpModel(new AwsQueryTrait(), null, "GetUser", "CreateUser"); + Model out = new SupportsPresigningTransform().transform(m, service(m)); + assertTrue(stamped(out, "GetUser"), "query operation must be stamped"); + assertTrue(stamped(out, "CreateUser"), "query operation must be stamped"); + } + + @Test + void ec2Service_stampsEveryOperation() { + Model m = twoOpModel(new Ec2QueryTrait(), null, "DescribeThings", "RunThings"); + Model out = new SupportsPresigningTransform().transform(m, service(m)); + assertTrue(stamped(out, "DescribeThings"), "ec2 operation must be stamped"); + assertTrue(stamped(out, "RunThings"), "ec2 operation must be stamped"); + } + + @Test + void queryXmlService_stampsUnitInputOperation() { + // The regression: a Unit-input query op (e.g. iam GetAccountSummary) cannot stamp the shared + // Unit input shape, but the operation itself carries the trait so decl+impl stay symmetric. + Model m = opPlusUnitInputModel(new AwsQueryTrait(), "ListUsers", "GetAccountSummary"); + Model out = new SupportsPresigningTransform().transform(m, service(m)); + assertTrue(stamped(out, "ListUsers"), "normal-input query operation must be stamped"); + assertTrue(stamped(out, "GetAccountSummary"), + "Unit-input query operation must be stamped on the operation itself"); + } + + @Test + void pollyService_stampsOnlySynthesizeSpeechOperation() { + Model m = twoOpModel(RestJson1Trait.builder().build(), pollyServiceTrait(), + "SynthesizeSpeech", "DescribeVoices"); + Model out = new SupportsPresigningTransform().transform(m, service(m)); + assertTrue(stamped(out, "SynthesizeSpeech"), "Polly SynthesizeSpeech must be stamped"); + assertFalse(stamped(out, "DescribeVoices"), + "Polly must stamp only SynthesizeSpeech, not other operations"); + } + + @Test + void plainRestJsonService_stampsNothing() { + Model m = twoOpModel(RestJson1Trait.builder().build(), null, "GetThing", "PutThing"); + Model out = new SupportsPresigningTransform().transform(m, service(m)); + assertSame(m, out, "a non-query, non-Polly rest-json service must be left untouched"); + assertFalse(stamped(out, "GetThing")); + assertFalse(stamped(out, "PutThing")); + } +} diff --git a/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/TransformSupportTest.java b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/TransformSupportTest.java new file mode 100644 index 000000000000..86f54fbb4de6 --- /dev/null +++ b/tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/model/transforms/TransformSupportTest.java @@ -0,0 +1,233 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +package com.amazonaws.util.awsclientsmithygenerator.generators.model.transforms; + +import com.amazonaws.util.awsclientsmithygenerator.generators.model.ProtocolResolver.Protocol; +import org.junit.jupiter.api.Test; +import software.amazon.smithy.aws.traits.protocols.Ec2QueryNameTrait; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.EnumShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.traits.EnumDefinition; +import software.amazon.smithy.model.traits.EnumTrait; +import software.amazon.smithy.model.traits.JsonNameTrait; +import software.amazon.smithy.model.traits.XmlNameTrait; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.stream.Collectors; + +import static org.junit.jupiter.api.Assertions.*; + +class TransformSupportTest { + + private static StructureShape struct(String... memberNames) { + StructureShape.Builder b = StructureShape.builder().id("com.example#Req"); + for (String m : memberNames) { + b.addMember(m, ShapeId.from("smithy.api#String")); + } + return b.build(); + } + + @Test + void renameMember_sourceAbsent_returnsEmpty() { + assertTrue(TransformSupport.renameMember(struct("name"), "body", "requestBody", Protocol.JSON) + .isEmpty()); + } + + @Test + void renameMember_targetExists_throws() { + StructureShape s = struct("body", "requestBody"); + assertThrows(IllegalStateException.class, + () -> TransformSupport.renameMember(s, "body", "requestBody", Protocol.JSON)); + } + + @Test + void renameMember_success_renamesAndPreservesOrder() { + StructureShape s = struct("a", "body", "z"); + StructureShape out = TransformSupport.renameMember(s, "body", "requestBody", Protocol.JSON) + .orElseThrow(); + assertFalse(out.getMember("body").isPresent()); + assertTrue(out.getMember("requestBody").isPresent()); + List order = new ArrayList<>(out.getAllMembers().keySet()); + assertEquals(List.of("a", "requestBody", "z"), order); + } + + @Test + void renameMember_jsonProtocol_pinsWireNameWithJsonName() { + StructureShape out = TransformSupport.renameMember(struct("body"), "body", "requestBody", + Protocol.REST_JSON).orElseThrow(); + MemberShape renamed = out.getMember("requestBody").orElseThrow(); + assertEquals("body", renamed.expectTrait(JsonNameTrait.class).getValue()); + assertFalse(renamed.hasTrait(XmlNameTrait.class), "JSON protocol must not add @xmlName"); + } + + @Test + void renameMember_xmlProtocol_pinsWireNameWithXmlName() { + StructureShape out = TransformSupport.renameMember(struct("body"), "body", "requestBody", + Protocol.QUERY_XML).orElseThrow(); + MemberShape renamed = out.getMember("requestBody").orElseThrow(); + assertEquals("body", renamed.expectTrait(XmlNameTrait.class).getValue()); + assertFalse(renamed.hasTrait(JsonNameTrait.class), "XML protocol must not add @jsonName"); + } + + @Test + void renameMember_ec2Protocol_bareMember_pinsRequestKeyAndResponseName() { + StructureShape out = TransformSupport.renameMember(struct("body"), "body", "requestBody", + Protocol.EC2).orElseThrow(); + MemberShape renamed = out.getMember("requestBody").orElseThrow(); + assertEquals("Body", renamed.expectTrait(Ec2QueryNameTrait.class).getValue(), + "request key = capitalized original member name, verbatim"); + assertEquals("body", renamed.expectTrait(XmlNameTrait.class).getValue(), + "response name = original member name"); + } + + @Test + void renameMember_ec2Protocol_derivesRequestKeyFromExistingXmlName() { + // CapacityReservationFleetIds: @xmlName present, no @ec2QueryName. The request key is + // capitalize(@xmlName), pinned verbatim so it no longer depends on the member name. + StructureShape s = StructureShape.builder().id("com.example#Req") + .addMember(MemberShape.builder().id("com.example#Req$capacityReservationFleetIds") + .target("smithy.api#String") + .addTrait(new XmlNameTrait("CapacityReservationFleetId")).build()) + .build(); + MemberShape renamed = TransformSupport.renameMember(s, "capacityReservationFleetIds", + "renamed", Protocol.EC2).orElseThrow().getMember("renamed").orElseThrow(); + assertEquals("CapacityReservationFleetId", + renamed.expectTrait(Ec2QueryNameTrait.class).getValue(), "request key from capitalize(@xmlName)"); + assertEquals("CapacityReservationFleetId", + renamed.expectTrait(XmlNameTrait.class).getValue(), "existing @xmlName preserved verbatim"); + } + + @Test + void renameMember_ec2Protocol_existingEc2QueryName_isNotOverridden() { + // Ipv6Addresses: @ec2QueryName is NOT camelCase(@xmlName), so capitalize(@xmlName) would be + // wrong for the request. Both existing traits must ride along verbatim. + StructureShape s = StructureShape.builder().id("com.example#Req") + .addMember(MemberShape.builder().id("com.example#Req$ipv6Addresses") + .target("smithy.api#String") + .addTrait(new Ec2QueryNameTrait("Ipv6Addresses")) + .addTrait(new XmlNameTrait("ipv6AddressesSet")).build()) + .build(); + MemberShape renamed = TransformSupport.renameMember(s, "ipv6Addresses", "renamed", + Protocol.EC2).orElseThrow().getMember("renamed").orElseThrow(); + assertEquals("Ipv6Addresses", renamed.expectTrait(Ec2QueryNameTrait.class).getValue()); + assertEquals("ipv6AddressesSet", renamed.expectTrait(XmlNameTrait.class).getValue()); + } + + @Test + void renameMember_cborProtocol_throws_noWireNameTrait() { + // rpcv2Cbor has no wire-name trait and ignores @jsonName, so a rename cannot preserve the + // wire key — fail fast rather than silently mis-generate. + StructureShape s = struct("body"); + assertThrows(IllegalStateException.class, + () -> TransformSupport.renameMember(s, "body", "requestBody", Protocol.CBOR)); + } + + private static LinkedHashMap map(String name, String value) { + LinkedHashMap m = new LinkedHashMap<>(); + m.put(name, value); + return m; + } + + @Test + void appendEnumValues_enumShape_appendsHyphenatedWireValue() { + EnumShape shape = EnumShape.builder().id("com.example#Region") + .addMember("us_west_2", "us-west-2").build(); + Shape out = TransformSupport.appendEnumValues(shape, map("us_east_1", "us-east-1")) + .orElseThrow(); + EnumShape e = out.asEnumShape().orElseThrow(); + assertTrue(e.getEnumValues().values().contains("us-east-1"), "hyphenated value appended"); + assertTrue(e.getEnumValues().values().contains("us-west-2"), "existing value preserved"); + assertTrue(e.getAllMembers().containsKey("us_east_1"), "identifier-safe member name"); + } + + @Test + void appendEnumValues_idempotentSkipsExistingValue() { + EnumShape shape = EnumShape.builder().id("com.example#Region") + .addMember("us_east_1", "us-east-1").build(); + assertTrue(TransformSupport.appendEnumValues(shape, map("us_east_1", "us-east-1")).isEmpty(), + "already-present wire value must be skipped"); + } + + @Test + void appendEnumValues_legacyEnumTrait_appendsValue() { + StringShape shape = StringShape.builder().id("com.example#Region") + .addTrait(EnumTrait.builder() + .addEnum(EnumDefinition.builder().value("us-west-2").build()).build()) + .build(); + Shape out = TransformSupport.appendEnumValues(shape, map("us_east_1", "us-east-1")) + .orElseThrow(); + List values = out.expectTrait(EnumTrait.class).getValues().stream() + .map(EnumDefinition::getValue).collect(Collectors.toList()); + assertTrue(values.contains("us-west-2"), "existing value preserved"); + assertTrue(values.contains("us-east-1"), "hyphenated value appended"); + } + + @Test + void appendEnumValues_nonIdentifierMemberName_throws() { + EnumShape shape = EnumShape.builder().id("com.example#Region") + .addMember("us_west_2", "us-west-2").build(); + assertThrows(IllegalArgumentException.class, + () -> TransformSupport.appendEnumValues(shape, map("us-east-1", "us-east-1"))); + } + + @Test + void appendEnumValuesByName_appendsToNamedEnum() { + EnumShape state = EnumShape.builder().id("com.example#SpotInstanceState") + .addMember("open", "open").build(); + Model out = TransformSupport.appendEnumValuesByName( + Model.builder().addShape(state).build(), "SpotInstanceState", List.of("disabled")); + EnumShape e = out.expectShape(state.getId()).asEnumShape().orElseThrow(); + assertTrue(e.getEnumValues().values().contains("disabled"), "value appended"); + assertTrue(e.getEnumValues().values().contains("open"), "existing value preserved"); + } + + @Test + void appendEnumValuesByName_shapeAbsent_returnsSameModel() { + EnumShape other = EnumShape.builder().id("com.example#Other").addMember("a", "a").build(); + Model in = Model.builder().addShape(other).build(); + assertSame(in, TransformSupport.appendEnumValuesByName(in, "Missing", List.of("x")), + "absent enum: the model is returned unchanged"); + } + + @Test + void appendEnumValuesByName_allValuesPresent_returnsSameModel() { + EnumShape state = EnumShape.builder().id("com.example#S").addMember("a", "a").build(); + Model in = Model.builder().addShape(state).build(); + assertSame(in, TransformSupport.appendEnumValuesByName(in, "S", List.of("a")), + "idempotent: no new values means the model is returned unchanged"); + } + + @Test + void appendEnumEntriesByName_appendsHyphenatedRegionValue() { + EnumShape region = EnumShape.builder().id("com.example#BucketLocationConstraint") + .addMember("us_west_2", "us-west-2").build(); + Model out = TransformSupport.appendEnumEntriesByName( + Model.builder().addShape(region).build(), "BucketLocationConstraint", + map("us_east_1", "us-east-1")); + EnumShape e = out.expectShape(region.getId()).asEnumShape().orElseThrow(); + assertTrue(e.getEnumValues().values().contains("us-east-1"), "hyphenated value appended"); + assertTrue(e.getAllMembers().containsKey("us_east_1"), "identifier-safe member name"); + } + + @Test + void renameMember_existingJsonName_isNotOverridden() { + StructureShape s = StructureShape.builder().id("com.example#Req") + .addMember(MemberShape.builder().id("com.example#Req$body") + .target("smithy.api#String").addTrait(new JsonNameTrait("wireBody")).build()) + .build(); + StructureShape out = TransformSupport.renameMember(s, "body", "requestBody", Protocol.JSON) + .orElseThrow(); + MemberShape renamed = out.getMember("requestBody").orElseThrow(); + assertEquals("wireBody", renamed.expectTrait(JsonNameTrait.class).getValue(), + "existing wire name must be preserved verbatim, not reset to the old member name"); + } +}