Class CfnTablePropsMixin
The AWS::DynamoDB::Table resource creates a DynamoDB table. For more information, see CreateTable in the Amazon DynamoDB API Reference .
Implements
Inherited Members
Namespace: Amazon.CDK.Mixins.Preview.AWS.DynamoDB.Mixins
Assembly: Amazon.CDK.Mixins.Preview.dll
Syntax (csharp)
public class CfnTablePropsMixin : Mixin, IMixin
Syntax (vb)
Public Class CfnTablePropsMixin Inherits Mixin Implements IMixin
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.DynamoDB.Mixins;
var policyDocument;
var cfnTablePropsMixin = new CfnTablePropsMixin(new CfnTableMixinProps {
AttributeDefinitions = new [] { new AttributeDefinitionProperty {
AttributeName = "attributeName",
AttributeType = "attributeType"
} },
BillingMode = "billingMode",
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
DeletionProtectionEnabled = false,
GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
} },
ImportSourceSpecification = new ImportSourceSpecificationProperty {
InputCompressionType = "inputCompressionType",
InputFormat = "inputFormat",
InputFormatOptions = new InputFormatOptionsProperty {
Csv = new CsvProperty {
Delimiter = "delimiter",
HeaderList = new [] { "headerList" }
}
},
S3BucketSource = new S3BucketSourceProperty {
S3Bucket = "s3Bucket",
S3BucketOwner = "s3BucketOwner",
S3KeyPrefix = "s3KeyPrefix"
}
},
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision",
StreamArn = "streamArn"
},
LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
}
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
PointInTimeRecoveryEnabled = false,
RecoveryPeriodInDays = 123
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
SseSpecification = new SSESpecificationProperty {
KmsMasterKeyId = "kmsMasterKeyId",
SseEnabled = false,
SseType = "sseType"
},
StreamSpecification = new StreamSpecificationProperty {
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
StreamViewType = "streamViewType"
},
TableClass = "tableClass",
TableName = "tableName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
AttributeName = "attributeName",
Enabled = false
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Synopsis
Constructors
| CfnTablePropsMixin(ICfnTableMixinProps, ICfnPropertyMixinOptions?) | Create a mixin to apply properties to |
Properties
| CFN_PROPERTY_KEYS | The |
| Props | The |
| Strategy | The |
Methods
| ApplyTo(IConstruct) | Apply the mixin properties to the construct. |
| Supports(IConstruct) | Check if this mixin supports the given construct. |
Constructors
CfnTablePropsMixin(ICfnTableMixinProps, ICfnPropertyMixinOptions?)
Create a mixin to apply properties to AWS::DynamoDB::Table.
public CfnTablePropsMixin(ICfnTableMixinProps props, ICfnPropertyMixinOptions? options = null)
Parameters
- props ICfnTableMixinProps
L1 properties to apply.
- options ICfnPropertyMixinOptions
Mixin options.
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
ExampleMetadata: fixture=_generated
Properties
CFN_PROPERTY_KEYS
The AWS::DynamoDB::Table resource creates a DynamoDB table. For more information, see CreateTable in the Amazon DynamoDB API Reference .
protected static string[] CFN_PROPERTY_KEYS { get; }
Property Value
string[]
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.DynamoDB.Mixins;
var policyDocument;
var cfnTablePropsMixin = new CfnTablePropsMixin(new CfnTableMixinProps {
AttributeDefinitions = new [] { new AttributeDefinitionProperty {
AttributeName = "attributeName",
AttributeType = "attributeType"
} },
BillingMode = "billingMode",
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
DeletionProtectionEnabled = false,
GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
} },
ImportSourceSpecification = new ImportSourceSpecificationProperty {
InputCompressionType = "inputCompressionType",
InputFormat = "inputFormat",
InputFormatOptions = new InputFormatOptionsProperty {
Csv = new CsvProperty {
Delimiter = "delimiter",
HeaderList = new [] { "headerList" }
}
},
S3BucketSource = new S3BucketSourceProperty {
S3Bucket = "s3Bucket",
S3BucketOwner = "s3BucketOwner",
S3KeyPrefix = "s3KeyPrefix"
}
},
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision",
StreamArn = "streamArn"
},
LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
}
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
PointInTimeRecoveryEnabled = false,
RecoveryPeriodInDays = 123
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
SseSpecification = new SSESpecificationProperty {
KmsMasterKeyId = "kmsMasterKeyId",
SseEnabled = false,
SseType = "sseType"
},
StreamSpecification = new StreamSpecificationProperty {
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
StreamViewType = "streamViewType"
},
TableClass = "tableClass",
TableName = "tableName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
AttributeName = "attributeName",
Enabled = false
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Props
The AWS::DynamoDB::Table resource creates a DynamoDB table. For more information, see CreateTable in the Amazon DynamoDB API Reference .
protected virtual ICfnTableMixinProps Props { get; }
Property Value
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.DynamoDB.Mixins;
var policyDocument;
var cfnTablePropsMixin = new CfnTablePropsMixin(new CfnTableMixinProps {
AttributeDefinitions = new [] { new AttributeDefinitionProperty {
AttributeName = "attributeName",
AttributeType = "attributeType"
} },
BillingMode = "billingMode",
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
DeletionProtectionEnabled = false,
GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
} },
ImportSourceSpecification = new ImportSourceSpecificationProperty {
InputCompressionType = "inputCompressionType",
InputFormat = "inputFormat",
InputFormatOptions = new InputFormatOptionsProperty {
Csv = new CsvProperty {
Delimiter = "delimiter",
HeaderList = new [] { "headerList" }
}
},
S3BucketSource = new S3BucketSourceProperty {
S3Bucket = "s3Bucket",
S3BucketOwner = "s3BucketOwner",
S3KeyPrefix = "s3KeyPrefix"
}
},
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision",
StreamArn = "streamArn"
},
LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
}
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
PointInTimeRecoveryEnabled = false,
RecoveryPeriodInDays = 123
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
SseSpecification = new SSESpecificationProperty {
KmsMasterKeyId = "kmsMasterKeyId",
SseEnabled = false,
SseType = "sseType"
},
StreamSpecification = new StreamSpecificationProperty {
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
StreamViewType = "streamViewType"
},
TableClass = "tableClass",
TableName = "tableName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
AttributeName = "attributeName",
Enabled = false
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Strategy
The AWS::DynamoDB::Table resource creates a DynamoDB table. For more information, see CreateTable in the Amazon DynamoDB API Reference .
protected virtual PropertyMergeStrategy Strategy { get; }
Property Value
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.DynamoDB.Mixins;
var policyDocument;
var cfnTablePropsMixin = new CfnTablePropsMixin(new CfnTableMixinProps {
AttributeDefinitions = new [] { new AttributeDefinitionProperty {
AttributeName = "attributeName",
AttributeType = "attributeType"
} },
BillingMode = "billingMode",
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
DeletionProtectionEnabled = false,
GlobalSecondaryIndexes = new [] { new GlobalSecondaryIndexProperty {
ContributorInsightsSpecification = new ContributorInsightsSpecificationProperty {
Enabled = false,
Mode = "mode"
},
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
} },
ImportSourceSpecification = new ImportSourceSpecificationProperty {
InputCompressionType = "inputCompressionType",
InputFormat = "inputFormat",
InputFormatOptions = new InputFormatOptionsProperty {
Csv = new CsvProperty {
Delimiter = "delimiter",
HeaderList = new [] { "headerList" }
}
},
S3BucketSource = new S3BucketSourceProperty {
S3Bucket = "s3Bucket",
S3BucketOwner = "s3BucketOwner",
S3KeyPrefix = "s3KeyPrefix"
}
},
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
KinesisStreamSpecification = new KinesisStreamSpecificationProperty {
ApproximateCreationDateTimePrecision = "approximateCreationDateTimePrecision",
StreamArn = "streamArn"
},
LocalSecondaryIndexes = new [] { new LocalSecondaryIndexProperty {
IndexName = "indexName",
KeySchema = new [] { new KeySchemaProperty {
AttributeName = "attributeName",
KeyType = "keyType"
} },
Projection = new ProjectionProperty {
NonKeyAttributes = new [] { "nonKeyAttributes" },
ProjectionType = "projectionType"
}
} },
OnDemandThroughput = new OnDemandThroughputProperty {
MaxReadRequestUnits = 123,
MaxWriteRequestUnits = 123
},
PointInTimeRecoverySpecification = new PointInTimeRecoverySpecificationProperty {
PointInTimeRecoveryEnabled = false,
RecoveryPeriodInDays = 123
},
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
},
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
SseSpecification = new SSESpecificationProperty {
KmsMasterKeyId = "kmsMasterKeyId",
SseEnabled = false,
SseType = "sseType"
},
StreamSpecification = new StreamSpecificationProperty {
ResourcePolicy = new ResourcePolicyProperty {
PolicyDocument = policyDocument
},
StreamViewType = "streamViewType"
},
TableClass = "tableClass",
TableName = "tableName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TimeToLiveSpecification = new TimeToLiveSpecificationProperty {
AttributeName = "attributeName",
Enabled = false
},
WarmThroughput = new WarmThroughputProperty {
ReadUnitsPerSecond = 123,
WriteUnitsPerSecond = 123
}
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Methods
ApplyTo(IConstruct)
Apply the mixin properties to the construct.
public override void ApplyTo(IConstruct construct)
Parameters
- construct IConstruct
Overrides
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
ExampleMetadata: fixture=_generated
Supports(IConstruct)
Check if this mixin supports the given construct.
public override bool Supports(IConstruct construct)
Parameters
- construct IConstruct
Returns
Overrides
Remarks
You should be aware of the following behaviors when working with DynamoDB tables:
Our guidance is to use the latest schema documented 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.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
CloudformationResource: AWS::DynamoDB::Table
Mixin: true
ExampleMetadata: fixture=_generated