-
Notifications
You must be signed in to change notification settings - Fork 17
/
CfnGlobalTable_ReplicaSpecificationProperty.go
142 lines (139 loc) · 7.74 KB
/
CfnGlobalTable_ReplicaSpecificationProperty.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package awsdynamodb
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
)
// Defines settings specific to a single replica of a global table.
//
// Example:
// // The code below shows an example of how to instantiate this type.
// // The values are placeholders you should change.
// import "github.com/aws/aws-cdk-go/awscdk"
//
// replicaSpecificationProperty := &ReplicaSpecificationProperty{
// Region: jsii.String("region"),
//
// // the properties below are optional
// ContributorInsightsSpecification: &ContributorInsightsSpecificationProperty{
// Enabled: jsii.Boolean(false),
// },
// DeletionProtectionEnabled: jsii.Boolean(false),
// GlobalSecondaryIndexes: []interface{}{
// &ReplicaGlobalSecondaryIndexSpecificationProperty{
// IndexName: jsii.String("indexName"),
//
// // the properties below are optional
// ContributorInsightsSpecification: &ContributorInsightsSpecificationProperty{
// Enabled: jsii.Boolean(false),
// },
// ReadProvisionedThroughputSettings: &ReadProvisionedThroughputSettingsProperty{
// ReadCapacityAutoScalingSettings: &CapacityAutoScalingSettingsProperty{
// MaxCapacity: jsii.Number(123),
// MinCapacity: jsii.Number(123),
// TargetTrackingScalingPolicyConfiguration: &TargetTrackingScalingPolicyConfigurationProperty{
// TargetValue: jsii.Number(123),
//
// // the properties below are optional
// DisableScaleIn: jsii.Boolean(false),
// ScaleInCooldown: jsii.Number(123),
// ScaleOutCooldown: jsii.Number(123),
// },
//
// // the properties below are optional
// SeedCapacity: jsii.Number(123),
// },
// ReadCapacityUnits: jsii.Number(123),
// },
// },
// },
// KinesisStreamSpecification: &KinesisStreamSpecificationProperty{
// StreamArn: jsii.String("streamArn"),
// },
// PointInTimeRecoverySpecification: &PointInTimeRecoverySpecificationProperty{
// PointInTimeRecoveryEnabled: jsii.Boolean(false),
// },
// ReadProvisionedThroughputSettings: &ReadProvisionedThroughputSettingsProperty{
// ReadCapacityAutoScalingSettings: &CapacityAutoScalingSettingsProperty{
// MaxCapacity: jsii.Number(123),
// MinCapacity: jsii.Number(123),
// TargetTrackingScalingPolicyConfiguration: &TargetTrackingScalingPolicyConfigurationProperty{
// TargetValue: jsii.Number(123),
//
// // the properties below are optional
// DisableScaleIn: jsii.Boolean(false),
// ScaleInCooldown: jsii.Number(123),
// ScaleOutCooldown: jsii.Number(123),
// },
//
// // the properties below are optional
// SeedCapacity: jsii.Number(123),
// },
// ReadCapacityUnits: jsii.Number(123),
// },
// SseSpecification: &ReplicaSSESpecificationProperty{
// KmsMasterKeyId: jsii.String("kmsMasterKeyId"),
// },
// TableClass: jsii.String("tableClass"),
// Tags: []cfnTag{
// &cfnTag{
// Key: jsii.String("key"),
// Value: jsii.String("value"),
// },
// },
// }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html
//
type CfnGlobalTable_ReplicaSpecificationProperty struct {
// The region in which this replica exists.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-region
//
Region *string `field:"required" json:"region" yaml:"region"`
// The settings used to enable or disable CloudWatch Contributor Insights for the specified replica.
//
// When not specified, defaults to contributor insights disabled for the replica.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-contributorinsightsspecification
//
ContributorInsightsSpecification interface{} `field:"optional" json:"contributorInsightsSpecification" yaml:"contributorInsightsSpecification"`
// Determines if a replica is protected from deletion.
//
// When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-deletionprotectionenabled
//
DeletionProtectionEnabled interface{} `field:"optional" json:"deletionProtectionEnabled" yaml:"deletionProtectionEnabled"`
// Defines additional settings for the global secondary indexes of this replica.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-globalsecondaryindexes
//
GlobalSecondaryIndexes interface{} `field:"optional" json:"globalSecondaryIndexes" yaml:"globalSecondaryIndexes"`
// Defines the Kinesis Data Streams configuration for the specified replica.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-kinesisstreamspecification
//
KinesisStreamSpecification interface{} `field:"optional" json:"kinesisStreamSpecification" yaml:"kinesisStreamSpecification"`
// The settings used to enable point in time recovery.
//
// When not specified, defaults to point in time recovery disabled for the replica.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-pointintimerecoveryspecification
//
PointInTimeRecoverySpecification interface{} `field:"optional" json:"pointInTimeRecoverySpecification" yaml:"pointInTimeRecoverySpecification"`
// Defines read capacity settings for the replica table.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-readprovisionedthroughputsettings
//
ReadProvisionedThroughputSettings interface{} `field:"optional" json:"readProvisionedThroughputSettings" yaml:"readProvisionedThroughputSettings"`
// Allows you to specify a customer-managed key for the replica.
//
// When using customer-managed keys for server-side encryption, this property must have a value in all replicas.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-ssespecification
//
SseSpecification interface{} `field:"optional" json:"sseSpecification" yaml:"sseSpecification"`
// The table class of the specified table.
//
// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-tableclass
//
TableClass *string `field:"optional" json:"tableClass" yaml:"tableClass"`
// An array of key-value pairs to apply to this replica.
//
// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-tags
//
Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}