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.

Files changed (66) hide show
  1. aws_cdk/__init__.py +801 -356
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +3 -1
  5. aws_cdk/aws_apigatewayv2/__init__.py +595 -222
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
  7. aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
  8. aws_cdk/aws_appsync/__init__.py +14 -3
  9. aws_cdk/aws_autoscaling/__init__.py +6 -0
  10. aws_cdk/aws_b2bi/__init__.py +2445 -0
  11. aws_cdk/aws_cloud9/__init__.py +63 -63
  12. aws_cdk/aws_cloudfront/__init__.py +394 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
  14. aws_cdk/aws_cloudtrail/__init__.py +90 -11
  15. aws_cdk/aws_cloudwatch/__init__.py +6 -6
  16. aws_cdk/aws_codedeploy/__init__.py +88 -15
  17. aws_cdk/aws_codepipeline/__init__.py +645 -0
  18. aws_cdk/aws_cognito/__init__.py +13 -26
  19. aws_cdk/aws_config/__init__.py +315 -1
  20. aws_cdk/aws_connect/__init__.py +532 -37
  21. aws_cdk/aws_controltower/__init__.py +4 -4
  22. aws_cdk/aws_datasync/__init__.py +6 -4
  23. aws_cdk/aws_dms/__init__.py +241 -131
  24. aws_cdk/aws_dynamodb/__init__.py +8 -0
  25. aws_cdk/aws_ec2/__init__.py +1030 -45
  26. aws_cdk/aws_ecr/__init__.py +78 -10
  27. aws_cdk/aws_ecs/__init__.py +210 -2
  28. aws_cdk/aws_ecs_patterns/__init__.py +77 -62
  29. aws_cdk/aws_eks/__init__.py +8 -1
  30. aws_cdk/aws_elasticache/__init__.py +136 -10
  31. aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
  32. aws_cdk/aws_emr/__init__.py +234 -17
  33. aws_cdk/aws_eventschemas/__init__.py +15 -13
  34. aws_cdk/aws_fis/__init__.py +33 -13
  35. aws_cdk/aws_gamelift/__init__.py +47 -0
  36. aws_cdk/aws_imagebuilder/__init__.py +922 -84
  37. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  38. aws_cdk/aws_iot/__init__.py +26 -46
  39. aws_cdk/aws_iottwinmaker/__init__.py +36 -34
  40. aws_cdk/aws_lambda/__init__.py +19 -15
  41. aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
  42. aws_cdk/aws_logs/__init__.py +6 -6
  43. aws_cdk/aws_opensearchservice/__init__.py +5 -3
  44. aws_cdk/aws_organizations/__init__.py +3 -3
  45. aws_cdk/aws_osis/__init__.py +17 -13
  46. aws_cdk/aws_rds/__init__.py +6 -0
  47. aws_cdk/aws_s3/__init__.py +4 -2
  48. aws_cdk/aws_s3outposts/__init__.py +8 -8
  49. aws_cdk/aws_sagemaker/__init__.py +17 -94
  50. aws_cdk/aws_secretsmanager/__init__.py +9 -7
  51. aws_cdk/aws_securityhub/__init__.py +18 -0
  52. aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
  53. aws_cdk/aws_ses/__init__.py +58 -11
  54. aws_cdk/aws_sns/__init__.py +309 -10
  55. aws_cdk/aws_ssm/__init__.py +3 -5
  56. aws_cdk/aws_stepfunctions/__init__.py +335 -19
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
  58. aws_cdk/aws_transfer/__init__.py +37 -10
  59. aws_cdk/custom_resources/__init__.py +443 -1
  60. aws_cdk/triggers/__init__.py +5 -2
  61. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
  62. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
  63. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
  64. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
  65. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
  66. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
@@ -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`autoDeleteImages` option.
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
- auto_delete_images=True
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 tag_prefix_list: Select images that have ALL the given prefixes in their tag. Only if tagStatus == TagStatus.Tagged
2896
- :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 is given, TagStatus.Any otherwise
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: TagStatus.Tagged if tagPrefixList is given, TagStatus.Any otherwise
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 tag_prefix_list: Select images that have ALL the given prefixes in their tag. Only if tagStatus == TagStatus.Tagged
4242
- :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 is given, TagStatus.Any otherwise
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,