Show / Hide Table of Contents

Class CfnGlobalTable

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 .

Inheritance
object
CfnElement
CfnRefElement
CfnResource
CfnGlobalTable
Implements
IInspectable
IGlobalTableRef
IConstruct
IDependable
IEnvironmentAware
Inherited Members
CfnResource.IsCfnResource(object)
CfnResource.AddDeletionOverride(string)
CfnResource.AddDependency(CfnResource)
CfnResource.AddDependsOn(CfnResource)
CfnResource.AddMetadata(string, object)
CfnResource.AddOverride(string, object)
CfnResource.AddPropertyDeletionOverride(string)
CfnResource.AddPropertyOverride(string, object)
CfnResource.ApplyRemovalPolicy(RemovalPolicy?, IRemovalPolicyOptions)
CfnResource.GetAtt(string, ResolutionTypeHint?)
CfnResource.GetMetadata(string)
CfnResource.ObtainDependencies()
CfnResource.ObtainResourceDependencies()
CfnResource.RemoveDependency(CfnResource)
CfnResource.ReplaceDependency(CfnResource, CfnResource)
CfnResource.ShouldSynthesize()
CfnResource.ToString()
CfnResource.ValidateProperties(object)
CfnResource.CfnOptions
CfnResource.CfnResourceType
CfnResource.Env
CfnResource.UpdatedProperites
CfnResource.UpdatedProperties
CfnRefElement.Ref
CfnElement.IsCfnElement(object)
CfnElement.OverrideLogicalId(string)
CfnElement.CreationStack
CfnElement.LogicalId
CfnElement.Stack
Namespace: Amazon.CDK.AWS.DynamoDB
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnGlobalTable : CfnResource, IInspectable, IGlobalTableRef, IConstruct, IDependable, IEnvironmentAware
Syntax (vb)
Public Class CfnGlobalTable Inherits CfnResource Implements IInspectable, IGlobalTableRef, IConstruct, IDependable, IEnvironmentAware
Remarks
You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>

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.

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

    CloudformationResource: AWS::DynamoDB::GlobalTable

    ExampleMetadata: fixture=_generated

    Examples
    // The code below shows an example of how to instantiate this type.
                 // The values are placeholders you should change.
                 using Amazon.CDK.AWS.DynamoDB;
    
                 var policyDocument;
    
                 var cfnGlobalTable = new CfnGlobalTable(this, "MyCfnGlobalTable", new CfnGlobalTableProps {
                     Replicas = new [] { new ReplicaSpecificationProperty {
                         Region = "region",
    
                         // the properties below are optional
                         ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
                             Enabled = false,
    
                             // the properties below are optional
                             Mode = "mode"
                         },
                         DeletionProtectionEnabled = false,
                         GlobalSecondaryIndexes = new [] { new ReplicaGlobalSecondaryIndexSpecificationProperty {
                             IndexName = "indexName",
    
                             // the properties below are optional
                             ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
                                 Enabled = false,
    
                                 // the properties below are optional
                                 Mode = "mode"
                             },
                             ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                 MaxReadRequestUnits = 123
                             },
                             ReadProvisionedThroughputSettings = new ReadProvisionedThroughputSettingsProperty {
                                 ReadCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                     MaxCapacity = 123,
                                     MinCapacity = 123,
                                     TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                         TargetValue = 123,
    
                                         // the properties below are optional
                                         DisableScaleIn = false,
                                         ScaleInCooldown = 123,
                                         ScaleOutCooldown = 123
                                     },
    
                                     // the properties below are optional
                                     SeedCapacity = 123
                                 },
                                 ReadCapacityUnits = 123
                             }
                         } },
                         GlobalTableSettingsReplicationMode = "globalTableSettingsReplicationMode",
                         KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
                             StreamArn = "streamArn",
    
                             // the properties below are optional
                             ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision"
                         },
                         PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
                             PointInTimeRecoveryEnabled = false,
                             RecoveryPeriodInDays = 123
                         },
                         ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                             MaxReadRequestUnits = 123
                         },
                         ReadProvisionedThroughputSettings = new ReadProvisionedThroughputSettingsProperty {
                             ReadCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                 MaxCapacity = 123,
                                 MinCapacity = 123,
                                 TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                     TargetValue = 123,
    
                                     // the properties below are optional
                                     DisableScaleIn = false,
                                     ScaleInCooldown = 123,
                                     ScaleOutCooldown = 123
                                 },
    
                                 // the properties below are optional
                                 SeedCapacity = 123
                             },
                             ReadCapacityUnits = 123
                         },
                         ReplicaStreamSpecification = new ReplicaStreamSpecificationProperty {
                             ResourcePolicy = new ResourcePolicyProperty {
                                 PolicyDocument = policyDocument
                             }
                         },
                         ResourcePolicy = new ResourcePolicyProperty {
                             PolicyDocument = policyDocument
                         },
                         SseSpecification = new ReplicaSSESpecificationProperty {
                             KmsMasterKeyId = "kmsMasterKeyId"
                         },
                         TableClass = "tableClass",
                         Tags = new [] { new CfnTag {
                             Key = "key",
                             Value = "value"
                         } }
                     } },
    
                     // the properties below are optional
                     AttributeDefinitions = new [] { new AttributeDefinitionProperty {
                         AttributeName = "attributeName",
                         AttributeType = "attributeType"
                     } },
                     BillingMode = "billingMode",
                     GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
                         IndexName = "indexName",
                         KeySchema = new [] { new KeySchemaProperty {
                             AttributeName = "attributeName",
                             KeyType = "keyType"
                         } },
                         Projection = new ProjectionProperty {
                             NonKeyAttributes = new [] { "nonKeyAttributes" },
                             ProjectionType = "projectionType"
                         },
    
                         // the properties below are optional
                         ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                             MaxReadRequestUnits = 123
                         },
                         ReadProvisionedThroughputSettings = new GlobalReadProvisionedThroughputSettingsProperty {
                             ReadCapacityUnits = 123
                         },
                         WarmThroughput = new WarmThroughputProperty {
                             ReadUnitsPerSecond = 123,
                             WriteUnitsPerSecond = 123
                         },
                         WriteOnDemandThroughputSettings = new WriteOnDemandThroughputSettingsProperty {
                             MaxWriteRequestUnits = 123
                         },
                         WriteProvisionedThroughputSettings = new WriteProvisionedThroughputSettingsProperty {
                             WriteCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                 MaxCapacity = 123,
                                 MinCapacity = 123,
                                 TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                     TargetValue = 123,
    
                                     // the properties below are optional
                                     DisableScaleIn = false,
                                     ScaleInCooldown = 123,
                                     ScaleOutCooldown = 123
                                 },
    
                                 // the properties below are optional
                                 SeedCapacity = 123
                             }
                         }
                     } },
                     GlobalTableSourceArn = "globalTableSourceArn",
                     GlobalTableWitnesses = new [] { new GlobalTableWitnessProperty {
                         Region = "region"
                     } },
                     KeySchema = new [] { new KeySchemaProperty {
                         AttributeName = "attributeName",
                         KeyType = "keyType"
                     } },
                     LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
                         IndexName = "indexName",
                         KeySchema = new [] { new KeySchemaProperty {
                             AttributeName = "attributeName",
                             KeyType = "keyType"
                         } },
                         Projection = new ProjectionProperty {
                             NonKeyAttributes = new [] { "nonKeyAttributes" },
                             ProjectionType = "projectionType"
                         }
                     } },
                     MultiRegionConsistency = "multiRegionConsistency",
                     ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                         MaxReadRequestUnits = 123
                     },
                     ReadProvisionedThroughputSettings = new GlobalReadProvisionedThroughputSettingsProperty {
                         ReadCapacityUnits = 123
                     },
                     SseSpecification = new SSESpecificationProperty {
                         SseEnabled = false,
    
                         // the properties below are optional
                         SseType = "sseType"
                     },
                     StreamSpecification = new StreamSpecificationProperty {
                         StreamViewType = "streamViewType"
                     },
                     TableName = "tableName",
                     TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
                         Enabled = false,
    
                         // the properties below are optional
                         AttributeName = "attributeName"
                     },
                     WarmThroughput = new WarmThroughputProperty {
                         ReadUnitsPerSecond = 123,
                         WriteUnitsPerSecond = 123
                     },
                     WriteOnDemandThroughputSettings = new WriteOnDemandThroughputSettingsProperty {
                         MaxWriteRequestUnits = 123
                     },
                     WriteProvisionedThroughputSettings = new WriteProvisionedThroughputSettingsProperty {
                         WriteCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                             MaxCapacity = 123,
                             MinCapacity = 123,
                             TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                 TargetValue = 123,
    
                                 // the properties below are optional
                                 DisableScaleIn = false,
                                 ScaleInCooldown = 123,
                                 ScaleOutCooldown = 123
                             },
    
                             // the properties below are optional
                             SeedCapacity = 123
                         }
                     }
                 });

    Synopsis

    Constructors

    CfnGlobalTable(Construct, string, ICfnGlobalTableProps)

    Create a new AWS::DynamoDB::GlobalTable.

    Properties

    AttrArn

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

    AttrStreamArn

    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.

    AttrTableId

    Unique identifier for the table, such as a123b456-01ab-23cd-123a-111222aaabbb .

    AttributeDefinitions

    A list of attributes that describe the key schema for the global table and indexes.

    BillingMode

    Specifies how you are charged for read and write throughput and how you manage capacity.

    CFN_RESOURCE_TYPE_NAME

    The CloudFormation resource type name for this resource class.

    CfnProperties

    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 .

    GlobalSecondaryIndexes

    Global secondary indexes to be created on the global table.

    GlobalTableRef

    A reference to a GlobalTable resource.

    GlobalTableSourceArn

    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 .

    GlobalTableWitnesses

    The list of witnesses of the MRSC global table.

    KeySchema

    Specifies the attributes that make up the primary key for the table.

    LocalSecondaryIndexes

    Local secondary indexes to be created on the table.

    MultiRegionConsistency

    Specifies the consistency mode for a new global table.

    ReadOnDemandThroughputSettings

    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 .

    ReadProvisionedThroughputSettings

    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 .

    Replicas

    Specifies the list of replicas for your global table.

    SseSpecification

    Specifies the settings to enable server-side encryption.

    StreamSpecification

    Specifies the streams settings on your global table.

    TableName

    A name for the global table.

    TimeToLiveSpecification

    Specifies the time to live (TTL) settings for the table.

    WarmThroughput

    Provides visibility into the number of read and write operations your table or secondary index can instantaneously support.

    WriteOnDemandThroughputSettings

    Sets the write request settings for a global table or a global secondary index.

    WriteProvisionedThroughputSettings

    Specifies an auto scaling policy for write capacity.

    Methods

    ArnForGlobalTable(IGlobalTableRef)

    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 .

    Inspect(TreeInspector)

    Examines the CloudFormation resource and discloses attributes.

    IsCfnGlobalTable(object)

    Checks whether the given object is a CfnGlobalTable.

    RenderProperties(IDictionary<string, object>)

    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 .

    Constructors

    CfnGlobalTable(Construct, string, ICfnGlobalTableProps)

    Create a new AWS::DynamoDB::GlobalTable.

    public CfnGlobalTable(Construct scope, string id, ICfnGlobalTableProps props)
    Parameters
    scope Construct

    Scope in which this resource is defined.

    id string

    Construct identifier for this resource (unique in its scope).

    props ICfnGlobalTableProps

    Resource properties.

    Remarks
    You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
    

    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.

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

      CloudformationResource: AWS::DynamoDB::GlobalTable

      ExampleMetadata: fixture=_generated

      Properties

      AttrArn

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

      public virtual string AttrArn { get; }
      Property Value

      string

      Remarks

      The ARN returned is that of the replica in the region the stack is deployed to.

      CloudformationAttribute: Arn

      AttrStreamArn

      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.

      public virtual string AttrStreamArn { get; }
      Property Value

      string

      Remarks
      You must specify the <code>StreamSpecification</code> property to use this attribute.
      

      CloudformationAttribute: StreamArn

      AttrTableId

      Unique identifier for the table, such as a123b456-01ab-23cd-123a-111222aaabbb .

      public virtual string AttrTableId { get; }
      Property Value

      string

      Remarks

      The TableId returned is that of the replica in the region the stack is deployed to.

      CloudformationAttribute: TableId

      AttributeDefinitions

      A list of attributes that describe the key schema for the global table and indexes.

      public virtual object? AttributeDefinitions { get; set; }
      Property Value

      object

      Remarks

      Type union: either IResolvable or (either IResolvable or CfnGlobalTable.IAttributeDefinitionProperty)[]

      BillingMode

      Specifies how you are charged for read and write throughput and how you manage capacity.

      public virtual string? BillingMode { get; set; }
      Property Value

      string

      Remarks

      Valid values are:.

      CFN_RESOURCE_TYPE_NAME

      The CloudFormation resource type name for this resource class.

      public static string CFN_RESOURCE_TYPE_NAME { get; }
      Property Value

      string

      Remarks
      You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
      

      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.

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

        CloudformationResource: AWS::DynamoDB::GlobalTable

        ExampleMetadata: fixture=_generated

        CfnProperties

        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 .

        protected override IDictionary<string, object> CfnProperties { get; }
        Property Value

        IDictionary<string, object>

        Overrides
        CfnResource.CfnProperties
        Remarks
        You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
        

        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.

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

          CloudformationResource: AWS::DynamoDB::GlobalTable

          ExampleMetadata: fixture=_generated

          GlobalSecondaryIndexes

          Global secondary indexes to be created on the global table.

          public virtual object? GlobalSecondaryIndexes { get; set; }
          Property Value

          object

          Remarks

          Type union: either IResolvable or (either IResolvable or CfnGlobalTable.IGlobalSecondaryIndexProperty)[]

          GlobalTableRef

          A reference to a GlobalTable resource.

          public virtual IGlobalTableReference GlobalTableRef { get; }
          Property Value

          IGlobalTableReference

          Remarks
          You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
          

          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.

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

            CloudformationResource: AWS::DynamoDB::GlobalTable

            ExampleMetadata: fixture=_generated

            GlobalTableSourceArn

            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 .

            public virtual string? GlobalTableSourceArn { get; set; }
            Property Value

            string

            Remarks
            You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
            

            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.

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

              CloudformationResource: AWS::DynamoDB::GlobalTable

              ExampleMetadata: fixture=_generated

              Examples
              // The code below shows an example of how to instantiate this type.
                           // The values are placeholders you should change.
                           using Amazon.CDK.AWS.DynamoDB;
              
                           var policyDocument;
              
                           var cfnGlobalTable = new CfnGlobalTable(this, "MyCfnGlobalTable", new CfnGlobalTableProps {
                               Replicas = new [] { new ReplicaSpecificationProperty {
                                   Region = "region",
              
                                   // the properties below are optional
                                   ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
                                       Enabled = false,
              
                                       // the properties below are optional
                                       Mode = "mode"
                                   },
                                   DeletionProtectionEnabled = false,
                                   GlobalSecondaryIndexes = new [] { new ReplicaGlobalSecondaryIndexSpecificationProperty {
                                       IndexName = "indexName",
              
                                       // the properties below are optional
                                       ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
                                           Enabled = false,
              
                                           // the properties below are optional
                                           Mode = "mode"
                                       },
                                       ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                           MaxReadRequestUnits = 123
                                       },
                                       ReadProvisionedThroughputSettings = new ReadProvisionedThroughputSettingsProperty {
                                           ReadCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                               MaxCapacity = 123,
                                               MinCapacity = 123,
                                               TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                                   TargetValue = 123,
              
                                                   // the properties below are optional
                                                   DisableScaleIn = false,
                                                   ScaleInCooldown = 123,
                                                   ScaleOutCooldown = 123
                                               },
              
                                               // the properties below are optional
                                               SeedCapacity = 123
                                           },
                                           ReadCapacityUnits = 123
                                       }
                                   } },
                                   GlobalTableSettingsReplicationMode = "globalTableSettingsReplicationMode",
                                   KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
                                       StreamArn = "streamArn",
              
                                       // the properties below are optional
                                       ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision"
                                   },
                                   PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
                                       PointInTimeRecoveryEnabled = false,
                                       RecoveryPeriodInDays = 123
                                   },
                                   ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                       MaxReadRequestUnits = 123
                                   },
                                   ReadProvisionedThroughputSettings = new ReadProvisionedThroughputSettingsProperty {
                                       ReadCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                           MaxCapacity = 123,
                                           MinCapacity = 123,
                                           TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                               TargetValue = 123,
              
                                               // the properties below are optional
                                               DisableScaleIn = false,
                                               ScaleInCooldown = 123,
                                               ScaleOutCooldown = 123
                                           },
              
                                           // the properties below are optional
                                           SeedCapacity = 123
                                       },
                                       ReadCapacityUnits = 123
                                   },
                                   ReplicaStreamSpecification = new ReplicaStreamSpecificationProperty {
                                       ResourcePolicy = new ResourcePolicyProperty {
                                           PolicyDocument = policyDocument
                                       }
                                   },
                                   ResourcePolicy = new ResourcePolicyProperty {
                                       PolicyDocument = policyDocument
                                   },
                                   SseSpecification = new ReplicaSSESpecificationProperty {
                                       KmsMasterKeyId = "kmsMasterKeyId"
                                   },
                                   TableClass = "tableClass",
                                   Tags = new [] { new CfnTag {
                                       Key = "key",
                                       Value = "value"
                                   } }
                               } },
              
                               // the properties below are optional
                               AttributeDefinitions = new [] { new AttributeDefinitionProperty {
                                   AttributeName = "attributeName",
                                   AttributeType = "attributeType"
                               } },
                               BillingMode = "billingMode",
                               GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
                                   IndexName = "indexName",
                                   KeySchema = new [] { new KeySchemaProperty {
                                       AttributeName = "attributeName",
                                       KeyType = "keyType"
                                   } },
                                   Projection = new ProjectionProperty {
                                       NonKeyAttributes = new [] { "nonKeyAttributes" },
                                       ProjectionType = "projectionType"
                                   },
              
                                   // the properties below are optional
                                   ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                       MaxReadRequestUnits = 123
                                   },
                                   ReadProvisionedThroughputSettings = new GlobalReadProvisionedThroughputSettingsProperty {
                                       ReadCapacityUnits = 123
                                   },
                                   WarmThroughput = new WarmThroughputProperty {
                                       ReadUnitsPerSecond = 123,
                                       WriteUnitsPerSecond = 123
                                   },
                                   WriteOnDemandThroughputSettings = new WriteOnDemandThroughputSettingsProperty {
                                       MaxWriteRequestUnits = 123
                                   },
                                   WriteProvisionedThroughputSettings = new WriteProvisionedThroughputSettingsProperty {
                                       WriteCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                           MaxCapacity = 123,
                                           MinCapacity = 123,
                                           TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                               TargetValue = 123,
              
                                               // the properties below are optional
                                               DisableScaleIn = false,
                                               ScaleInCooldown = 123,
                                               ScaleOutCooldown = 123
                                           },
              
                                           // the properties below are optional
                                           SeedCapacity = 123
                                       }
                                   }
                               } },
                               GlobalTableSourceArn = "globalTableSourceArn",
                               GlobalTableWitnesses = new [] { new GlobalTableWitnessProperty {
                                   Region = "region"
                               } },
                               KeySchema = new [] { new KeySchemaProperty {
                                   AttributeName = "attributeName",
                                   KeyType = "keyType"
                               } },
                               LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
                                   IndexName = "indexName",
                                   KeySchema = new [] { new KeySchemaProperty {
                                       AttributeName = "attributeName",
                                       KeyType = "keyType"
                                   } },
                                   Projection = new ProjectionProperty {
                                       NonKeyAttributes = new [] { "nonKeyAttributes" },
                                       ProjectionType = "projectionType"
                                   }
                               } },
                               MultiRegionConsistency = "multiRegionConsistency",
                               ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                   MaxReadRequestUnits = 123
                               },
                               ReadProvisionedThroughputSettings = new GlobalReadProvisionedThroughputSettingsProperty {
                                   ReadCapacityUnits = 123
                               },
                               SseSpecification = new SSESpecificationProperty {
                                   SseEnabled = false,
              
                                   // the properties below are optional
                                   SseType = "sseType"
                               },
                               StreamSpecification = new StreamSpecificationProperty {
                                   StreamViewType = "streamViewType"
                               },
                               TableName = "tableName",
                               TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
                                   Enabled = false,
              
                                   // the properties below are optional
                                   AttributeName = "attributeName"
                               },
                               WarmThroughput = new WarmThroughputProperty {
                                   ReadUnitsPerSecond = 123,
                                   WriteUnitsPerSecond = 123
                               },
                               WriteOnDemandThroughputSettings = new WriteOnDemandThroughputSettingsProperty {
                                   MaxWriteRequestUnits = 123
                               },
                               WriteProvisionedThroughputSettings = new WriteProvisionedThroughputSettingsProperty {
                                   WriteCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                       MaxCapacity = 123,
                                       MinCapacity = 123,
                                       TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                           TargetValue = 123,
              
                                           // the properties below are optional
                                           DisableScaleIn = false,
                                           ScaleInCooldown = 123,
                                           ScaleOutCooldown = 123
                                       },
              
                                       // the properties below are optional
                                       SeedCapacity = 123
                                   }
                               }
                           });

              GlobalTableWitnesses

              The list of witnesses of the MRSC global table.

              public virtual object? GlobalTableWitnesses { get; set; }
              Property Value

              object

              Remarks

              Type union: either IResolvable or (either IResolvable or CfnGlobalTable.IGlobalTableWitnessProperty)[]

              KeySchema

              Specifies the attributes that make up the primary key for the table.

              public virtual object? KeySchema { get; set; }
              Property Value

              object

              Remarks

              Type union: either IResolvable or (either IResolvable or CfnGlobalTable.IKeySchemaProperty)[]

              LocalSecondaryIndexes

              Local secondary indexes to be created on the table.

              public virtual object? LocalSecondaryIndexes { get; set; }
              Property Value

              object

              Remarks

              Type union: either IResolvable or (either IResolvable or CfnGlobalTable.ILocalSecondaryIndexProperty)[]

              MultiRegionConsistency

              Specifies the consistency mode for a new global table.

              public virtual string? MultiRegionConsistency { get; set; }
              Property Value

              string

              Remarks
              You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
              

              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.

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

                CloudformationResource: AWS::DynamoDB::GlobalTable

                ExampleMetadata: fixture=_generated

                ReadOnDemandThroughputSettings

                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 .

                public virtual object? ReadOnDemandThroughputSettings { get; set; }
                Property Value

                object

                Remarks

                Type union: either IResolvable or CfnGlobalTable.IReadOnDemandThroughputSettingsProperty

                ReadProvisionedThroughputSettings

                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 .

                public virtual object? ReadProvisionedThroughputSettings { get; set; }
                Property Value

                object

                Remarks

                Type union: either IResolvable or CfnGlobalTable.IGlobalReadProvisionedThroughputSettingsProperty

                Replicas

                Specifies the list of replicas for your global table.

                public virtual object Replicas { get; set; }
                Property Value

                object

                Remarks

                Type union: either IResolvable or (either IResolvable or CfnGlobalTable.IReplicaSpecificationProperty)[]

                SseSpecification

                Specifies the settings to enable server-side encryption.

                public virtual object? SseSpecification { get; set; }
                Property Value

                object

                Remarks

                Type union: either IResolvable or CfnGlobalTable.ISSESpecificationProperty

                StreamSpecification

                Specifies the streams settings on your global table.

                public virtual object? StreamSpecification { get; set; }
                Property Value

                object

                Remarks

                Type union: either IResolvable or CfnGlobalTable.IStreamSpecificationProperty

                TableName

                A name for the global table.

                public virtual string? TableName { get; set; }
                Property Value

                string

                Remarks
                You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
                

                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.

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

                  CloudformationResource: AWS::DynamoDB::GlobalTable

                  ExampleMetadata: fixture=_generated

                  TimeToLiveSpecification

                  Specifies the time to live (TTL) settings for the table.

                  public virtual object? TimeToLiveSpecification { get; set; }
                  Property Value

                  object

                  Remarks

                  Type union: either IResolvable or CfnGlobalTable.ITimeToLiveSpecificationProperty

                  WarmThroughput

                  Provides visibility into the number of read and write operations your table or secondary index can instantaneously support.

                  public virtual object? WarmThroughput { get; set; }
                  Property Value

                  object

                  Remarks

                  Type union: either IResolvable or CfnGlobalTable.IWarmThroughputProperty

                  WriteOnDemandThroughputSettings

                  Sets the write request settings for a global table or a global secondary index.

                  public virtual object? WriteOnDemandThroughputSettings { get; set; }
                  Property Value

                  object

                  Remarks

                  Type union: either IResolvable or CfnGlobalTable.IWriteOnDemandThroughputSettingsProperty

                  WriteProvisionedThroughputSettings

                  Specifies an auto scaling policy for write capacity.

                  public virtual object? WriteProvisionedThroughputSettings { get; set; }
                  Property Value

                  object

                  Remarks

                  Type union: either IResolvable or CfnGlobalTable.IWriteProvisionedThroughputSettingsProperty

                  Methods

                  ArnForGlobalTable(IGlobalTableRef)

                  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 .

                  public static string ArnForGlobalTable(IGlobalTableRef resource)
                  Parameters
                  resource IGlobalTableRef
                  Returns

                  string

                  Remarks
                  You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
                  

                  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.

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

                    CloudformationResource: AWS::DynamoDB::GlobalTable

                    ExampleMetadata: fixture=_generated

                    Examples
                    // The code below shows an example of how to instantiate this type.
                                 // The values are placeholders you should change.
                                 using Amazon.CDK.AWS.DynamoDB;
                    
                                 var policyDocument;
                    
                                 var cfnGlobalTable = new CfnGlobalTable(this, "MyCfnGlobalTable", new CfnGlobalTableProps {
                                     Replicas = new [] { new ReplicaSpecificationProperty {
                                         Region = "region",
                    
                                         // the properties below are optional
                                         ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
                                             Enabled = false,
                    
                                             // the properties below are optional
                                             Mode = "mode"
                                         },
                                         DeletionProtectionEnabled = false,
                                         GlobalSecondaryIndexes = new [] { new ReplicaGlobalSecondaryIndexSpecificationProperty {
                                             IndexName = "indexName",
                    
                                             // the properties below are optional
                                             ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
                                                 Enabled = false,
                    
                                                 // the properties below are optional
                                                 Mode = "mode"
                                             },
                                             ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                                 MaxReadRequestUnits = 123
                                             },
                                             ReadProvisionedThroughputSettings = new ReadProvisionedThroughputSettingsProperty {
                                                 ReadCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                                     MaxCapacity = 123,
                                                     MinCapacity = 123,
                                                     TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                                         TargetValue = 123,
                    
                                                         // the properties below are optional
                                                         DisableScaleIn = false,
                                                         ScaleInCooldown = 123,
                                                         ScaleOutCooldown = 123
                                                     },
                    
                                                     // the properties below are optional
                                                     SeedCapacity = 123
                                                 },
                                                 ReadCapacityUnits = 123
                                             }
                                         } },
                                         GlobalTableSettingsReplicationMode = "globalTableSettingsReplicationMode",
                                         KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
                                             StreamArn = "streamArn",
                    
                                             // the properties below are optional
                                             ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision"
                                         },
                                         PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
                                             PointInTimeRecoveryEnabled = false,
                                             RecoveryPeriodInDays = 123
                                         },
                                         ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                             MaxReadRequestUnits = 123
                                         },
                                         ReadProvisionedThroughputSettings = new ReadProvisionedThroughputSettingsProperty {
                                             ReadCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                                 MaxCapacity = 123,
                                                 MinCapacity = 123,
                                                 TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                                     TargetValue = 123,
                    
                                                     // the properties below are optional
                                                     DisableScaleIn = false,
                                                     ScaleInCooldown = 123,
                                                     ScaleOutCooldown = 123
                                                 },
                    
                                                 // the properties below are optional
                                                 SeedCapacity = 123
                                             },
                                             ReadCapacityUnits = 123
                                         },
                                         ReplicaStreamSpecification = new ReplicaStreamSpecificationProperty {
                                             ResourcePolicy = new ResourcePolicyProperty {
                                                 PolicyDocument = policyDocument
                                             }
                                         },
                                         ResourcePolicy = new ResourcePolicyProperty {
                                             PolicyDocument = policyDocument
                                         },
                                         SseSpecification = new ReplicaSSESpecificationProperty {
                                             KmsMasterKeyId = "kmsMasterKeyId"
                                         },
                                         TableClass = "tableClass",
                                         Tags = new [] { new CfnTag {
                                             Key = "key",
                                             Value = "value"
                                         } }
                                     } },
                    
                                     // the properties below are optional
                                     AttributeDefinitions = new [] { new AttributeDefinitionProperty {
                                         AttributeName = "attributeName",
                                         AttributeType = "attributeType"
                                     } },
                                     BillingMode = "billingMode",
                                     GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
                                         IndexName = "indexName",
                                         KeySchema = new [] { new KeySchemaProperty {
                                             AttributeName = "attributeName",
                                             KeyType = "keyType"
                                         } },
                                         Projection = new ProjectionProperty {
                                             NonKeyAttributes = new [] { "nonKeyAttributes" },
                                             ProjectionType = "projectionType"
                                         },
                    
                                         // the properties below are optional
                                         ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                             MaxReadRequestUnits = 123
                                         },
                                         ReadProvisionedThroughputSettings = new GlobalReadProvisionedThroughputSettingsProperty {
                                             ReadCapacityUnits = 123
                                         },
                                         WarmThroughput = new WarmThroughputProperty {
                                             ReadUnitsPerSecond = 123,
                                             WriteUnitsPerSecond = 123
                                         },
                                         WriteOnDemandThroughputSettings = new WriteOnDemandThroughputSettingsProperty {
                                             MaxWriteRequestUnits = 123
                                         },
                                         WriteProvisionedThroughputSettings = new WriteProvisionedThroughputSettingsProperty {
                                             WriteCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                                 MaxCapacity = 123,
                                                 MinCapacity = 123,
                                                 TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                                     TargetValue = 123,
                    
                                                     // the properties below are optional
                                                     DisableScaleIn = false,
                                                     ScaleInCooldown = 123,
                                                     ScaleOutCooldown = 123
                                                 },
                    
                                                 // the properties below are optional
                                                 SeedCapacity = 123
                                             }
                                         }
                                     } },
                                     GlobalTableSourceArn = "globalTableSourceArn",
                                     GlobalTableWitnesses = new [] { new GlobalTableWitnessProperty {
                                         Region = "region"
                                     } },
                                     KeySchema = new [] { new KeySchemaProperty {
                                         AttributeName = "attributeName",
                                         KeyType = "keyType"
                                     } },
                                     LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
                                         IndexName = "indexName",
                                         KeySchema = new [] { new KeySchemaProperty {
                                             AttributeName = "attributeName",
                                             KeyType = "keyType"
                                         } },
                                         Projection = new ProjectionProperty {
                                             NonKeyAttributes = new [] { "nonKeyAttributes" },
                                             ProjectionType = "projectionType"
                                         }
                                     } },
                                     MultiRegionConsistency = "multiRegionConsistency",
                                     ReadOnDemandThroughputSettings = new ReadOnDemandThroughputSettingsProperty {
                                         MaxReadRequestUnits = 123
                                     },
                                     ReadProvisionedThroughputSettings = new GlobalReadProvisionedThroughputSettingsProperty {
                                         ReadCapacityUnits = 123
                                     },
                                     SseSpecification = new SSESpecificationProperty {
                                         SseEnabled = false,
                    
                                         // the properties below are optional
                                         SseType = "sseType"
                                     },
                                     StreamSpecification = new StreamSpecificationProperty {
                                         StreamViewType = "streamViewType"
                                     },
                                     TableName = "tableName",
                                     TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
                                         Enabled = false,
                    
                                         // the properties below are optional
                                         AttributeName = "attributeName"
                                     },
                                     WarmThroughput = new WarmThroughputProperty {
                                         ReadUnitsPerSecond = 123,
                                         WriteUnitsPerSecond = 123
                                     },
                                     WriteOnDemandThroughputSettings = new WriteOnDemandThroughputSettingsProperty {
                                         MaxWriteRequestUnits = 123
                                     },
                                     WriteProvisionedThroughputSettings = new WriteProvisionedThroughputSettingsProperty {
                                         WriteCapacityAutoScalingSettings = new CapacityAutoScalingSettingsProperty {
                                             MaxCapacity = 123,
                                             MinCapacity = 123,
                                             TargetTrackingScalingPolicyConfiguration = new TargetTrackingScalingPolicyConfigurationProperty {
                                                 TargetValue = 123,
                    
                                                 // the properties below are optional
                                                 DisableScaleIn = false,
                                                 ScaleInCooldown = 123,
                                                 ScaleOutCooldown = 123
                                             },
                    
                                             // the properties below are optional
                                             SeedCapacity = 123
                                         }
                                     }
                                 });

                    Inspect(TreeInspector)

                    Examines the CloudFormation resource and discloses attributes.

                    public virtual void Inspect(TreeInspector inspector)
                    Parameters
                    inspector TreeInspector

                    tree inspector to collect and process attributes.

                    Remarks
                    You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
                    

                    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.

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

                      CloudformationResource: AWS::DynamoDB::GlobalTable

                      ExampleMetadata: fixture=_generated

                      IsCfnGlobalTable(object)

                      Checks whether the given object is a CfnGlobalTable.

                      public static bool IsCfnGlobalTable(object x)
                      Parameters
                      x object
                      Returns

                      bool

                      Remarks
                      You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
                      

                      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.

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

                        CloudformationResource: AWS::DynamoDB::GlobalTable

                        ExampleMetadata: fixture=_generated

                        RenderProperties(IDictionary<string, object>)

                        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 .

                        protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
                        Parameters
                        props IDictionary<string, object>
                        Returns

                        IDictionary<string, object>

                        Overrides
                        CfnResource.RenderProperties(IDictionary<string, object>)
                        Remarks
                        You cannot convert a resource of type <code>AWS::DynamoDB::Table</code> into a resource of type <code>AWS::DynamoDB::GlobalTable</code> by changing its type in your template. <em>Doing so might result in the deletion of your DynamoDB table.</em>
                        

                        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.

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

                          CloudformationResource: AWS::DynamoDB::GlobalTable

                          ExampleMetadata: fixture=_generated

                          Implements

                          IInspectable
                          IGlobalTableRef
                          Constructs.IConstruct
                          Constructs.IDependable
                          IEnvironmentAware
                          Back to top Generated by DocFX