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 constructs.Construct, id *string, props *CfnTableProps)
- func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)
- func Table_IsConstruct(x interface{}) *bool
- func Table_IsResource(construct constructs.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_KinesisStreamSpecificationProperty
- 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
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func NewCfnTable_Override ¶
func NewCfnTable_Override(c CfnTable, scope constructs.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_IsConstruct ¶
func Table_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Table_IsResource ¶
func Table_IsResource(construct constructs.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{})
KinesisStreamSpecification() interface{}
SetKinesisStreamSpecification(val interface{})
LocalSecondaryIndexes() interface{}
SetLocalSecondaryIndexes(val interface{})
LogicalId() *string
Node() constructs.Node
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)
OverrideLogicalId(newLogicalId *string)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
ShouldSynthesize() *bool
ToString() *string
ValidateProperties(_properties interface{})
}
A CloudFormation `AWS::DynamoDB::Table`.
func NewCfnTable ¶
func NewCfnTable(scope constructs.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.KinesisStreamSpecification`.
KinesisStreamSpecification interface{} `json:"kinesisStreamSpecification"`
// `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_KinesisStreamSpecificationProperty ¶
type CfnTable_KinesisStreamSpecificationProperty struct {
// `CfnTable.KinesisStreamSpecificationProperty.StreamArn`.
StreamArn *string `json:"streamArn"`
}
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 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() constructs.Node
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
MetricSystemErrorsForOperations(props *SystemErrorsForOperationsMetricOptions) awscloudwatch.IMetric
MetricThrottledRequests(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
MetricUserErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
ToString() *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"`
// 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"`
// 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.