@aws-cdk/aws-dynamodb

  • Version 1.204.0
  • Published
  • 1.75 MB
  • 9 dependencies
  • Apache-2.0 license

Install

npm i @aws-cdk/aws-dynamodb
yarn add @aws-cdk/aws-dynamodb
pnpm add @aws-cdk/aws-dynamodb

Overview

The CDK Construct Library for AWS::DynamoDB

Index

Classes

Interfaces

Enums

Namespaces

Classes

class CfnGlobalTable

class CfnGlobalTable extends cdk.CfnResource implements cdk.IInspectable {}
  • A CloudFormation AWS::DynamoDB::GlobalTable

    The AWS::DynamoDB::GlobalTable resource enables you to create and manage a Version 2019.11.21 global table. This resource cannot be used to create or manage a Version 2017.11.29 global table. For more information, see [Global tables](https://docs.aws.amazon.com//amazondynamodb/latest/developerguide/GlobalTables.html) .

    > You cannot convert a resource of type AWS::DynamoDB::Table into a resource of type AWS::DynamoDB::GlobalTable by changing its type in your template. *Doing so might result in the deletion of your DynamoDB table.* > > You can instead use the GlobalTable resource to create a new table in a single Region. This will be billed the same as a single Region table. If you later update the stack to add other Regions then Global Tables pricing will apply.

    You should be aware of the following behaviors when working with DynamoDB global tables.

    - The IAM Principal executing the stack operation must have the permissions listed below in all regions where you plan to have a global table replica. The IAM Principal's permissions should not have restrictions based on IP source address. Some global tables operations (for example, adding a replica) are asynchronous, and require that the IAM Principal is valid until they complete. You should not delete the Principal (user or IAM role) until CloudFormation has finished updating your stack.

    - dynamodb:CreateTable - dynamodb:UpdateTable - dynamodb:DeleteTable - dynamodb:DescribeContinuousBackups - dynamodb:DescribeContributorInsights - dynamodb:DescribeTable - dynamodb:DescribeTableReplicaAutoScaling - dynamodb:DescribeTimeToLive - dynamodb:ListTables - dynamodb:UpdateTimeToLive - dynamodb:UpdateContributorInsights - dynamodb:UpdateContinuousBackups - dynamodb:ListTagsOfResource - dynamodb:TableClass - dynamodb:TagResource - dynamodb:UntagResource - dynamodb:BatchWriteItem - dynamodb:CreateTableReplica - dynamodb:DeleteItem - dynamodb:DeleteTableReplica - dynamodb:DisableKinesisStreamingDestination - dynamodb:EnableKinesisStreamingDestination - dynamodb:GetItem - dynamodb:PutItem - dynamodb:Query - dynamodb:Scan - dynamodb:UpdateItem - dynamodb:DescribeTableReplicaAutoScaling - dynamodb:UpdateTableReplicaAutoScaling - iam:CreateServiceLinkedRole - kms:CreateGrant - kms:DescribeKey - application-autoscaling:DeleteScalingPolicy - application-autoscaling:DeleteScheduledAction - application-autoscaling:DeregisterScalableTarget - application-autoscaling:DescribeScalingPolicies - application-autoscaling:DescribeScalableTargets - application-autoscaling:PutScalingPolicy - application-autoscaling:PutScheduledAction - application-autoscaling:RegisterScalableTarget - When using provisioned billing mode, CloudFormation will create an auto scaling policy on each of your replicas to control their write capacities. You must configure this policy using the WriteProvisionedThroughputSettings property. CloudFormation will ensure that all replicas have the same write capacity auto scaling property. You cannot directly specify a value for write capacity for a global table. - If your table uses provisioned capacity, you must configure auto scaling directly in the AWS::DynamoDB::GlobalTable resource. You should not configure additional auto scaling policies on any of the table replicas or global secondary indexes, either via API or via AWS::ApplicationAutoScaling::ScalableTarget or AWS::ApplicationAutoScaling::ScalingPolicy . Doing so might result in unexpected behavior and is unsupported. - In AWS CloudFormation , each global table is controlled by a single stack, in a single region, regardless of the number of replicas. When you deploy your template, CloudFormation will create/update all replicas as part of a single stack operation. You should not deploy the same AWS::DynamoDB::GlobalTable resource in multiple regions. Doing so will result in errors, and is unsupported. If you deploy your application template in multiple regions, you can use conditions to only create the resource in a single region. Alternatively, you can choose to define your AWS::DynamoDB::GlobalTable resources in a stack separate from your application stack, and make sure it is only deployed to a single region.

    AWS::DynamoDB::GlobalTable external

    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html

constructor

constructor(scope: cdk.Construct, id: string, props: CfnGlobalTableProps);
  • Create a new AWS::DynamoDB::GlobalTable.

    Parameter scope

    scope in which this resource is defined

    Parameter id

    scoped id of the resource

    Parameter props

    resource properties

property attrArn

readonly attrArn: string;
  • The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable . The ARN returned is that of the replica in the region the stack is deployed to. Arn

property attributeDefinitions

attributeDefinitions: any;
  • A list of attributes that describe the key schema for the global table and indexes.

    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-attributedefinitions

property attrStreamArn

readonly attrStreamArn: string;
  • The ARN of the DynamoDB stream, such as arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000 . The StreamArn returned is that of the replica in the region the stack is deployed to.

    > You must specify the StreamSpecification property to use this attribute. StreamArn

property attrTableId

readonly attrTableId: string;
  • Unique identifier for the table, such as a123b456-01ab-23cd-123a-111222aaabbb . The TableId returned is that of the replica in the region the stack is deployed to. TableId

property billingMode

billingMode: string;
  • Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:

    - PAY_PER_REQUEST - PROVISIONED

    All replicas in your global table will have the same billing mode. If you use PROVISIONED billing mode, you must provide an auto scaling configuration via the WriteProvisionedThroughputSettings property. The default value of this property is PROVISIONED .

    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-billingmode

property CFN_RESOURCE_TYPE_NAME

static readonly CFN_RESOURCE_TYPE_NAME: string;
  • The CloudFormation resource type name for this resource class.

property cfnProperties

readonly cfnProperties: { [key: string]: any };

    property globalSecondaryIndexes

    globalSecondaryIndexes: any;
    • Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.

      Since the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-globalsecondaryindexes

    property keySchema

    keySchema: any;
    • Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-keyschema

    property localSecondaryIndexes

    localSecondaryIndexes: any;
    • Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-localsecondaryindexes

    property replicas

    replicas: any;
    • Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in Replicas with the region us-east-1. You cannot remove the replica in the stack region.

      > Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an UpdateStack operation containing only that change. > > If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica.

      You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas

    property sseSpecification

    sseSpecification: any;
    • Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the ReplicaSpecification.ReplicaSSESpecification property.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-ssespecification

    property streamSpecification

    streamSpecification: any;
    • Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-streamspecification

    property tableName

    tableName: string;
    • A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .

      > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-tablename

    property timeToLiveSpecification

    timeToLiveSpecification: any;
    • Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-timetolivespecification

    property writeProvisionedThroughputSettings

    writeProvisionedThroughputSettings: any;
    • Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if BillingMode is set to PROVISIONED .

      http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-writeprovisionedthroughputsettings

    method inspect

    inspect: (inspector: cdk.TreeInspector) => void;
    • Examines the CloudFormation resource and discloses attributes.

      Parameter inspector

      tree inspector to collect and process attributes

    method renderProperties

    protected renderProperties: (props: { [key: string]: any }) => {
    [key: string]: any;
    };

      class CfnTable

      class CfnTable extends cdk.CfnResource implements cdk.IInspectable {}
      • A CloudFormation AWS::DynamoDB::Table

        The AWS::DynamoDB::Table resource creates a DynamoDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *Amazon DynamoDB API Reference* .

        You should be aware of the following behaviors when working with DynamoDB tables:

        - AWS CloudFormation typically creates DynamoDB tables in parallel. However, if your template includes multiple DynamoDB tables with indexes, you must declare dependencies so that the tables are created sequentially. Amazon DynamoDB limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DynamoDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute) .

        > Our guidance is to use the latest schema documented here for your AWS CloudFormation templates. This schema supports the provisioning of all table settings below. When using this schema in your AWS CloudFormation templates, please ensure that your Identity and Access Management ( IAM ) policies are updated with appropriate permissions to allow for the authorization of these setting changes.

        AWS::DynamoDB::Table external

        http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html

      constructor

      constructor(scope: cdk.Construct, id: string, props: CfnTableProps);
      • Create a new AWS::DynamoDB::Table.

        Parameter scope

        scope in which this resource is defined

        Parameter id

        scoped id of the resource

        Parameter props

        resource properties

      property attrArn

      readonly attrArn: string;
      • The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable . Arn

      property attributeDefinitions

      attributeDefinitions: any;
      • A list of attributes that describe the key schema for the table and indexes.

        This property is required to create a DynamoDB table.

        Update requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.

        http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-attributedefinitions

      property attrStreamArn

      readonly attrStreamArn: string;
      • The ARN of the DynamoDB stream, such as arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000 .

        > You must specify the StreamSpecification property to use this attribute. StreamArn

      property billingMode

      billingMode: string;
      • Specify how you are charged for read and write throughput and how you manage capacity.

        Valid values include:

        - 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) .

        If not specified, the default is PROVISIONED .

        http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-billingmode

      property CFN_RESOURCE_TYPE_NAME

      static readonly CFN_RESOURCE_TYPE_NAME: string;
      • The CloudFormation resource type name for this resource class.

      property cfnProperties

      readonly cfnProperties: { [key: string]: any };

        property contributorInsightsSpecification

        contributorInsightsSpecification: any;
        • The settings used to enable or disable CloudWatch Contributor Insights for the specified table.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-contributorinsightsspecification

        property deletionProtectionEnabled

        deletionProtectionEnabled: any;
        • Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-deletionprotectionenabled

        property globalSecondaryIndexes

        globalSecondaryIndexes: any;
        • Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.

          > If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command. > > If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. > > Updates are not supported. The following are exceptions: > > - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. > - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-globalsecondaryindexes

        property importSourceSpecification

        importSourceSpecification: any;
        • Specifies the properties of data being imported from the S3 bucket source to the table.

          > If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification , the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-importsourcespecification

        property keySchema

        keySchema: any;
        • Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema

        property kinesisStreamSpecification

        kinesisStreamSpecification: any;
        • The Kinesis Data Streams configuration for the specified table.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification

        property localSecondaryIndexes

        localSecondaryIndexes: any;
        • Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-localsecondaryindexes

        property pointInTimeRecoverySpecification

        pointInTimeRecoverySpecification: any;
        • The settings used to enable point in time recovery.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-pointintimerecoveryspecification

        property provisionedThroughput

        provisionedThroughput: any;
        • Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .

          If you set BillingMode as PROVISIONED , you must specify this property. If you set BillingMode as PAY_PER_REQUEST , you cannot specify this property.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput

        property sseSpecification

        sseSpecification: any;
        • Specifies the settings to enable server-side encryption.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification

        property streamSpecification

        streamSpecification: any;
        • The settings for the DynamoDB table stream, which capture changes to items stored in the table.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification

        property tableClass

        tableClass: string;
        • The table class of the new table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS .

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tableclass

        property tableName

        tableName: string;
        • A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .

          > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename

        property tags

        readonly tags: cdk.TagManager;
        • An array of key-value pairs to apply to this resource.

          For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags

        property timeToLiveSpecification

        timeToLiveSpecification: any;
        • Specifies the Time to Live (TTL) settings for the table.

          > For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.

          http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-timetolivespecification

        method inspect

        inspect: (inspector: cdk.TreeInspector) => void;
        • Examines the CloudFormation resource and discloses attributes.

          Parameter inspector

          tree inspector to collect and process attributes

        method renderProperties

        protected renderProperties: (props: { [key: string]: any }) => {
        [key: string]: any;
        };

          class Table

          class Table extends TableBase {}
          • Provides a DynamoDB table.

          constructor

          constructor(scope: Construct, id: string, props: TableProps);

            property encryptionKey

            readonly encryptionKey?: kms.IKey;

              property hasIndex

              readonly hasIndex: boolean;
              • Whether this table has indexes

              property tableArn

              readonly tableArn: string;

              property tableName

              readonly tableName: string;

              property tableStreamArn

              readonly tableStreamArn: string;

              method addGlobalSecondaryIndex

              addGlobalSecondaryIndex: (props: GlobalSecondaryIndexProps) => void;
              • Add a global secondary index of table.

                Parameter props

                the property of global secondary index

              method addLocalSecondaryIndex

              addLocalSecondaryIndex: (props: LocalSecondaryIndexProps) => void;
              • Add a local secondary index of table.

                Parameter props

                the property of local secondary index

              method autoScaleGlobalSecondaryIndexReadCapacity

              autoScaleGlobalSecondaryIndexReadCapacity: (
              indexName: string,
              props: EnableScalingProps
              ) => IScalableTableAttribute;
              • Enable read capacity scaling for the given GSI

                Returns

                An object to configure additional AutoScaling settings for this attribute

              method autoScaleGlobalSecondaryIndexWriteCapacity

              autoScaleGlobalSecondaryIndexWriteCapacity: (
              indexName: string,
              props: EnableScalingProps
              ) => IScalableTableAttribute;
              • Enable write capacity scaling for the given GSI

                Returns

                An object to configure additional AutoScaling settings for this attribute

              method autoScaleReadCapacity

              autoScaleReadCapacity: (props: EnableScalingProps) => IScalableTableAttribute;
              • Enable read capacity scaling for this table

                Returns

                An object to configure additional AutoScaling settings

              method autoScaleWriteCapacity

              autoScaleWriteCapacity: (props: EnableScalingProps) => IScalableTableAttribute;
              • Enable write capacity scaling for this table

                Returns

                An object to configure additional AutoScaling settings for this attribute

              method fromTableArn

              static fromTableArn: (scope: Construct, id: string, tableArn: string) => ITable;
              • Creates a Table construct that represents an external table via table arn.

                Parameter scope

                The parent creating construct (usually this).

                Parameter id

                The construct's name.

                Parameter tableArn

                The table's ARN.

              method fromTableAttributes

              static fromTableAttributes: (
              scope: Construct,
              id: string,
              attrs: TableAttributes
              ) => ITable;
              • Creates a Table construct that represents an external table.

                Parameter scope

                The parent creating construct (usually this).

                Parameter id

                The construct's name.

                Parameter attrs

                A TableAttributes object.

              method fromTableName

              static fromTableName: (
              scope: Construct,
              id: string,
              tableName: string
              ) => ITable;
              • Creates a Table construct that represents an external table via table name.

                Parameter scope

                The parent creating construct (usually this).

                Parameter id

                The construct's name.

                Parameter tableName

                The table's name.

              method grantListStreams

              static grantListStreams: (grantee: iam.IGrantable) => iam.Grant;
              • Permits an IAM Principal to list all DynamoDB Streams.

                Parameter grantee

                The principal (no-op if undefined)

                Deprecated

                Use for more granular permission

              method schema

              schema: (indexName?: string) => SchemaOptions;
              • Get schema attributes of table or index.

                Returns

                Schema of table or index.

              method validate

              protected validate: () => string[];
              • Validate the table construct.

                Returns

                an array of validation error message

              Interfaces

              interface Attribute

              interface Attribute {}
              • Represents an attribute for describing the key schema for the table and indexes.

              property name

              readonly name: string;
              • The name of an attribute.

              property type

              readonly type: AttributeType;
              • The data type of an attribute.

              interface CfnGlobalTableProps

              interface CfnGlobalTableProps {}
              • Properties for defining a CfnGlobalTable

                external

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html

              property attributeDefinitions

              readonly attributeDefinitions:
              | Array<CfnGlobalTable.AttributeDefinitionProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • A list of attributes that describe the key schema for the global table and indexes.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-attributedefinitions

              property billingMode

              readonly billingMode?: string;
              • Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:

                - PAY_PER_REQUEST - PROVISIONED

                All replicas in your global table will have the same billing mode. If you use PROVISIONED billing mode, you must provide an auto scaling configuration via the WriteProvisionedThroughputSettings property. The default value of this property is PROVISIONED .

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-billingmode

              property globalSecondaryIndexes

              readonly globalSecondaryIndexes?:
              | Array<CfnGlobalTable.GlobalSecondaryIndexProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.

                Since the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-globalsecondaryindexes

              property keySchema

              readonly keySchema:
              | Array<CfnGlobalTable.KeySchemaProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-keyschema

              property localSecondaryIndexes

              readonly localSecondaryIndexes?:
              | Array<CfnGlobalTable.LocalSecondaryIndexProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-localsecondaryindexes

              property replicas

              readonly replicas:
              | Array<CfnGlobalTable.ReplicaSpecificationProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in Replicas with the region us-east-1. You cannot remove the replica in the stack region.

                > Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an UpdateStack operation containing only that change. > > If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica.

                You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas

              property sseSpecification

              readonly sseSpecification?:
              | CfnGlobalTable.SSESpecificationProperty
              | cdk.IResolvable;
              • Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the ReplicaSpecification.ReplicaSSESpecification property.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-ssespecification

              property streamSpecification

              readonly streamSpecification?:
              | CfnGlobalTable.StreamSpecificationProperty
              | cdk.IResolvable;
              • Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-streamspecification

              property tableName

              readonly tableName?: string;
              • A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .

                > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-tablename

              property timeToLiveSpecification

              readonly timeToLiveSpecification?:
              | CfnGlobalTable.TimeToLiveSpecificationProperty
              | cdk.IResolvable;
              • Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-timetolivespecification

              property writeProvisionedThroughputSettings

              readonly writeProvisionedThroughputSettings?:
              | CfnGlobalTable.WriteProvisionedThroughputSettingsProperty
              | cdk.IResolvable;
              • Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if BillingMode is set to PROVISIONED .

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-writeprovisionedthroughputsettings

              interface CfnTableProps

              interface CfnTableProps {}
              • Properties for defining a CfnTable

                external

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html

              property attributeDefinitions

              readonly attributeDefinitions?:
              | Array<CfnTable.AttributeDefinitionProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • A list of attributes that describe the key schema for the table and indexes.

                This property is required to create a DynamoDB table.

                Update requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-attributedefinitions

              property billingMode

              readonly billingMode?: string;
              • Specify how you are charged for read and write throughput and how you manage capacity.

                Valid values include:

                - 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) .

                If not specified, the default is PROVISIONED .

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-billingmode

              property contributorInsightsSpecification

              readonly contributorInsightsSpecification?:
              | CfnTable.ContributorInsightsSpecificationProperty
              | cdk.IResolvable;
              • The settings used to enable or disable CloudWatch Contributor Insights for the specified table.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-contributorinsightsspecification

              property deletionProtectionEnabled

              readonly deletionProtectionEnabled?: boolean | cdk.IResolvable;
              • Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-deletionprotectionenabled

              property globalSecondaryIndexes

              readonly globalSecondaryIndexes?:
              | Array<CfnTable.GlobalSecondaryIndexProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.

                > If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command. > > If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. > > Updates are not supported. The following are exceptions: > > - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. > - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-globalsecondaryindexes

              property importSourceSpecification

              readonly importSourceSpecification?:
              | CfnTable.ImportSourceSpecificationProperty
              | cdk.IResolvable;
              • Specifies the properties of data being imported from the S3 bucket source to the table.

                > If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification , the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-importsourcespecification

              property keySchema

              readonly keySchema:
              | Array<CfnTable.KeySchemaProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema

              property kinesisStreamSpecification

              readonly kinesisStreamSpecification?:
              | CfnTable.KinesisStreamSpecificationProperty
              | cdk.IResolvable;
              • The Kinesis Data Streams configuration for the specified table.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification

              property localSecondaryIndexes

              readonly localSecondaryIndexes?:
              | Array<CfnTable.LocalSecondaryIndexProperty | cdk.IResolvable>
              | cdk.IResolvable;
              • Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-localsecondaryindexes

              property pointInTimeRecoverySpecification

              readonly pointInTimeRecoverySpecification?:
              | CfnTable.PointInTimeRecoverySpecificationProperty
              | cdk.IResolvable;
              • The settings used to enable point in time recovery.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-pointintimerecoveryspecification

              property provisionedThroughput

              readonly provisionedThroughput?:
              | CfnTable.ProvisionedThroughputProperty
              | cdk.IResolvable;
              • Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .

                If you set BillingMode as PROVISIONED , you must specify this property. If you set BillingMode as PAY_PER_REQUEST , you cannot specify this property.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput

              property sseSpecification

              readonly sseSpecification?: CfnTable.SSESpecificationProperty | cdk.IResolvable;
              • Specifies the settings to enable server-side encryption.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification

              property streamSpecification

              readonly streamSpecification?:
              | CfnTable.StreamSpecificationProperty
              | cdk.IResolvable;
              • The settings for the DynamoDB table stream, which capture changes to items stored in the table.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification

              property tableClass

              readonly tableClass?: string;
              • The table class of the new table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS .

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tableclass

              property tableName

              readonly tableName?: string;
              • A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .

                > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename

              property tags

              readonly tags?: cdk.CfnTag[];
              • An array of key-value pairs to apply to this resource.

                For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags

              property timeToLiveSpecification

              readonly timeToLiveSpecification?:
              | CfnTable.TimeToLiveSpecificationProperty
              | cdk.IResolvable;
              • Specifies the Time to Live (TTL) settings for the table.

                > For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.

                http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-timetolivespecification

              interface EnableScalingProps

              interface EnableScalingProps {}
              • Properties for enabling DynamoDB capacity scaling

              property maxCapacity

              readonly maxCapacity: number;
              • Maximum capacity to scale to

              property minCapacity

              readonly minCapacity: number;
              • Minimum capacity to scale to

              interface GlobalSecondaryIndexProps

              interface GlobalSecondaryIndexProps extends SecondaryIndexProps, SchemaOptions {}
              • Properties for a global secondary index

              property readCapacity

              readonly readCapacity?: number;
              • The read capacity for the global secondary index.

                Can only be provided if table billingMode is Provisioned or undefined.

                5

              property writeCapacity

              readonly writeCapacity?: number;
              • The write capacity for the global secondary index.

                Can only be provided if table billingMode is Provisioned or undefined.

                5

              interface IScalableTableAttribute

              interface IScalableTableAttribute {}
              • Interface for scalable attributes

              method scaleOnSchedule

              scaleOnSchedule: (id: string, actions: appscaling.ScalingSchedule) => void;
              • Add scheduled scaling for this scaling attribute

              method scaleOnUtilization

              scaleOnUtilization: (props: UtilizationScalingProps) => void;
              • Scale out or in to keep utilization at a given level

              interface ITable

              interface ITable extends IResource {}
              • An interface that represents a DynamoDB Table - either created with the CDK, or an existing one.

              property encryptionKey

              readonly encryptionKey?: kms.IKey;
              • Optional KMS encryption key associated with this table.

              property tableArn

              readonly tableArn: string;
              • Arn of the dynamodb table.

              property tableName

              readonly tableName: string;
              • Table name of the dynamodb table.

              property tableStreamArn

              readonly tableStreamArn?: string;
              • ARN of the table's stream, if there is one.

              method grant

              grant: (grantee: iam.IGrantable, ...actions: string[]) => iam.Grant;
              • Adds an IAM policy statement associated with this table to an IAM principal's policy.

                If encryptionKey is present, appropriate grants to the key needs to be added separately using the table.encryptionKey.grant* methods.

                Parameter grantee

                The principal (no-op if undefined)

                Parameter actions

                The set of actions to allow (i.e. "dynamodb:PutItem", "dynamodb:GetItem", ...)

              method grantFullAccess

              grantFullAccess: (grantee: iam.IGrantable) => iam.Grant;
              • Permits all DynamoDB operations ("dynamodb:*") to an IAM principal.

                Appropriate grants will also be added to the customer-managed KMS key if one was configured.

                Parameter grantee

                The principal to grant access to

              method grantReadData

              grantReadData: (grantee: iam.IGrantable) => iam.Grant;
              • Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan.

                Appropriate grants will also be added to the customer-managed KMS key if one was configured.

                Parameter grantee

                The principal to grant access to

              method grantReadWriteData

              grantReadWriteData: (grantee: iam.IGrantable) => iam.Grant;
              • Permits an IAM principal to all data read/write operations to this table. BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan, BatchWriteItem, PutItem, UpdateItem, DeleteItem

                Appropriate grants will also be added to the customer-managed KMS key if one was configured.

                Parameter grantee

                The principal to grant access to

              method grantStream

              grantStream: (grantee: iam.IGrantable, ...actions: string[]) => iam.Grant;
              • Adds an IAM policy statement associated with this table's stream to an IAM principal's policy.

                If encryptionKey is present, appropriate grants to the key needs to be added separately using the table.encryptionKey.grant* methods.

                Parameter grantee

                The principal (no-op if undefined)

                Parameter actions

                The set of actions to allow (i.e. "dynamodb:DescribeStream", "dynamodb:GetRecords", ...)

              method grantStreamRead

              grantStreamRead: (grantee: iam.IGrantable) => iam.Grant;
              • Permits an IAM principal all stream data read operations for this table's stream: DescribeStream, GetRecords, GetShardIterator, ListStreams.

                Appropriate grants will also be added to the customer-managed KMS key if one was configured.

                Parameter grantee

                The principal to grant access to

              method grantTableListStreams

              grantTableListStreams: (grantee: iam.IGrantable) => iam.Grant;
              • Permits an IAM Principal to list streams attached to current dynamodb table.

                Parameter grantee

                The principal (no-op if undefined)

              method grantWriteData

              grantWriteData: (grantee: iam.IGrantable) => iam.Grant;
              • Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem.

                Appropriate grants will also be added to the customer-managed KMS key if one was configured.

                Parameter grantee

                The principal to grant access to

              method metric

              metric: (
              metricName: string,
              props?: cloudwatch.MetricOptions
              ) => cloudwatch.Metric;
              • Metric for the number of Errors executing all Lambdas

              method metricConditionalCheckFailedRequests

              metricConditionalCheckFailedRequests: (
              props?: cloudwatch.MetricOptions
              ) => cloudwatch.Metric;
              • Metric for the conditional check failed requests

                Parameter props

                properties of a metric

              method metricConsumedReadCapacityUnits

              metricConsumedReadCapacityUnits: (
              props?: cloudwatch.MetricOptions
              ) => cloudwatch.Metric;
              • Metric for the consumed read capacity units

                Parameter props

                properties of a metric

              method metricConsumedWriteCapacityUnits

              metricConsumedWriteCapacityUnits: (
              props?: cloudwatch.MetricOptions
              ) => cloudwatch.Metric;
              • Metric for the consumed write capacity units

                Parameter props

                properties of a metric

              method metricSuccessfulRequestLatency

              metricSuccessfulRequestLatency: (
              props?: cloudwatch.MetricOptions
              ) => cloudwatch.Metric;
              • Metric for the successful request latency

                Parameter props

                properties of a metric

              method metricSystemErrors

              metricSystemErrors: (props?: cloudwatch.MetricOptions) => cloudwatch.Metric;
              • Metric for the system errors

                Parameter props

                properties of a metric

                Deprecated

                use metricSystemErrorsForOperations

              method metricSystemErrorsForOperations

              metricSystemErrorsForOperations: (
              props?: SystemErrorsForOperationsMetricOptions
              ) => cloudwatch.IMetric;
              • Metric for the system errors this table

                Parameter props

                properties of a metric

              method metricThrottledRequests

              metricThrottledRequests: (props?: cloudwatch.MetricOptions) => cloudwatch.Metric;
              • Metric for throttled requests

                Parameter props

                properties of a metric

              method metricUserErrors

              metricUserErrors: (props?: cloudwatch.MetricOptions) => cloudwatch.Metric;
              • Metric for the user errors

                Parameter props

                properties of a metric

              interface LocalSecondaryIndexProps

              interface LocalSecondaryIndexProps extends SecondaryIndexProps {}
              • Properties for a local secondary index

              property sortKey

              readonly sortKey: Attribute;
              • The attribute of a sort key for the local secondary index.

              interface SchemaOptions

              interface SchemaOptions {}
              • Represents the table schema attributes.

              property partitionKey

              readonly partitionKey: Attribute;
              • Partition key attribute definition.

              property sortKey

              readonly sortKey?: Attribute;
              • Sort key attribute definition.

                no sort key

              interface SecondaryIndexProps

              interface SecondaryIndexProps {}
              • Properties for a secondary index

              property indexName

              readonly indexName: string;
              • The name of the secondary index.

              property nonKeyAttributes

              readonly nonKeyAttributes?: string[];
              • The non-key attributes that are projected into the secondary index. - No additional attributes

              property projectionType

              readonly projectionType?: ProjectionType;
              • The set of attributes that are projected into the secondary index. ALL

              interface SystemErrorsForOperationsMetricOptions

              interface SystemErrorsForOperationsMetricOptions extends cloudwatch.MetricOptions {}
              • Options for configuring a system errors metric that considers multiple operations.

              property operations

              readonly operations?: Operation[];
              • The operations to apply the metric to.

                - All operations available by DynamoDB tables will be considered.

              interface TableAttributes

              interface TableAttributes {}
              • Reference to a dynamodb table.

              property encryptionKey

              readonly encryptionKey?: kms.IKey;
              • KMS encryption key, if this table uses a customer-managed encryption key.

                - no key

              property globalIndexes

              readonly globalIndexes?: string[];
              • The name of the global indexes set for this Table. Note that you need to set either this property, or localIndexes, if you want methods like grantReadData() to grant permissions for indexes as well as the table itself.

                - no global indexes

              property localIndexes

              readonly localIndexes?: string[];
              • The name of the local indexes set for this Table. Note that you need to set either this property, or globalIndexes, if you want methods like grantReadData() to grant permissions for indexes as well as the table itself.

                - no local indexes

              property tableArn

              readonly tableArn?: string;
              • The ARN of the dynamodb table. One of this, or tableName, is required.

                - no table arn

              property tableName

              readonly tableName?: string;
              • The table name of the dynamodb table. One of this, or tableArn, is required.

                - no table name

              property tableStreamArn

              readonly tableStreamArn?: string;
              • The ARN of the table's stream.

                - no table stream

              interface TableOptions

              interface TableOptions extends SchemaOptions {}
              • Properties of a DynamoDB Table

                Use TableProps for all table properties

              property billingMode

              readonly billingMode?: BillingMode;
              • Specify how you are charged for read and write throughput and how you manage capacity.

                PROVISIONED if replicationRegions is not specified, PAY_PER_REQUEST otherwise

              property contributorInsightsEnabled

              readonly contributorInsightsEnabled?: boolean;
              • Whether CloudWatch contributor insights is enabled.

                false

              property encryption

              readonly encryption?: TableEncryption;
              • Whether server-side encryption with an AWS managed customer master key is enabled.

                This property cannot be set if serverSideEncryption is set.

                > **NOTE**: if you set this to CUSTOMER_MANAGED and encryptionKey is not > specified, the key that the Tablet generates for you will be created with > default permissions. If you are using CDKv2, these permissions will be > sufficient to enable the key for use with DynamoDB tables. If you are > using CDKv1, make sure the feature flag > @aws-cdk/aws-kms:defaultKeyPolicies is set to true in your cdk.json.

                - server-side encryption is enabled with an AWS owned customer master key

              property encryptionKey

              readonly encryptionKey?: kms.IKey;
              • External KMS key to use for table encryption.

                This property can only be set if encryption is set to TableEncryption.CUSTOMER_MANAGED.

                - If encryption is set to TableEncryption.CUSTOMER_MANAGED and this property is undefined, a new KMS key will be created and associated with this table.

              property pointInTimeRecovery

              readonly pointInTimeRecovery?: boolean;
              • Whether point-in-time recovery is enabled. - point-in-time recovery is disabled

              property readCapacity

              readonly readCapacity?: number;
              • The read capacity for the table. Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput.

                Can only be provided if billingMode is Provisioned.

                5

              property removalPolicy

              readonly removalPolicy?: RemovalPolicy;
              • The removal policy to apply to the DynamoDB Table.

                RemovalPolicy.RETAIN

              property replicationRegions

              readonly replicationRegions?: string[];
              • Regions where replica tables will be created

                - no replica tables are created

              property replicationTimeout

              readonly replicationTimeout?: Duration;
              • The timeout for a table replication operation in a single region.

                Duration.minutes(30)

              property serverSideEncryption

              readonly serverSideEncryption?: boolean;
              • Whether server-side encryption with an AWS managed customer master key is enabled.

                This property cannot be set if encryption and/or encryptionKey is set.

                - server-side encryption is enabled with an AWS owned customer master key

                Deprecated

                This property is deprecated. In order to obtain the same behavior as enabling this, set the encryption property to TableEncryption.AWS_MANAGED instead.

              property stream

              readonly stream?: StreamViewType;
              • When an item in the table is modified, StreamViewType determines what information is written to the stream for this table.

                - streams are disabled unless replicationRegions is specified

              property tableClass

              readonly tableClass?: TableClass;
              • Specify the table class. STANDARD

              property timeToLiveAttribute

              readonly timeToLiveAttribute?: string;
              • The name of TTL attribute. - TTL is disabled

              property waitForReplicationToFinish

              readonly waitForReplicationToFinish?: boolean;
              • Indicates whether CloudFormation stack waits for replication to finish. If set to false, the CloudFormation resource will mark the resource as created and replication will be completed asynchronously. This property is ignored if replicationRegions property is not set.

                DO NOT UNSET this property if adding/removing multiple replicationRegions in one deployment, as CloudFormation only supports one region replication at a time. CDK overcomes this limitation by waiting for replication to finish before starting new replicationRegion.

                See Also

                • https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas true

              property writeCapacity

              readonly writeCapacity?: number;
              • The write capacity for the table. Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput.

                Can only be provided if billingMode is Provisioned.

                5

              interface TableProps

              interface TableProps extends TableOptions {}
              • Properties for a DynamoDB Table

              property kinesisStream

              readonly kinesisStream?: kinesis.IStream;
              • Kinesis Data Stream to capture item-level changes for the table.

                - no Kinesis Data Stream

              property tableName

              readonly tableName?: string;
              • Enforces a particular physical table name.

              interface UtilizationScalingProps

              interface UtilizationScalingProps extends appscaling.BaseTargetTrackingProps {}
              • Properties for enabling DynamoDB utilization tracking

              property targetUtilizationPercent

              readonly targetUtilizationPercent: number;
              • Target utilization percentage for the attribute

              Enums

              enum AttributeType

              enum AttributeType {
              BINARY = 'B',
              NUMBER = 'N',
              STRING = 'S',
              }
              • Data types for attributes within a table

                See Also

                • https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes

              member BINARY

              BINARY = 'B'
              • Up to 400KiB of binary data (which must be encoded as base64 before sending to DynamoDB)

              member NUMBER

              NUMBER = 'N'
              • Numeric values made of up to 38 digits (positive, negative or zero)

              member STRING

              STRING = 'S'
              • Up to 400KiB of UTF-8 encoded text

              enum BillingMode

              enum BillingMode {
              PAY_PER_REQUEST = 'PAY_PER_REQUEST',
              PROVISIONED = 'PROVISIONED',
              }
              • DynamoDB's Read/Write capacity modes.

              member PAY_PER_REQUEST

              PAY_PER_REQUEST = 'PAY_PER_REQUEST'
              • Pay only for what you use. You don't configure Read/Write capacity units.

              member PROVISIONED

              PROVISIONED = 'PROVISIONED'
              • Explicitly specified Read/Write capacity units.

              enum Operation

              enum Operation {
              GET_ITEM = 'GetItem',
              BATCH_GET_ITEM = 'BatchGetItem',
              SCAN = 'Scan',
              QUERY = 'Query',
              GET_RECORDS = 'GetRecords',
              PUT_ITEM = 'PutItem',
              DELETE_ITEM = 'DeleteItem',
              UPDATE_ITEM = 'UpdateItem',
              BATCH_WRITE_ITEM = 'BatchWriteItem',
              TRANSACT_WRITE_ITEMS = 'TransactWriteItems',
              TRANSACT_GET_ITEMS = 'TransactGetItems',
              EXECUTE_TRANSACTION = 'ExecuteTransaction',
              BATCH_EXECUTE_STATEMENT = 'BatchExecuteStatement',
              EXECUTE_STATEMENT = 'ExecuteStatement',
              }
              • Supported DynamoDB table operations.

              member BATCH_EXECUTE_STATEMENT

              BATCH_EXECUTE_STATEMENT = 'BatchExecuteStatement'
              • BatchExecuteStatement

              member BATCH_GET_ITEM

              BATCH_GET_ITEM = 'BatchGetItem'
              • BatchGetItem

              member BATCH_WRITE_ITEM

              BATCH_WRITE_ITEM = 'BatchWriteItem'
              • BatchWriteItem

              member DELETE_ITEM

              DELETE_ITEM = 'DeleteItem'
              • DeleteItem

              member EXECUTE_STATEMENT

              EXECUTE_STATEMENT = 'ExecuteStatement'
              • ExecuteStatement

              member EXECUTE_TRANSACTION

              EXECUTE_TRANSACTION = 'ExecuteTransaction'
              • ExecuteTransaction

              member GET_ITEM

              GET_ITEM = 'GetItem'
              • GetItem

              member GET_RECORDS

              GET_RECORDS = 'GetRecords'
              • GetRecords

              member PUT_ITEM

              PUT_ITEM = 'PutItem'
              • PutItem

              member QUERY

              QUERY = 'Query'
              • Query

              member SCAN

              SCAN = 'Scan'
              • Scan

              member TRANSACT_GET_ITEMS

              TRANSACT_GET_ITEMS = 'TransactGetItems'
              • TransactGetItems

              member TRANSACT_WRITE_ITEMS

              TRANSACT_WRITE_ITEMS = 'TransactWriteItems'
              • TransactWriteItems

              member UPDATE_ITEM

              UPDATE_ITEM = 'UpdateItem'
              • UpdateItem

              enum ProjectionType

              enum ProjectionType {
              KEYS_ONLY = 'KEYS_ONLY',
              INCLUDE = 'INCLUDE',
              ALL = 'ALL',
              }
              • The set of attributes that are projected into the index

                See Also

                • https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Projection.html

              member ALL

              ALL = 'ALL'
              • All of the table attributes are projected into the index.

              member INCLUDE

              INCLUDE = 'INCLUDE'
              • Only the specified table attributes are projected into the index. The list of projected attributes is in nonKeyAttributes.

              member KEYS_ONLY

              KEYS_ONLY = 'KEYS_ONLY'
              • Only the index and primary keys are projected into the index.

              enum StreamViewType

              enum StreamViewType {
              NEW_IMAGE = 'NEW_IMAGE',
              OLD_IMAGE = 'OLD_IMAGE',
              NEW_AND_OLD_IMAGES = 'NEW_AND_OLD_IMAGES',
              KEYS_ONLY = 'KEYS_ONLY',
              }
              • When an item in the table is modified, StreamViewType determines what information is written to the stream for this table.

                See Also

                • https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_StreamSpecification.html

              member KEYS_ONLY

              KEYS_ONLY = 'KEYS_ONLY'
              • Only the key attributes of the modified item are written to the stream.

              member NEW_AND_OLD_IMAGES

              NEW_AND_OLD_IMAGES = 'NEW_AND_OLD_IMAGES'
              • Both the new and the old item images of the item are written to the stream.

              member NEW_IMAGE

              NEW_IMAGE = 'NEW_IMAGE'
              • The entire item, as it appears after it was modified, is written to the stream.

              member OLD_IMAGE

              OLD_IMAGE = 'OLD_IMAGE'
              • The entire item, as it appeared before it was modified, is written to the stream.

              enum TableClass

              enum TableClass {
              STANDARD = 'STANDARD',
              STANDARD_INFREQUENT_ACCESS = 'STANDARD_INFREQUENT_ACCESS',
              }
              • DynamoDB's table class.

                See Also

                • https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.TableClasses.html

              member STANDARD

              STANDARD = 'STANDARD'
              • Default table class for DynamoDB.

              member STANDARD_INFREQUENT_ACCESS

              STANDARD_INFREQUENT_ACCESS = 'STANDARD_INFREQUENT_ACCESS'
              • Table class for DynamoDB that reduces storage costs compared to existing DynamoDB Standard tables.

              enum TableEncryption

              enum TableEncryption {
              DEFAULT = 'AWS_OWNED',
              CUSTOMER_MANAGED = 'CUSTOMER_MANAGED',
              AWS_MANAGED = 'AWS_MANAGED',
              }
              • What kind of server-side encryption to apply to this table.

              member AWS_MANAGED

              AWS_MANAGED = 'AWS_MANAGED'
              • Server-side KMS encryption with a master key managed by AWS.

              member CUSTOMER_MANAGED

              CUSTOMER_MANAGED = 'CUSTOMER_MANAGED'
              • Server-side KMS encryption with a customer master key managed by customer. If encryptionKey is specified, this key will be used, otherwise, one will be defined.

                > **NOTE**: if encryptionKey is not specified and the Table construct creates > a KMS key for you, the key will be created with default permissions. If you are using > CDKv2, these permissions will be sufficient to enable the key for use with DynamoDB tables. > If you are using CDKv1, make sure the feature flag @aws-cdk/aws-kms:defaultKeyPolicies > is set to true in your cdk.json.

              member DEFAULT

              DEFAULT = 'AWS_OWNED'
              • Server-side KMS encryption with a master key owned by AWS.

              Namespaces

              namespace CfnGlobalTable

              namespace CfnGlobalTable {}

                interface AttributeDefinitionProperty

                interface AttributeDefinitionProperty {}
                • Represents an attribute for describing the key schema for the table and indexes.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-attributedefinition.html

                property attributeName

                readonly attributeName: string;
                • A name for the attribute.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-attributedefinition.html#cfn-dynamodb-globaltable-attributedefinition-attributename

                property attributeType

                readonly attributeType: string;
                • The data type for the attribute, where:

                  - S - the attribute is of type String - N - the attribute is of type Number - B - the attribute is of type Binary

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-attributedefinition.html#cfn-dynamodb-globaltable-attributedefinition-attributetype

                interface CapacityAutoScalingSettingsProperty

                interface CapacityAutoScalingSettingsProperty {}
                • Configures a scalable target and an autoscaling policy for a table or global secondary index's read or write capacity.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html

                property maxCapacity

                readonly maxCapacity: number;
                • The maximum provisioned capacity units for the global table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-maxcapacity

                property minCapacity

                readonly minCapacity: number;
                • The minimum provisioned capacity units for the global table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-mincapacity

                property seedCapacity

                readonly seedCapacity?: number;
                • When switching billing mode from PAY_PER_REQUEST to PROVISIONED , DynamoDB requires you to specify read and write capacity unit values for the table and for each global secondary index. These values will be applied to all replicas. The table will use these provisioned values until CloudFormation creates the autoscaling policies you configured in your template. CloudFormation cannot determine what capacity the table and its global secondary indexes will require in this time period, since they are application-dependent.

                  If you want to switch a table's billing mode from PAY_PER_REQUEST to PROVISIONED , you must specify a value for this property for each autoscaled resource. If you specify different values for the same resource in different regions, CloudFormation will use the highest value found in either the SeedCapacity or ReadCapacityUnits properties. For example, if your global secondary index myGSI has a SeedCapacity of 10 in us-east-1 and a fixed ReadCapacityUnits of 20 in eu-west-1, CloudFormation will initially set the read capacity for myGSI to 20. Note that if you disable ScaleIn for myGSI in us-east-1, its read capacity units might not be set back to 10.

                  You must also specify a value for SeedCapacity when you plan to switch a table's billing mode from PROVISIONED to PAY_PER_REQUEST , because CloudFormation might need to roll back the operation (reverting the billing mode to PROVISIONED ) and this cannot succeed without specifying a value for SeedCapacity .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-seedcapacity

                property targetTrackingScalingPolicyConfiguration

                readonly targetTrackingScalingPolicyConfiguration:
                | CfnGlobalTable.TargetTrackingScalingPolicyConfigurationProperty
                | cdk.IResolvable;
                • Defines a target tracking scaling policy.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-targettrackingscalingpolicyconfiguration

                interface ContributorInsightsSpecificationProperty

                interface ContributorInsightsSpecificationProperty {}
                • Configures contributor insights settings for a replica or one of its indexes.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-contributorinsightsspecification.html

                property enabled

                readonly enabled: boolean | cdk.IResolvable;
                • Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-contributorinsightsspecification.html#cfn-dynamodb-globaltable-contributorinsightsspecification-enabled

                interface GlobalSecondaryIndexProperty

                interface GlobalSecondaryIndexProperty {}
                • Allows you to specify a global secondary index for the global table. The index will be defined on all replicas.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html

                property indexName

                readonly indexName: string;
                • The name of the global secondary index. The name must be unique among all other indexes on this table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-indexname

                property keySchema

                readonly keySchema:
                | Array<CfnGlobalTable.KeySchemaProperty | cdk.IResolvable>
                | cdk.IResolvable;
                • The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

                  - 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 DynamoDB's 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.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-keyschema

                property projection

                readonly projection: CfnGlobalTable.ProjectionProperty | cdk.IResolvable;
                • Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-projection

                property writeProvisionedThroughputSettings

                readonly writeProvisionedThroughputSettings?:
                | CfnGlobalTable.WriteProvisionedThroughputSettingsProperty
                | cdk.IResolvable;
                • Defines write capacity settings for the global secondary index. You must specify a value for this property if the table's BillingMode is PROVISIONED . All replicas will have the same write capacity settings for this global secondary index.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-writeprovisionedthroughputsettings

                interface KeySchemaProperty

                interface KeySchemaProperty {}
                • 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.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-keyschema.html

                property attributeName

                readonly attributeName: string;
                • The name of a key attribute.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-keyschema.html#cfn-dynamodb-globaltable-keyschema-attributename

                property keyType

                readonly keyType: string;
                • The role that this 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 DynamoDB's 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.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-keyschema.html#cfn-dynamodb-globaltable-keyschema-keytype

                interface KinesisStreamSpecificationProperty

                interface KinesisStreamSpecificationProperty {}
                • The Kinesis Data Streams configuration for the specified global table replica.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-kinesisstreamspecification.html

                property streamArn

                readonly streamArn: string;
                • The ARN for a specific Kinesis data stream.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-kinesisstreamspecification.html#cfn-dynamodb-globaltable-kinesisstreamspecification-streamarn

                interface LocalSecondaryIndexProperty

                interface LocalSecondaryIndexProperty {}
                • Represents the properties of a local secondary index. A local secondary index can only be created when its parent table is created.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html

                property indexName

                readonly indexName: string;
                • The name of the local secondary index. The name must be unique among all other indexes on this table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html#cfn-dynamodb-globaltable-localsecondaryindex-indexname

                property keySchema

                readonly keySchema:
                | Array<CfnGlobalTable.KeySchemaProperty | cdk.IResolvable>
                | cdk.IResolvable;
                • The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

                  - 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 DynamoDB's 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.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html#cfn-dynamodb-globaltable-localsecondaryindex-keyschema

                property projection

                readonly projection: CfnGlobalTable.ProjectionProperty | cdk.IResolvable;
                • Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html#cfn-dynamodb-globaltable-localsecondaryindex-projection

                interface PointInTimeRecoverySpecificationProperty

                interface PointInTimeRecoverySpecificationProperty {}
                • Represents the settings used to enable point in time recovery.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-pointintimerecoveryspecification.html

                property pointInTimeRecoveryEnabled

                readonly pointInTimeRecoveryEnabled?: boolean | cdk.IResolvable;
                • Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-pointintimerecoveryspecification.html#cfn-dynamodb-globaltable-pointintimerecoveryspecification-pointintimerecoveryenabled

                interface ProjectionProperty

                interface ProjectionProperty {}
                • 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.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-projection.html

                property nonKeyAttributes

                readonly nonKeyAttributes?: string[];
                • Represents the non-key attribute names which will be projected into the index.

                  For local secondary indexes, the total count of NonKeyAttributes summed across all of the local 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.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-projection.html#cfn-dynamodb-globaltable-projection-nonkeyattributes

                property projectionType

                readonly projectionType?: string;
                • The set of attributes that are projected into the index:

                  - KEYS_ONLY - Only the index and primary keys are projected into the index. - INCLUDE - In addition to the attributes described in KEYS_ONLY , the secondary index will include other non-key attributes that you specify. - ALL - All of the table attributes are projected into the index.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-projection.html#cfn-dynamodb-globaltable-projection-projectiontype

                interface ReadProvisionedThroughputSettingsProperty

                interface ReadProvisionedThroughputSettingsProperty {}
                • Allows you to specify the read capacity settings for a replica table or a replica global secondary index when the BillingMode is set to PROVISIONED . You must specify a value for either ReadCapacityUnits or ReadCapacityAutoScalingSettings , but not both. You can switch between fixed capacity and auto scaling.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readprovisionedthroughputsettings.html

                property readCapacityAutoScalingSettings

                readonly readCapacityAutoScalingSettings?:
                | CfnGlobalTable.CapacityAutoScalingSettingsProperty
                | cdk.IResolvable;
                • Specifies auto scaling settings for the replica table or global secondary index.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readprovisionedthroughputsettings.html#cfn-dynamodb-globaltable-readprovisionedthroughputsettings-readcapacityautoscalingsettings

                property readCapacityUnits

                readonly readCapacityUnits?: number;
                • Specifies a fixed read capacity for the replica table or global secondary index.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readprovisionedthroughputsettings.html#cfn-dynamodb-globaltable-readprovisionedthroughputsettings-readcapacityunits

                interface ReplicaGlobalSecondaryIndexSpecificationProperty

                interface ReplicaGlobalSecondaryIndexSpecificationProperty {}
                • Represents the properties of a global secondary index that can be set on a per-replica basis.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html

                property contributorInsightsSpecification

                readonly contributorInsightsSpecification?:
                | CfnGlobalTable.ContributorInsightsSpecificationProperty
                | cdk.IResolvable;
                • Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table’s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-contributorinsightsspecification

                property indexName

                readonly indexName: string;
                • The name of the global secondary index. The name must be unique among all other indexes on this table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-indexname

                property readProvisionedThroughputSettings

                readonly readProvisionedThroughputSettings?:
                | CfnGlobalTable.ReadProvisionedThroughputSettingsProperty
                | cdk.IResolvable;
                • Allows you to specify the read capacity settings for a replica global secondary index when the BillingMode is set to PROVISIONED .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-readprovisionedthroughputsettings

                interface ReplicaSpecificationProperty

                interface ReplicaSpecificationProperty {}
                • Defines settings specific to a single replica of a global table.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html

                property contributorInsightsSpecification

                readonly contributorInsightsSpecification?:
                | CfnGlobalTable.ContributorInsightsSpecificationProperty
                | cdk.IResolvable;
                • The settings used to enable or disable CloudWatch Contributor Insights for the specified replica. When not specified, defaults to contributor insights disabled for the replica.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-contributorinsightsspecification

                property deletionProtectionEnabled

                readonly deletionProtectionEnabled?: boolean | cdk.IResolvable;
                • Determines if a replica is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-deletionprotectionenabled

                property globalSecondaryIndexes

                readonly globalSecondaryIndexes?:
                | Array<
                | CfnGlobalTable.ReplicaGlobalSecondaryIndexSpecificationProperty
                | cdk.IResolvable
                >
                | cdk.IResolvable;
                • Defines additional settings for the global secondary indexes of this replica.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-globalsecondaryindexes

                property kinesisStreamSpecification

                readonly kinesisStreamSpecification?:
                | CfnGlobalTable.KinesisStreamSpecificationProperty
                | cdk.IResolvable;
                • Defines the Kinesis Data Streams configuration for the specified replica.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-kinesisstreamspecification

                property pointInTimeRecoverySpecification

                readonly pointInTimeRecoverySpecification?:
                | CfnGlobalTable.PointInTimeRecoverySpecificationProperty
                | cdk.IResolvable;
                • The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-pointintimerecoveryspecification

                property readProvisionedThroughputSettings

                readonly readProvisionedThroughputSettings?:
                | CfnGlobalTable.ReadProvisionedThroughputSettingsProperty
                | cdk.IResolvable;
                • Defines read capacity settings for the replica table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-readprovisionedthroughputsettings

                property region

                readonly region: string;
                • The region in which this replica exists.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-region

                property sseSpecification

                readonly sseSpecification?:
                | CfnGlobalTable.ReplicaSSESpecificationProperty
                | cdk.IResolvable;
                • Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-ssespecification

                property tableClass

                readonly tableClass?: string;
                • The table class of the specified table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-tableclass

                property tags

                readonly tags?: cdk.CfnTag[];
                • An array of key-value pairs to apply to this replica.

                  For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-tags

                interface ReplicaSSESpecificationProperty

                interface ReplicaSSESpecificationProperty {}
                • Allows you to specify a KMS key identifier to be used for server-side encryption. The key can be specified via ARN, key ID, or alias. The key must be created in the same region as the replica.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicassespecification.html

                property kmsMasterKeyId

                readonly kmsMasterKeyId: string;
                • The AWS KMS key that should be used for the AWS KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicassespecification.html#cfn-dynamodb-globaltable-replicassespecification-kmsmasterkeyid

                interface SSESpecificationProperty

                interface SSESpecificationProperty {}
                • Represents the settings used to enable server-side encryption.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-ssespecification.html

                property sseEnabled

                readonly sseEnabled: boolean | cdk.IResolvable;
                • Indicates whether server-side encryption is performed using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS KMS charges apply). If disabled (false) or not specified,server-side encryption is set to an AWS owned key. If you choose to use KMS encryption, you can also use customer managed KMS keys by specifying them in the ReplicaSpecification.SSESpecification object. You cannot mix AWS managed and customer managed KMS keys.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-ssespecification.html#cfn-dynamodb-globaltable-ssespecification-sseenabled

                property sseType

                readonly sseType?: string;
                • Server-side encryption type. The only supported value is:

                  - KMS - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-ssespecification.html#cfn-dynamodb-globaltable-ssespecification-ssetype

                interface StreamSpecificationProperty

                interface StreamSpecificationProperty {}
                • Represents the DynamoDB Streams configuration for a table in DynamoDB.

                  You can only modify this value if your AWS::DynamoDB::GlobalTable contains only one entry in Replicas . You must specify a value for this property if your AWS::DynamoDB::GlobalTable contains more than one replica.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-streamspecification.html

                property streamViewType

                readonly streamViewType: string;
                • When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. 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.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-streamspecification.html#cfn-dynamodb-globaltable-streamspecification-streamviewtype

                interface TargetTrackingScalingPolicyConfigurationProperty

                interface TargetTrackingScalingPolicyConfigurationProperty {}
                • Defines a target tracking scaling policy.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html

                property disableScaleIn

                readonly disableScaleIn?: boolean | cdk.IResolvable;
                • Indicates whether scale in by the target tracking scaling policy is disabled. The default value is false .

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-disablescalein

                property scaleInCooldown

                readonly scaleInCooldown?: number;
                • The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-scaleincooldown

                property scaleOutCooldown

                readonly scaleOutCooldown?: number;
                • The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-scaleoutcooldown

                property targetValue

                readonly targetValue: number;
                • Defines a target value for the scaling policy.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-targetvalue

                interface TimeToLiveSpecificationProperty

                interface TimeToLiveSpecificationProperty {}
                • Represents the settings used to enable or disable Time to Live (TTL) for the specified table. All replicas will have the same time to live configuration.

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-timetolivespecification.html

                property attributeName

                readonly attributeName?: string;
                • The name of the attribute used to store the expiration time for items in the table.

                  Currently, you cannot directly change the attribute name used to evaluate time to live. In order to do so, you must first disable time to live, and then re-enable it with the new attribute name. It can take up to one hour for changes to time to live to take effect. If you attempt to modify time to live within that time window, your stack operation might be delayed.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-timetolivespecification.html#cfn-dynamodb-globaltable-timetolivespecification-attributename

                property enabled

                readonly enabled: boolean | cdk.IResolvable;
                • Indicates whether TTL is to be enabled (true) or disabled (false) on the table.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-timetolivespecification.html#cfn-dynamodb-globaltable-timetolivespecification-enabled

                interface WriteProvisionedThroughputSettingsProperty

                interface WriteProvisionedThroughputSettingsProperty {}
                • Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if BillingMode is set to PROVISIONED .

                  external

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeprovisionedthroughputsettings.html

                property writeCapacityAutoScalingSettings

                readonly writeCapacityAutoScalingSettings?:
                | CfnGlobalTable.CapacityAutoScalingSettingsProperty
                | cdk.IResolvable;
                • Specifies auto scaling settings for the replica table or global secondary index.

                  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeprovisionedthroughputsettings.html#cfn-dynamodb-globaltable-writeprovisionedthroughputsettings-writecapacityautoscalingsettings

                namespace CfnTable

                namespace CfnTable {}

                  interface AttributeDefinitionProperty

                  interface AttributeDefinitionProperty {}
                  • Represents an attribute for describing the key schema for the table and indexes.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html

                  property attributeName

                  readonly attributeName: string;
                  • A name for the attribute.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html#cfn-dynamodb-table-attributedefinition-attributename

                  property attributeType

                  readonly attributeType: string;
                  • The data type for the attribute, where:

                    - S - the attribute is of type String - N - the attribute is of type Number - B - the attribute is of type Binary

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html#cfn-dynamodb-table-attributedefinition-attributetype

                  interface ContributorInsightsSpecificationProperty

                  interface ContributorInsightsSpecificationProperty {}
                  • The settings used to enable or disable CloudWatch Contributor Insights.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html

                  property enabled

                  readonly enabled: boolean | cdk.IResolvable;
                  • Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html#cfn-dynamodb-table-contributorinsightsspecification-enabled

                  interface CsvProperty

                  interface CsvProperty {}
                  • The options for imported source files in CSV format. The values are Delimiter and HeaderList.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html

                  property delimiter

                  readonly delimiter?: string;
                  • The delimiter used for separating items in the CSV file being imported.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html#cfn-dynamodb-table-csv-delimiter

                  property headerList

                  readonly headerList?: string[];
                  • List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html#cfn-dynamodb-table-csv-headerlist

                  interface GlobalSecondaryIndexProperty

                  interface GlobalSecondaryIndexProperty {}
                  • Represents the properties of a global secondary index.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html

                  property contributorInsightsSpecification

                  readonly contributorInsightsSpecification?:
                  | CfnTable.ContributorInsightsSpecificationProperty
                  | cdk.IResolvable;
                  • The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-contributorinsightsspecification

                  property indexName

                  readonly indexName: string;
                  • The name of the global secondary index. The name must be unique among all other indexes on this table.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-indexname

                  property keySchema

                  readonly keySchema:
                  | Array<CfnTable.KeySchemaProperty | cdk.IResolvable>
                  | cdk.IResolvable;
                  • The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

                    - 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 DynamoDB's 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.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-keyschema

                  property projection

                  readonly projection: CfnTable.ProjectionProperty | cdk.IResolvable;
                  • Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-projection

                  property provisionedThroughput

                  readonly provisionedThroughput?:
                  | CfnTable.ProvisionedThroughputProperty
                  | cdk.IResolvable;
                  • Represents the provisioned throughput settings for the specified global secondary index.

                    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* .

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-provisionedthroughput

                  interface ImportSourceSpecificationProperty

                  interface ImportSourceSpecificationProperty {}
                  • Specifies the properties of data being imported from the S3 bucket source to the table.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html

                  property inputCompressionType

                  readonly inputCompressionType?: string;
                  • Type of compression to be used on the input coming from the imported table.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputcompressiontype

                  property inputFormat

                  readonly inputFormat: string;
                  • The format of the source data. Valid values for ImportFormat are CSV , DYNAMODB_JSON or ION .

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputformat

                  property inputFormatOptions

                  readonly inputFormatOptions?:
                  | CfnTable.InputFormatOptionsProperty
                  | cdk.IResolvable;
                  • Additional properties that specify how the input is formatted,

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputformatoptions

                  property s3BucketSource

                  readonly s3BucketSource: CfnTable.S3BucketSourceProperty | cdk.IResolvable;
                  • The S3 bucket that provides the source for the import.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-s3bucketsource

                  interface InputFormatOptionsProperty

                  interface InputFormatOptionsProperty {}
                  • The format options for the data that was imported into the target table. There is one value, CsvOption.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-inputformatoptions.html

                  property csv

                  readonly csv?: CfnTable.CsvProperty | cdk.IResolvable;
                  • The options for imported source files in CSV format. The values are Delimiter and HeaderList.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-inputformatoptions.html#cfn-dynamodb-table-inputformatoptions-csv

                  interface KeySchemaProperty

                  interface KeySchemaProperty {}
                  • 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.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html

                  property attributeName

                  readonly attributeName: string;
                  • The name of a key attribute.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html#cfn-dynamodb-table-keyschema-attributename

                  property keyType

                  readonly keyType: string;
                  • The role that this 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 DynamoDB's 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.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html#cfn-dynamodb-table-keyschema-keytype

                  interface KinesisStreamSpecificationProperty

                  interface KinesisStreamSpecificationProperty {}
                  • The Kinesis Data Streams configuration for the specified table.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-kinesisstreamspecification.html

                  property streamArn

                  readonly streamArn: string;
                  • The ARN for a specific Kinesis data stream.

                    Length Constraints: Minimum length of 37. Maximum length of 1024.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-kinesisstreamspecification.html#cfn-dynamodb-table-kinesisstreamspecification-streamarn

                  interface LocalSecondaryIndexProperty

                  interface LocalSecondaryIndexProperty {}
                  • Represents the properties of a local secondary index. A local secondary index can only be created when its parent table is created.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html

                  property indexName

                  readonly indexName: string;
                  • The name of the local secondary index. The name must be unique among all other indexes on this table.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html#cfn-dynamodb-table-localsecondaryindex-indexname

                  property keySchema

                  readonly keySchema:
                  | Array<CfnTable.KeySchemaProperty | cdk.IResolvable>
                  | cdk.IResolvable;
                  • The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

                    - 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 DynamoDB's 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.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html#cfn-dynamodb-table-localsecondaryindex-keyschema

                  property projection

                  readonly projection: CfnTable.ProjectionProperty | cdk.IResolvable;
                  • Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html#cfn-dynamodb-table-localsecondaryindex-projection

                  interface PointInTimeRecoverySpecificationProperty

                  interface PointInTimeRecoverySpecificationProperty {}
                  • The settings used to enable point in time recovery.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html

                  property pointInTimeRecoveryEnabled

                  readonly pointInTimeRecoveryEnabled?: boolean | cdk.IResolvable;
                  • Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html#cfn-dynamodb-table-pointintimerecoveryspecification-pointintimerecoveryenabled

                  interface ProjectionProperty

                  interface ProjectionProperty {}
                  • 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.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html

                  property nonKeyAttributes

                  readonly nonKeyAttributes?: string[];
                  • Represents the non-key attribute names which will be projected into the index.

                    For local secondary indexes, the total count of NonKeyAttributes summed across all of the local 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.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html#cfn-dynamodb-table-projection-nonkeyattributes

                  property projectionType

                  readonly projectionType?: string;
                  • The set of attributes that are projected into the index:

                    - KEYS_ONLY - Only the index and primary keys are projected into the index. - INCLUDE - In addition to the attributes described in KEYS_ONLY , the secondary index will include other non-key attributes that you specify. - ALL - All of the table attributes are projected into the index.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html#cfn-dynamodb-table-projection-projectiontype

                  interface ProvisionedThroughputProperty

                  interface ProvisionedThroughputProperty {}
                  • Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html

                  property readCapacityUnits

                  readonly readCapacityUnits: number;
                  • The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .

                    If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#cfn-dynamodb-table-provisionedthroughput-readcapacityunits

                  property writeCapacityUnits

                  readonly writeCapacityUnits: number;
                  • The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .

                    If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#cfn-dynamodb-table-provisionedthroughput-writecapacityunits

                  interface S3BucketSourceProperty

                  interface S3BucketSourceProperty {}
                  • The S3 bucket that is being imported from.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html

                  property s3Bucket

                  readonly s3Bucket: string;
                  • The S3 bucket that is being imported from.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html#cfn-dynamodb-table-s3bucketsource-s3bucket

                  property s3BucketOwner

                  readonly s3BucketOwner?: string;
                  • The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html#cfn-dynamodb-table-s3bucketsource-s3bucketowner

                  property s3KeyPrefix

                  readonly s3KeyPrefix?: string;
                  • The key prefix shared by all S3 Objects that are being imported.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html#cfn-dynamodb-table-s3bucketsource-s3keyprefix

                  interface SSESpecificationProperty

                  interface SSESpecificationProperty {}
                  • Represents the settings used to enable server-side encryption.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html

                  property kmsMasterKeyId

                  readonly kmsMasterKeyId?: string;
                  • The AWS KMS key that should be used for the AWS KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb .

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-kmsmasterkeyid

                  property sseEnabled

                  readonly sseEnabled: boolean | cdk.IResolvable;
                  • Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-sseenabled

                  property sseType

                  readonly sseType?: string;
                  • Server-side encryption type. The only supported value is:

                    - KMS - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-ssetype

                  interface StreamSpecificationProperty

                  interface StreamSpecificationProperty {}
                  • Represents the DynamoDB Streams configuration for a table in DynamoDB.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html

                  property streamViewType

                  readonly streamViewType: string;
                  • When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. 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.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-streamviewtype

                  interface TimeToLiveSpecificationProperty

                  interface TimeToLiveSpecificationProperty {}
                  • Represents the settings used to enable or disable Time to Live (TTL) for the specified table.

                    external

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html

                  property attributeName

                  readonly attributeName: string;
                  • The name of the TTL attribute used to store the expiration time for items in the table.

                    > - To update this property, you must first disable TTL and then enable TTL with the new attribute name.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html#cfn-dynamodb-table-timetolivespecification-attributename

                  property enabled

                  readonly enabled: boolean | cdk.IResolvable;
                  • Indicates whether TTL is to be enabled (true) or disabled (false) on the table.

                    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html#cfn-dynamodb-table-timetolivespecification-enabled

                  Package Files (4)

                  Dependencies (9)

                  Dev Dependencies (13)

                  Peer Dependencies (9)

                  Badge

                  To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                  You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@aws-cdk/aws-dynamodb.

                  • Markdown
                    [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@aws-cdk/aws-dynamodb)
                  • HTML
                    <a href="https://www.jsdocs.io/package/@aws-cdk/aws-dynamodb"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>