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.[].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.[].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.[].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.[].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.[].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
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.[].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. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse 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.[].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.[].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.[]
Required
object
Represents the properties of a replica global secondary index.
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.