Class CreateTableRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateTableRequest.Builder,CreateTableRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateTableRequest extends KeyspacesRequest implements ToCopyableBuilder<CreateTableRequest.Builder,CreateTableRequest>
  • Method Details

    • keyspaceName

      public final String keyspaceName()

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

      Returns:
      The name of the keyspace that the table is going to be created in.
    • tableName

      public final String tableName()

      The name of the table.

      Returns:
      The name of the table.
    • schemaDefinition

      public final SchemaDefinition 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.

      Returns:
      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.

    • comment

      public final Comment comment()

      This parameter allows to enter a description of the table.

      Returns:
      This parameter allows to enter a description of the table.
    • capacitySpecification

      public final CapacitySpecification 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.

      Returns:
      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.

    • encryptionSpecification

      public final EncryptionSpecification 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.

      Returns:
      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.

    • pointInTimeRecovery

      public final PointInTimeRecovery 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.

      Returns:
      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.

    • ttl

      public final TimeToLive 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.

      Returns:
      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.

    • defaultTimeToLive

      public final Integer 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.

      Returns:
      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.

    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final List<Tag> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      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.

    • clientSideTimestamps

      public final ClientSideTimestamps 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.

      Returns:
      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.

    • autoScalingSpecification

      public final AutoScalingSpecification autoScalingSpecification()

      The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.

      Auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

      By default, auto scaling is disabled for a table.

      Returns:
      The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.

      Auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

      By default, auto scaling is disabled for a table.

    • hasReplicaSpecifications

      public final boolean hasReplicaSpecifications()
      For responses, this returns true if the service returned a value for the ReplicaSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • replicaSpecifications

      public final List<ReplicaSpecification> replicaSpecifications()

      The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region.

      For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.

      • region: The Region where these settings are applied. (Required)

      • readCapacityUnits: The provisioned read capacity units. (Optional)

      • readCapacityAutoScaling: The read capacity auto scaling settings for the table. (Optional)

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasReplicaSpecifications() method.

      Returns:
      The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region.

      For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.

      • region: The Region where these settings are applied. (Required)

      • readCapacityUnits: The provisioned read capacity units. (Optional)

      • readCapacityAutoScaling: The read capacity auto scaling settings for the table. (Optional)

    • toBuilder

      public CreateTableRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateTableRequest.Builder,CreateTableRequest>
      Specified by:
      toBuilder in class KeyspacesRequest
      Returns:
      a builder for type T
    • builder

      public static CreateTableRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateTableRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.