/** * 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 namespace Aws { namespace Keyspaces { namespace Model { /** */ class UpdateTableRequest : public KeyspacesRequest { public: AWS_KEYSPACES_API UpdateTableRequest(); // 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 "UpdateTable"; } AWS_KEYSPACES_API Aws::String SerializePayload() const override; AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

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

The name of the keyspace the specified table is stored in.

*/ inline UpdateTableRequest& 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 UpdateTableRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The name of the table.

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

The name of the table.

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

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline const Aws::Vector& GetAddColumns() const{ return m_addColumns; } /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline bool AddColumnsHasBeenSet() const { return m_addColumnsHasBeenSet; } /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline void SetAddColumns(const Aws::Vector& value) { m_addColumnsHasBeenSet = true; m_addColumns = value; } /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline void SetAddColumns(Aws::Vector&& value) { m_addColumnsHasBeenSet = true; m_addColumns = std::move(value); } /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline UpdateTableRequest& WithAddColumns(const Aws::Vector& value) { SetAddColumns(value); return *this;} /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline UpdateTableRequest& WithAddColumns(Aws::Vector&& value) { SetAddColumns(std::move(value)); return *this;} /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline UpdateTableRequest& AddAddColumns(const ColumnDefinition& value) { m_addColumnsHasBeenSet = true; m_addColumns.push_back(value); return *this; } /** *

For each column to be added to the specified table:

  • * name - The name of the column.

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

*/ inline UpdateTableRequest& AddAddColumns(ColumnDefinition&& value) { m_addColumnsHasBeenSet = true; m_addColumns.push_back(std::move(value)); return *this; } /** *

Modifies 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; } /** *

Modifies 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; } /** *

Modifies 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; } /** *

Modifies 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); } /** *

Modifies 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 UpdateTableRequest& WithCapacitySpecification(const CapacitySpecification& value) { SetCapacitySpecification(value); return *this;} /** *

Modifies 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 UpdateTableRequest& WithCapacitySpecification(CapacitySpecification&& value) { SetCapacitySpecification(std::move(value)); return *this;} /** *

Modifies the encryption settings of 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 * 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; } /** *

Modifies the encryption settings of 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 * AWS_OWNED_KMS_KEY.

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

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

Modifies the encryption settings of 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 * 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; } /** *

Modifies the encryption settings of 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 * 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); } /** *

Modifies the encryption settings of 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 * AWS_OWNED_KMS_KEY.

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

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

Modifies the encryption settings of 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 * AWS_OWNED_KMS_KEY.

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

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

Modifies the pointInTimeRecovery settings of 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; } /** *

Modifies the pointInTimeRecovery settings of 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; } /** *

Modifies the pointInTimeRecovery settings of 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; } /** *

Modifies the pointInTimeRecovery settings of 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); } /** *

Modifies the pointInTimeRecovery settings of 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 UpdateTableRequest& WithPointInTimeRecovery(const PointInTimeRecovery& value) { SetPointInTimeRecovery(value); return *this;} /** *

Modifies the pointInTimeRecovery settings of 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 UpdateTableRequest& WithPointInTimeRecovery(PointInTimeRecovery&& value) { SetPointInTimeRecovery(std::move(value)); return *this;} /** *

Modifies 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; } /** *

Modifies 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; } /** *

Modifies 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; } /** *

Modifies 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); } /** *

Modifies 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 UpdateTableRequest& WithTtl(const TimeToLive& value) { SetTtl(value); return *this;} /** *

Modifies 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 UpdateTableRequest& 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 UpdateTableRequest& WithDefaultTimeToLive(int value) { SetDefaultTimeToLive(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 UpdateTableRequest& 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 UpdateTableRequest& 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; Aws::Vector m_addColumns; bool m_addColumnsHasBeenSet = 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; ClientSideTimestamps m_clientSideTimestamps; bool m_clientSideTimestampsHasBeenSet = false; }; } // namespace Model } // namespace Keyspaces } // namespace Aws