Documentation ¶
Index ¶
- func CfnTable_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTable_IsCfnElement(x interface{}) *bool
- func CfnTable_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTable_IsConstruct(x interface{}) *bool
- func NewCfnTable_Override(c CfnTable, scope awscdk.Construct, id *string, props *CfnTableProps)
- func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)
- func Table_GrantListStreams(grantee awsiam.IGrantable) awsiam.Grant
- func Table_IsConstruct(x interface{}) *bool
- func Table_IsResource(construct awscdk.IConstruct) *bool
- type Attribute
- type AttributeType
- type BillingMode
- type CfnTable
- type CfnTableProps
- type CfnTable_AttributeDefinitionProperty
- type CfnTable_ContributorInsightsSpecificationProperty
- type CfnTable_GlobalSecondaryIndexProperty
- type CfnTable_KeySchemaProperty
- type CfnTable_LocalSecondaryIndexProperty
- type CfnTable_PointInTimeRecoverySpecificationProperty
- type CfnTable_ProjectionProperty
- type CfnTable_ProvisionedThroughputProperty
- type CfnTable_SSESpecificationProperty
- type CfnTable_StreamSpecificationProperty
- type CfnTable_TimeToLiveSpecificationProperty
- type EnableScalingProps
- type GlobalSecondaryIndexProps
- type IScalableTableAttribute
- type ITable
- type LocalSecondaryIndexProps
- type Operation
- type ProjectionType
- type SecondaryIndexProps
- type StreamViewType
- type SystemErrorsForOperationsMetricOptions
- type Table
- type TableAttributes
- type TableEncryption
- type TableOptions
- type TableProps
- type UtilizationScalingProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnTable_CFN_RESOURCE_TYPE_NAME ¶
func CfnTable_CFN_RESOURCE_TYPE_NAME() *string
func CfnTable_IsCfnElement ¶
func CfnTable_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnTable_IsCfnResource ¶
func CfnTable_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnTable_IsConstruct ¶
func CfnTable_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewCfnTable_Override ¶
func NewCfnTable_Override(c CfnTable, scope awscdk.Construct, id *string, props *CfnTableProps)
Create a new `AWS::DynamoDB::Table`.
func NewTable_Override ¶
func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)
Experimental.
func Table_GrantListStreams ¶
func Table_GrantListStreams(grantee awsiam.IGrantable) awsiam.Grant
Permits an IAM Principal to list all DynamoDB Streams. Deprecated: Use {@link #grantTableListStreams} for more granular permission
func Table_IsConstruct ¶
func Table_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Table_IsResource ¶
func Table_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
Types ¶
type Attribute ¶
type Attribute struct { // The name of an attribute. // Experimental. Name *string `json:"name"` // The data type of an attribute. // Experimental. Type AttributeType `json:"type"` }
Represents an attribute for describing the key schema for the table and indexes. Experimental.
type AttributeType ¶
type AttributeType string
Data types for attributes within a table. See: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes
Experimental.
const ( AttributeType_BINARY AttributeType = "BINARY" AttributeType_NUMBER AttributeType = "NUMBER" AttributeType_STRING AttributeType = "STRING" )
type BillingMode ¶
type BillingMode string
DynamoDB's Read/Write capacity modes. Experimental.
const ( BillingMode_PAY_PER_REQUEST BillingMode = "PAY_PER_REQUEST" BillingMode_PROVISIONED BillingMode = "PROVISIONED" )
type CfnTable ¶
type CfnTable interface { awscdk.CfnResource awscdk.IInspectable AttrArn() *string AttributeDefinitions() interface{} SetAttributeDefinitions(val interface{}) AttrStreamArn() *string BillingMode() *string SetBillingMode(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ContributorInsightsSpecification() interface{} SetContributorInsightsSpecification(val interface{}) CreationStack() *[]*string GlobalSecondaryIndexes() interface{} SetGlobalSecondaryIndexes(val interface{}) KeySchema() interface{} SetKeySchema(val interface{}) LocalSecondaryIndexes() interface{} SetLocalSecondaryIndexes(val interface{}) LogicalId() *string Node() awscdk.ConstructNode PointInTimeRecoverySpecification() interface{} SetPointInTimeRecoverySpecification(val interface{}) ProvisionedThroughput() interface{} SetProvisionedThroughput(val interface{}) Ref() *string SseSpecification() interface{} SetSseSpecification(val interface{}) Stack() awscdk.Stack StreamSpecification() interface{} SetStreamSpecification(val interface{}) TableName() *string SetTableName(val *string) Tags() awscdk.TagManager TimeToLiveSpecification() interface{} SetTimeToLiveSpecification(val interface{}) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::DynamoDB::Table`.
func NewCfnTable ¶
func NewCfnTable(scope awscdk.Construct, id *string, props *CfnTableProps) CfnTable
Create a new `AWS::DynamoDB::Table`.
type CfnTableProps ¶
type CfnTableProps struct { // `AWS::DynamoDB::Table.KeySchema`. KeySchema interface{} `json:"keySchema"` // `AWS::DynamoDB::Table.AttributeDefinitions`. AttributeDefinitions interface{} `json:"attributeDefinitions"` // `AWS::DynamoDB::Table.BillingMode`. BillingMode *string `json:"billingMode"` // `AWS::DynamoDB::Table.ContributorInsightsSpecification`. ContributorInsightsSpecification interface{} `json:"contributorInsightsSpecification"` // `AWS::DynamoDB::Table.GlobalSecondaryIndexes`. GlobalSecondaryIndexes interface{} `json:"globalSecondaryIndexes"` // `AWS::DynamoDB::Table.LocalSecondaryIndexes`. LocalSecondaryIndexes interface{} `json:"localSecondaryIndexes"` // `AWS::DynamoDB::Table.PointInTimeRecoverySpecification`. PointInTimeRecoverySpecification interface{} `json:"pointInTimeRecoverySpecification"` // `AWS::DynamoDB::Table.ProvisionedThroughput`. ProvisionedThroughput interface{} `json:"provisionedThroughput"` // `AWS::DynamoDB::Table.SSESpecification`. SseSpecification interface{} `json:"sseSpecification"` // `AWS::DynamoDB::Table.StreamSpecification`. StreamSpecification interface{} `json:"streamSpecification"` // `AWS::DynamoDB::Table.TableName`. TableName *string `json:"tableName"` // `AWS::DynamoDB::Table.Tags`. Tags *[]*awscdk.CfnTag `json:"tags"` // `AWS::DynamoDB::Table.TimeToLiveSpecification`. TimeToLiveSpecification interface{} `json:"timeToLiveSpecification"` }
Properties for defining a `AWS::DynamoDB::Table`.
type CfnTable_ContributorInsightsSpecificationProperty ¶
type CfnTable_ContributorInsightsSpecificationProperty struct {
// `CfnTable.ContributorInsightsSpecificationProperty.Enabled`.
Enabled interface{} `json:"enabled"`
}
type CfnTable_GlobalSecondaryIndexProperty ¶
type CfnTable_GlobalSecondaryIndexProperty struct { // `CfnTable.GlobalSecondaryIndexProperty.IndexName`. IndexName *string `json:"indexName"` // `CfnTable.GlobalSecondaryIndexProperty.KeySchema`. KeySchema interface{} `json:"keySchema"` // `CfnTable.GlobalSecondaryIndexProperty.Projection`. Projection interface{} `json:"projection"` // `CfnTable.GlobalSecondaryIndexProperty.ContributorInsightsSpecification`. ContributorInsightsSpecification interface{} `json:"contributorInsightsSpecification"` // `CfnTable.GlobalSecondaryIndexProperty.ProvisionedThroughput`. ProvisionedThroughput interface{} `json:"provisionedThroughput"` }
type CfnTable_LocalSecondaryIndexProperty ¶
type CfnTable_LocalSecondaryIndexProperty struct { // `CfnTable.LocalSecondaryIndexProperty.IndexName`. IndexName *string `json:"indexName"` // `CfnTable.LocalSecondaryIndexProperty.KeySchema`. KeySchema interface{} `json:"keySchema"` // `CfnTable.LocalSecondaryIndexProperty.Projection`. Projection interface{} `json:"projection"` }
type CfnTable_PointInTimeRecoverySpecificationProperty ¶
type CfnTable_PointInTimeRecoverySpecificationProperty struct {
// `CfnTable.PointInTimeRecoverySpecificationProperty.PointInTimeRecoveryEnabled`.
PointInTimeRecoveryEnabled interface{} `json:"pointInTimeRecoveryEnabled"`
}
type CfnTable_SSESpecificationProperty ¶
type CfnTable_SSESpecificationProperty struct { // `CfnTable.SSESpecificationProperty.SSEEnabled`. SseEnabled interface{} `json:"sseEnabled"` // `CfnTable.SSESpecificationProperty.KMSMasterKeyId`. KmsMasterKeyId *string `json:"kmsMasterKeyId"` // `CfnTable.SSESpecificationProperty.SSEType`. SseType *string `json:"sseType"` }
type CfnTable_StreamSpecificationProperty ¶
type CfnTable_StreamSpecificationProperty struct { // `CfnTable.StreamSpecificationProperty.StreamViewType`. StreamViewType *string `json:"streamViewType"` }
type CfnTable_TimeToLiveSpecificationProperty ¶
type CfnTable_TimeToLiveSpecificationProperty struct { // `CfnTable.TimeToLiveSpecificationProperty.AttributeName`. AttributeName *string `json:"attributeName"` // `CfnTable.TimeToLiveSpecificationProperty.Enabled`. Enabled interface{} `json:"enabled"` }
type EnableScalingProps ¶
type EnableScalingProps struct { // Maximum capacity to scale to. // Experimental. MaxCapacity *float64 `json:"maxCapacity"` // Minimum capacity to scale to. // Experimental. MinCapacity *float64 `json:"minCapacity"` }
Properties for enabling DynamoDB capacity scaling. Experimental.
type GlobalSecondaryIndexProps ¶
type GlobalSecondaryIndexProps struct { // The name of the secondary index. // Experimental. IndexName *string `json:"indexName"` // The non-key attributes that are projected into the secondary index. // Experimental. NonKeyAttributes *[]*string `json:"nonKeyAttributes"` // The set of attributes that are projected into the secondary index. // Experimental. ProjectionType ProjectionType `json:"projectionType"` // The attribute of a partition key for the global secondary index. // Experimental. PartitionKey *Attribute `json:"partitionKey"` // The read capacity for the global secondary index. // // Can only be provided if table billingMode is Provisioned or undefined. // Experimental. ReadCapacity *float64 `json:"readCapacity"` // The attribute of a sort key for the global secondary index. // Experimental. SortKey *Attribute `json:"sortKey"` // The write capacity for the global secondary index. // // Can only be provided if table billingMode is Provisioned or undefined. // Experimental. WriteCapacity *float64 `json:"writeCapacity"` }
Properties for a global secondary index. Experimental.
type IScalableTableAttribute ¶
type IScalableTableAttribute interface { // Add scheduled scaling for this scaling attribute. // Experimental. ScaleOnSchedule(id *string, actions *awsapplicationautoscaling.ScalingSchedule) // Scale out or in to keep utilization at a given level. // Experimental. ScaleOnUtilization(props *UtilizationScalingProps) }
Interface for scalable attributes. Experimental.
type ITable ¶
type ITable interface { awscdk.IResource // 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. // Experimental. Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.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. // Experimental. GrantFullAccess(grantee awsiam.IGrantable) awsiam.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. // Experimental. GrantReadData(grantee awsiam.IGrantable) awsiam.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. // Experimental. GrantReadWriteData(grantee awsiam.IGrantable) awsiam.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. // Experimental. GrantStream(grantee awsiam.IGrantable, actions ...*string) awsiam.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. // Experimental. GrantStreamRead(grantee awsiam.IGrantable) awsiam.Grant // Permits an IAM Principal to list streams attached to current dynamodb table. // Experimental. GrantTableListStreams(grantee awsiam.IGrantable) awsiam.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. // Experimental. GrantWriteData(grantee awsiam.IGrantable) awsiam.Grant // Metric for the number of Errors executing all Lambdas. // Experimental. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the conditional check failed requests. // Experimental. MetricConditionalCheckFailedRequests(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the consumed read capacity units. // Experimental. MetricConsumedReadCapacityUnits(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the consumed write capacity units. // Experimental. MetricConsumedWriteCapacityUnits(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the successful request latency. // Experimental. MetricSuccessfulRequestLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the system errors. // Deprecated: use `metricSystemErrorsForOperations` MetricSystemErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the system errors this table. // Experimental. MetricSystemErrorsForOperations(props *SystemErrorsForOperationsMetricOptions) awscloudwatch.IMetric // Metric for throttled requests. // Experimental. MetricThrottledRequests(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the user errors. // Experimental. MetricUserErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Optional KMS encryption key associated with this table. // Experimental. EncryptionKey() awskms.IKey // Arn of the dynamodb table. // Experimental. TableArn() *string // Table name of the dynamodb table. // Experimental. TableName() *string // ARN of the table's stream, if there is one. // Experimental. TableStreamArn() *string }
An interface that represents a DynamoDB Table - either created with the CDK, or an existing one. Experimental.
func Table_FromTableArn ¶
Creates a Table construct that represents an external table via table arn. Experimental.
func Table_FromTableAttributes ¶
func Table_FromTableAttributes(scope constructs.Construct, id *string, attrs *TableAttributes) ITable
Creates a Table construct that represents an external table. Experimental.
func Table_FromTableName ¶
Creates a Table construct that represents an external table via table name. Experimental.
type LocalSecondaryIndexProps ¶
type LocalSecondaryIndexProps struct { // The name of the secondary index. // Experimental. IndexName *string `json:"indexName"` // The non-key attributes that are projected into the secondary index. // Experimental. NonKeyAttributes *[]*string `json:"nonKeyAttributes"` // The set of attributes that are projected into the secondary index. // Experimental. ProjectionType ProjectionType `json:"projectionType"` // The attribute of a sort key for the local secondary index. // Experimental. SortKey *Attribute `json:"sortKey"` }
Properties for a local secondary index. Experimental.
type Operation ¶
type Operation string
Supported DynamoDB table operations. Experimental.
const ( Operation_GET_ITEM Operation = "GET_ITEM" Operation_BATCH_GET_ITEM Operation = "BATCH_GET_ITEM" Operation_SCAN Operation = "SCAN" Operation_QUERY Operation = "QUERY" Operation_GET_RECORDS Operation = "GET_RECORDS" Operation_PUT_ITEM Operation = "PUT_ITEM" Operation_DELETE_ITEM Operation = "DELETE_ITEM" Operation_UPDATE_ITEM Operation = "UPDATE_ITEM" Operation_BATCH_WRITE_ITEM Operation = "BATCH_WRITE_ITEM" )
type ProjectionType ¶
type ProjectionType string
The set of attributes that are projected into the index. See: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Projection.html
Experimental.
const ( ProjectionType_KEYS_ONLY ProjectionType = "KEYS_ONLY" ProjectionType_INCLUDE ProjectionType = "INCLUDE" ProjectionType_ALL ProjectionType = "ALL" )
type SecondaryIndexProps ¶
type SecondaryIndexProps struct { // The name of the secondary index. // Experimental. IndexName *string `json:"indexName"` // The non-key attributes that are projected into the secondary index. // Experimental. NonKeyAttributes *[]*string `json:"nonKeyAttributes"` // The set of attributes that are projected into the secondary index. // Experimental. ProjectionType ProjectionType `json:"projectionType"` }
Properties for a secondary index. Experimental.
type StreamViewType ¶
type StreamViewType string
When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. See: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_StreamSpecification.html
Experimental.
const ( StreamViewType_NEW_IMAGE StreamViewType = "NEW_IMAGE" StreamViewType_OLD_IMAGE StreamViewType = "OLD_IMAGE" StreamViewType_NEW_AND_OLD_IMAGES StreamViewType = "NEW_AND_OLD_IMAGES" StreamViewType_KEYS_ONLY StreamViewType = "KEYS_ONLY" )
type SystemErrorsForOperationsMetricOptions ¶
type SystemErrorsForOperationsMetricOptions struct { // Account which this metric comes from. // Experimental. Account *string `json:"account"` // The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here. // Experimental. Color *string `json:"color"` // Dimensions of the metric. // Experimental. Dimensions *map[string]interface{} `json:"dimensions"` // Label for this metric when added to a Graph in a Dashboard. // Experimental. Label *string `json:"label"` // The period over which the specified statistic is applied. // Experimental. Period awscdk.Duration `json:"period"` // Region which this metric comes from. // Experimental. Region *string `json:"region"` // What function to use for aggregating. // // Can be one of the following: // // - "Minimum" | "min" // - "Maximum" | "max" // - "Average" | "avg" // - "Sum" | "sum" // - "SampleCount | "n" // - "pNN.NN" // Experimental. Statistic *string `json:"statistic"` // Unit used to filter the metric stream. // // Only refer to datums emitted to the metric stream with the given unit and // ignore all others. Only useful when datums are being emitted to the same // metric stream under different units. // // The default is to use all matric datums in the stream, regardless of unit, // which is recommended in nearly all cases. // // CloudWatch does not honor this property for graphs. // Experimental. Unit awscloudwatch.Unit `json:"unit"` // The operations to apply the metric to. // Experimental. Operations *[]Operation `json:"operations"` }
Options for configuring a system errors metric that considers multiple operations. Experimental.
type Table ¶
type Table interface { awscdk.Resource ITable EncryptionKey() awskms.IKey Env() *awscdk.ResourceEnvironment HasIndex() *bool Node() awscdk.ConstructNode PhysicalName() *string RegionalArns() *[]*string Stack() awscdk.Stack TableArn() *string TableName() *string TableStreamArn() *string AddGlobalSecondaryIndex(props *GlobalSecondaryIndexProps) AddLocalSecondaryIndex(props *LocalSecondaryIndexProps) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) AutoScaleGlobalSecondaryIndexReadCapacity(indexName *string, props *EnableScalingProps) IScalableTableAttribute AutoScaleGlobalSecondaryIndexWriteCapacity(indexName *string, props *EnableScalingProps) IScalableTableAttribute AutoScaleReadCapacity(props *EnableScalingProps) IScalableTableAttribute AutoScaleWriteCapacity(props *EnableScalingProps) IScalableTableAttribute GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant GrantFullAccess(grantee awsiam.IGrantable) awsiam.Grant GrantReadData(grantee awsiam.IGrantable) awsiam.Grant GrantReadWriteData(grantee awsiam.IGrantable) awsiam.Grant GrantStream(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant GrantStreamRead(grantee awsiam.IGrantable) awsiam.Grant GrantTableListStreams(grantee awsiam.IGrantable) awsiam.Grant GrantWriteData(grantee awsiam.IGrantable) awsiam.Grant Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricConditionalCheckFailedRequests(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricConsumedReadCapacityUnits(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricConsumedWriteCapacityUnits(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSuccessfulRequestLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSystemErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSystemErrorsForOperations(props *SystemErrorsForOperationsMetricOptions) awscloudwatch.IMetric MetricThrottledRequests(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricUserErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Provides a DynamoDB table. Experimental.
func NewTable ¶
func NewTable(scope constructs.Construct, id *string, props *TableProps) Table
Experimental.
type TableAttributes ¶
type TableAttributes struct { // KMS encryption key, if this table uses a customer-managed encryption key. // Experimental. EncryptionKey awskms.IKey `json:"encryptionKey"` // The name of the global indexes set for this Table. // // Note that you need to set either this property, // or {@link localIndexes}, // if you want methods like grantReadData() // to grant permissions for indexes as well as the table itself. // Experimental. GlobalIndexes *[]*string `json:"globalIndexes"` // The name of the local indexes set for this Table. // // Note that you need to set either this property, // or {@link globalIndexes}, // if you want methods like grantReadData() // to grant permissions for indexes as well as the table itself. // Experimental. LocalIndexes *[]*string `json:"localIndexes"` // The ARN of the dynamodb table. // // One of this, or {@link tableName}, is required. // Experimental. TableArn *string `json:"tableArn"` // The table name of the dynamodb table. // // One of this, or {@link tableArn}, is required. // Experimental. TableName *string `json:"tableName"` // The ARN of the table's stream. // Experimental. TableStreamArn *string `json:"tableStreamArn"` }
Reference to a dynamodb table. Experimental.
type TableEncryption ¶
type TableEncryption string
What kind of server-side encryption to apply to this table. Experimental.
const ( TableEncryption_DEFAULT TableEncryption = "DEFAULT" TableEncryption_CUSTOMER_MANAGED TableEncryption = "CUSTOMER_MANAGED" TableEncryption_AWS_MANAGED TableEncryption = "AWS_MANAGED" )
type TableOptions ¶
type TableOptions struct { // Partition key attribute definition. // Experimental. PartitionKey *Attribute `json:"partitionKey"` // Specify how you are charged for read and write throughput and how you manage capacity. // Experimental. BillingMode BillingMode `json:"billingMode"` // Whether server-side encryption with an AWS managed customer master key is enabled. // // This property cannot be set if `serverSideEncryption` is set. // Experimental. Encryption TableEncryption `json:"encryption"` // External KMS key to use for table encryption. // // This property can only be set if `encryption` is set to `TableEncryption.CUSTOMER_MANAGED`. // Experimental. EncryptionKey awskms.IKey `json:"encryptionKey"` // Whether point-in-time recovery is enabled. // Experimental. PointInTimeRecovery *bool `json:"pointInTimeRecovery"` // 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. // Experimental. ReadCapacity *float64 `json:"readCapacity"` // The removal policy to apply to the DynamoDB Table. // Experimental. RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"` // Regions where replica tables will be created. // Experimental. ReplicationRegions *[]*string `json:"replicationRegions"` // The timeout for a table replication operation in a single region. // Experimental. ReplicationTimeout awscdk.Duration `json:"replicationTimeout"` // 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. // Deprecated: This property is deprecated. In order to obtain the same behavior as // enabling this, set the `encryption` property to `TableEncryption.AWS_MANAGED` instead. ServerSideEncryption *bool `json:"serverSideEncryption"` // Table sort key attribute definition. // Experimental. SortKey *Attribute `json:"sortKey"` // When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. // Experimental. Stream StreamViewType `json:"stream"` // The name of TTL attribute. // Experimental. TimeToLiveAttribute *string `json:"timeToLiveAttribute"` // 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. // Experimental. WriteCapacity *float64 `json:"writeCapacity"` }
Properties of a DynamoDB Table.
Use {@link TableProps} for all table properties Experimental.
type TableProps ¶
type TableProps struct { // Partition key attribute definition. // Experimental. PartitionKey *Attribute `json:"partitionKey"` // Specify how you are charged for read and write throughput and how you manage capacity. // Experimental. BillingMode BillingMode `json:"billingMode"` // Whether server-side encryption with an AWS managed customer master key is enabled. // // This property cannot be set if `serverSideEncryption` is set. // Experimental. Encryption TableEncryption `json:"encryption"` // External KMS key to use for table encryption. // // This property can only be set if `encryption` is set to `TableEncryption.CUSTOMER_MANAGED`. // Experimental. EncryptionKey awskms.IKey `json:"encryptionKey"` // Whether point-in-time recovery is enabled. // Experimental. PointInTimeRecovery *bool `json:"pointInTimeRecovery"` // 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. // Experimental. ReadCapacity *float64 `json:"readCapacity"` // The removal policy to apply to the DynamoDB Table. // Experimental. RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"` // Regions where replica tables will be created. // Experimental. ReplicationRegions *[]*string `json:"replicationRegions"` // The timeout for a table replication operation in a single region. // Experimental. ReplicationTimeout awscdk.Duration `json:"replicationTimeout"` // 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. // Deprecated: This property is deprecated. In order to obtain the same behavior as // enabling this, set the `encryption` property to `TableEncryption.AWS_MANAGED` instead. ServerSideEncryption *bool `json:"serverSideEncryption"` // Table sort key attribute definition. // Experimental. SortKey *Attribute `json:"sortKey"` // When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. // Experimental. Stream StreamViewType `json:"stream"` // The name of TTL attribute. // Experimental. TimeToLiveAttribute *string `json:"timeToLiveAttribute"` // 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. // Experimental. WriteCapacity *float64 `json:"writeCapacity"` // Enforces a particular physical table name. // Experimental. TableName *string `json:"tableName"` }
Properties for a DynamoDB Table. Experimental.
type UtilizationScalingProps ¶
type UtilizationScalingProps struct { // Indicates whether scale in by the target tracking policy is disabled. // // If the value is true, scale in is disabled and the target tracking policy // won't remove capacity from the scalable resource. Otherwise, scale in is // enabled and the target tracking policy can remove capacity from the // scalable resource. // Experimental. DisableScaleIn *bool `json:"disableScaleIn"` // A name for the scaling policy. // Experimental. PolicyName *string `json:"policyName"` // Period after a scale in activity completes before another scale in activity can start. // Experimental. ScaleInCooldown awscdk.Duration `json:"scaleInCooldown"` // Period after a scale out activity completes before another scale out activity can start. // Experimental. ScaleOutCooldown awscdk.Duration `json:"scaleOutCooldown"` // Target utilization percentage for the attribute. // Experimental. TargetUtilizationPercent *float64 `json:"targetUtilizationPercent"` }
Properties for enabling DynamoDB utilization tracking. Experimental.