@awboost/cfn-resource-types 0.1.38 → 0.1.40
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.
- package/lib/AWS-ApiGateway-Authorizer.d.ts +1 -1
- package/lib/AWS-ApiGateway-Method.d.ts +2 -2
- package/lib/AWS-AppConfig-Deployment.d.ts +10 -0
- package/lib/AWS-Batch-JobQueue.d.ts +15 -0
- package/lib/AWS-CodePipeline-Pipeline.d.ts +1 -0
- package/lib/AWS-DataSync-Task.d.ts +85 -20
- package/lib/AWS-DynamoDB-Table.d.ts +4 -3
- package/lib/AWS-DynamoDB-Table.js +1 -1
- package/lib/AWS-EC2-NetworkInterface.d.ts +4 -0
- package/lib/AWS-ECR-RegistryPolicy.d.ts +5 -3
- package/lib/AWS-ECR-RegistryPolicy.js +2 -1
- package/lib/AWS-ECR-Repository.d.ts +35 -36
- package/lib/AWS-ECR-Repository.js +1 -1
- package/lib/AWS-ECS-Service.d.ts +445 -2
- package/lib/AWS-ECS-Service.js +3 -1
- package/lib/AWS-IAM-Group.d.ts +26 -13
- package/lib/AWS-IAM-Group.js +3 -1
- package/lib/AWS-InternetMonitor-Monitor.d.ts +7 -0
- package/lib/AWS-Logs-LogGroup.d.ts +32 -26
- package/lib/AWS-Logs-LogGroup.js +5 -1
- package/lib/AWS-Logs-MetricFilter.d.ts +33 -23
- package/lib/AWS-Logs-MetricFilter.js +2 -2
- package/lib/AWS-Logs-SubscriptionFilter.d.ts +19 -9
- package/lib/AWS-Logs-SubscriptionFilter.js +7 -2
- package/lib/AWS-OSIS-Pipeline.d.ts +6 -6
- package/lib/AWS-Pinpoint-EmailChannel.d.ts +1 -0
- package/lib/AWS-SSMContacts-Contact.d.ts +1 -1
- package/package.json +1 -1
|
@@ -22,7 +22,7 @@ export type ApiGatewayAuthorizerProperties = {
|
|
|
22
22
|
*/
|
|
23
23
|
AuthorizerUri?: string;
|
|
24
24
|
/**
|
|
25
|
-
* The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when
|
|
25
|
+
* The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.
|
|
26
26
|
*/
|
|
27
27
|
IdentitySource?: string;
|
|
28
28
|
/**
|
|
@@ -99,7 +99,7 @@ export type Integration = {
|
|
|
99
99
|
*/
|
|
100
100
|
IntegrationResponses?: IntegrationResponse[];
|
|
101
101
|
/**
|
|
102
|
-
* Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response
|
|
102
|
+
* Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
|
|
103
103
|
*/
|
|
104
104
|
PassthroughBehavior?: "WHEN_NO_MATCH" | "WHEN_NO_TEMPLATES" | "NEVER";
|
|
105
105
|
/**
|
|
@@ -122,7 +122,7 @@ export type Integration = {
|
|
|
122
122
|
Type: "AWS" | "AWS_PROXY" | "HTTP" | "HTTP_PROXY" | "MOCK";
|
|
123
123
|
/**
|
|
124
124
|
* Specifies Uniform Resource Identifier (URI) of the integration endpoint.
|
|
125
|
-
For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing
|
|
125
|
+
For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``
|
|
126
126
|
*/
|
|
127
127
|
Uri?: string;
|
|
128
128
|
};
|
|
@@ -10,6 +10,7 @@ export type AppConfigDeploymentProperties = {
|
|
|
10
10
|
ConfigurationVersion: string;
|
|
11
11
|
DeploymentStrategyId: string;
|
|
12
12
|
Description?: string;
|
|
13
|
+
DynamicExtensionParameters?: DynamicExtensionParameters[];
|
|
13
14
|
EnvironmentId: string;
|
|
14
15
|
KmsKeyIdentifier?: string;
|
|
15
16
|
Tags?: Tags[];
|
|
@@ -21,6 +22,15 @@ export type AppConfigDeploymentProperties = {
|
|
|
21
22
|
export type AppConfigDeploymentAttributes = {
|
|
22
23
|
Id: string;
|
|
23
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Type definition for `AWS::AppConfig::Deployment.DynamicExtensionParameters`.
|
|
27
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-dynamicextensionparameters.html}
|
|
28
|
+
*/
|
|
29
|
+
export type DynamicExtensionParameters = {
|
|
30
|
+
ExtensionReference?: string;
|
|
31
|
+
ParameterName?: string;
|
|
32
|
+
ParameterValue?: string;
|
|
33
|
+
};
|
|
24
34
|
/**
|
|
25
35
|
* Type definition for `AWS::AppConfig::Deployment.Tags`.
|
|
26
36
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-tags.html}
|
|
@@ -11,6 +11,7 @@ export type BatchJobQueueProperties = {
|
|
|
11
11
|
* @maxLength `128`
|
|
12
12
|
*/
|
|
13
13
|
JobQueueName?: string;
|
|
14
|
+
JobStateTimeLimitActions?: JobStateTimeLimitAction[];
|
|
14
15
|
/**
|
|
15
16
|
* @min `0`
|
|
16
17
|
* @max `1000`
|
|
@@ -44,6 +45,20 @@ export type ComputeEnvironmentOrder = {
|
|
|
44
45
|
ComputeEnvironment: string;
|
|
45
46
|
Order: number;
|
|
46
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* Type definition for `AWS::Batch::JobQueue.JobStateTimeLimitAction`.
|
|
50
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html}
|
|
51
|
+
*/
|
|
52
|
+
export type JobStateTimeLimitAction = {
|
|
53
|
+
Action: "CANCEL";
|
|
54
|
+
/**
|
|
55
|
+
* @min `600`
|
|
56
|
+
* @max `86400`
|
|
57
|
+
*/
|
|
58
|
+
MaxTimeSeconds: number;
|
|
59
|
+
Reason: string;
|
|
60
|
+
State: "RUNNABLE";
|
|
61
|
+
};
|
|
47
62
|
/**
|
|
48
63
|
* Resource Type definition for AWS::Batch::JobQueue
|
|
49
64
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html}
|
|
@@ -27,6 +27,10 @@ export type DataSyncTaskProperties = {
|
|
|
27
27
|
* @maxLength `1`
|
|
28
28
|
*/
|
|
29
29
|
Includes?: FilterRule[];
|
|
30
|
+
/**
|
|
31
|
+
* Configures a manifest, which is a list of files or objects that you want DataSync to transfer.
|
|
32
|
+
*/
|
|
33
|
+
ManifestConfig?: ManifestConfig;
|
|
30
34
|
/**
|
|
31
35
|
* The name of a task. This value is a text reference that is used to identify the task in the console.
|
|
32
36
|
* @minLength `1`
|
|
@@ -103,6 +107,61 @@ export type FilterRule = {
|
|
|
103
107
|
*/
|
|
104
108
|
Value?: string;
|
|
105
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Type definition for `AWS::DataSync::Task.ManifestConfig`.
|
|
112
|
+
* Configures a manifest, which is a list of files or objects that you want DataSync to transfer.
|
|
113
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfig.html}
|
|
114
|
+
*/
|
|
115
|
+
export type ManifestConfig = {
|
|
116
|
+
/**
|
|
117
|
+
* Specifies what DataSync uses the manifest for.
|
|
118
|
+
*/
|
|
119
|
+
Action?: "TRANSFER";
|
|
120
|
+
/**
|
|
121
|
+
* Specifies the file format of your manifest.
|
|
122
|
+
*/
|
|
123
|
+
Format?: "CSV";
|
|
124
|
+
/**
|
|
125
|
+
* Specifies the manifest that you want DataSync to use and where it's hosted.
|
|
126
|
+
*/
|
|
127
|
+
Source: {
|
|
128
|
+
/**
|
|
129
|
+
* Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
|
|
130
|
+
*/
|
|
131
|
+
S3?: ManifestConfigSourceS3;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Type definition for `AWS::DataSync::Task.ManifestConfigSourceS3`.
|
|
136
|
+
* Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
|
|
137
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html}
|
|
138
|
+
*/
|
|
139
|
+
export type ManifestConfigSourceS3 = {
|
|
140
|
+
/**
|
|
141
|
+
* Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.
|
|
142
|
+
* @maxLength `2048`
|
|
143
|
+
* @pattern `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$`
|
|
144
|
+
*/
|
|
145
|
+
BucketAccessRoleArn?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Specifies the Amazon S3 object key of your manifest.
|
|
148
|
+
* @maxLength `1024`
|
|
149
|
+
* @pattern `^[\p{L}\p{M}\p{Z}\p{S}\p{N}\p{P}\p{C}]*$`
|
|
150
|
+
*/
|
|
151
|
+
ManifestObjectPath?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Specifies the object version ID of the manifest that you want DataSync to use.
|
|
154
|
+
* @maxLength `100`
|
|
155
|
+
* @pattern `^.+$`
|
|
156
|
+
*/
|
|
157
|
+
ManifestObjectVersionId?: string;
|
|
158
|
+
/**
|
|
159
|
+
* Specifies the Amazon Resource Name (ARN) of the S3 bucket where you're hosting your manifest.
|
|
160
|
+
* @maxLength `156`
|
|
161
|
+
* @pattern `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$`
|
|
162
|
+
*/
|
|
163
|
+
S3BucketArn?: string;
|
|
164
|
+
};
|
|
106
165
|
/**
|
|
107
166
|
* Type definition for `AWS::DataSync::Task.Options`.
|
|
108
167
|
* Represents the options that are available to control the behavior of a StartTaskExecution operation.
|
|
@@ -205,26 +264,7 @@ export type TaskReportConfig = {
|
|
|
205
264
|
/**
|
|
206
265
|
* Specifies the Amazon S3 bucket where DataSync uploads your task report.
|
|
207
266
|
*/
|
|
208
|
-
S3?:
|
|
209
|
-
/**
|
|
210
|
-
* Specifies the Amazon Resource Name (ARN) of the IAM policy that allows Datasync to upload a task report to your S3 bucket.
|
|
211
|
-
* @maxLength `2048`
|
|
212
|
-
* @pattern `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$`
|
|
213
|
-
*/
|
|
214
|
-
BucketAccessRoleArn?: string;
|
|
215
|
-
/**
|
|
216
|
-
* Specifies the ARN of the S3 bucket where Datasync uploads your report.
|
|
217
|
-
* @maxLength `156`
|
|
218
|
-
* @pattern `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$`
|
|
219
|
-
*/
|
|
220
|
-
S3BucketArn?: string;
|
|
221
|
-
/**
|
|
222
|
-
* Specifies a bucket prefix for your report.
|
|
223
|
-
* @maxLength `4096`
|
|
224
|
-
* @pattern `^[a-zA-Z0-9_\-\+\./\(\)\p{Zs}]*$`
|
|
225
|
-
*/
|
|
226
|
-
Subdirectory?: string;
|
|
227
|
-
};
|
|
267
|
+
S3?: TaskReportConfigDestinationS3;
|
|
228
268
|
};
|
|
229
269
|
/**
|
|
230
270
|
* Specifies whether your task report includes the new version of each object transferred into an S3 bucket, this only applies if you enable versioning on your bucket.
|
|
@@ -280,6 +320,31 @@ export type TaskReportConfig = {
|
|
|
280
320
|
*/
|
|
281
321
|
ReportLevel?: "ERRORS_ONLY" | "SUCCESSES_AND_ERRORS";
|
|
282
322
|
};
|
|
323
|
+
/**
|
|
324
|
+
* Type definition for `AWS::DataSync::Task.TaskReportConfigDestinationS3`.
|
|
325
|
+
* Specifies the Amazon S3 bucket where DataSync uploads your task report.
|
|
326
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html}
|
|
327
|
+
*/
|
|
328
|
+
export type TaskReportConfigDestinationS3 = {
|
|
329
|
+
/**
|
|
330
|
+
* Specifies the Amazon Resource Name (ARN) of the IAM policy that allows Datasync to upload a task report to your S3 bucket.
|
|
331
|
+
* @maxLength `2048`
|
|
332
|
+
* @pattern `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$`
|
|
333
|
+
*/
|
|
334
|
+
BucketAccessRoleArn?: string;
|
|
335
|
+
/**
|
|
336
|
+
* Specifies the ARN of the S3 bucket where Datasync uploads your report.
|
|
337
|
+
* @maxLength `156`
|
|
338
|
+
* @pattern `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$`
|
|
339
|
+
*/
|
|
340
|
+
S3BucketArn?: string;
|
|
341
|
+
/**
|
|
342
|
+
* Specifies a bucket prefix for your report.
|
|
343
|
+
* @maxLength `4096`
|
|
344
|
+
* @pattern `^[a-zA-Z0-9_\-\+\./\(\)\p{Zs}]*$`
|
|
345
|
+
*/
|
|
346
|
+
Subdirectory?: string;
|
|
347
|
+
};
|
|
283
348
|
/**
|
|
284
349
|
* Type definition for `AWS::DataSync::Task.TaskSchedule`.
|
|
285
350
|
* Specifies the schedule you want your task to use for repeated executions.
|
|
@@ -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
|
|
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.
|
|
9
9
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html}
|
|
10
10
|
*/
|
|
11
11
|
export type DynamoDBTableProperties = {
|
|
@@ -37,7 +37,8 @@ export type DynamoDBTableProperties = {
|
|
|
37
37
|
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE``. You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.
|
|
38
38
|
If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.
|
|
39
39
|
Updates are not supported. The following are exceptions:
|
|
40
|
-
+ If you update either the contributor insights specification or the provisioned throughput
|
|
40
|
+
+ If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
|
|
41
|
+
+ You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
|
|
41
42
|
*/
|
|
42
43
|
GlobalSecondaryIndexes?: GlobalSecondaryIndex[];
|
|
43
44
|
/**
|
|
@@ -417,7 +418,7 @@ export type TimeToLiveSpecification = {
|
|
|
417
418
|
You should be aware of the following behaviors when working with DDB tables:
|
|
418
419
|
+ 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).
|
|
419
420
|
|
|
420
|
-
Our guidance is to use the latest schema documented here for
|
|
421
|
+
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.
|
|
421
422
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html}
|
|
422
423
|
*/
|
|
423
424
|
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
|
|
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.
|
|
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 {
|
|
@@ -92,6 +92,10 @@ export type EC2NetworkInterfaceAttributes = {
|
|
|
92
92
|
* Returns the secondary private IP addresses of the network interface.
|
|
93
93
|
*/
|
|
94
94
|
SecondaryPrivateIpAddresses: string[];
|
|
95
|
+
/**
|
|
96
|
+
* The ID of the VPC
|
|
97
|
+
*/
|
|
98
|
+
VpcId: string;
|
|
95
99
|
};
|
|
96
100
|
/**
|
|
97
101
|
* Type definition for `AWS::EC2::NetworkInterface.ConnectionTrackingSpecification`.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
|
|
3
3
|
/**
|
|
4
|
-
* The AWS::ECR::RegistryPolicy
|
|
4
|
+
* The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.
|
|
5
|
+
A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*.
|
|
5
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html}
|
|
6
7
|
*/
|
|
7
8
|
export type ECRRegistryPolicyProperties = {
|
|
8
9
|
/**
|
|
9
|
-
* The JSON policy text
|
|
10
|
+
* The JSON policy text for your registry.
|
|
10
11
|
*/
|
|
11
12
|
PolicyText: Record<string, any>;
|
|
12
13
|
};
|
|
@@ -24,7 +25,8 @@ export type ECRRegistryPolicyAttributes = {
|
|
|
24
25
|
RegistryId: string;
|
|
25
26
|
};
|
|
26
27
|
/**
|
|
27
|
-
* The AWS::ECR::RegistryPolicy
|
|
28
|
+
* The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.
|
|
29
|
+
A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*.
|
|
28
30
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html}
|
|
29
31
|
*/
|
|
30
32
|
export declare class ECRRegistryPolicy extends $Resource<"AWS::ECR::RegistryPolicy", ECRRegistryPolicyProperties, ECRRegistryPolicyAttributes> {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* The AWS::ECR::RegistryPolicy
|
|
3
|
+
* The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.
|
|
4
|
+
A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*.
|
|
4
5
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html}
|
|
5
6
|
*/
|
|
6
7
|
export class ECRRegistryPolicy extends $Resource {
|
|
@@ -1,43 +1,41 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
|
|
3
3
|
/**
|
|
4
|
-
* The AWS::ECR::Repository resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
|
|
4
|
+
* The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*.
|
|
5
5
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html}
|
|
6
6
|
*/
|
|
7
7
|
export type ECRRepositoryProperties = {
|
|
8
8
|
/**
|
|
9
|
-
* If true, deleting the repository force deletes the contents of the repository.
|
|
9
|
+
* If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.
|
|
10
10
|
*/
|
|
11
11
|
EmptyOnDelete?: boolean;
|
|
12
12
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
By default, when no encryption configuration is set or the AES256 encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts your data at rest using an AES-256 encryption algorithm. This does not require any action on your part.
|
|
16
|
-
|
|
17
|
-
For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html
|
|
18
|
-
*/
|
|
13
|
+
* The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
|
|
14
|
+
*/
|
|
19
15
|
EncryptionConfiguration?: EncryptionConfiguration;
|
|
20
16
|
/**
|
|
21
|
-
* The image scanning configuration for the repository. This
|
|
17
|
+
* The image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.
|
|
22
18
|
*/
|
|
23
19
|
ImageScanningConfiguration?: ImageScanningConfiguration;
|
|
24
20
|
/**
|
|
25
|
-
* The
|
|
21
|
+
* The tag mutability setting for the repository. If this parameter is omitted, the default setting of ``MUTABLE`` will be used which will allow image tags to be overwritten. If ``IMMUTABLE`` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
|
|
26
22
|
*/
|
|
27
23
|
ImageTagMutability?: "MUTABLE" | "IMMUTABLE";
|
|
28
24
|
/**
|
|
29
|
-
*
|
|
25
|
+
* Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).
|
|
30
26
|
*/
|
|
31
27
|
LifecyclePolicy?: LifecyclePolicy;
|
|
32
28
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
* The name to use for the repository. The repository name may be specified on its own (such as ``nginx-web-app``) or it can be prepended with a namespace to group the repository into a category (such as ``project-a/nginx-web-app``). If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the repository name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
|
|
30
|
+
The repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.
|
|
31
|
+
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
|
|
32
|
+
* @minLength `2`
|
|
33
|
+
* @maxLength `256`
|
|
34
|
+
* @pattern `^(?=.{2,256}$)((?:[a-z0-9]+(?:[._-][a-z0-9]+)/*)*[a-z0-9]+(?:[._-][a-z0-9]+)*)$`
|
|
35
|
+
*/
|
|
38
36
|
RepositoryName?: string;
|
|
39
37
|
/**
|
|
40
|
-
* The JSON repository policy text to apply to the repository. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/
|
|
38
|
+
* The JSON repository policy text to apply to the repository. For more information, see [Amazon ECR repository policies](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) in the *Amazon Elastic Container Registry User Guide*.
|
|
41
39
|
*/
|
|
42
40
|
RepositoryPolicyText?: Record<string, any> | string;
|
|
43
41
|
/**
|
|
@@ -57,19 +55,19 @@ export type ECRRepositoryAttributes = {
|
|
|
57
55
|
/**
|
|
58
56
|
* Type definition for `AWS::ECR::Repository.EncryptionConfiguration`.
|
|
59
57
|
* The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html
|
|
58
|
+
By default, when no encryption configuration is set or the ``AES256`` encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts your data at rest using an AES-256 encryption algorithm. This does not require any action on your part.
|
|
59
|
+
For more control over the encryption of the contents of your repository, you can use server-side encryption with KMSlong key stored in KMSlong (KMS) to encrypt your images. For more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide*.
|
|
64
60
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html}
|
|
65
61
|
*/
|
|
66
62
|
export type EncryptionConfiguration = {
|
|
67
63
|
/**
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
* The encryption type to use.
|
|
65
|
+
If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with KMSlong key stored in KMS. When you use KMS to encrypt your data, you can either use the default AWS managed KMS key for Amazon ECR, or specify your own KMS key, which you already created. For more information, see [Protecting data using server-side encryption with an key stored in (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Console Developer Guide*.
|
|
66
|
+
If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES-256 encryption algorithm. For more information, see [Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) in the *Ama
|
|
67
|
+
*/
|
|
70
68
|
EncryptionType: EncryptionType;
|
|
71
69
|
/**
|
|
72
|
-
* If you use the KMS encryption type, specify the
|
|
70
|
+
* If you use the ``KMS`` encryption type, specify the KMS key to use for encryption. The alias, key ID, or full ARN of the KMS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed KMS key for Amazon ECR will be used.
|
|
73
71
|
* @minLength `1`
|
|
74
72
|
* @maxLength `2048`
|
|
75
73
|
*/
|
|
@@ -83,18 +81,18 @@ export type EncryptionConfiguration = {
|
|
|
83
81
|
export type EncryptionType = "AES256" | "KMS";
|
|
84
82
|
/**
|
|
85
83
|
* Type definition for `AWS::ECR::Repository.ImageScanningConfiguration`.
|
|
86
|
-
* The image scanning configuration for
|
|
84
|
+
* The image scanning configuration for a repository.
|
|
87
85
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-imagescanningconfiguration.html}
|
|
88
86
|
*/
|
|
89
87
|
export type ImageScanningConfiguration = {
|
|
90
88
|
/**
|
|
91
|
-
* The setting that determines whether images are scanned after being pushed to a repository.
|
|
89
|
+
* The setting that determines whether images are scanned after being pushed to a repository. If set to ``true``, images will be scanned after being pushed. If this parameter is not specified, it will default to ``false`` and images will not be scanned unless a scan is manually started.
|
|
92
90
|
*/
|
|
93
91
|
ScanOnPush?: boolean;
|
|
94
92
|
};
|
|
95
93
|
/**
|
|
96
94
|
* Type definition for `AWS::ECR::Repository.LifecyclePolicy`.
|
|
97
|
-
* The LifecyclePolicy property type specifies a lifecycle policy. For information about lifecycle policy syntax, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
|
|
95
|
+
* The ``LifecyclePolicy`` property type specifies a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html) in the *Amazon ECR User Guide*.
|
|
98
96
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html}
|
|
99
97
|
*/
|
|
100
98
|
export type LifecyclePolicy = {
|
|
@@ -105,34 +103,35 @@ export type LifecyclePolicy = {
|
|
|
105
103
|
*/
|
|
106
104
|
LifecyclePolicyText?: string;
|
|
107
105
|
/**
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
* The AWS account ID associated with the registry that contains the repository. If you do
|
|
107
|
+
not specify a registry, the default registry is assumed.
|
|
108
|
+
* @minLength `12`
|
|
109
|
+
* @maxLength `12`
|
|
110
|
+
* @pattern `^[0-9]{12}$`
|
|
111
|
+
*/
|
|
113
112
|
RegistryId?: string;
|
|
114
113
|
};
|
|
115
114
|
/**
|
|
116
115
|
* Type definition for `AWS::ECR::Repository.Tag`.
|
|
117
|
-
*
|
|
116
|
+
* The metadata to apply to a resource to help you categorize and organize them. Each tag consists of a key and a value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
|
|
118
117
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-tag.html}
|
|
119
118
|
*/
|
|
120
119
|
export type Tag = {
|
|
121
120
|
/**
|
|
122
|
-
*
|
|
121
|
+
* One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values.
|
|
123
122
|
* @minLength `1`
|
|
124
123
|
* @maxLength `127`
|
|
125
124
|
*/
|
|
126
125
|
Key: string;
|
|
127
126
|
/**
|
|
128
|
-
*
|
|
127
|
+
* A ``value`` acts as a descriptor within a tag category (key).
|
|
129
128
|
* @minLength `1`
|
|
130
129
|
* @maxLength `255`
|
|
131
130
|
*/
|
|
132
131
|
Value: string;
|
|
133
132
|
};
|
|
134
133
|
/**
|
|
135
|
-
* The AWS::ECR::Repository resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
|
|
134
|
+
* The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*.
|
|
136
135
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html}
|
|
137
136
|
*/
|
|
138
137
|
export declare class ECRRepository extends $Resource<"AWS::ECR::Repository", ECRRepositoryProperties, ECRRepositoryAttributes> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* The AWS::ECR::Repository resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
|
|
3
|
+
* The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*.
|
|
4
4
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html}
|
|
5
5
|
*/
|
|
6
6
|
export class ECRRepository extends $Resource {
|