Table

dynamodb.services.k8s.aws/v1alpha1

TypeLink
GoDocdynamodb-controller/apis/v1alpha1#Table

Metadata

PropertyValue
ScopeNamespaced
KindTable
ListKindTableList
Pluraltables
Singulartable

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
FieldDescription
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
FieldDescription
ackResourceMetadata
Optional
object
All CRs managed by ACK have a common Status.ACKResourceMetadata member
that 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 that
contains a collection of ackv1alpha1.Condition objects that describe
the 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. |