aws-cdk-lib 2.138.0__py3-none-any.whl → 2.139.0__py3-none-any.whl

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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (37) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.138.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_apigateway/__init__.py +29 -16
  4. aws_cdk/aws_appconfig/__init__.py +289 -44
  5. aws_cdk/aws_appintegrations/__init__.py +55 -6
  6. aws_cdk/aws_autoscaling/__init__.py +62 -60
  7. aws_cdk/aws_backup/__init__.py +34 -42
  8. aws_cdk/aws_batch/__init__.py +9 -3
  9. aws_cdk/aws_bedrock/__init__.py +4144 -0
  10. aws_cdk/aws_cloudwatch/__init__.py +120 -0
  11. aws_cdk/aws_datazone/__init__.py +22 -0
  12. aws_cdk/aws_dms/__init__.py +2 -4
  13. aws_cdk/aws_ec2/__init__.py +123 -84
  14. aws_cdk/aws_ecr/__init__.py +630 -0
  15. aws_cdk/aws_ecs/__init__.py +121 -19
  16. aws_cdk/aws_efs/__init__.py +592 -0
  17. aws_cdk/aws_elasticloadbalancingv2/__init__.py +23 -8
  18. aws_cdk/aws_events_targets/__init__.py +17 -4
  19. aws_cdk/aws_kms/__init__.py +44 -0
  20. aws_cdk/aws_lambda/__init__.py +9 -0
  21. aws_cdk/aws_oam/__init__.py +204 -0
  22. aws_cdk/aws_rds/__init__.py +15 -11
  23. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  24. aws_cdk/aws_securitylake/__init__.py +160 -105
  25. aws_cdk/aws_ses_actions/__init__.py +155 -0
  26. aws_cdk/aws_ssm/__init__.py +5 -2
  27. aws_cdk/aws_timestream/__init__.py +1045 -0
  28. aws_cdk/aws_transfer/__init__.py +15 -6
  29. aws_cdk/aws_wisdom/__init__.py +2 -2
  30. aws_cdk/custom_resources/__init__.py +440 -0
  31. aws_cdk/cx_api/__init__.py +17 -0
  32. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +1 -1
  33. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +37 -37
  34. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  35. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  36. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  37. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -2118,6 +2118,536 @@ class CfnRepository(
2118
2118
  )
2119
2119
 
2120
2120
 
2121
+ @jsii.implements(_IInspectable_c2943556)
2122
+ class CfnRepositoryCreationTemplate(
2123
+ _CfnResource_9df397a6,
2124
+ metaclass=jsii.JSIIMeta,
2125
+ jsii_type="aws-cdk-lib.aws_ecr.CfnRepositoryCreationTemplate",
2126
+ ):
2127
+ '''AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template.
2128
+
2129
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html
2130
+ :cloudformationResource: AWS::ECR::RepositoryCreationTemplate
2131
+ :exampleMetadata: fixture=_generated
2132
+
2133
+ Example::
2134
+
2135
+ # The code below shows an example of how to instantiate this type.
2136
+ # The values are placeholders you should change.
2137
+ from aws_cdk import aws_ecr as ecr
2138
+
2139
+ cfn_repository_creation_template = ecr.CfnRepositoryCreationTemplate(self, "MyCfnRepositoryCreationTemplate",
2140
+ applied_for=["appliedFor"],
2141
+ prefix="prefix",
2142
+
2143
+ # the properties below are optional
2144
+ description="description",
2145
+ encryption_configuration=ecr.CfnRepositoryCreationTemplate.EncryptionConfigurationProperty(
2146
+ encryption_type="encryptionType",
2147
+
2148
+ # the properties below are optional
2149
+ kms_key="kmsKey"
2150
+ ),
2151
+ image_tag_mutability="imageTagMutability",
2152
+ lifecycle_policy="lifecyclePolicy",
2153
+ repository_policy="repositoryPolicy",
2154
+ resource_tags=[CfnTag(
2155
+ key="key",
2156
+ value="value"
2157
+ )]
2158
+ )
2159
+ '''
2160
+
2161
+ def __init__(
2162
+ self,
2163
+ scope: _constructs_77d1e7e8.Construct,
2164
+ id: builtins.str,
2165
+ *,
2166
+ applied_for: typing.Sequence[builtins.str],
2167
+ prefix: builtins.str,
2168
+ description: typing.Optional[builtins.str] = None,
2169
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRepositoryCreationTemplate.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2170
+ image_tag_mutability: typing.Optional[builtins.str] = None,
2171
+ lifecycle_policy: typing.Optional[builtins.str] = None,
2172
+ repository_policy: typing.Optional[builtins.str] = None,
2173
+ resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2174
+ ) -> None:
2175
+ '''
2176
+ :param scope: Scope in which this resource is defined.
2177
+ :param id: Construct identifier for this resource (unique in its scope).
2178
+ :param applied_for: A list of enumerable Strings representing the repository creation scenarios that the template will apply towards.
2179
+ :param prefix: The prefix use to match the repository name and apply the template.
2180
+ :param description: The description of the template.
2181
+ :param encryption_configuration: The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest. 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. For more control over the encryption of the contents of your repository, you can use server-side encryption with AWS Key Management Service key stored in AWS Key Management Service ( AWS 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* .
2182
+ :param image_tag_mutability: The image tag mutability setting for the repository.
2183
+ :param lifecycle_policy: The JSON lifecycle policy text to apply to the repository. For information about lifecycle policy syntax, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
2184
+ :param repository_policy: The JSON repository policy text to apply to the repository. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicyExamples.html
2185
+ :param resource_tags: The tags attached to the resource.
2186
+ '''
2187
+ if __debug__:
2188
+ type_hints = typing.get_type_hints(_typecheckingstub__494445c3594e6c48becf87b896b56289e6923275ed1be048e55a955aad19112e)
2189
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2190
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2191
+ props = CfnRepositoryCreationTemplateProps(
2192
+ applied_for=applied_for,
2193
+ prefix=prefix,
2194
+ description=description,
2195
+ encryption_configuration=encryption_configuration,
2196
+ image_tag_mutability=image_tag_mutability,
2197
+ lifecycle_policy=lifecycle_policy,
2198
+ repository_policy=repository_policy,
2199
+ resource_tags=resource_tags,
2200
+ )
2201
+
2202
+ jsii.create(self.__class__, self, [scope, id, props])
2203
+
2204
+ @jsii.member(jsii_name="inspect")
2205
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2206
+ '''Examines the CloudFormation resource and discloses attributes.
2207
+
2208
+ :param inspector: tree inspector to collect and process attributes.
2209
+ '''
2210
+ if __debug__:
2211
+ type_hints = typing.get_type_hints(_typecheckingstub__de25621df06cd38b2a7712beec393825dd8540c7ddd5884bcdd2f43c88cc6a9f)
2212
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2213
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2214
+
2215
+ @jsii.member(jsii_name="renderProperties")
2216
+ def _render_properties(
2217
+ self,
2218
+ props: typing.Mapping[builtins.str, typing.Any],
2219
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2220
+ '''
2221
+ :param props: -
2222
+ '''
2223
+ if __debug__:
2224
+ type_hints = typing.get_type_hints(_typecheckingstub__d7346b42c53608f40e97cb9640d25fec5f2bfffc755ff8390a4f399e8fec8c41)
2225
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2226
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2227
+
2228
+ @jsii.python.classproperty
2229
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2230
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2231
+ '''The CloudFormation resource type name for this resource class.'''
2232
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2233
+
2234
+ @builtins.property
2235
+ @jsii.member(jsii_name="attrCreatedAt")
2236
+ def attr_created_at(self) -> builtins.str:
2237
+ '''Create timestamp of the template.
2238
+
2239
+ :cloudformationAttribute: CreatedAt
2240
+ '''
2241
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
2242
+
2243
+ @builtins.property
2244
+ @jsii.member(jsii_name="attrUpdatedAt")
2245
+ def attr_updated_at(self) -> builtins.str:
2246
+ '''Update timestamp of the template.
2247
+
2248
+ :cloudformationAttribute: UpdatedAt
2249
+ '''
2250
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
2251
+
2252
+ @builtins.property
2253
+ @jsii.member(jsii_name="cfnProperties")
2254
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2255
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2256
+
2257
+ @builtins.property
2258
+ @jsii.member(jsii_name="appliedFor")
2259
+ def applied_for(self) -> typing.List[builtins.str]:
2260
+ '''A list of enumerable Strings representing the repository creation scenarios that the template will apply towards.'''
2261
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "appliedFor"))
2262
+
2263
+ @applied_for.setter
2264
+ def applied_for(self, value: typing.List[builtins.str]) -> None:
2265
+ if __debug__:
2266
+ type_hints = typing.get_type_hints(_typecheckingstub__d70128c5c73464a6960bdf3e12180f730d72102eeb954991a5ee91b6ced476e1)
2267
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2268
+ jsii.set(self, "appliedFor", value)
2269
+
2270
+ @builtins.property
2271
+ @jsii.member(jsii_name="prefix")
2272
+ def prefix(self) -> builtins.str:
2273
+ '''The prefix use to match the repository name and apply the template.'''
2274
+ return typing.cast(builtins.str, jsii.get(self, "prefix"))
2275
+
2276
+ @prefix.setter
2277
+ def prefix(self, value: builtins.str) -> None:
2278
+ if __debug__:
2279
+ type_hints = typing.get_type_hints(_typecheckingstub__7421fb0840fe7d5bdb7ebafbc563d2498adfea23d49797835c3b7262cf06acbe)
2280
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2281
+ jsii.set(self, "prefix", value)
2282
+
2283
+ @builtins.property
2284
+ @jsii.member(jsii_name="description")
2285
+ def description(self) -> typing.Optional[builtins.str]:
2286
+ '''The description of the template.'''
2287
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
2288
+
2289
+ @description.setter
2290
+ def description(self, value: typing.Optional[builtins.str]) -> None:
2291
+ if __debug__:
2292
+ type_hints = typing.get_type_hints(_typecheckingstub__e5438699040b3663de96ef1aac64ac4344fe755ea3bb114b36fdb20c66eeb12e)
2293
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2294
+ jsii.set(self, "description", value)
2295
+
2296
+ @builtins.property
2297
+ @jsii.member(jsii_name="encryptionConfiguration")
2298
+ def encryption_configuration(
2299
+ self,
2300
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRepositoryCreationTemplate.EncryptionConfigurationProperty"]]:
2301
+ '''The encryption configuration for the repository.
2302
+
2303
+ This determines how the contents of your repository are encrypted at rest.
2304
+ '''
2305
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRepositoryCreationTemplate.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
2306
+
2307
+ @encryption_configuration.setter
2308
+ def encryption_configuration(
2309
+ self,
2310
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRepositoryCreationTemplate.EncryptionConfigurationProperty"]],
2311
+ ) -> None:
2312
+ if __debug__:
2313
+ type_hints = typing.get_type_hints(_typecheckingstub__dc9a1c0060c4bcb98843249551561d40d0d01c6137b55d2fc6b20909c4d50df4)
2314
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2315
+ jsii.set(self, "encryptionConfiguration", value)
2316
+
2317
+ @builtins.property
2318
+ @jsii.member(jsii_name="imageTagMutability")
2319
+ def image_tag_mutability(self) -> typing.Optional[builtins.str]:
2320
+ '''The image tag mutability setting for the repository.'''
2321
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "imageTagMutability"))
2322
+
2323
+ @image_tag_mutability.setter
2324
+ def image_tag_mutability(self, value: typing.Optional[builtins.str]) -> None:
2325
+ if __debug__:
2326
+ type_hints = typing.get_type_hints(_typecheckingstub__0d03ac6e7b2975934cbd1c8b2470015fc671509b1b82834732e60abe440bad58)
2327
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2328
+ jsii.set(self, "imageTagMutability", value)
2329
+
2330
+ @builtins.property
2331
+ @jsii.member(jsii_name="lifecyclePolicy")
2332
+ def lifecycle_policy(self) -> typing.Optional[builtins.str]:
2333
+ '''The JSON lifecycle policy text to apply to the repository.'''
2334
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "lifecyclePolicy"))
2335
+
2336
+ @lifecycle_policy.setter
2337
+ def lifecycle_policy(self, value: typing.Optional[builtins.str]) -> None:
2338
+ if __debug__:
2339
+ type_hints = typing.get_type_hints(_typecheckingstub__e2e08b01e66ab87aacff8f76d06c2abf47c27bd4366b69a73969d43a0b0b636a)
2340
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2341
+ jsii.set(self, "lifecyclePolicy", value)
2342
+
2343
+ @builtins.property
2344
+ @jsii.member(jsii_name="repositoryPolicy")
2345
+ def repository_policy(self) -> typing.Optional[builtins.str]:
2346
+ '''The JSON repository policy text to apply to the repository.'''
2347
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "repositoryPolicy"))
2348
+
2349
+ @repository_policy.setter
2350
+ def repository_policy(self, value: typing.Optional[builtins.str]) -> None:
2351
+ if __debug__:
2352
+ type_hints = typing.get_type_hints(_typecheckingstub__6133d22d20cb78fbb430ebd26935743e57cfc66d8da0d8b426c625527396018f)
2353
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2354
+ jsii.set(self, "repositoryPolicy", value)
2355
+
2356
+ @builtins.property
2357
+ @jsii.member(jsii_name="resourceTags")
2358
+ def resource_tags(
2359
+ self,
2360
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]]:
2361
+ '''The tags attached to the resource.'''
2362
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]], jsii.get(self, "resourceTags"))
2363
+
2364
+ @resource_tags.setter
2365
+ def resource_tags(
2366
+ self,
2367
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]],
2368
+ ) -> None:
2369
+ if __debug__:
2370
+ type_hints = typing.get_type_hints(_typecheckingstub__c2fb99e1f96881ee2eeb1081388dcf7c16b80d047a366d3bbc0d4a883ac0e52b)
2371
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2372
+ jsii.set(self, "resourceTags", value)
2373
+
2374
+ @jsii.data_type(
2375
+ jsii_type="aws-cdk-lib.aws_ecr.CfnRepositoryCreationTemplate.EncryptionConfigurationProperty",
2376
+ jsii_struct_bases=[],
2377
+ name_mapping={"encryption_type": "encryptionType", "kms_key": "kmsKey"},
2378
+ )
2379
+ class EncryptionConfigurationProperty:
2380
+ def __init__(
2381
+ self,
2382
+ *,
2383
+ encryption_type: builtins.str,
2384
+ kms_key: typing.Optional[builtins.str] = None,
2385
+ ) -> None:
2386
+ '''The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
2387
+
2388
+ 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.
2389
+
2390
+ For more control over the encryption of the contents of your repository, you can use server-side encryption with AWS Key Management Service key stored in AWS Key Management Service ( AWS 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* .
2391
+
2392
+ :param encryption_type: The encryption type to use. If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. For more information, see `Protecting data using server-side encryption with an AWS KMS key stored in AWS Key Management Service (SSE-KMS) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* . 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 *Amazon Simple Storage Service Console Developer Guide* .
2393
+ :param kms_key: If you use the ``KMS`` encryption type, specify the AWS KMS key to use for encryption. The alias, key ID, or full ARN of the AWS 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 AWS KMS key for Amazon ECR will be used.
2394
+
2395
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html
2396
+ :exampleMetadata: fixture=_generated
2397
+
2398
+ Example::
2399
+
2400
+ # The code below shows an example of how to instantiate this type.
2401
+ # The values are placeholders you should change.
2402
+ from aws_cdk import aws_ecr as ecr
2403
+
2404
+ encryption_configuration_property = ecr.CfnRepositoryCreationTemplate.EncryptionConfigurationProperty(
2405
+ encryption_type="encryptionType",
2406
+
2407
+ # the properties below are optional
2408
+ kms_key="kmsKey"
2409
+ )
2410
+ '''
2411
+ if __debug__:
2412
+ type_hints = typing.get_type_hints(_typecheckingstub__0f48a77de88f0d76d55768806e65efb655f325c51435a78fe46978432e8610ec)
2413
+ check_type(argname="argument encryption_type", value=encryption_type, expected_type=type_hints["encryption_type"])
2414
+ check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
2415
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2416
+ "encryption_type": encryption_type,
2417
+ }
2418
+ if kms_key is not None:
2419
+ self._values["kms_key"] = kms_key
2420
+
2421
+ @builtins.property
2422
+ def encryption_type(self) -> builtins.str:
2423
+ '''The encryption type to use.
2424
+
2425
+ If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. For more information, see `Protecting data using server-side encryption with an AWS KMS key stored in AWS Key Management Service (SSE-KMS) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
2426
+
2427
+ 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 *Amazon Simple Storage Service Console Developer Guide* .
2428
+
2429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html#cfn-ecr-repositorycreationtemplate-encryptionconfiguration-encryptiontype
2430
+ '''
2431
+ result = self._values.get("encryption_type")
2432
+ assert result is not None, "Required property 'encryption_type' is missing"
2433
+ return typing.cast(builtins.str, result)
2434
+
2435
+ @builtins.property
2436
+ def kms_key(self) -> typing.Optional[builtins.str]:
2437
+ '''If you use the ``KMS`` encryption type, specify the AWS KMS key to use for encryption.
2438
+
2439
+ The alias, key ID, or full ARN of the AWS 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 AWS KMS key for Amazon ECR will be used.
2440
+
2441
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html#cfn-ecr-repositorycreationtemplate-encryptionconfiguration-kmskey
2442
+ '''
2443
+ result = self._values.get("kms_key")
2444
+ return typing.cast(typing.Optional[builtins.str], result)
2445
+
2446
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2447
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2448
+
2449
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2450
+ return not (rhs == self)
2451
+
2452
+ def __repr__(self) -> str:
2453
+ return "EncryptionConfigurationProperty(%s)" % ", ".join(
2454
+ k + "=" + repr(v) for k, v in self._values.items()
2455
+ )
2456
+
2457
+
2458
+ @jsii.data_type(
2459
+ jsii_type="aws-cdk-lib.aws_ecr.CfnRepositoryCreationTemplateProps",
2460
+ jsii_struct_bases=[],
2461
+ name_mapping={
2462
+ "applied_for": "appliedFor",
2463
+ "prefix": "prefix",
2464
+ "description": "description",
2465
+ "encryption_configuration": "encryptionConfiguration",
2466
+ "image_tag_mutability": "imageTagMutability",
2467
+ "lifecycle_policy": "lifecyclePolicy",
2468
+ "repository_policy": "repositoryPolicy",
2469
+ "resource_tags": "resourceTags",
2470
+ },
2471
+ )
2472
+ class CfnRepositoryCreationTemplateProps:
2473
+ def __init__(
2474
+ self,
2475
+ *,
2476
+ applied_for: typing.Sequence[builtins.str],
2477
+ prefix: builtins.str,
2478
+ description: typing.Optional[builtins.str] = None,
2479
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRepositoryCreationTemplate.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2480
+ image_tag_mutability: typing.Optional[builtins.str] = None,
2481
+ lifecycle_policy: typing.Optional[builtins.str] = None,
2482
+ repository_policy: typing.Optional[builtins.str] = None,
2483
+ resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2484
+ ) -> None:
2485
+ '''Properties for defining a ``CfnRepositoryCreationTemplate``.
2486
+
2487
+ :param applied_for: A list of enumerable Strings representing the repository creation scenarios that the template will apply towards.
2488
+ :param prefix: The prefix use to match the repository name and apply the template.
2489
+ :param description: The description of the template.
2490
+ :param encryption_configuration: The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest. 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. For more control over the encryption of the contents of your repository, you can use server-side encryption with AWS Key Management Service key stored in AWS Key Management Service ( AWS 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* .
2491
+ :param image_tag_mutability: The image tag mutability setting for the repository.
2492
+ :param lifecycle_policy: The JSON lifecycle policy text to apply to the repository. For information about lifecycle policy syntax, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
2493
+ :param repository_policy: The JSON repository policy text to apply to the repository. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicyExamples.html
2494
+ :param resource_tags: The tags attached to the resource.
2495
+
2496
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html
2497
+ :exampleMetadata: fixture=_generated
2498
+
2499
+ Example::
2500
+
2501
+ # The code below shows an example of how to instantiate this type.
2502
+ # The values are placeholders you should change.
2503
+ from aws_cdk import aws_ecr as ecr
2504
+
2505
+ cfn_repository_creation_template_props = ecr.CfnRepositoryCreationTemplateProps(
2506
+ applied_for=["appliedFor"],
2507
+ prefix="prefix",
2508
+
2509
+ # the properties below are optional
2510
+ description="description",
2511
+ encryption_configuration=ecr.CfnRepositoryCreationTemplate.EncryptionConfigurationProperty(
2512
+ encryption_type="encryptionType",
2513
+
2514
+ # the properties below are optional
2515
+ kms_key="kmsKey"
2516
+ ),
2517
+ image_tag_mutability="imageTagMutability",
2518
+ lifecycle_policy="lifecyclePolicy",
2519
+ repository_policy="repositoryPolicy",
2520
+ resource_tags=[CfnTag(
2521
+ key="key",
2522
+ value="value"
2523
+ )]
2524
+ )
2525
+ '''
2526
+ if __debug__:
2527
+ type_hints = typing.get_type_hints(_typecheckingstub__623a27e5bf9e58dfa2c0c25d5b312731cce32386963e30de33e3bd636fb982d3)
2528
+ check_type(argname="argument applied_for", value=applied_for, expected_type=type_hints["applied_for"])
2529
+ check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
2530
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2531
+ check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
2532
+ check_type(argname="argument image_tag_mutability", value=image_tag_mutability, expected_type=type_hints["image_tag_mutability"])
2533
+ check_type(argname="argument lifecycle_policy", value=lifecycle_policy, expected_type=type_hints["lifecycle_policy"])
2534
+ check_type(argname="argument repository_policy", value=repository_policy, expected_type=type_hints["repository_policy"])
2535
+ check_type(argname="argument resource_tags", value=resource_tags, expected_type=type_hints["resource_tags"])
2536
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2537
+ "applied_for": applied_for,
2538
+ "prefix": prefix,
2539
+ }
2540
+ if description is not None:
2541
+ self._values["description"] = description
2542
+ if encryption_configuration is not None:
2543
+ self._values["encryption_configuration"] = encryption_configuration
2544
+ if image_tag_mutability is not None:
2545
+ self._values["image_tag_mutability"] = image_tag_mutability
2546
+ if lifecycle_policy is not None:
2547
+ self._values["lifecycle_policy"] = lifecycle_policy
2548
+ if repository_policy is not None:
2549
+ self._values["repository_policy"] = repository_policy
2550
+ if resource_tags is not None:
2551
+ self._values["resource_tags"] = resource_tags
2552
+
2553
+ @builtins.property
2554
+ def applied_for(self) -> typing.List[builtins.str]:
2555
+ '''A list of enumerable Strings representing the repository creation scenarios that the template will apply towards.
2556
+
2557
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-appliedfor
2558
+ '''
2559
+ result = self._values.get("applied_for")
2560
+ assert result is not None, "Required property 'applied_for' is missing"
2561
+ return typing.cast(typing.List[builtins.str], result)
2562
+
2563
+ @builtins.property
2564
+ def prefix(self) -> builtins.str:
2565
+ '''The prefix use to match the repository name and apply the template.
2566
+
2567
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-prefix
2568
+ '''
2569
+ result = self._values.get("prefix")
2570
+ assert result is not None, "Required property 'prefix' is missing"
2571
+ return typing.cast(builtins.str, result)
2572
+
2573
+ @builtins.property
2574
+ def description(self) -> typing.Optional[builtins.str]:
2575
+ '''The description of the template.
2576
+
2577
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-description
2578
+ '''
2579
+ result = self._values.get("description")
2580
+ return typing.cast(typing.Optional[builtins.str], result)
2581
+
2582
+ @builtins.property
2583
+ def encryption_configuration(
2584
+ self,
2585
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRepositoryCreationTemplate.EncryptionConfigurationProperty]]:
2586
+ '''The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
2587
+
2588
+ 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.
2589
+
2590
+ For more control over the encryption of the contents of your repository, you can use server-side encryption with AWS Key Management Service key stored in AWS Key Management Service ( AWS 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* .
2591
+
2592
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-encryptionconfiguration
2593
+ '''
2594
+ result = self._values.get("encryption_configuration")
2595
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRepositoryCreationTemplate.EncryptionConfigurationProperty]], result)
2596
+
2597
+ @builtins.property
2598
+ def image_tag_mutability(self) -> typing.Optional[builtins.str]:
2599
+ '''The image tag mutability setting for the repository.
2600
+
2601
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-imagetagmutability
2602
+ '''
2603
+ result = self._values.get("image_tag_mutability")
2604
+ return typing.cast(typing.Optional[builtins.str], result)
2605
+
2606
+ @builtins.property
2607
+ def lifecycle_policy(self) -> typing.Optional[builtins.str]:
2608
+ '''The JSON lifecycle policy text to apply to the repository.
2609
+
2610
+ For information about lifecycle policy syntax, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
2611
+
2612
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-lifecyclepolicy
2613
+ '''
2614
+ result = self._values.get("lifecycle_policy")
2615
+ return typing.cast(typing.Optional[builtins.str], result)
2616
+
2617
+ @builtins.property
2618
+ def repository_policy(self) -> typing.Optional[builtins.str]:
2619
+ '''The JSON repository policy text to apply to the repository.
2620
+
2621
+ For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicyExamples.html
2622
+
2623
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-repositorypolicy
2624
+ '''
2625
+ result = self._values.get("repository_policy")
2626
+ return typing.cast(typing.Optional[builtins.str], result)
2627
+
2628
+ @builtins.property
2629
+ def resource_tags(
2630
+ self,
2631
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]]:
2632
+ '''The tags attached to the resource.
2633
+
2634
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-resourcetags
2635
+ '''
2636
+ result = self._values.get("resource_tags")
2637
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]], result)
2638
+
2639
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2640
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2641
+
2642
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2643
+ return not (rhs == self)
2644
+
2645
+ def __repr__(self) -> str:
2646
+ return "CfnRepositoryCreationTemplateProps(%s)" % ", ".join(
2647
+ k + "=" + repr(v) for k, v in self._values.items()
2648
+ )
2649
+
2650
+
2121
2651
  @jsii.data_type(
2122
2652
  jsii_type="aws-cdk-lib.aws_ecr.CfnRepositoryProps",
2123
2653
  jsii_struct_bases=[],
@@ -4362,6 +4892,8 @@ __all__ = [
4362
4892
  "CfnReplicationConfiguration",
4363
4893
  "CfnReplicationConfigurationProps",
4364
4894
  "CfnRepository",
4895
+ "CfnRepositoryCreationTemplate",
4896
+ "CfnRepositoryCreationTemplateProps",
4365
4897
  "CfnRepositoryProps",
4366
4898
  "IRepository",
4367
4899
  "LifecycleRule",
@@ -4710,6 +5242,104 @@ def _typecheckingstub__e19a186a43de423097984e8a515b442413c2fa31fe895650e26f9f349
4710
5242
  """Type checking stubs"""
4711
5243
  pass
4712
5244
 
5245
+ def _typecheckingstub__494445c3594e6c48becf87b896b56289e6923275ed1be048e55a955aad19112e(
5246
+ scope: _constructs_77d1e7e8.Construct,
5247
+ id: builtins.str,
5248
+ *,
5249
+ applied_for: typing.Sequence[builtins.str],
5250
+ prefix: builtins.str,
5251
+ description: typing.Optional[builtins.str] = None,
5252
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRepositoryCreationTemplate.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5253
+ image_tag_mutability: typing.Optional[builtins.str] = None,
5254
+ lifecycle_policy: typing.Optional[builtins.str] = None,
5255
+ repository_policy: typing.Optional[builtins.str] = None,
5256
+ resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5257
+ ) -> None:
5258
+ """Type checking stubs"""
5259
+ pass
5260
+
5261
+ def _typecheckingstub__de25621df06cd38b2a7712beec393825dd8540c7ddd5884bcdd2f43c88cc6a9f(
5262
+ inspector: _TreeInspector_488e0dd5,
5263
+ ) -> None:
5264
+ """Type checking stubs"""
5265
+ pass
5266
+
5267
+ def _typecheckingstub__d7346b42c53608f40e97cb9640d25fec5f2bfffc755ff8390a4f399e8fec8c41(
5268
+ props: typing.Mapping[builtins.str, typing.Any],
5269
+ ) -> None:
5270
+ """Type checking stubs"""
5271
+ pass
5272
+
5273
+ def _typecheckingstub__d70128c5c73464a6960bdf3e12180f730d72102eeb954991a5ee91b6ced476e1(
5274
+ value: typing.List[builtins.str],
5275
+ ) -> None:
5276
+ """Type checking stubs"""
5277
+ pass
5278
+
5279
+ def _typecheckingstub__7421fb0840fe7d5bdb7ebafbc563d2498adfea23d49797835c3b7262cf06acbe(
5280
+ value: builtins.str,
5281
+ ) -> None:
5282
+ """Type checking stubs"""
5283
+ pass
5284
+
5285
+ def _typecheckingstub__e5438699040b3663de96ef1aac64ac4344fe755ea3bb114b36fdb20c66eeb12e(
5286
+ value: typing.Optional[builtins.str],
5287
+ ) -> None:
5288
+ """Type checking stubs"""
5289
+ pass
5290
+
5291
+ def _typecheckingstub__dc9a1c0060c4bcb98843249551561d40d0d01c6137b55d2fc6b20909c4d50df4(
5292
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRepositoryCreationTemplate.EncryptionConfigurationProperty]],
5293
+ ) -> None:
5294
+ """Type checking stubs"""
5295
+ pass
5296
+
5297
+ def _typecheckingstub__0d03ac6e7b2975934cbd1c8b2470015fc671509b1b82834732e60abe440bad58(
5298
+ value: typing.Optional[builtins.str],
5299
+ ) -> None:
5300
+ """Type checking stubs"""
5301
+ pass
5302
+
5303
+ def _typecheckingstub__e2e08b01e66ab87aacff8f76d06c2abf47c27bd4366b69a73969d43a0b0b636a(
5304
+ value: typing.Optional[builtins.str],
5305
+ ) -> None:
5306
+ """Type checking stubs"""
5307
+ pass
5308
+
5309
+ def _typecheckingstub__6133d22d20cb78fbb430ebd26935743e57cfc66d8da0d8b426c625527396018f(
5310
+ value: typing.Optional[builtins.str],
5311
+ ) -> None:
5312
+ """Type checking stubs"""
5313
+ pass
5314
+
5315
+ def _typecheckingstub__c2fb99e1f96881ee2eeb1081388dcf7c16b80d047a366d3bbc0d4a883ac0e52b(
5316
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]],
5317
+ ) -> None:
5318
+ """Type checking stubs"""
5319
+ pass
5320
+
5321
+ def _typecheckingstub__0f48a77de88f0d76d55768806e65efb655f325c51435a78fe46978432e8610ec(
5322
+ *,
5323
+ encryption_type: builtins.str,
5324
+ kms_key: typing.Optional[builtins.str] = None,
5325
+ ) -> None:
5326
+ """Type checking stubs"""
5327
+ pass
5328
+
5329
+ def _typecheckingstub__623a27e5bf9e58dfa2c0c25d5b312731cce32386963e30de33e3bd636fb982d3(
5330
+ *,
5331
+ applied_for: typing.Sequence[builtins.str],
5332
+ prefix: builtins.str,
5333
+ description: typing.Optional[builtins.str] = None,
5334
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRepositoryCreationTemplate.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5335
+ image_tag_mutability: typing.Optional[builtins.str] = None,
5336
+ lifecycle_policy: typing.Optional[builtins.str] = None,
5337
+ repository_policy: typing.Optional[builtins.str] = None,
5338
+ resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5339
+ ) -> None:
5340
+ """Type checking stubs"""
5341
+ pass
5342
+
4713
5343
  def _typecheckingstub__6887f05f59c4e061f761607002ffdf5b7ad09f76abbf4b7be49513c3ea20ebad(
4714
5344
  *,
4715
5345
  empty_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,