@awboost/cfn-resource-types 0.1.152 → 0.1.154

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.
@@ -37,7 +37,7 @@ export type AppFlowConnectorAttributes = {
37
37
  /**
38
38
  * The arn of the connector. The arn is unique for each ConnectorRegistration in your AWS account.
39
39
  * @maxLength `512`
40
- * @pattern `arn:*:appflow:.*:[0-9]+:.*`
40
+ * @pattern `arn:.*:appflow:.*:[0-9]+:.*`
41
41
  */
42
42
  ConnectorArn: string;
43
43
  };
@@ -11,6 +11,16 @@ export type CognitoUserPoolProperties = {
11
11
  AutoVerifiedAttributes?: string[];
12
12
  DeletionProtection?: string;
13
13
  DeviceConfiguration?: DeviceConfiguration;
14
+ /**
15
+ * @minLength `6`
16
+ * @maxLength `20000`
17
+ */
18
+ EmailAuthenticationMessage?: string;
19
+ /**
20
+ * @minLength `1`
21
+ * @maxLength `140`
22
+ */
23
+ EmailAuthenticationSubject?: string;
14
24
  EmailConfiguration?: EmailConfiguration;
15
25
  /**
16
26
  * @minLength `6`
@@ -21,6 +21,10 @@ export type EC2TransitGatewayAttachmentProperties = {
21
21
  * Indicates whether to enable Ipv6 Support for Vpc Attachment. Valid Values: enable | disable
22
22
  */
23
23
  Ipv6Support?: string;
24
+ /**
25
+ * Indicates whether to enable Security Group referencing support for Vpc Attachment. Valid Values: enable | disable
26
+ */
27
+ SecurityGroupReferencingSupport?: string;
24
28
  };
25
29
  SubnetIds: string[];
26
30
  Tags?: Tag[];
@@ -22,6 +22,10 @@ export type EC2TransitGatewayVpcAttachmentProperties = {
22
22
  * Indicates whether to enable Ipv6 Support for Vpc Attachment. Valid Values: enable | disable
23
23
  */
24
24
  Ipv6Support?: string;
25
+ /**
26
+ * Indicates whether to enable Security Group referencing support for Vpc Attachment. Valid values: enable | disable
27
+ */
28
+ SecurityGroupReferencingSupport?: string;
25
29
  };
26
30
  RemoveSubnetIds?: string[];
27
31
  SubnetIds: string[];
@@ -56,7 +56,7 @@ export type EC2VPCAttributes = {
56
56
  };
57
57
  /**
58
58
  * Type definition for `AWS::EC2::VPC.Tag`.
59
- * Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).
59
+ * Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).
60
60
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpc-tag.html}
61
61
  */
62
62
  export type Tag = {
@@ -11,7 +11,7 @@ export type EKSClusterProperties = {
11
11
  */
12
12
  AccessConfig?: AccessConfig;
13
13
  /**
14
- * Set this value to false to avoid creating the default networking addons when the cluster is created.
14
+ * Set this value to false to avoid creating the default networking add-ons when the cluster is created.
15
15
  */
16
16
  BootstrapSelfManagedAddons?: boolean;
17
17
  EncryptionConfig?: EncryptionConfig[];
@@ -55,6 +55,10 @@ export type EKSClusterProperties = {
55
55
  * @pattern `1\.\d\d`
56
56
  */
57
57
  Version?: string;
58
+ /**
59
+ * The current zonal shift configuration to use for the cluster.
60
+ */
61
+ ZonalShiftConfig?: ZonalShiftConfig;
58
62
  };
59
63
  /**
60
64
  * Attribute type definition for `AWS::EKS::Cluster`.
@@ -274,6 +278,17 @@ export type UpgradePolicy = {
274
278
  */
275
279
  SupportType?: "STANDARD" | "EXTENDED";
276
280
  };
281
+ /**
282
+ * Type definition for `AWS::EKS::Cluster.ZonalShiftConfig`.
283
+ * The current zonal shift configuration to use for the cluster.
284
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-zonalshiftconfig.html}
285
+ */
286
+ export type ZonalShiftConfig = {
287
+ /**
288
+ * Set this value to true to enable zonal shift for the cluster.
289
+ */
290
+ Enabled?: boolean;
291
+ };
277
292
  /**
278
293
  * Resource type definition for `AWS::EKS::Cluster`.
279
294
  * An object representing an Amazon EKS cluster.
@@ -5,144 +5,307 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
5
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html}
6
6
  */
7
7
  export type GlueCrawlerProperties = {
8
+ /**
9
+ * A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.
10
+ */
8
11
  Classifiers?: string[];
12
+ /**
13
+ * Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.
14
+ */
9
15
  Configuration?: string;
16
+ /**
17
+ * The name of the SecurityConfiguration structure to be used by this crawler.
18
+ */
10
19
  CrawlerSecurityConfiguration?: string;
20
+ /**
21
+ * The name of the database in which the crawler's output is stored.
22
+ */
11
23
  DatabaseName?: string;
24
+ /**
25
+ * A description of the crawler.
26
+ */
12
27
  Description?: string;
28
+ /**
29
+ * Specifies AWS Lake Formation configuration settings for the crawler
30
+ */
13
31
  LakeFormationConfiguration?: LakeFormationConfiguration;
32
+ /**
33
+ * The name of the crawler.
34
+ */
14
35
  Name?: string;
36
+ /**
37
+ * When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.
38
+ */
15
39
  RecrawlPolicy?: RecrawlPolicy;
40
+ /**
41
+ * The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.
42
+ */
16
43
  Role: string;
44
+ /**
45
+ * A scheduling object using a cron statement to schedule an event.
46
+ */
17
47
  Schedule?: Schedule;
48
+ /**
49
+ * The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler. The SchemaChangePolicy consists of two components, UpdateBehavior and DeleteBehavior.
50
+ */
18
51
  SchemaChangePolicy?: SchemaChangePolicy;
52
+ /**
53
+ * The prefix added to the names of tables that are created.
54
+ */
19
55
  TablePrefix?: string;
56
+ /**
57
+ * The tags to use with this crawler.
58
+ */
20
59
  Tags?: Record<string, any>;
60
+ /**
61
+ * Specifies data stores to crawl.
62
+ */
21
63
  Targets: Targets;
22
64
  };
23
- /**
24
- * Attribute type definition for `AWS::Glue::Crawler`.
25
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#aws-resource-glue-crawler-return-values}
26
- */
27
- export type GlueCrawlerAttributes = {
28
- Id: string;
29
- };
30
65
  /**
31
66
  * Type definition for `AWS::Glue::Crawler.CatalogTarget`.
67
+ * Specifies an AWS Glue Data Catalog target.
32
68
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html}
33
69
  */
34
70
  export type CatalogTarget = {
71
+ /**
72
+ * The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.
73
+ */
35
74
  ConnectionName?: string;
75
+ /**
76
+ * The name of the database to be synchronized.
77
+ */
36
78
  DatabaseName?: string;
79
+ /**
80
+ * A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.
81
+ */
37
82
  DlqEventQueueArn?: string;
83
+ /**
84
+ * A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.
85
+ */
38
86
  EventQueueArn?: string;
87
+ /**
88
+ * A list of the tables to be synchronized.
89
+ */
39
90
  Tables?: string[];
40
91
  };
41
92
  /**
42
93
  * Type definition for `AWS::Glue::Crawler.DeltaTarget`.
94
+ * Specifies a Delta data store to crawl one or more Delta tables.
43
95
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html}
44
96
  */
45
97
  export type DeltaTarget = {
98
+ /**
99
+ * The name of the connection to use to connect to the Delta table target.
100
+ */
46
101
  ConnectionName?: string;
102
+ /**
103
+ * Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.
104
+ */
47
105
  CreateNativeDeltaTable?: boolean;
48
106
  DeltaTables?: string[];
107
+ /**
108
+ * Specifies whether to write the manifest files to the Delta table path.
109
+ */
49
110
  WriteManifest?: boolean;
50
111
  };
51
112
  /**
52
113
  * Type definition for `AWS::Glue::Crawler.DynamoDBTarget`.
114
+ * Specifies an Amazon DynamoDB table to crawl.
53
115
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html}
54
116
  */
55
117
  export type DynamoDBTarget = {
118
+ /**
119
+ * The name of the DynamoDB table to crawl.
120
+ */
56
121
  Path?: string;
57
122
  };
58
123
  /**
59
124
  * Type definition for `AWS::Glue::Crawler.IcebergTarget`.
125
+ * Specifies Apache Iceberg data store targets.
60
126
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html}
61
127
  */
62
128
  export type IcebergTarget = {
129
+ /**
130
+ * The name of the connection to use to connect to the Iceberg target.
131
+ */
63
132
  ConnectionName?: string;
133
+ /**
134
+ * A list of global patterns used to exclude from the crawl.
135
+ */
64
136
  Exclusions?: string[];
137
+ /**
138
+ * The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time.
139
+ */
65
140
  MaximumTraversalDepth?: number;
141
+ /**
142
+ * One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .
143
+ */
66
144
  Paths?: string[];
67
145
  };
68
146
  /**
69
147
  * Type definition for `AWS::Glue::Crawler.JdbcTarget`.
148
+ * Specifies a JDBC data store to crawl.
70
149
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html}
71
150
  */
72
151
  export type JdbcTarget = {
152
+ /**
153
+ * The name of the connection to use to connect to the JDBC target.
154
+ */
73
155
  ConnectionName?: string;
156
+ /**
157
+ * Specify a value of RAWTYPES or COMMENTS to enable additional metadata in table responses. RAWTYPES provides the native-level datatype. COMMENTS provides comments associated with a column or table in the database.
158
+
159
+ If you do not need additional metadata, keep the field empty.
160
+ */
74
161
  EnableAdditionalMetadata?: string[];
162
+ /**
163
+ * A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.
164
+ */
75
165
  Exclusions?: string[];
166
+ /**
167
+ * The path of the JDBC target.
168
+ */
76
169
  Path?: string;
77
170
  };
78
171
  /**
79
172
  * Type definition for `AWS::Glue::Crawler.LakeFormationConfiguration`.
173
+ * Specifies AWS Lake Formation configuration settings for the crawler
80
174
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html}
81
175
  */
82
176
  export type LakeFormationConfiguration = {
177
+ /**
178
+ * Required for cross account crawls. For same account crawls as the target data, this can be left as null.
179
+ */
83
180
  AccountId?: string;
181
+ /**
182
+ * Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.
183
+ */
84
184
  UseLakeFormationCredentials?: boolean;
85
185
  };
86
186
  /**
87
187
  * Type definition for `AWS::Glue::Crawler.MongoDBTarget`.
188
+ * Specifies an Amazon DocumentDB or MongoDB data store to crawl.
88
189
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-mongodbtarget.html}
89
190
  */
90
191
  export type MongoDBTarget = {
192
+ /**
193
+ * The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.
194
+ */
91
195
  ConnectionName?: string;
196
+ /**
197
+ * The path of the Amazon DocumentDB or MongoDB target (database/collection).
198
+ */
92
199
  Path?: string;
93
200
  };
94
201
  /**
95
202
  * Type definition for `AWS::Glue::Crawler.RecrawlPolicy`.
203
+ * When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.
96
204
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html}
97
205
  */
98
206
  export type RecrawlPolicy = {
207
+ /**
208
+ * Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of CRAWL_EVERYTHING specifies crawling the entire dataset again. A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run. A value of CRAWL_EVENT_MODE specifies crawling only the changes identified by Amazon S3 events.
209
+ */
99
210
  RecrawlBehavior?: string;
100
211
  };
101
212
  /**
102
213
  * Type definition for `AWS::Glue::Crawler.S3Target`.
214
+ * Specifies a data store in Amazon Simple Storage Service (Amazon S3).
103
215
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html}
104
216
  */
105
217
  export type S3Target = {
218
+ /**
219
+ * The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).
220
+ */
106
221
  ConnectionName?: string;
222
+ /**
223
+ * A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.
224
+ */
107
225
  DlqEventQueueArn?: string;
226
+ /**
227
+ * A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.
228
+ */
108
229
  EventQueueArn?: string;
230
+ /**
231
+ * A list of glob patterns used to exclude from the crawl.
232
+ */
109
233
  Exclusions?: string[];
234
+ /**
235
+ * The path to the Amazon S3 target.
236
+ */
110
237
  Path?: string;
238
+ /**
239
+ * Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249.
240
+ */
111
241
  SampleSize?: number;
112
242
  };
113
243
  /**
114
244
  * Type definition for `AWS::Glue::Crawler.Schedule`.
245
+ * A scheduling object using a cron statement to schedule an event.
115
246
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html}
116
247
  */
117
248
  export type Schedule = {
249
+ /**
250
+ * A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).
251
+ */
118
252
  ScheduleExpression?: string;
119
253
  };
120
254
  /**
121
255
  * Type definition for `AWS::Glue::Crawler.SchemaChangePolicy`.
256
+ * The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler. The SchemaChangePolicy consists of two components, UpdateBehavior and DeleteBehavior.
122
257
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html}
123
258
  */
124
259
  export type SchemaChangePolicy = {
260
+ /**
261
+ * The deletion behavior when the crawler finds a deleted object. A value of LOG specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist. A value of DELETE_FROM_DATABASE specifies that if a table or partition is found to have been removed, delete it from the database. A value of DEPRECATE_IN_DATABASE specifies that if a table has been found to no longer exist, to add a property to the table that says 'DEPRECATED' and includes a timestamp with the time of deprecation.
262
+ */
125
263
  DeleteBehavior?: string;
264
+ /**
265
+ * The update behavior when the crawler finds a changed schema. A value of LOG specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables). A value of UPDATE_IN_DATABASE specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.
266
+ */
126
267
  UpdateBehavior?: string;
127
268
  };
128
269
  /**
129
270
  * Type definition for `AWS::Glue::Crawler.Targets`.
271
+ * Specifies data stores to crawl.
130
272
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html}
131
273
  */
132
274
  export type Targets = {
275
+ /**
276
+ * Specifies AWS Glue Data Catalog targets.
277
+ */
133
278
  CatalogTargets?: CatalogTarget[];
279
+ /**
280
+ * Specifies an array of Delta data store targets.
281
+ */
134
282
  DeltaTargets?: DeltaTarget[];
283
+ /**
284
+ * Specifies Amazon DynamoDB targets.
285
+ */
135
286
  DynamoDBTargets?: DynamoDBTarget[];
287
+ /**
288
+ * Specifies Apache Iceberg data store targets.
289
+ */
136
290
  IcebergTargets?: IcebergTarget[];
291
+ /**
292
+ * Specifies JDBC targets.
293
+ */
137
294
  JdbcTargets?: JdbcTarget[];
295
+ /**
296
+ * A list of Mongo DB targets.
297
+ */
138
298
  MongoDBTargets?: MongoDBTarget[];
299
+ /**
300
+ * Specifies Amazon Simple Storage Service (Amazon S3) targets.
301
+ */
139
302
  S3Targets?: S3Target[];
140
303
  };
141
304
  /**
142
305
  * Resource Type definition for AWS::Glue::Crawler
143
306
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html}
144
307
  */
145
- export declare class GlueCrawler extends $Resource<"AWS::Glue::Crawler", GlueCrawlerProperties, GlueCrawlerAttributes> {
308
+ export declare class GlueCrawler extends $Resource<"AWS::Glue::Crawler", GlueCrawlerProperties, Record<string, never>> {
146
309
  static readonly Type = "AWS::Glue::Crawler";
147
310
  constructor(logicalId: string, properties: GlueCrawlerProperties, options?: $ResourceOptions);
148
311
  }
@@ -7,7 +7,10 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
7
7
  The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.
8
8
  For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.
9
9
  For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
10
- This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following
10
+ This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:
11
+ + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)
12
+ + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)
13
+ + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)
11
14
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html}
12
15
  */
13
16
  export type IAMPolicyProperties = {
@@ -58,7 +61,10 @@ export type IAMPolicyAttributes = {
58
61
  The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.
59
62
  For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.
60
63
  For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
61
- This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following
64
+ This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:
65
+ + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)
66
+ + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)
67
+ + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)
62
68
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html}
63
69
  */
64
70
  export declare class IAMPolicy extends $Resource<"AWS::IAM::Policy", IAMPolicyProperties, IAMPolicyAttributes> {
@@ -6,7 +6,10 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
6
6
  The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.
7
7
  For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.
8
8
  For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
9
- This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following
9
+ This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:
10
+ + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)
11
+ + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)
12
+ + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)
10
13
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html}
11
14
  */
12
15
  export class IAMPolicy extends $Resource {
@@ -41,14 +41,15 @@ export type IAMRoleProperties = {
41
41
  When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role. You can update a role's trust policy later. For more information about IAM roles, go to [Using Roles to Delegate Permissions and Federate Identities](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
42
42
  A role can also have an attached managed policy. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.
43
43
  For information about limits on the number of inline policies that you can embed with a role, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
44
- If an external policy (such as ``AWS::IAM::Policy`` or
44
+ If an external policy (such as ``AWS::IAM::Policy`` or ``AWS::IAM::ManagedPolicy``) has a ``Ref`` to a role and if a resource (such as ``AWS::ECS::Service``) also has a ``Ref`` to the same role, add a ``DependsOn`` attribute to the resource to make the resource depend on the external policy. This dependency ensures that the role's policy is available throughout the resource's lifecycle. For example, when you delete a stack with an ``AWS::ECS::Service`` resource, the ``DependsOn`` attribute ensures that CFN deletes the ``AWS::ECS::Service`` resource before deleting its role's policy.
45
45
  */
46
46
  Policies?: Policy[];
47
47
  /**
48
48
  * A name for the IAM role, up to 64 characters in length. For valid values, see the ``RoleName`` parameter for the [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) action in the *User Guide*.
49
49
  This parameter allows (per its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-. The role name must be unique within the account. Role names are not distinguished by case. For example, you cannot create roles named both "Role1" and "role1".
50
50
  If you don't specify a name, CFN generates a unique physical ID and uses that ID for the role name.
51
- If you specify a name, you must specify the ``CAPABILITY_NAMED_IAM`` value to acknowledge your template's capabilities. For more information, see [Acknowledging Resources in Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/Use
51
+ If you specify a name, you must specify the ``CAPABILITY_NAMED_IAM`` value to acknowledge your template's capabilities. For more information, see [Acknowledging Resources in Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities).
52
+ Naming an IAM resource can cause an unrecoverable error if you reuse the same template in multiple Regions. To prevent this, we recommend using ``Fn::Join`` and ``AWS::Region`` to create a Region-specific name, as in the following example: ``{"Fn::Join": ["", [{"Ref": "AWS::Region"}, {"Ref": "MyResourceName"}]]}``.
52
53
  */
53
54
  RoleName?: string;
54
55
  /**
@@ -67,6 +67,11 @@ export type SageMakerImageVersionProperties = {
67
67
  * The availability of the image version specified by the maintainer.
68
68
  */
69
69
  VendorGuidance?: VendorGuidance;
70
+ /**
71
+ * The version number of the image version.
72
+ * @min `1`
73
+ */
74
+ Version?: number;
70
75
  };
71
76
  /**
72
77
  * Attribute type definition for `AWS::SageMaker::ImageVersion`.
@@ -94,11 +99,6 @@ export type SageMakerImageVersionAttributes = {
94
99
  * @pattern `^arn:aws(-[\w]+)*:sagemaker:[a-z0-9\-]*:[0-9]{12}:image-version\/[a-zA-Z0-9]([-.]?[a-zA-Z0-9])*\/[0-9]+$`
95
100
  */
96
101
  ImageVersionArn: string;
97
- /**
98
- * The version number of the image version.
99
- * @min `1`
100
- */
101
- Version: number;
102
102
  };
103
103
  /**
104
104
  * Type definition for `AWS::SageMaker::ImageVersion.JobType`.
@@ -19,6 +19,11 @@ export type WorkSpacesWebIdentityProviderProperties = {
19
19
  * @pattern `^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$`
20
20
  */
21
21
  PortalArn?: string;
22
+ /**
23
+ * @minLength `0`
24
+ * @maxLength `200`
25
+ */
26
+ Tags?: Tag[];
22
27
  };
23
28
  /**
24
29
  * Attribute type definition for `AWS::WorkSpacesWeb::IdentityProvider`.
@@ -42,6 +47,24 @@ export type IdentityProviderDetails = Record<string, string>;
42
47
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-identityprovider-identityprovidertype.html}
43
48
  */
44
49
  export type IdentityProviderType = "SAML" | "Facebook" | "Google" | "LoginWithAmazon" | "SignInWithApple" | "OIDC";
50
+ /**
51
+ * Type definition for `AWS::WorkSpacesWeb::IdentityProvider.Tag`.
52
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-identityprovider-tag.html}
53
+ */
54
+ export type Tag = {
55
+ /**
56
+ * @minLength `1`
57
+ * @maxLength `128`
58
+ * @pattern `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`
59
+ */
60
+ Key: string;
61
+ /**
62
+ * @minLength `0`
63
+ * @maxLength `256`
64
+ * @pattern `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`
65
+ */
66
+ Value: string;
67
+ };
45
68
  /**
46
69
  * Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type
47
70
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awboost/cfn-resource-types",
3
- "version": "0.1.152",
3
+ "version": "0.1.154",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,14 +25,14 @@
25
25
  "lib/**/*.d.ts"
26
26
  ],
27
27
  "scripts": {
28
+ "bump": "npm version patch && npm run commit-version && npm run tag-version",
29
+ "commit-version": "git add '../../**/package.json' '../../package-lock.json' && git commit -m \"chore: bump ${npm_package_name}@v${npm_package_version}\"",
28
30
  "lint": "eslint src/ --ext=ts",
29
- "postpublish": "npm run tag-version && git push --follow-tags",
30
- "postversion": "npm --prefix=../.. run sync-versions && git commit -am ${npm_package_name}@${npm_package_version}",
31
- "preversion": "git diff-index --quiet HEAD -- || ! echo 'Uncommitted changes present'",
32
- "tag-version": "git tag -a ${npm_package_name}@${npm_package_version} -m ${npm_package_name}@v${npm_package_version}"
31
+ "tag-version": "git tag -a ${npm_package_name}@${npm_package_version} -m ${npm_package_name}@v${npm_package_version}",
32
+ "version": "npm run --prefix=../.. sync-versions"
33
33
  },
34
34
  "devDependencies": {
35
- "@awboost/cfn-codegen": "^0.2.2"
35
+ "@awboost/cfn-codegen": "^0.2.3"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "@awboost/cfn-template-builder": "^0.3.1"