/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Keyspaces { namespace Model { /** */ class CreateTableRequest : public KeyspacesRequest { public: AWS_KEYSPACES_API CreateTableRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateTable"; } AWS_KEYSPACES_API Aws::String SerializePayload() const override; AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the keyspace that the table is going to be created in.

*/ inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } /** *

The name of the keyspace that the table is going to be created in.

*/ inline bool KeyspaceNameHasBeenSet() const { return m_keyspaceNameHasBeenSet; } /** *

The name of the keyspace that the table is going to be created in.

*/ inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = value; } /** *

The name of the keyspace that the table is going to be created in.

*/ inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = std::move(value); } /** *

The name of the keyspace that the table is going to be created in.

*/ inline void SetKeyspaceName(const char* value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName.assign(value); } /** *

The name of the keyspace that the table is going to be created in.

*/ inline CreateTableRequest& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} /** *

The name of the keyspace that the table is going to be created in.

*/ inline CreateTableRequest& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} /** *

The name of the keyspace that the table is going to be created in.

*/ inline CreateTableRequest& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} /** *

The name of the table.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

The name of the table.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

The name of the table.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

The name of the table.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

The name of the table.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

The name of the table.

*/ inline CreateTableRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The name of the table.

*/ inline CreateTableRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

The name of the table.

*/ inline CreateTableRequest& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

The schemaDefinition consists of the following parameters.

*

For each column to be created:

  • name - The name * of the column.

  • type - An Amazon Keyspaces data * type. For more information, see Data * types in the Amazon Keyspaces Developer Guide.

The * primary key of the table consists of the following columns:

  • * partitionKeys - The partition key can be a single column, or it can * be a compound value composed of two or more columns. The partition key portion * of the primary key is required and determines how Amazon Keyspaces stores your * data.

  • name - The name of each partition key * column.

  • clusteringKeys - The optional clustering * column portion of your primary key determines how the data is clustered and * sorted within each partition.

  • name - The name of * the clustering column.

  • orderBy - Sets the * ascendant (ASC) or descendant (DESC) order * modifier.

    To define a column as static use staticColumns - * Static columns store values that are shared by all rows in the same * partition:

  • name - The name of the column.

    *
  • type - An Amazon Keyspaces data type.

  • *
*/ inline const SchemaDefinition& GetSchemaDefinition() const{ return m_schemaDefinition; } /** *

The schemaDefinition consists of the following parameters.

*

For each column to be created:

  • name - The name * of the column.

  • type - An Amazon Keyspaces data * type. For more information, see Data * types in the Amazon Keyspaces Developer Guide.

The * primary key of the table consists of the following columns:

  • * partitionKeys - The partition key can be a single column, or it can * be a compound value composed of two or more columns. The partition key portion * of the primary key is required and determines how Amazon Keyspaces stores your * data.

  • name - The name of each partition key * column.

  • clusteringKeys - The optional clustering * column portion of your primary key determines how the data is clustered and * sorted within each partition.

  • name - The name of * the clustering column.

  • orderBy - Sets the * ascendant (ASC) or descendant (DESC) order * modifier.

    To define a column as static use staticColumns - * Static columns store values that are shared by all rows in the same * partition:

  • name - The name of the column.

    *
  • type - An Amazon Keyspaces data type.

  • *
*/ inline bool SchemaDefinitionHasBeenSet() const { return m_schemaDefinitionHasBeenSet; } /** *

The schemaDefinition consists of the following parameters.

*

For each column to be created:

  • name - The name * of the column.

  • type - An Amazon Keyspaces data * type. For more information, see Data * types in the Amazon Keyspaces Developer Guide.

The * primary key of the table consists of the following columns:

  • * partitionKeys - The partition key can be a single column, or it can * be a compound value composed of two or more columns. The partition key portion * of the primary key is required and determines how Amazon Keyspaces stores your * data.

  • name - The name of each partition key * column.

  • clusteringKeys - The optional clustering * column portion of your primary key determines how the data is clustered and * sorted within each partition.

  • name - The name of * the clustering column.

  • orderBy - Sets the * ascendant (ASC) or descendant (DESC) order * modifier.

    To define a column as static use staticColumns - * Static columns store values that are shared by all rows in the same * partition:

  • name - The name of the column.

    *
  • type - An Amazon Keyspaces data type.

  • *
*/ inline void SetSchemaDefinition(const SchemaDefinition& value) { m_schemaDefinitionHasBeenSet = true; m_schemaDefinition = value; } /** *

The schemaDefinition consists of the following parameters.

*

For each column to be created:

  • name - The name * of the column.

  • type - An Amazon Keyspaces data * type. For more information, see Data * types in the Amazon Keyspaces Developer Guide.

The * primary key of the table consists of the following columns:

  • * partitionKeys - The partition key can be a single column, or it can * be a compound value composed of two or more columns. The partition key portion * of the primary key is required and determines how Amazon Keyspaces stores your * data.

  • name - The name of each partition key * column.

  • clusteringKeys - The optional clustering * column portion of your primary key determines how the data is clustered and * sorted within each partition.

  • name - The name of * the clustering column.

  • orderBy - Sets the * ascendant (ASC) or descendant (DESC) order * modifier.

    To define a column as static use staticColumns - * Static columns store values that are shared by all rows in the same * partition:

  • name - The name of the column.

    *
  • type - An Amazon Keyspaces data type.

  • *
*/ inline void SetSchemaDefinition(SchemaDefinition&& value) { m_schemaDefinitionHasBeenSet = true; m_schemaDefinition = std::move(value); } /** *

The schemaDefinition consists of the following parameters.

*

For each column to be created:

  • name - The name * of the column.

  • type - An Amazon Keyspaces data * type. For more information, see Data * types in the Amazon Keyspaces Developer Guide.

The * primary key of the table consists of the following columns:

  • * partitionKeys - The partition key can be a single column, or it can * be a compound value composed of two or more columns. The partition key portion * of the primary key is required and determines how Amazon Keyspaces stores your * data.

  • name - The name of each partition key * column.

  • clusteringKeys - The optional clustering * column portion of your primary key determines how the data is clustered and * sorted within each partition.

  • name - The name of * the clustering column.

  • orderBy - Sets the * ascendant (ASC) or descendant (DESC) order * modifier.

    To define a column as static use staticColumns - * Static columns store values that are shared by all rows in the same * partition:

  • name - The name of the column.

    *
  • type - An Amazon Keyspaces data type.

  • *
*/ inline CreateTableRequest& WithSchemaDefinition(const SchemaDefinition& value) { SetSchemaDefinition(value); return *this;} /** *

The schemaDefinition consists of the following parameters.

*

For each column to be created:

  • name - The name * of the column.

  • type - An Amazon Keyspaces data * type. For more information, see Data * types in the Amazon Keyspaces Developer Guide.

The * primary key of the table consists of the following columns:

  • * partitionKeys - The partition key can be a single column, or it can * be a compound value composed of two or more columns. The partition key portion * of the primary key is required and determines how Amazon Keyspaces stores your * data.

  • name - The name of each partition key * column.

  • clusteringKeys - The optional clustering * column portion of your primary key determines how the data is clustered and * sorted within each partition.

  • name - The name of * the clustering column.

  • orderBy - Sets the * ascendant (ASC) or descendant (DESC) order * modifier.

    To define a column as static use staticColumns - * Static columns store values that are shared by all rows in the same * partition:

  • name - The name of the column.

    *
  • type - An Amazon Keyspaces data type.

  • *
*/ inline CreateTableRequest& WithSchemaDefinition(SchemaDefinition&& value) { SetSchemaDefinition(std::move(value)); return *this;} /** *

This parameter allows to enter a description of the table.

*/ inline const Comment& GetComment() const{ return m_comment; } /** *

This parameter allows to enter a description of the table.

*/ inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } /** *

This parameter allows to enter a description of the table.

*/ inline void SetComment(const Comment& value) { m_commentHasBeenSet = true; m_comment = value; } /** *

This parameter allows to enter a description of the table.

*/ inline void SetComment(Comment&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } /** *

This parameter allows to enter a description of the table.

*/ inline CreateTableRequest& WithComment(const Comment& value) { SetComment(value); return *this;} /** *

This parameter allows to enter a description of the table.

*/ inline CreateTableRequest& WithComment(Comment&& value) { SetComment(std::move(value)); return *this;} /** *

Specifies the read/write throughput capacity mode for the table. The options * are:

  • throughputMode:PAY_PER_REQUEST and

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline const CapacitySpecification& GetCapacitySpecification() const{ return m_capacitySpecification; } /** *

Specifies the read/write throughput capacity mode for the table. The options * are:

  • throughputMode:PAY_PER_REQUEST and

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline bool CapacitySpecificationHasBeenSet() const { return m_capacitySpecificationHasBeenSet; } /** *

Specifies the read/write throughput capacity mode for the table. The options * are:

  • throughputMode:PAY_PER_REQUEST and

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline void SetCapacitySpecification(const CapacitySpecification& value) { m_capacitySpecificationHasBeenSet = true; m_capacitySpecification = value; } /** *

Specifies the read/write throughput capacity mode for the table. The options * are:

  • throughputMode:PAY_PER_REQUEST and

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline void SetCapacitySpecification(CapacitySpecification&& value) { m_capacitySpecificationHasBeenSet = true; m_capacitySpecification = std::move(value); } /** *

Specifies the read/write throughput capacity mode for the table. The options * are:

  • throughputMode:PAY_PER_REQUEST and

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline CreateTableRequest& WithCapacitySpecification(const CapacitySpecification& value) { SetCapacitySpecification(value); return *this;} /** *

Specifies the read/write throughput capacity mode for the table. The options * are:

  • throughputMode:PAY_PER_REQUEST and

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline CreateTableRequest& WithCapacitySpecification(CapacitySpecification&& value) { SetCapacitySpecification(std::move(value)); return *this;} /** *

Specifies how the encryption key for encryption at rest is managed for the * table. You can choose one of the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline const EncryptionSpecification& GetEncryptionSpecification() const{ return m_encryptionSpecification; } /** *

Specifies how the encryption key for encryption at rest is managed for the * table. You can choose one of the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline bool EncryptionSpecificationHasBeenSet() const { return m_encryptionSpecificationHasBeenSet; } /** *

Specifies how the encryption key for encryption at rest is managed for the * table. You can choose one of the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline void SetEncryptionSpecification(const EncryptionSpecification& value) { m_encryptionSpecificationHasBeenSet = true; m_encryptionSpecification = value; } /** *

Specifies how the encryption key for encryption at rest is managed for the * table. You can choose one of the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline void SetEncryptionSpecification(EncryptionSpecification&& value) { m_encryptionSpecificationHasBeenSet = true; m_encryptionSpecification = std::move(value); } /** *

Specifies how the encryption key for encryption at rest is managed for the * table. You can choose one of the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline CreateTableRequest& WithEncryptionSpecification(const EncryptionSpecification& value) { SetEncryptionSpecification(value); return *this;} /** *

Specifies how the encryption key for encryption at rest is managed for the * table. You can choose one of the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline CreateTableRequest& WithEncryptionSpecification(EncryptionSpecification&& value) { SetEncryptionSpecification(std::move(value)); return *this;} /** *

Specifies if pointInTimeRecovery is enabled or disabled for the * table. The options are:

  • status=ENABLED

  • *
  • status=DISABLED

If it's not specified, * the default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline const PointInTimeRecovery& GetPointInTimeRecovery() const{ return m_pointInTimeRecovery; } /** *

Specifies if pointInTimeRecovery is enabled or disabled for the * table. The options are:

  • status=ENABLED

  • *
  • status=DISABLED

If it's not specified, * the default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline bool PointInTimeRecoveryHasBeenSet() const { return m_pointInTimeRecoveryHasBeenSet; } /** *

Specifies if pointInTimeRecovery is enabled or disabled for the * table. The options are:

  • status=ENABLED

  • *
  • status=DISABLED

If it's not specified, * the default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline void SetPointInTimeRecovery(const PointInTimeRecovery& value) { m_pointInTimeRecoveryHasBeenSet = true; m_pointInTimeRecovery = value; } /** *

Specifies if pointInTimeRecovery is enabled or disabled for the * table. The options are:

  • status=ENABLED

  • *
  • status=DISABLED

If it's not specified, * the default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline void SetPointInTimeRecovery(PointInTimeRecovery&& value) { m_pointInTimeRecoveryHasBeenSet = true; m_pointInTimeRecovery = std::move(value); } /** *

Specifies if pointInTimeRecovery is enabled or disabled for the * table. The options are:

  • status=ENABLED

  • *
  • status=DISABLED

If it's not specified, * the default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline CreateTableRequest& WithPointInTimeRecovery(const PointInTimeRecovery& value) { SetPointInTimeRecovery(value); return *this;} /** *

Specifies if pointInTimeRecovery is enabled or disabled for the * table. The options are:

  • status=ENABLED

  • *
  • status=DISABLED

If it's not specified, * the default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline CreateTableRequest& WithPointInTimeRecovery(PointInTimeRecovery&& value) { SetPointInTimeRecovery(std::move(value)); return *this;} /** *

Enables Time to Live custom settings for the table. The options are:

    *
  • status:enabled

  • * status:disabled

The default is * status:disabled. After ttl is enabled, you can't * disable it for the table.

For more information, see Expiring * data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces * Developer Guide.

*/ inline const TimeToLive& GetTtl() const{ return m_ttl; } /** *

Enables Time to Live custom settings for the table. The options are:

    *
  • status:enabled

  • * status:disabled

The default is * status:disabled. After ttl is enabled, you can't * disable it for the table.

For more information, see Expiring * data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces * Developer Guide.

*/ inline bool TtlHasBeenSet() const { return m_ttlHasBeenSet; } /** *

Enables Time to Live custom settings for the table. The options are:

    *
  • status:enabled

  • * status:disabled

The default is * status:disabled. After ttl is enabled, you can't * disable it for the table.

For more information, see Expiring * data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces * Developer Guide.

*/ inline void SetTtl(const TimeToLive& value) { m_ttlHasBeenSet = true; m_ttl = value; } /** *

Enables Time to Live custom settings for the table. The options are:

    *
  • status:enabled

  • * status:disabled

The default is * status:disabled. After ttl is enabled, you can't * disable it for the table.

For more information, see Expiring * data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces * Developer Guide.

*/ inline void SetTtl(TimeToLive&& value) { m_ttlHasBeenSet = true; m_ttl = std::move(value); } /** *

Enables Time to Live custom settings for the table. The options are:

    *
  • status:enabled

  • * status:disabled

The default is * status:disabled. After ttl is enabled, you can't * disable it for the table.

For more information, see Expiring * data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces * Developer Guide.

*/ inline CreateTableRequest& WithTtl(const TimeToLive& value) { SetTtl(value); return *this;} /** *

Enables Time to Live custom settings for the table. The options are:

    *
  • status:enabled

  • * status:disabled

The default is * status:disabled. After ttl is enabled, you can't * disable it for the table.

For more information, see Expiring * data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces * Developer Guide.

*/ inline CreateTableRequest& WithTtl(TimeToLive&& value) { SetTtl(std::move(value)); return *this;} /** *

The default Time to Live setting in seconds for the table.

For more * information, see Setting * the default TTL value for a table in the Amazon Keyspaces Developer * Guide.

*/ inline int GetDefaultTimeToLive() const{ return m_defaultTimeToLive; } /** *

The default Time to Live setting in seconds for the table.

For more * information, see Setting * the default TTL value for a table in the Amazon Keyspaces Developer * Guide.

*/ inline bool DefaultTimeToLiveHasBeenSet() const { return m_defaultTimeToLiveHasBeenSet; } /** *

The default Time to Live setting in seconds for the table.

For more * information, see Setting * the default TTL value for a table in the Amazon Keyspaces Developer * Guide.

*/ inline void SetDefaultTimeToLive(int value) { m_defaultTimeToLiveHasBeenSet = true; m_defaultTimeToLive = value; } /** *

The default Time to Live setting in seconds for the table.

For more * information, see Setting * the default TTL value for a table in the Amazon Keyspaces Developer * Guide.

*/ inline CreateTableRequest& WithDefaultTimeToLive(int value) { SetDefaultTimeToLive(value); return *this;} /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline CreateTableRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline CreateTableRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline CreateTableRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of key-value pair tags to be attached to the resource.

For * more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline CreateTableRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Enables client-side timestamps for the table. By default, the setting is * disabled. You can enable client-side timestamps with the following option:

*
  • status: "enabled"

Once * client-side timestamps are enabled for a table, this setting cannot be * disabled.

*/ inline const ClientSideTimestamps& GetClientSideTimestamps() const{ return m_clientSideTimestamps; } /** *

Enables client-side timestamps for the table. By default, the setting is * disabled. You can enable client-side timestamps with the following option:

*
  • status: "enabled"

Once * client-side timestamps are enabled for a table, this setting cannot be * disabled.

*/ inline bool ClientSideTimestampsHasBeenSet() const { return m_clientSideTimestampsHasBeenSet; } /** *

Enables client-side timestamps for the table. By default, the setting is * disabled. You can enable client-side timestamps with the following option:

*
  • status: "enabled"

Once * client-side timestamps are enabled for a table, this setting cannot be * disabled.

*/ inline void SetClientSideTimestamps(const ClientSideTimestamps& value) { m_clientSideTimestampsHasBeenSet = true; m_clientSideTimestamps = value; } /** *

Enables client-side timestamps for the table. By default, the setting is * disabled. You can enable client-side timestamps with the following option:

*
  • status: "enabled"

Once * client-side timestamps are enabled for a table, this setting cannot be * disabled.

*/ inline void SetClientSideTimestamps(ClientSideTimestamps&& value) { m_clientSideTimestampsHasBeenSet = true; m_clientSideTimestamps = std::move(value); } /** *

Enables client-side timestamps for the table. By default, the setting is * disabled. You can enable client-side timestamps with the following option:

*
  • status: "enabled"

Once * client-side timestamps are enabled for a table, this setting cannot be * disabled.

*/ inline CreateTableRequest& WithClientSideTimestamps(const ClientSideTimestamps& value) { SetClientSideTimestamps(value); return *this;} /** *

Enables client-side timestamps for the table. By default, the setting is * disabled. You can enable client-side timestamps with the following option:

*
  • status: "enabled"

Once * client-side timestamps are enabled for a table, this setting cannot be * disabled.

*/ inline CreateTableRequest& WithClientSideTimestamps(ClientSideTimestamps&& value) { SetClientSideTimestamps(std::move(value)); return *this;} private: Aws::String m_keyspaceName; bool m_keyspaceNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; SchemaDefinition m_schemaDefinition; bool m_schemaDefinitionHasBeenSet = false; Comment m_comment; bool m_commentHasBeenSet = false; CapacitySpecification m_capacitySpecification; bool m_capacitySpecificationHasBeenSet = false; EncryptionSpecification m_encryptionSpecification; bool m_encryptionSpecificationHasBeenSet = false; PointInTimeRecovery m_pointInTimeRecovery; bool m_pointInTimeRecoveryHasBeenSet = false; TimeToLive m_ttl; bool m_ttlHasBeenSet = false; int m_defaultTimeToLive; bool m_defaultTimeToLiveHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ClientSideTimestamps m_clientSideTimestamps; bool m_clientSideTimestampsHasBeenSet = false; }; } // namespace Model } // namespace Keyspaces } // namespace Aws