aws-cdk-lib 2.115.0__py3-none-any.whl → 2.116.1__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.
- aws_cdk/__init__.py +801 -356
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
- aws_cdk/aws_apigateway/__init__.py +3 -1
- aws_cdk/aws_apigatewayv2/__init__.py +595 -222
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
- aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
- aws_cdk/aws_appsync/__init__.py +14 -3
- aws_cdk/aws_autoscaling/__init__.py +6 -0
- aws_cdk/aws_b2bi/__init__.py +2445 -0
- aws_cdk/aws_cloud9/__init__.py +63 -63
- aws_cdk/aws_cloudfront/__init__.py +394 -0
- aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
- aws_cdk/aws_cloudtrail/__init__.py +90 -11
- aws_cdk/aws_cloudwatch/__init__.py +6 -6
- aws_cdk/aws_codedeploy/__init__.py +88 -15
- aws_cdk/aws_codepipeline/__init__.py +645 -0
- aws_cdk/aws_cognito/__init__.py +13 -26
- aws_cdk/aws_config/__init__.py +315 -1
- aws_cdk/aws_connect/__init__.py +532 -37
- aws_cdk/aws_controltower/__init__.py +4 -4
- aws_cdk/aws_datasync/__init__.py +6 -4
- aws_cdk/aws_dms/__init__.py +241 -131
- aws_cdk/aws_dynamodb/__init__.py +8 -0
- aws_cdk/aws_ec2/__init__.py +1030 -45
- aws_cdk/aws_ecr/__init__.py +78 -10
- aws_cdk/aws_ecs/__init__.py +210 -2
- aws_cdk/aws_ecs_patterns/__init__.py +77 -62
- aws_cdk/aws_eks/__init__.py +8 -1
- aws_cdk/aws_elasticache/__init__.py +136 -10
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
- aws_cdk/aws_emr/__init__.py +234 -17
- aws_cdk/aws_eventschemas/__init__.py +15 -13
- aws_cdk/aws_fis/__init__.py +33 -13
- aws_cdk/aws_gamelift/__init__.py +47 -0
- aws_cdk/aws_imagebuilder/__init__.py +922 -84
- aws_cdk/aws_internetmonitor/__init__.py +12 -10
- aws_cdk/aws_iot/__init__.py +26 -46
- aws_cdk/aws_iottwinmaker/__init__.py +36 -34
- aws_cdk/aws_lambda/__init__.py +19 -15
- aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
- aws_cdk/aws_logs/__init__.py +6 -6
- aws_cdk/aws_opensearchservice/__init__.py +5 -3
- aws_cdk/aws_organizations/__init__.py +3 -3
- aws_cdk/aws_osis/__init__.py +17 -13
- aws_cdk/aws_rds/__init__.py +6 -0
- aws_cdk/aws_s3/__init__.py +4 -2
- aws_cdk/aws_s3outposts/__init__.py +8 -8
- aws_cdk/aws_sagemaker/__init__.py +17 -94
- aws_cdk/aws_secretsmanager/__init__.py +9 -7
- aws_cdk/aws_securityhub/__init__.py +18 -0
- aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
- aws_cdk/aws_ses/__init__.py +58 -11
- aws_cdk/aws_sns/__init__.py +309 -10
- aws_cdk/aws_ssm/__init__.py +3 -5
- aws_cdk/aws_stepfunctions/__init__.py +335 -19
- aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
- aws_cdk/aws_transfer/__init__.py +37 -10
- aws_cdk/custom_resources/__init__.py +443 -1
- aws_cdk/triggers/__init__.py +5 -2
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ecr/__init__.py
CHANGED
|
@@ -176,6 +176,15 @@ repository.add_lifecycle_rule(tag_prefix_list=["prod"], max_image_count=9999)
|
|
|
176
176
|
repository.add_lifecycle_rule(max_image_age=Duration.days(30))
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
+
When using `tagPatternList`, an image is successfully matched if it matches
|
|
180
|
+
the wildcard filter.
|
|
181
|
+
|
|
182
|
+
```python
|
|
183
|
+
# repository: ecr.Repository
|
|
184
|
+
|
|
185
|
+
repository.add_lifecycle_rule(tag_pattern_list=["prod*"], max_image_count=9999)
|
|
186
|
+
```
|
|
187
|
+
|
|
179
188
|
### Repository deletion
|
|
180
189
|
|
|
181
190
|
When a repository is removed from a stack (or the stack is deleted), the ECR
|
|
@@ -185,12 +194,13 @@ policy is set to `RemovalPolicy.DESTROY`, the repository will be deleted as long
|
|
|
185
194
|
as it does not contain any images.
|
|
186
195
|
|
|
187
196
|
To override this and force all images to get deleted during repository deletion,
|
|
188
|
-
enable the`
|
|
197
|
+
enable the `emptyOnDelete` option as well as setting the removal policy to
|
|
198
|
+
`RemovalPolicy.DESTROY`.
|
|
189
199
|
|
|
190
200
|
```python
|
|
191
201
|
repository = ecr.Repository(self, "MyTempRepo",
|
|
192
202
|
removal_policy=RemovalPolicy.DESTROY,
|
|
193
|
-
|
|
203
|
+
empty_on_delete=True
|
|
194
204
|
)
|
|
195
205
|
```
|
|
196
206
|
|
|
@@ -2871,6 +2881,7 @@ typing.cast(typing.Any, IRepository).__jsii_proxy_class__ = lambda : _IRepositor
|
|
|
2871
2881
|
"max_image_age": "maxImageAge",
|
|
2872
2882
|
"max_image_count": "maxImageCount",
|
|
2873
2883
|
"rule_priority": "rulePriority",
|
|
2884
|
+
"tag_pattern_list": "tagPatternList",
|
|
2874
2885
|
"tag_prefix_list": "tagPrefixList",
|
|
2875
2886
|
"tag_status": "tagStatus",
|
|
2876
2887
|
},
|
|
@@ -2883,6 +2894,7 @@ class LifecycleRule:
|
|
|
2883
2894
|
max_image_age: typing.Optional[_Duration_4839e8c3] = None,
|
|
2884
2895
|
max_image_count: typing.Optional[jsii.Number] = None,
|
|
2885
2896
|
rule_priority: typing.Optional[jsii.Number] = None,
|
|
2897
|
+
tag_pattern_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2886
2898
|
tag_prefix_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2887
2899
|
tag_status: typing.Optional["TagStatus"] = None,
|
|
2888
2900
|
) -> None:
|
|
@@ -2892,8 +2904,9 @@ class LifecycleRule:
|
|
|
2892
2904
|
:param max_image_age: The maximum age of images to retain. The value must represent a number of days. Specify exactly one of maxImageCount and maxImageAge.
|
|
2893
2905
|
:param max_image_count: The maximum number of images to retain. Specify exactly one of maxImageCount and maxImageAge.
|
|
2894
2906
|
:param rule_priority: Controls the order in which rules are evaluated (low to high). All rules must have a unique priority, where lower numbers have higher precedence. The first rule that matches is applied to an image. There can only be one rule with a tagStatus of Any, and it must have the highest rulePriority. All rules without a specified priority will have incrementing priorities automatically assigned to them, higher than any rules that DO have priorities. Default: Automatically assigned
|
|
2895
|
-
:param
|
|
2896
|
-
:param
|
|
2907
|
+
:param tag_pattern_list: Select images that have ALL the given patterns in their tag. There is a maximum limit of four wildcards (*) per string. For example, ["*test*1*2*3", "test*1*2*3*"] is valid but ["test*1*2*3*4*5*6"] is invalid. Both tagPrefixList and tagPatternList cannot be specified together in a rule. Only if tagStatus == TagStatus.Tagged
|
|
2908
|
+
:param tag_prefix_list: Select images that have ALL the given prefixes in their tag. Both tagPrefixList and tagPatternList cannot be specified together in a rule. Only if tagStatus == TagStatus.Tagged
|
|
2909
|
+
:param tag_status: Select images based on tags. Only one rule is allowed to select untagged images, and it must have the highest rulePriority. Default: TagStatus.Tagged if tagPrefixList or tagPatternList is given, TagStatus.Any otherwise
|
|
2897
2910
|
|
|
2898
2911
|
:exampleMetadata: infused
|
|
2899
2912
|
|
|
@@ -2910,6 +2923,7 @@ class LifecycleRule:
|
|
|
2910
2923
|
check_type(argname="argument max_image_age", value=max_image_age, expected_type=type_hints["max_image_age"])
|
|
2911
2924
|
check_type(argname="argument max_image_count", value=max_image_count, expected_type=type_hints["max_image_count"])
|
|
2912
2925
|
check_type(argname="argument rule_priority", value=rule_priority, expected_type=type_hints["rule_priority"])
|
|
2926
|
+
check_type(argname="argument tag_pattern_list", value=tag_pattern_list, expected_type=type_hints["tag_pattern_list"])
|
|
2913
2927
|
check_type(argname="argument tag_prefix_list", value=tag_prefix_list, expected_type=type_hints["tag_prefix_list"])
|
|
2914
2928
|
check_type(argname="argument tag_status", value=tag_status, expected_type=type_hints["tag_status"])
|
|
2915
2929
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
@@ -2921,6 +2935,8 @@ class LifecycleRule:
|
|
|
2921
2935
|
self._values["max_image_count"] = max_image_count
|
|
2922
2936
|
if rule_priority is not None:
|
|
2923
2937
|
self._values["rule_priority"] = rule_priority
|
|
2938
|
+
if tag_pattern_list is not None:
|
|
2939
|
+
self._values["tag_pattern_list"] = tag_pattern_list
|
|
2924
2940
|
if tag_prefix_list is not None:
|
|
2925
2941
|
self._values["tag_prefix_list"] = tag_prefix_list
|
|
2926
2942
|
if tag_status is not None:
|
|
@@ -2971,10 +2987,29 @@ class LifecycleRule:
|
|
|
2971
2987
|
result = self._values.get("rule_priority")
|
|
2972
2988
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2973
2989
|
|
|
2990
|
+
@builtins.property
|
|
2991
|
+
def tag_pattern_list(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2992
|
+
'''Select images that have ALL the given patterns in their tag.
|
|
2993
|
+
|
|
2994
|
+
There is a maximum limit of four wildcards (*) per string.
|
|
2995
|
+
For example, ["*test*1*2*3", "test*1*2*3*"] is valid but
|
|
2996
|
+
["test*1*2*3*4*5*6"] is invalid.
|
|
2997
|
+
|
|
2998
|
+
Both tagPrefixList and tagPatternList cannot be specified
|
|
2999
|
+
together in a rule.
|
|
3000
|
+
|
|
3001
|
+
Only if tagStatus == TagStatus.Tagged
|
|
3002
|
+
'''
|
|
3003
|
+
result = self._values.get("tag_pattern_list")
|
|
3004
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
3005
|
+
|
|
2974
3006
|
@builtins.property
|
|
2975
3007
|
def tag_prefix_list(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2976
3008
|
'''Select images that have ALL the given prefixes in their tag.
|
|
2977
3009
|
|
|
3010
|
+
Both tagPrefixList and tagPatternList cannot be specified
|
|
3011
|
+
together in a rule.
|
|
3012
|
+
|
|
2978
3013
|
Only if tagStatus == TagStatus.Tagged
|
|
2979
3014
|
'''
|
|
2980
3015
|
result = self._values.get("tag_prefix_list")
|
|
@@ -2987,7 +3022,10 @@ class LifecycleRule:
|
|
|
2987
3022
|
Only one rule is allowed to select untagged images, and it must
|
|
2988
3023
|
have the highest rulePriority.
|
|
2989
3024
|
|
|
2990
|
-
:default:
|
|
3025
|
+
:default:
|
|
3026
|
+
|
|
3027
|
+
TagStatus.Tagged if tagPrefixList or tagPatternList is
|
|
3028
|
+
given, TagStatus.Any otherwise
|
|
2991
3029
|
'''
|
|
2992
3030
|
result = self._values.get("tag_status")
|
|
2993
3031
|
return typing.cast(typing.Optional["TagStatus"], result)
|
|
@@ -3847,6 +3885,7 @@ class RepositoryEncryption(
|
|
|
3847
3885
|
jsii_struct_bases=[],
|
|
3848
3886
|
name_mapping={
|
|
3849
3887
|
"auto_delete_images": "autoDeleteImages",
|
|
3888
|
+
"empty_on_delete": "emptyOnDelete",
|
|
3850
3889
|
"encryption": "encryption",
|
|
3851
3890
|
"encryption_key": "encryptionKey",
|
|
3852
3891
|
"image_scan_on_push": "imageScanOnPush",
|
|
@@ -3862,6 +3901,7 @@ class RepositoryProps:
|
|
|
3862
3901
|
self,
|
|
3863
3902
|
*,
|
|
3864
3903
|
auto_delete_images: typing.Optional[builtins.bool] = None,
|
|
3904
|
+
empty_on_delete: typing.Optional[builtins.bool] = None,
|
|
3865
3905
|
encryption: typing.Optional[RepositoryEncryption] = None,
|
|
3866
3906
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
3867
3907
|
image_scan_on_push: typing.Optional[builtins.bool] = None,
|
|
@@ -3872,7 +3912,8 @@ class RepositoryProps:
|
|
|
3872
3912
|
repository_name: typing.Optional[builtins.str] = None,
|
|
3873
3913
|
) -> None:
|
|
3874
3914
|
'''
|
|
3875
|
-
:param auto_delete_images: Whether all images should be automatically deleted when the repository is removed from the stack or when the stack is deleted. Requires the ``removalPolicy`` to be set to ``RemovalPolicy.DESTROY``. Default: false
|
|
3915
|
+
:param auto_delete_images: (deprecated) Whether all images should be automatically deleted when the repository is removed from the stack or when the stack is deleted. Requires the ``removalPolicy`` to be set to ``RemovalPolicy.DESTROY``. Default: false
|
|
3916
|
+
:param empty_on_delete: If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it. Default: false
|
|
3876
3917
|
:param encryption: The kind of server-side encryption to apply to this repository. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryptionKey is not specified, an AWS managed KMS key is used. Default: - ``KMS`` if ``encryptionKey`` is specified, or ``AES256`` otherwise.
|
|
3877
3918
|
:param encryption_key: External KMS key to use for repository encryption. The 'encryption' property must be either not specified or set to "KMS". An error will be emitted if encryption is set to "AES256". Default: - If encryption is set to ``KMS`` and this property is undefined, an AWS managed KMS key is used.
|
|
3878
3919
|
:param image_scan_on_push: Enable the scan on push when creating the repository. Default: false
|
|
@@ -3891,6 +3932,7 @@ class RepositoryProps:
|
|
|
3891
3932
|
if __debug__:
|
|
3892
3933
|
type_hints = typing.get_type_hints(_typecheckingstub__638b63dd5eb589e01019ee47c63d6335810d02b0d769f767f2bf2fddc285af28)
|
|
3893
3934
|
check_type(argname="argument auto_delete_images", value=auto_delete_images, expected_type=type_hints["auto_delete_images"])
|
|
3935
|
+
check_type(argname="argument empty_on_delete", value=empty_on_delete, expected_type=type_hints["empty_on_delete"])
|
|
3894
3936
|
check_type(argname="argument encryption", value=encryption, expected_type=type_hints["encryption"])
|
|
3895
3937
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
3896
3938
|
check_type(argname="argument image_scan_on_push", value=image_scan_on_push, expected_type=type_hints["image_scan_on_push"])
|
|
@@ -3902,6 +3944,8 @@ class RepositoryProps:
|
|
|
3902
3944
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3903
3945
|
if auto_delete_images is not None:
|
|
3904
3946
|
self._values["auto_delete_images"] = auto_delete_images
|
|
3947
|
+
if empty_on_delete is not None:
|
|
3948
|
+
self._values["empty_on_delete"] = empty_on_delete
|
|
3905
3949
|
if encryption is not None:
|
|
3906
3950
|
self._values["encryption"] = encryption
|
|
3907
3951
|
if encryption_key is not None:
|
|
@@ -3921,15 +3965,30 @@ class RepositoryProps:
|
|
|
3921
3965
|
|
|
3922
3966
|
@builtins.property
|
|
3923
3967
|
def auto_delete_images(self) -> typing.Optional[builtins.bool]:
|
|
3924
|
-
'''Whether all images should be automatically deleted when the repository is removed from the stack or when the stack is deleted.
|
|
3968
|
+
'''(deprecated) Whether all images should be automatically deleted when the repository is removed from the stack or when the stack is deleted.
|
|
3925
3969
|
|
|
3926
3970
|
Requires the ``removalPolicy`` to be set to ``RemovalPolicy.DESTROY``.
|
|
3927
3971
|
|
|
3928
3972
|
:default: false
|
|
3973
|
+
|
|
3974
|
+
:deprecated: Use ``emptyOnDelete`` instead.
|
|
3975
|
+
|
|
3976
|
+
:stability: deprecated
|
|
3929
3977
|
'''
|
|
3930
3978
|
result = self._values.get("auto_delete_images")
|
|
3931
3979
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3932
3980
|
|
|
3981
|
+
@builtins.property
|
|
3982
|
+
def empty_on_delete(self) -> typing.Optional[builtins.bool]:
|
|
3983
|
+
'''If true, deleting the repository force deletes the contents of the repository.
|
|
3984
|
+
|
|
3985
|
+
If false, the repository must be empty before attempting to delete it.
|
|
3986
|
+
|
|
3987
|
+
:default: false
|
|
3988
|
+
'''
|
|
3989
|
+
result = self._values.get("empty_on_delete")
|
|
3990
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3991
|
+
|
|
3933
3992
|
@builtins.property
|
|
3934
3993
|
def encryption(self) -> typing.Optional[RepositoryEncryption]:
|
|
3935
3994
|
'''The kind of server-side encryption to apply to this repository.
|
|
@@ -4090,6 +4149,7 @@ class Repository(
|
|
|
4090
4149
|
id: builtins.str,
|
|
4091
4150
|
*,
|
|
4092
4151
|
auto_delete_images: typing.Optional[builtins.bool] = None,
|
|
4152
|
+
empty_on_delete: typing.Optional[builtins.bool] = None,
|
|
4093
4153
|
encryption: typing.Optional[RepositoryEncryption] = None,
|
|
4094
4154
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4095
4155
|
image_scan_on_push: typing.Optional[builtins.bool] = None,
|
|
@@ -4102,7 +4162,8 @@ class Repository(
|
|
|
4102
4162
|
'''
|
|
4103
4163
|
:param scope: -
|
|
4104
4164
|
:param id: -
|
|
4105
|
-
:param auto_delete_images: Whether all images should be automatically deleted when the repository is removed from the stack or when the stack is deleted. Requires the ``removalPolicy`` to be set to ``RemovalPolicy.DESTROY``. Default: false
|
|
4165
|
+
:param auto_delete_images: (deprecated) Whether all images should be automatically deleted when the repository is removed from the stack or when the stack is deleted. Requires the ``removalPolicy`` to be set to ``RemovalPolicy.DESTROY``. Default: false
|
|
4166
|
+
:param empty_on_delete: If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it. Default: false
|
|
4106
4167
|
:param encryption: The kind of server-side encryption to apply to this repository. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryptionKey is not specified, an AWS managed KMS key is used. Default: - ``KMS`` if ``encryptionKey`` is specified, or ``AES256`` otherwise.
|
|
4107
4168
|
:param encryption_key: External KMS key to use for repository encryption. The 'encryption' property must be either not specified or set to "KMS". An error will be emitted if encryption is set to "AES256". Default: - If encryption is set to ``KMS`` and this property is undefined, an AWS managed KMS key is used.
|
|
4108
4169
|
:param image_scan_on_push: Enable the scan on push when creating the repository. Default: false
|
|
@@ -4118,6 +4179,7 @@ class Repository(
|
|
|
4118
4179
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
4119
4180
|
props = RepositoryProps(
|
|
4120
4181
|
auto_delete_images=auto_delete_images,
|
|
4182
|
+
empty_on_delete=empty_on_delete,
|
|
4121
4183
|
encryption=encryption,
|
|
4122
4184
|
encryption_key=encryption_key,
|
|
4123
4185
|
image_scan_on_push=image_scan_on_push,
|
|
@@ -4226,6 +4288,7 @@ class Repository(
|
|
|
4226
4288
|
max_image_age: typing.Optional[_Duration_4839e8c3] = None,
|
|
4227
4289
|
max_image_count: typing.Optional[jsii.Number] = None,
|
|
4228
4290
|
rule_priority: typing.Optional[jsii.Number] = None,
|
|
4291
|
+
tag_pattern_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4229
4292
|
tag_prefix_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4230
4293
|
tag_status: typing.Optional[TagStatus] = None,
|
|
4231
4294
|
) -> None:
|
|
@@ -4238,14 +4301,16 @@ class Repository(
|
|
|
4238
4301
|
:param max_image_age: The maximum age of images to retain. The value must represent a number of days. Specify exactly one of maxImageCount and maxImageAge.
|
|
4239
4302
|
:param max_image_count: The maximum number of images to retain. Specify exactly one of maxImageCount and maxImageAge.
|
|
4240
4303
|
:param rule_priority: Controls the order in which rules are evaluated (low to high). All rules must have a unique priority, where lower numbers have higher precedence. The first rule that matches is applied to an image. There can only be one rule with a tagStatus of Any, and it must have the highest rulePriority. All rules without a specified priority will have incrementing priorities automatically assigned to them, higher than any rules that DO have priorities. Default: Automatically assigned
|
|
4241
|
-
:param
|
|
4242
|
-
:param
|
|
4304
|
+
:param tag_pattern_list: Select images that have ALL the given patterns in their tag. There is a maximum limit of four wildcards (*) per string. For example, ["*test*1*2*3", "test*1*2*3*"] is valid but ["test*1*2*3*4*5*6"] is invalid. Both tagPrefixList and tagPatternList cannot be specified together in a rule. Only if tagStatus == TagStatus.Tagged
|
|
4305
|
+
:param tag_prefix_list: Select images that have ALL the given prefixes in their tag. Both tagPrefixList and tagPatternList cannot be specified together in a rule. Only if tagStatus == TagStatus.Tagged
|
|
4306
|
+
:param tag_status: Select images based on tags. Only one rule is allowed to select untagged images, and it must have the highest rulePriority. Default: TagStatus.Tagged if tagPrefixList or tagPatternList is given, TagStatus.Any otherwise
|
|
4243
4307
|
'''
|
|
4244
4308
|
rule = LifecycleRule(
|
|
4245
4309
|
description=description,
|
|
4246
4310
|
max_image_age=max_image_age,
|
|
4247
4311
|
max_image_count=max_image_count,
|
|
4248
4312
|
rule_priority=rule_priority,
|
|
4313
|
+
tag_pattern_list=tag_pattern_list,
|
|
4249
4314
|
tag_prefix_list=tag_prefix_list,
|
|
4250
4315
|
tag_status=tag_status,
|
|
4251
4316
|
)
|
|
@@ -4767,6 +4832,7 @@ def _typecheckingstub__daefc01ac58c056180e96357fa989faf5de713c6f5bd46bb023e2579b
|
|
|
4767
4832
|
max_image_age: typing.Optional[_Duration_4839e8c3] = None,
|
|
4768
4833
|
max_image_count: typing.Optional[jsii.Number] = None,
|
|
4769
4834
|
rule_priority: typing.Optional[jsii.Number] = None,
|
|
4835
|
+
tag_pattern_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4770
4836
|
tag_prefix_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4771
4837
|
tag_status: typing.Optional[TagStatus] = None,
|
|
4772
4838
|
) -> None:
|
|
@@ -4937,6 +5003,7 @@ def _typecheckingstub__144b557444508fc0a954f4a654cd03105778da2972bab34f799be4e54
|
|
|
4937
5003
|
def _typecheckingstub__638b63dd5eb589e01019ee47c63d6335810d02b0d769f767f2bf2fddc285af28(
|
|
4938
5004
|
*,
|
|
4939
5005
|
auto_delete_images: typing.Optional[builtins.bool] = None,
|
|
5006
|
+
empty_on_delete: typing.Optional[builtins.bool] = None,
|
|
4940
5007
|
encryption: typing.Optional[RepositoryEncryption] = None,
|
|
4941
5008
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4942
5009
|
image_scan_on_push: typing.Optional[builtins.bool] = None,
|
|
@@ -4954,6 +5021,7 @@ def _typecheckingstub__0fcb489ea7ac91914ff0429ef13d64f8bd29978872d9ce4754ee9d397
|
|
|
4954
5021
|
id: builtins.str,
|
|
4955
5022
|
*,
|
|
4956
5023
|
auto_delete_images: typing.Optional[builtins.bool] = None,
|
|
5024
|
+
empty_on_delete: typing.Optional[builtins.bool] = None,
|
|
4957
5025
|
encryption: typing.Optional[RepositoryEncryption] = None,
|
|
4958
5026
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4959
5027
|
image_scan_on_push: typing.Optional[builtins.bool] = None,
|