Table
dynamodb.services.k8s.aws/v1alpha1
Type | Link |
---|---|
GoDoc | dynamodb-controller/apis/v1alpha1#Table |
Metadata
Property | Value |
---|---|
Scope | Namespaced |
Kind | Table |
ListKind | TableList |
Plural | tables |
Singular | table |
Spec
attributeDefinitions:
- attributeName: string
attributeType: string
billingMode: string
continuousBackups:
pointInTimeRecoveryEnabled: boolean
deletionProtectionEnabled: boolean
globalSecondaryIndexes:
- indexName: string
keySchema:
- attributeName: string
keyType: string
projection:
nonKeyAttributes:
- string
projectionType: string
provisionedThroughput:
readCapacityUnits: integer
writeCapacityUnits: integer
keySchema:
- attributeName: string
keyType: string
localSecondaryIndexes:
- indexName: string
keySchema:
- attributeName: string
keyType: string
projection:
nonKeyAttributes:
- string
projectionType: string
provisionedThroughput:
readCapacityUnits: integer
writeCapacityUnits: integer
sseSpecification:
enabled: boolean
kmsMasterKeyID: string
sseType: string
streamSpecification:
streamEnabled: boolean
streamViewType: string
tableClass: string
tableName: string
tags:
- key: string
value: string
timeToLive:
attributeName: string
enabled: boolean
Field | Description |
---|---|
attributeDefinitions Required | array An array of attributes that describe the key schema for the table and indexes. |
attributeDefinitions.[] Required | object Represents an attribute for describing the key schema for the table and indexes. |
attributeDefinitions.[].attributeType Optional | string |
billingMode Optional | string Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later. * PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). |
continuousBackups Optional | object Represents the settings used to enable point in time recovery. |
continuousBackups.pointInTimeRecoveryEnabled Optional | boolean |
deletionProtectionEnabled Optional | boolean Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table. |
globalSecondaryIndexes Optional | array One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following: * IndexName - The name of the global secondary index. Must be unique only for this table. * KeySchema - Specifies the key schema for the global secondary index. * Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of: ProjectionType - One of the following: KEYS_ONLY - Only the index and primary keys are projected into the index. INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes. ALL - All of the table attributes are projected into the index. NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. * ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units. |
globalSecondaryIndexes.[] Required | object Represents the properties of a global secondary index. |
globalSecondaryIndexes.[].keySchema Optional | array |
globalSecondaryIndexes.[].keySchema.[] Required | object Represents a single element of a key schema. A key schema specifies the attributes |
that make up the primary key of a table, or the key attributes of an index. |
A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.
A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).
The data type must be one of String, Number, or Binary. The attribute cannot
be nested within a List or a Map. || globalSecondaryIndexes.[].keySchema.[].attributeName
Optional | string
|
| globalSecondaryIndexes.[].keySchema.[].keyType
Optional | string
|
| globalSecondaryIndexes.[].projection
Optional | object
Represents attributes that are copied (projected) from the table into an
index. These are in addition to the primary key attributes and index key
attributes, which are automatically projected. |
| globalSecondaryIndexes.[].projection.nonKeyAttributes
Optional | array
|
| globalSecondaryIndexes.[].projection.nonKeyAttributes.[]
Required | string
|| globalSecondaryIndexes.[].projection.projectionType
Optional | string
|
| globalSecondaryIndexes.[].provisionedThroughput
Optional | object
Represents the provisioned throughput settings for a specified table or index.
The settings can be modified using the UpdateTable operation.
For current minimum and maximum provisioned throughput values, see Service,
Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
in the Amazon DynamoDB Developer Guide. |
| globalSecondaryIndexes.[].provisionedThroughput.readCapacityUnits
Optional | integer
|
| globalSecondaryIndexes.[].provisionedThroughput.writeCapacityUnits
Optional | integer
|
| keySchema
Required | array
Specifies the attributes that make up the primary key for a table or an index.
The attributes in KeySchema must also be defined in the AttributeDefinitions
array. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)
in the Amazon DynamoDB Developer Guide.
Each KeySchemaElement in the array is composed of:
* AttributeName - The name of this key attribute.
* KeyType - The role that the key attribute will assume: HASH - partition
key RANGE - 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 RANGE.
For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key)
in the Amazon DynamoDB Developer Guide. |
| keySchema.[]
Required | object
Represents a single element of a key schema. A key schema specifies the attributes
that make up the primary key of a table, or the key attributes of an index.
A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.
A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).
The data type must be one of String, Number, or Binary. The attribute cannot
be nested within a List or a Map. || keySchema.[].attributeName
Optional | string
|
| keySchema.[].keyType
Optional | string
|
| localSecondaryIndexes
Optional | array
One or more local secondary indexes (the maximum is 5) to be created on the
table. Each index is scoped to a given partition key value. There is a 10
GB 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:
* IndexName - The name of the local secondary index. Must be unique only
for this table.
* KeySchema - Specifies the key schema for the local secondary index.
The key schema must begin with the same partition key as the table.
* Projection - Specifies attributes that are copied (projected) from the
table into the index. These are in addition to the primary key attributes
and index key attributes, which are automatically projected. Each attribute
specification is composed of: ProjectionType - One of the following: KEYS_ONLY
- Only the index and primary keys are projected into the index. INCLUDE
- Only the specified table attributes are projected into the index. The
list of projected attributes is in NonKeyAttributes. ALL - All of the
table attributes are projected into the index. NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the secondary
index. The total count of attributes provided in NonKeyAttributes, summed
across all of the secondary indexes, must not exceed 100. If you project
the same attribute into two different indexes, this counts as two distinct
attributes when determining the total. |
| localSecondaryIndexes.[]
Required | object
Represents the properties of a local secondary index. || localSecondaryIndexes.[].indexName
Optional | string
|
| localSecondaryIndexes.[].keySchema
Optional | array
|
| localSecondaryIndexes.[].keySchema.[]
Required | object
Represents a single element of a key schema. A key schema specifies the attributes
that make up the primary key of a table, or the key attributes of an index.
A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.
A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).
The data type must be one of String, Number, or Binary. The attribute cannot
be nested within a List or a Map. || localSecondaryIndexes.[].keySchema.[].attributeName
Optional | string
|
| localSecondaryIndexes.[].keySchema.[].keyType
Optional | string
|
| localSecondaryIndexes.[].projection
Optional | object
Represents attributes that are copied (projected) from the table into an
index. These are in addition to the primary key attributes and index key
attributes, which are automatically projected. |
| localSecondaryIndexes.[].projection.nonKeyAttributes
Optional | array
|
| localSecondaryIndexes.[].projection.nonKeyAttributes.[]
Required | string
|| localSecondaryIndexes.[].projection.projectionType
Optional | string
|
| provisionedThroughput
Optional | object
Represents the provisioned throughput settings for a specified table or index.
The settings can be modified using the UpdateTable operation.
If you set BillingMode as PROVISIONED, you must specify this property. If
you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
For current minimum and maximum provisioned throughput values, see Service,
Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
in the Amazon DynamoDB Developer Guide. |
| provisionedThroughput.readCapacityUnits
Optional | integer
|
| provisionedThroughput.writeCapacityUnits
Optional | integer
|
| sseSpecification
Optional | object
Represents the settings used to enable server-side encryption. |
| sseSpecification.enabled
Optional | boolean
|
| sseSpecification.kmsMasterKeyID
Optional | string
|
| sseSpecification.sseType
Optional | string
|
| streamSpecification
Optional | object
The settings for DynamoDB Streams on the table. These settings consist of:
* StreamEnabled - Indicates whether DynamoDB Streams is to be enabled
(true) or disabled (false).
* StreamViewType - When an item in the table is modified, StreamViewType
determines what information is written to the table’s stream. Valid values
for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified
item are written to the stream. NEW_IMAGE - The entire item, as it appears
after it was modified, is written to the stream. OLD_IMAGE - The entire
item, as it appeared before it was modified, is written to the stream.
NEW_AND_OLD_IMAGES - Both the new and the old item images of the item
are written to the stream. |
| streamSpecification.streamEnabled
Optional | boolean
|
| streamSpecification.streamViewType
Optional | string
|
| tableClass
Optional | string
The table class of the new table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. |
| tableName
Required | string
The name of the table to create. |
| tags
Optional | array
A list of key-value pairs to label the table. For more information, see Tagging
for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html). |
| tags.[]
Required | object
Describes a tag. A tag is a key-value pair. You can add up to 50 tags to
a single DynamoDB table.
Amazon Web Services-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. Amazon Web Services-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
in the Amazon DynamoDB Developer Guide. || tags.[].key
Optional | string
|
| tags.[].value
Optional | string
|
| timeToLive
Optional | object
Represents the settings used to enable or disable Time to Live for the specified
table. |
| timeToLive.attributeName
Optional | string
|
| timeToLive.enabled
Optional | boolean
|
Status
ackResourceMetadata:
arn: string
ownerAccountID: string
region: string
archivalSummary:
archivalBackupARN: string
archivalDateTime: string
archivalReason: string
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
creationDateTime: string
globalSecondaryIndexesDescriptions:
- backfilling: boolean
indexARN: string
indexName: string
indexSizeBytes: integer
indexStatus: string
itemCount: integer
keySchema:
- attributeName: string
keyType: string
projection:
nonKeyAttributes:
- string
projectionType: string
provisionedThroughput:
lastDecreaseDateTime: string
lastIncreaseDateTime: string
numberOfDecreasesToday: integer
readCapacityUnits: integer
writeCapacityUnits: integer
globalTableVersion: string
itemCount: integer
latestStreamARN: string
latestStreamLabel: string
replicas:
globalSecondaryIndexes:
- indexName: string
provisionedThroughputOverride:
readCapacityUnits: integer
kmsMasterKeyID: string
provisionedThroughputOverride:
readCapacityUnits: integer
regionName: string
replicaInaccessibleDateTime: string
replicaStatus: string
replicaStatusDescription: string
replicaStatusPercentProgress: string
replicaTableClassSummary:
lastUpdateDateTime: string
tableClass: string
restoreSummary:
restoreDateTime: string
restoreInProgress: boolean
sourceBackupARN: string
sourceTableARN: string
tableID: string
tableSizeBytes: integer
tableStatus: string
Field | Description |
---|---|
ackResourceMetadata Optional | object All CRs managed by ACK have a common Status.ACKResourceMetadata memberthat is used to contain resource sync state, account ownership, constructed ARN for the resource |
ackResourceMetadata.arn Optional | string ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an “adopted” resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR’s Spec field values. https://github.com/aws/aws-controllers-k8s/issues/270 |
ackResourceMetadata.ownerAccountID Required | string OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. |
ackResourceMetadata.region Required | string Region is the AWS region in which the resource exists or will exist. |
archivalSummary Optional | object Contains information about the table archive. |
archivalSummary.archivalBackupARN Optional | string |
archivalSummary.archivalDateTime Optional | string |
archivalSummary.archivalReason Optional | string |
conditions Optional | array All CRS managed by ACK have a common Status.Conditions member thatcontains a collection of ackv1alpha1.Condition objects that describethe various terminal states of the CR and its backend AWS service API resource |
conditions.[] Required | object Condition is the common struct used by all CRDs managed by ACK service |
controllers to indicate terminal states of the CR and its backend AWS | |
service API resource | |
conditions.[].message Optional | string A human readable message indicating details about the transition. |
conditions.[].reason Optional | string The reason for the condition’s last transition. |
conditions.[].status Optional | string Status of the condition, one of True, False, Unknown. |
conditions.[].type Optional | string Type is the type of the Condition |
creationDateTime Optional | string The date and time when the table was created, in UNIX epoch time (http://www.epochconverter.com/) format. |
globalSecondaryIndexesDescriptions Optional | array |
globalSecondaryIndexesDescriptions.[] Required | object Represents the properties of a global secondary index. |
globalSecondaryIndexesDescriptions.[].indexARN Optional | string |
globalSecondaryIndexesDescriptions.[].indexName Optional | string |
globalSecondaryIndexesDescriptions.[].indexSizeBytes Optional | integer |
globalSecondaryIndexesDescriptions.[].indexStatus Optional | string |
globalSecondaryIndexesDescriptions.[].itemCount Optional | integer |
globalSecondaryIndexesDescriptions.[].keySchema Optional | array |
globalSecondaryIndexesDescriptions.[].keySchema.[] Required | object Represents a single element of a key schema. A key schema specifies the attributes |
that make up the primary key of a table, or the key attributes of an index. |
A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.
A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).
The data type must be one of String, Number, or Binary. The attribute cannot
be nested within a List or a Map. || globalSecondaryIndexesDescriptions.[].keySchema.[].attributeName
Optional | string
|
| globalSecondaryIndexesDescriptions.[].keySchema.[].keyType
Optional | string
|
| globalSecondaryIndexesDescriptions.[].projection
Optional | object
Represents attributes that are copied (projected) from the table into an
index. These are in addition to the primary key attributes and index key
attributes, which are automatically projected. |
| globalSecondaryIndexesDescriptions.[].projection.nonKeyAttributes
Optional | array
|
| globalSecondaryIndexesDescriptions.[].projection.nonKeyAttributes.[]
Required | string
|| globalSecondaryIndexesDescriptions.[].projection.projectionType
Optional | string
|
| globalSecondaryIndexesDescriptions.[].provisionedThroughput
Optional | object
Represents the provisioned throughput settings for the table, consisting
of read and write capacity units, along with data about increases and decreases. |
| globalSecondaryIndexesDescriptions.[].provisionedThroughput.lastDecreaseDateTime
Optional | string
|
| globalSecondaryIndexesDescriptions.[].provisionedThroughput.lastIncreaseDateTime
Optional | string
|
| globalSecondaryIndexesDescriptions.[].provisionedThroughput.numberOfDecreasesToday
Optional | integer
|
| globalSecondaryIndexesDescriptions.[].provisionedThroughput.readCapacityUnits
Optional | integer
|
| globalSecondaryIndexesDescriptions.[].provisionedThroughput.writeCapacityUnits
Optional | integer
|
| globalTableVersion
Optional | string
Represents the version of global tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html)
in use, if the table is replicated across Amazon Web Services Regions. |
| itemCount
Optional | integer
The number of items in the specified table. DynamoDB updates this value approximately
every six hours. Recent changes might not be reflected in this value. |
| latestStreamARN
Optional | string
The Amazon Resource Name (ARN) that uniquely identifies the latest stream
for this table. |
| latestStreamLabel
Optional | string
A timestamp, in ISO 8601 format, for this stream.
Note that LatestStreamLabel is not a unique identifier for the stream, because
it is possible that a stream from another table might have the same timestamp.
However, the combination of the following three elements is guaranteed to
be unique:
* Amazon Web Services customer ID
* Table name
* StreamLabel |
| replicas
Optional | array
Represents replicas of the table. |
| replicas.[]
Required | object
Contains the details of the replica. || replicas.[].globalSecondaryIndexes
Optional | array
|
| replicas.[].globalSecondaryIndexes.[]
Required | object
Represents the properties of a replica global secondary index. || replicas.[].globalSecondaryIndexes.[].indexName
Optional | string
|
| replicas.[].globalSecondaryIndexes.[].provisionedThroughputOverride
Optional | object
Replica-specific provisioned throughput settings. If not specified, uses
the source table’s provisioned throughput settings. |
| replicas.[].globalSecondaryIndexes.[].provisionedThroughputOverride.readCapacityUnits
Optional | integer
|
| replicas.[].kmsMasterKeyID
Optional | string
|
| replicas.[].provisionedThroughputOverride
Optional | object
Replica-specific provisioned throughput settings. If not specified, uses
the source table’s provisioned throughput settings. |
| replicas.[].provisionedThroughputOverride.readCapacityUnits
Optional | integer
|
| replicas.[].regionName
Optional | string
|
| replicas.[].replicaInaccessibleDateTime
Optional | string
|
| replicas.[].replicaStatus
Optional | string
|
| replicas.[].replicaStatusDescription
Optional | string
|
| replicas.[].replicaStatusPercentProgress
Optional | string
|
| replicas.[].replicaTableClassSummary
Optional | object
Contains details of the table class. |
| replicas.[].replicaTableClassSummary.lastUpdateDateTime
Optional | string
|
| replicas.[].replicaTableClassSummary.tableClass
Optional | string
|
| restoreSummary
Optional | object
Contains details for the restore. |
| restoreSummary.restoreDateTime
Optional | string
|
| restoreSummary.restoreInProgress
Optional | boolean
|
| restoreSummary.sourceBackupARN
Optional | string
|
| restoreSummary.sourceTableARN
Optional | string
|
| tableID
Optional | string
Unique identifier for the table for which the backup was created. |
| tableSizeBytes
Optional | integer
The total size of the specified table, in bytes. DynamoDB updates this value
approximately every six hours. Recent changes might not be reflected in this
value. |
| tableStatus
Optional | string
The current state of the table:
* CREATING - The table is being created.
* UPDATING - The table/index configuration is being updated. The table/index
remains available for data operations when UPDATING.
* DELETING - The table is being deleted.
* ACTIVE - The table is ready for use.
* INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt the
table in inaccessible. Table operations may fail due to failure to use
the KMS key. DynamoDB will initiate the table archival process when a
table’s KMS key remains inaccessible for more than seven days.
* ARCHIVING - The table is being archived. Operations are not allowed
until archival is complete.
* ARCHIVED - The table has been archived. See the ArchivalReason for more
information. |