@awboost/cfn-resource-types 0.1.191 → 0.1.193

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,12 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
5
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html}
6
6
  */
7
7
  export type ApplicationSignalsServiceLevelObjectiveProperties = {
8
+ /**
9
+ * Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
10
+ * @minLength `0`
11
+ * @maxLength `10`
12
+ */
13
+ BurnRateConfigurations?: BurnRateConfiguration[];
8
14
  /**
9
15
  * An optional description for this SLO. Default is 'No description'
10
16
  * @minLength `1`
@@ -60,6 +66,21 @@ export type ApplicationSignalsServiceLevelObjectiveAttributes = {
60
66
  */
61
67
  LastUpdatedTime: number;
62
68
  };
69
+ /**
70
+ * Type definition for `AWS::ApplicationSignals::ServiceLevelObjective.BurnRateConfiguration`.
71
+ * This object defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.
72
+ For example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:
73
+ burn rate = error rate over the look-back window / (1 - attainment goal percentage)
74
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-burnrateconfiguration.html}
75
+ */
76
+ export type BurnRateConfiguration = {
77
+ /**
78
+ * The number of minutes to use as the look-back window.
79
+ * @min `1`
80
+ * @max `10080`
81
+ */
82
+ LookBackWindowMinutes: number;
83
+ };
63
84
  /**
64
85
  * Type definition for `AWS::ApplicationSignals::ServiceLevelObjective.CalendarInterval`.
65
86
  * If the interval for this service level objective is a calendar interval, this structure contains the interval specifications.
@@ -78,6 +78,17 @@ export type EksConfiguration = {
78
78
  export type LaunchTemplateSpecification = {
79
79
  LaunchTemplateId?: string;
80
80
  LaunchTemplateName?: string;
81
+ Overrides?: LaunchTemplateSpecificationOverride[];
82
+ Version?: string;
83
+ };
84
+ /**
85
+ * Type definition for `AWS::Batch::ComputeEnvironment.LaunchTemplateSpecificationOverride`.
86
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecificationoverride.html}
87
+ */
88
+ export type LaunchTemplateSpecificationOverride = {
89
+ LaunchTemplateId?: string;
90
+ LaunchTemplateName?: string;
91
+ TargetInstanceTypes?: string[];
81
92
  Version?: string;
82
93
  };
83
94
  /**
@@ -0,0 +1,195 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
+ /**
4
+ * Resource type definition for `AWS::CloudFormation::GuardHook`.
5
+ * This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
6
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html}
7
+ */
8
+ export type CloudFormationGuardHookProperties = {
9
+ /**
10
+ * The typename alias for the hook.
11
+ * @pattern `^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$`
12
+ */
13
+ Alias: string;
14
+ /**
15
+ * The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3.
16
+ * @maxLength `256`
17
+ * @pattern `arn:.+:iam::[0-9]{12}:role/.+`
18
+ */
19
+ ExecutionRole: string;
20
+ /**
21
+ * Attribute to specify CloudFormation behavior on hook failure.
22
+ */
23
+ FailureMode: "FAIL" | "WARN";
24
+ /**
25
+ * Attribute to specify which stacks this hook applies to or should get invoked for
26
+ */
27
+ HookStatus: "ENABLED" | "DISABLED";
28
+ /**
29
+ * S3 Bucket where the guard validate report will be uploaded to
30
+ */
31
+ LogBucket?: string;
32
+ Options?: {
33
+ /**
34
+ * S3 Source Location for the Guard files.
35
+ */
36
+ InputParams?: S3Location;
37
+ };
38
+ /**
39
+ * S3 Source Location for the Guard files.
40
+ */
41
+ RuleLocation: S3Location;
42
+ /**
43
+ * Filters to allow hooks to target specific stack attributes
44
+ */
45
+ StackFilters?: {
46
+ /**
47
+ * Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
48
+ */
49
+ FilteringCriteria: "ALL" | "ANY";
50
+ /**
51
+ * List of stack names as filters
52
+ */
53
+ StackNames?: {
54
+ /**
55
+ * List of stack names that the hook is going to be excluded from
56
+ * @minLength `1`
57
+ * @maxLength `50`
58
+ */
59
+ Exclude?: string[];
60
+ /**
61
+ * List of stack names that the hook is going to target
62
+ * @minLength `1`
63
+ * @maxLength `50`
64
+ */
65
+ Include?: string[];
66
+ };
67
+ /**
68
+ * List of stack roles that are performing the stack operations.
69
+ */
70
+ StackRoles?: {
71
+ /**
72
+ * List of stack roles that the hook is going to be excluded from
73
+ * @minLength `1`
74
+ * @maxLength `50`
75
+ */
76
+ Exclude?: string[];
77
+ /**
78
+ * List of stack roles that the hook is going to target
79
+ * @minLength `1`
80
+ * @maxLength `50`
81
+ */
82
+ Include?: string[];
83
+ };
84
+ };
85
+ /**
86
+ * Attribute to specify which targets should invoke the hook
87
+ */
88
+ TargetFilters?: {
89
+ /**
90
+ * List of actions that the hook is going to target
91
+ * @minLength `1`
92
+ * @maxLength `50`
93
+ */
94
+ Actions?: Action[];
95
+ /**
96
+ * List of invocation points that the hook is going to target
97
+ * @minLength `1`
98
+ * @maxLength `50`
99
+ */
100
+ InvocationPoints?: InvocationPoint[];
101
+ /**
102
+ * List of type names that the hook is going to target
103
+ * @minLength `1`
104
+ * @maxLength `50`
105
+ */
106
+ TargetNames?: string[];
107
+ } | {
108
+ /**
109
+ * List of hook targets
110
+ * @minLength `1`
111
+ * @maxLength `50`
112
+ */
113
+ Targets: HookTarget[];
114
+ };
115
+ /**
116
+ * Which operations should this Hook run against? Resource changes, stacks or change sets.
117
+ */
118
+ TargetOperations: TargetOperation[];
119
+ };
120
+ /**
121
+ * Attribute type definition for `AWS::CloudFormation::GuardHook`.
122
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#aws-resource-cloudformation-guardhook-return-values}
123
+ */
124
+ export type CloudFormationGuardHookAttributes = {
125
+ /**
126
+ * The Amazon Resource Name (ARN) of the activated hook
127
+ * @pattern `^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$`
128
+ */
129
+ HookArn: string;
130
+ };
131
+ /**
132
+ * Type definition for `AWS::CloudFormation::GuardHook.Action`.
133
+ * Target actions are the type of operation hooks will be executed at.
134
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-action.html}
135
+ */
136
+ export type Action = "CREATE" | "UPDATE" | "DELETE";
137
+ /**
138
+ * Type definition for `AWS::CloudFormation::GuardHook.HookTarget`.
139
+ * Hook targets are the destination where hooks will be invoked against.
140
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-hooktarget.html}
141
+ */
142
+ export type HookTarget = {
143
+ /**
144
+ * Target actions are the type of operation hooks will be executed at.
145
+ */
146
+ Action: Action;
147
+ /**
148
+ * Invocation points are the point in provisioning workflow where hooks will be executed.
149
+ */
150
+ InvocationPoint: InvocationPoint;
151
+ /**
152
+ * Type name of hook target. Hook targets are the destination where hooks will be invoked against.
153
+ * @minLength `1`
154
+ * @maxLength `256`
155
+ * @pattern `^(?!.*\*\?).*$`
156
+ */
157
+ TargetName: string;
158
+ };
159
+ /**
160
+ * Type definition for `AWS::CloudFormation::GuardHook.InvocationPoint`.
161
+ * Invocation points are the point in provisioning workflow where hooks will be executed.
162
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-invocationpoint.html}
163
+ */
164
+ export type InvocationPoint = "PRE_PROVISION";
165
+ /**
166
+ * Type definition for `AWS::CloudFormation::GuardHook.S3Location`.
167
+ * S3 Source Location for the Guard files.
168
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html}
169
+ */
170
+ export type S3Location = {
171
+ /**
172
+ * S3 uri of Guard files.
173
+ */
174
+ Uri: string;
175
+ /**
176
+ * S3 object version
177
+ */
178
+ VersionId?: string;
179
+ };
180
+ /**
181
+ * Type definition for `AWS::CloudFormation::GuardHook.TargetOperation`.
182
+ * Which operations should this Hook run against? Resource changes, stacks or change sets.
183
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-targetoperation.html}
184
+ */
185
+ export type TargetOperation = "RESOURCE" | "STACK" | "CHANGE_SET";
186
+ /**
187
+ * Resource type definition for `AWS::CloudFormation::GuardHook`.
188
+ * This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
189
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html}
190
+ */
191
+ export declare class CloudFormationGuardHook extends $Resource<"AWS::CloudFormation::GuardHook", CloudFormationGuardHookProperties, CloudFormationGuardHookAttributes> {
192
+ static readonly Type = "AWS::CloudFormation::GuardHook";
193
+ constructor(logicalId: string, properties: CloudFormationGuardHookProperties, options?: $ResourceOptions);
194
+ }
195
+ //# sourceMappingURL=AWS-CloudFormation-GuardHook.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ /**
3
+ * Resource type definition for `AWS::CloudFormation::GuardHook`.
4
+ * This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
5
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html}
6
+ */
7
+ export class CloudFormationGuardHook extends $Resource {
8
+ static Type = "AWS::CloudFormation::GuardHook";
9
+ constructor(logicalId, properties, options) {
10
+ super(logicalId, CloudFormationGuardHook.Type, properties, options);
11
+ }
12
+ }
13
+ //# sourceMappingURL=AWS-CloudFormation-GuardHook.js.map
@@ -0,0 +1,173 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
+ /**
4
+ * Resource type definition for `AWS::CloudFormation::LambdaHook`.
5
+ * This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
6
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html}
7
+ */
8
+ export type CloudFormationLambdaHookProperties = {
9
+ /**
10
+ * The typename alias for the hook.
11
+ * @pattern `^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$`
12
+ */
13
+ Alias: string;
14
+ /**
15
+ * The execution role ARN assumed by Hooks to invoke Lambda.
16
+ * @maxLength `256`
17
+ * @pattern `arn:.+:iam::[0-9]{12}:role/.+`
18
+ */
19
+ ExecutionRole: string;
20
+ /**
21
+ * Attribute to specify CloudFormation behavior on hook failure.
22
+ */
23
+ FailureMode: "FAIL" | "WARN";
24
+ /**
25
+ * Attribute to specify which stacks this hook applies to or should get invoked for
26
+ */
27
+ HookStatus: "ENABLED" | "DISABLED";
28
+ /**
29
+ * Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.
30
+ * @minLength `1`
31
+ * @maxLength `170`
32
+ * @pattern `(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?`
33
+ */
34
+ LambdaFunction: string;
35
+ /**
36
+ * Filters to allow hooks to target specific stack attributes
37
+ */
38
+ StackFilters?: {
39
+ /**
40
+ * Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
41
+ */
42
+ FilteringCriteria: "ALL" | "ANY";
43
+ /**
44
+ * List of stack names as filters
45
+ */
46
+ StackNames?: {
47
+ /**
48
+ * List of stack names that the hook is going to be excluded from
49
+ * @minLength `1`
50
+ * @maxLength `50`
51
+ */
52
+ Exclude?: string[];
53
+ /**
54
+ * List of stack names that the hook is going to target
55
+ * @minLength `1`
56
+ * @maxLength `50`
57
+ */
58
+ Include?: string[];
59
+ };
60
+ /**
61
+ * List of stack roles that are performing the stack operations.
62
+ */
63
+ StackRoles?: {
64
+ /**
65
+ * List of stack roles that the hook is going to be excluded from
66
+ * @minLength `1`
67
+ * @maxLength `50`
68
+ */
69
+ Exclude?: string[];
70
+ /**
71
+ * List of stack roles that the hook is going to target
72
+ * @minLength `1`
73
+ * @maxLength `50`
74
+ */
75
+ Include?: string[];
76
+ };
77
+ };
78
+ /**
79
+ * Attribute to specify which targets should invoke the hook
80
+ */
81
+ TargetFilters?: {
82
+ /**
83
+ * List of actions that the hook is going to target
84
+ * @minLength `1`
85
+ * @maxLength `50`
86
+ */
87
+ Actions?: Action[];
88
+ /**
89
+ * List of invocation points that the hook is going to target
90
+ * @minLength `1`
91
+ * @maxLength `50`
92
+ */
93
+ InvocationPoints?: InvocationPoint[];
94
+ /**
95
+ * List of type names that the hook is going to target
96
+ * @minLength `1`
97
+ * @maxLength `50`
98
+ */
99
+ TargetNames?: string[];
100
+ } | {
101
+ /**
102
+ * List of hook targets
103
+ * @minLength `1`
104
+ * @maxLength `50`
105
+ */
106
+ Targets: HookTarget[];
107
+ };
108
+ /**
109
+ * Which operations should this Hook run against? Resource changes, stacks or change sets.
110
+ */
111
+ TargetOperations: TargetOperation[];
112
+ };
113
+ /**
114
+ * Attribute type definition for `AWS::CloudFormation::LambdaHook`.
115
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#aws-resource-cloudformation-lambdahook-return-values}
116
+ */
117
+ export type CloudFormationLambdaHookAttributes = {
118
+ /**
119
+ * The Amazon Resource Name (ARN) of the activated hook
120
+ * @pattern `^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$`
121
+ */
122
+ HookArn: string;
123
+ };
124
+ /**
125
+ * Type definition for `AWS::CloudFormation::LambdaHook.Action`.
126
+ * Target actions are the type of operation hooks will be executed at.
127
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-action.html}
128
+ */
129
+ export type Action = "CREATE" | "UPDATE" | "DELETE";
130
+ /**
131
+ * Type definition for `AWS::CloudFormation::LambdaHook.HookTarget`.
132
+ * Hook targets are the destination where hooks will be invoked against.
133
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-hooktarget.html}
134
+ */
135
+ export type HookTarget = {
136
+ /**
137
+ * Target actions are the type of operation hooks will be executed at.
138
+ */
139
+ Action: Action;
140
+ /**
141
+ * Invocation points are the point in provisioning workflow where hooks will be executed.
142
+ */
143
+ InvocationPoint: InvocationPoint;
144
+ /**
145
+ * Type name of hook target. Hook targets are the destination where hooks will be invoked against.
146
+ * @minLength `1`
147
+ * @maxLength `256`
148
+ * @pattern `^(?!.*\*\?).*$`
149
+ */
150
+ TargetName: string;
151
+ };
152
+ /**
153
+ * Type definition for `AWS::CloudFormation::LambdaHook.InvocationPoint`.
154
+ * Invocation points are the point in provisioning workflow where hooks will be executed.
155
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-invocationpoint.html}
156
+ */
157
+ export type InvocationPoint = "PRE_PROVISION";
158
+ /**
159
+ * Type definition for `AWS::CloudFormation::LambdaHook.TargetOperation`.
160
+ * Which operations should this Hook run against? Resource changes, stacks or change sets.
161
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-targetoperation.html}
162
+ */
163
+ export type TargetOperation = "RESOURCE" | "STACK" | "CHANGE_SET";
164
+ /**
165
+ * Resource type definition for `AWS::CloudFormation::LambdaHook`.
166
+ * This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
167
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html}
168
+ */
169
+ export declare class CloudFormationLambdaHook extends $Resource<"AWS::CloudFormation::LambdaHook", CloudFormationLambdaHookProperties, CloudFormationLambdaHookAttributes> {
170
+ static readonly Type = "AWS::CloudFormation::LambdaHook";
171
+ constructor(logicalId: string, properties: CloudFormationLambdaHookProperties, options?: $ResourceOptions);
172
+ }
173
+ //# sourceMappingURL=AWS-CloudFormation-LambdaHook.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ /**
3
+ * Resource type definition for `AWS::CloudFormation::LambdaHook`.
4
+ * This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
5
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html}
6
+ */
7
+ export class CloudFormationLambdaHook extends $Resource {
8
+ static Type = "AWS::CloudFormation::LambdaHook";
9
+ constructor(logicalId, properties, options) {
10
+ super(logicalId, CloudFormationLambdaHook.Type, properties, options);
11
+ }
12
+ }
13
+ //# sourceMappingURL=AWS-CloudFormation-LambdaHook.js.map
@@ -25,6 +25,7 @@ export type DynamoDBGlobalTableProperties = {
25
25
  StreamSpecification?: StreamSpecification;
26
26
  TableName?: string;
27
27
  TimeToLiveSpecification?: TimeToLiveSpecification;
28
+ WarmThroughput?: WarmThroughput;
28
29
  WriteOnDemandThroughputSettings?: WriteOnDemandThroughputSettings;
29
30
  WriteProvisionedThroughputSettings?: WriteProvisionedThroughputSettings;
30
31
  };
@@ -91,6 +92,7 @@ export type GlobalSecondaryIndex = {
91
92
  */
92
93
  KeySchema: KeySchema[];
93
94
  Projection: Projection;
95
+ WarmThroughput?: WarmThroughput;
94
96
  WriteOnDemandThroughputSettings?: WriteOnDemandThroughputSettings;
95
97
  WriteProvisionedThroughputSettings?: WriteProvisionedThroughputSettings;
96
98
  };
@@ -270,6 +272,20 @@ export type TimeToLiveSpecification = {
270
272
  AttributeName?: string;
271
273
  Enabled: boolean;
272
274
  };
275
+ /**
276
+ * Type definition for `AWS::DynamoDB::GlobalTable.WarmThroughput`.
277
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-warmthroughput.html}
278
+ */
279
+ export type WarmThroughput = {
280
+ /**
281
+ * @min `1`
282
+ */
283
+ ReadUnitsPerSecond?: number;
284
+ /**
285
+ * @min `1`
286
+ */
287
+ WriteUnitsPerSecond?: number;
288
+ };
273
289
  /**
274
290
  * Type definition for `AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings`.
275
291
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeondemandthroughputsettings.html}
@@ -5,7 +5,7 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
5
5
  You should be aware of the following behaviors when working with DDB tables:
6
6
  + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).
7
7
 
8
- Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong 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.
8
+ Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong 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.
9
9
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html}
10
10
  */
11
11
  export type DynamoDBTableProperties = {
@@ -103,6 +103,7 @@ export type DynamoDBTableProperties = {
103
103
  For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.
104
104
  */
105
105
  TimeToLiveSpecification?: TimeToLiveSpecification;
106
+ WarmThroughput?: WarmThroughput;
106
107
  };
107
108
  /**
108
109
  * Attribute type definition for `AWS::DynamoDB::Table`.
@@ -192,6 +193,7 @@ export type GlobalSecondaryIndex = {
192
193
  For current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide*.
193
194
  */
194
195
  ProvisionedThroughput?: ProvisionedThroughput;
196
+ WarmThroughput?: WarmThroughput;
195
197
  };
196
198
  /**
197
199
  * Type definition for `AWS::DynamoDB::Table.ImportSourceSpecification`.
@@ -470,12 +472,26 @@ export type TimeToLiveSpecification = {
470
472
  */
471
473
  Enabled: boolean;
472
474
  };
475
+ /**
476
+ * Type definition for `AWS::DynamoDB::Table.WarmThroughput`.
477
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-warmthroughput.html}
478
+ */
479
+ export type WarmThroughput = {
480
+ /**
481
+ * @min `1`
482
+ */
483
+ ReadUnitsPerSecond?: number;
484
+ /**
485
+ * @min `1`
486
+ */
487
+ WriteUnitsPerSecond?: number;
488
+ };
473
489
  /**
474
490
  * The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.
475
491
  You should be aware of the following behaviors when working with DDB tables:
476
492
  + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).
477
493
 
478
- Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong 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.
494
+ Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong 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.
479
495
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html}
480
496
  */
481
497
  export declare class DynamoDBTable extends $Resource<"AWS::DynamoDB::Table", DynamoDBTableProperties, DynamoDBTableAttributes> {
@@ -4,7 +4,7 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
4
4
  You should be aware of the following behaviors when working with DDB tables:
5
5
  + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).
6
6
 
7
- Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong 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.
7
+ Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong 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.
8
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html}
9
9
  */
10
10
  export class DynamoDBTable extends $Resource {
@@ -87,7 +87,7 @@ export type EncryptionConfiguration = {
87
87
  */
88
88
  EncryptionType: EncryptionType;
89
89
  /**
90
- * If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.
90
+ * If you use the KMS or KMS_DSSE encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.
91
91
  * @minLength `1`
92
92
  * @maxLength `2048`
93
93
  */
@@ -98,7 +98,7 @@ export type EncryptionConfiguration = {
98
98
  * The encryption type to use.
99
99
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptiontype.html}
100
100
  */
101
- export type EncryptionType = "AES256" | "KMS";
101
+ export type EncryptionType = "AES256" | "KMS" | "KMS_DSSE";
102
102
  /**
103
103
  * Type definition for `AWS::ECR::RepositoryCreationTemplate.Tag`.
104
104
  * An array of key-value pairs to apply to this resource.