aws-cdk-lib 2.130.0__py3-none-any.whl → 2.131.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 (72) hide show
  1. aws_cdk/__init__.py +41 -21
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.130.0.jsii.tgz → aws-cdk-lib@2.131.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +52 -11
  5. aws_cdk/aws_apigatewayv2_integrations/__init__.py +286 -0
  6. aws_cdk/aws_appconfig/__init__.py +36 -5
  7. aws_cdk/aws_applicationautoscaling/__init__.py +80 -123
  8. aws_cdk/aws_applicationinsights/__init__.py +48 -0
  9. aws_cdk/aws_apprunner/__init__.py +8 -1
  10. aws_cdk/aws_appstream/__init__.py +8 -1
  11. aws_cdk/aws_appsync/__init__.py +324 -103
  12. aws_cdk/aws_athena/__init__.py +8 -1
  13. aws_cdk/aws_b2bi/__init__.py +30 -4
  14. aws_cdk/aws_backup/__init__.py +77 -53
  15. aws_cdk/aws_cleanrooms/__init__.py +37 -5
  16. aws_cdk/aws_cloudtrail/__init__.py +23 -1
  17. aws_cdk/aws_codebuild/__init__.py +8 -1
  18. aws_cdk/aws_codestarconnections/__init__.py +8 -1
  19. aws_cdk/aws_cognito/__init__.py +21 -21
  20. aws_cdk/aws_comprehend/__init__.py +8 -1
  21. aws_cdk/aws_connect/__init__.py +57 -8
  22. aws_cdk/aws_controltower/__init__.py +27 -7
  23. aws_cdk/aws_customerprofiles/__init__.py +136 -123
  24. aws_cdk/aws_datapipeline/__init__.py +19 -11
  25. aws_cdk/aws_datasync/__init__.py +8 -1
  26. aws_cdk/aws_datazone/__init__.py +9 -1
  27. aws_cdk/aws_dms/__init__.py +29 -4
  28. aws_cdk/aws_docdb/__init__.py +131 -5
  29. aws_cdk/aws_ec2/__init__.py +178 -65
  30. aws_cdk/aws_ecs/__init__.py +43 -51
  31. aws_cdk/aws_ecs_patterns/__init__.py +214 -0
  32. aws_cdk/aws_eks/__init__.py +43 -2
  33. aws_cdk/aws_elasticache/__init__.py +8 -1
  34. aws_cdk/aws_elasticloadbalancingv2/__init__.py +8 -1
  35. aws_cdk/aws_emr/__init__.py +8 -1
  36. aws_cdk/aws_entityresolution/__init__.py +23 -3
  37. aws_cdk/aws_events/__init__.py +12 -1
  38. aws_cdk/aws_fms/__init__.py +8 -1
  39. aws_cdk/aws_glue/__init__.py +18 -4
  40. aws_cdk/aws_healthimaging/__init__.py +9 -1
  41. aws_cdk/aws_inspectorv2/__init__.py +9 -1
  42. aws_cdk/aws_iot/__init__.py +29 -4
  43. aws_cdk/aws_ivs/__init__.py +8 -1
  44. aws_cdk/aws_kms/__init__.py +1 -1
  45. aws_cdk/aws_lambda/__init__.py +3 -5
  46. aws_cdk/aws_location/__init__.py +44 -6
  47. aws_cdk/aws_logs/__init__.py +22 -3
  48. aws_cdk/aws_macie/__init__.py +15 -2
  49. aws_cdk/aws_medialive/__init__.py +8 -1
  50. aws_cdk/aws_mediapackagev2/__init__.py +23 -3
  51. aws_cdk/aws_mediatailor/__init__.py +29 -4
  52. aws_cdk/aws_msk/__init__.py +8 -1
  53. aws_cdk/aws_neptunegraph/__init__.py +9 -1
  54. aws_cdk/aws_networkfirewall/__init__.py +8 -1
  55. aws_cdk/aws_pcaconnectorad/__init__.py +23 -3
  56. aws_cdk/aws_pinpointemail/__init__.py +23 -3
  57. aws_cdk/aws_quicksight/__init__.py +37 -0
  58. aws_cdk/aws_rds/__init__.py +47 -4
  59. aws_cdk/aws_route53resolver/__init__.py +8 -1
  60. aws_cdk/aws_s3/__init__.py +29 -4
  61. aws_cdk/aws_sagemaker/__init__.py +19 -8
  62. aws_cdk/aws_securityhub/__init__.py +8 -1
  63. aws_cdk/aws_shield/__init__.py +16 -2
  64. aws_cdk/aws_workspacesthinclient/__init__.py +9 -1
  65. aws_cdk/aws_workspacesweb/__init__.py +51 -7
  66. aws_cdk/aws_xray/__init__.py +16 -2
  67. {aws_cdk_lib-2.130.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/METADATA +1 -1
  68. {aws_cdk_lib-2.130.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/RECORD +72 -72
  69. {aws_cdk_lib-2.130.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/LICENSE +0 -0
  70. {aws_cdk_lib-2.130.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/NOTICE +0 -0
  71. {aws_cdk_lib-2.130.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/WHEEL +0 -0
  72. {aws_cdk_lib-2.130.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/top_level.txt +0 -0
@@ -44,11 +44,13 @@ from .. import (
44
44
  CfnResource as _CfnResource_9df397a6,
45
45
  IInspectable as _IInspectable_c2943556,
46
46
  IResolvable as _IResolvable_da3f097b,
47
+ ITaggableV2 as _ITaggableV2_4e6798f8,
48
+ TagManager as _TagManager_0a598cb3,
47
49
  TreeInspector as _TreeInspector_488e0dd5,
48
50
  )
49
51
 
50
52
 
51
- @jsii.implements(_IInspectable_c2943556)
53
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
52
54
  class CfnPipeline(
53
55
  _CfnResource_9df397a6,
54
56
  metaclass=jsii.JSIIMeta,
@@ -125,7 +127,7 @@ class CfnPipeline(
125
127
  parameter_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.ParameterObjectProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
126
128
  parameter_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.ParameterValueProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
127
129
  pipeline_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.PipelineObjectProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
128
- pipeline_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.PipelineTagProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
130
+ pipeline_tags: typing.Optional[typing.Sequence[typing.Union["CfnPipeline.PipelineTagProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
129
131
  ) -> None:
130
132
  '''
131
133
  :param scope: Scope in which this resource is defined.
@@ -201,6 +203,12 @@ class CfnPipeline(
201
203
  '''
202
204
  return typing.cast(builtins.str, jsii.get(self, "attrPipelineId"))
203
205
 
206
+ @builtins.property
207
+ @jsii.member(jsii_name="cdkTagManager")
208
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
209
+ '''Tag Manager which manages the tags for this resource.'''
210
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
211
+
204
212
  @builtins.property
205
213
  @jsii.member(jsii_name="cfnProperties")
206
214
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -308,14 +316,14 @@ class CfnPipeline(
308
316
  @jsii.member(jsii_name="pipelineTags")
309
317
  def pipeline_tags(
310
318
  self,
311
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnPipeline.PipelineTagProperty"]]]]:
319
+ ) -> typing.Optional[typing.List["CfnPipeline.PipelineTagProperty"]]:
312
320
  '''A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions.'''
313
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnPipeline.PipelineTagProperty"]]]], jsii.get(self, "pipelineTags"))
321
+ return typing.cast(typing.Optional[typing.List["CfnPipeline.PipelineTagProperty"]], jsii.get(self, "pipelineTags"))
314
322
 
315
323
  @pipeline_tags.setter
316
324
  def pipeline_tags(
317
325
  self,
318
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnPipeline.PipelineTagProperty"]]]],
326
+ value: typing.Optional[typing.List["CfnPipeline.PipelineTagProperty"]],
319
327
  ) -> None:
320
328
  if __debug__:
321
329
  type_hints = typing.get_type_hints(_typecheckingstub__1bdff7a2b094eb0859ba59733450f878d0d39b1023848274f462bc883bc2055d)
@@ -827,7 +835,7 @@ class CfnPipelineProps:
827
835
  parameter_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ParameterObjectProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
828
836
  parameter_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ParameterValueProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
829
837
  pipeline_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.PipelineObjectProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
830
- pipeline_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.PipelineTagProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
838
+ pipeline_tags: typing.Optional[typing.Sequence[typing.Union[CfnPipeline.PipelineTagProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
831
839
  ) -> None:
832
840
  '''Properties for defining a ``CfnPipeline``.
833
841
 
@@ -977,7 +985,7 @@ class CfnPipelineProps:
977
985
  @builtins.property
978
986
  def pipeline_tags(
979
987
  self,
980
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnPipeline.PipelineTagProperty]]]]:
988
+ ) -> typing.Optional[typing.List[CfnPipeline.PipelineTagProperty]]:
981
989
  '''A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions.
982
990
 
983
991
  For more information, see `Controlling Access to Pipelines and Resources <https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html>`_ in the *AWS Data Pipeline Developer Guide* .
@@ -985,7 +993,7 @@ class CfnPipelineProps:
985
993
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-pipelinetags
986
994
  '''
987
995
  result = self._values.get("pipeline_tags")
988
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnPipeline.PipelineTagProperty]]]], result)
996
+ return typing.cast(typing.Optional[typing.List[CfnPipeline.PipelineTagProperty]], result)
989
997
 
990
998
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
991
999
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1016,7 +1024,7 @@ def _typecheckingstub__234bba6a4e11fe2b9f45dcf4e448e89d2ca6fc1f137ad5c70158dbb94
1016
1024
  parameter_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ParameterObjectProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1017
1025
  parameter_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ParameterValueProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1018
1026
  pipeline_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.PipelineObjectProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1019
- pipeline_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.PipelineTagProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1027
+ pipeline_tags: typing.Optional[typing.Sequence[typing.Union[CfnPipeline.PipelineTagProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1020
1028
  ) -> None:
1021
1029
  """Type checking stubs"""
1022
1030
  pass
@@ -1070,7 +1078,7 @@ def _typecheckingstub__303ff38be40efb59439d8be9b488922db23d7f70ba23f6de2ae3877b9
1070
1078
  pass
1071
1079
 
1072
1080
  def _typecheckingstub__1bdff7a2b094eb0859ba59733450f878d0d39b1023848274f462bc883bc2055d(
1073
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnPipeline.PipelineTagProperty]]]],
1081
+ value: typing.Optional[typing.List[CfnPipeline.PipelineTagProperty]],
1074
1082
  ) -> None:
1075
1083
  """Type checking stubs"""
1076
1084
  pass
@@ -1133,7 +1141,7 @@ def _typecheckingstub__429bab82e7799b22bfaef6728eba104991534351e5d263614f403da5e
1133
1141
  parameter_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ParameterObjectProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1134
1142
  parameter_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ParameterValueProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1135
1143
  pipeline_objects: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.PipelineObjectProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1136
- pipeline_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.PipelineTagProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1144
+ pipeline_tags: typing.Optional[typing.Sequence[typing.Union[CfnPipeline.PipelineTagProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1137
1145
  ) -> None:
1138
1146
  """Type checking stubs"""
1139
1147
  pass
@@ -46,6 +46,7 @@ from .. import (
46
46
  IInspectable as _IInspectable_c2943556,
47
47
  IResolvable as _IResolvable_da3f097b,
48
48
  ITaggable as _ITaggable_36806126,
49
+ ITaggableV2 as _ITaggableV2_4e6798f8,
49
50
  TagManager as _TagManager_0a598cb3,
50
51
  TreeInspector as _TreeInspector_488e0dd5,
51
52
  )
@@ -431,7 +432,7 @@ class CfnAgentProps:
431
432
  )
432
433
 
433
434
 
434
- @jsii.implements(_IInspectable_c2943556)
435
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
435
436
  class CfnLocationAzureBlob(
436
437
  _CfnResource_9df397a6,
437
438
  metaclass=jsii.JSIIMeta,
@@ -563,6 +564,12 @@ class CfnLocationAzureBlob(
563
564
  '''
564
565
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
565
566
 
567
+ @builtins.property
568
+ @jsii.member(jsii_name="cdkTagManager")
569
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
570
+ '''Tag Manager which manages the tags for this resource.'''
571
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
572
+
566
573
  @builtins.property
567
574
  @jsii.member(jsii_name="cfnProperties")
568
575
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -55,6 +55,8 @@ from .. import (
55
55
  CfnTag as _CfnTag_f6864754,
56
56
  IInspectable as _IInspectable_c2943556,
57
57
  IResolvable as _IResolvable_da3f097b,
58
+ ITaggableV2 as _ITaggableV2_4e6798f8,
59
+ TagManager as _TagManager_0a598cb3,
58
60
  TreeInspector as _TreeInspector_488e0dd5,
59
61
  )
60
62
 
@@ -1784,7 +1786,7 @@ class CfnDataSourceProps:
1784
1786
  )
1785
1787
 
1786
1788
 
1787
- @jsii.implements(_IInspectable_c2943556)
1789
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1788
1790
  class CfnDomain(
1789
1791
  _CfnResource_9df397a6,
1790
1792
  metaclass=jsii.JSIIMeta,
@@ -1952,6 +1954,12 @@ class CfnDomain(
1952
1954
  '''
1953
1955
  return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
1954
1956
 
1957
+ @builtins.property
1958
+ @jsii.member(jsii_name="cdkTagManager")
1959
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1960
+ '''Tag Manager which manages the tags for this resource.'''
1961
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1962
+
1955
1963
  @builtins.property
1956
1964
  @jsii.member(jsii_name="cfnProperties")
1957
1965
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -46,6 +46,7 @@ from .. import (
46
46
  IInspectable as _IInspectable_c2943556,
47
47
  IResolvable as _IResolvable_da3f097b,
48
48
  ITaggable as _ITaggable_36806126,
49
+ ITaggableV2 as _ITaggableV2_4e6798f8,
49
50
  TagManager as _TagManager_0a598cb3,
50
51
  TreeInspector as _TreeInspector_488e0dd5,
51
52
  )
@@ -281,7 +282,7 @@ class CfnCertificateProps:
281
282
  )
282
283
 
283
284
 
284
- @jsii.implements(_IInspectable_c2943556)
285
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
285
286
  class CfnDataProvider(
286
287
  _CfnResource_9df397a6,
287
288
  metaclass=jsii.JSIIMeta,
@@ -411,6 +412,12 @@ class CfnDataProvider(
411
412
  '''
412
413
  return typing.cast(builtins.str, jsii.get(self, "attrDataProviderCreationTime"))
413
414
 
415
+ @builtins.property
416
+ @jsii.member(jsii_name="cdkTagManager")
417
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
418
+ '''Tag Manager which manages the tags for this resource.'''
419
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
420
+
414
421
  @builtins.property
415
422
  @jsii.member(jsii_name="cfnProperties")
416
423
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -8297,7 +8304,7 @@ class CfnEventSubscriptionProps:
8297
8304
  )
8298
8305
 
8299
8306
 
8300
- @jsii.implements(_IInspectable_c2943556)
8307
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8301
8308
  class CfnInstanceProfile(
8302
8309
  _CfnResource_9df397a6,
8303
8310
  metaclass=jsii.JSIIMeta,
@@ -8429,6 +8436,12 @@ class CfnInstanceProfile(
8429
8436
  '''
8430
8437
  return typing.cast(builtins.str, jsii.get(self, "attrInstanceProfileCreationTime"))
8431
8438
 
8439
+ @builtins.property
8440
+ @jsii.member(jsii_name="cdkTagManager")
8441
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
8442
+ '''Tag Manager which manages the tags for this resource.'''
8443
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
8444
+
8432
8445
  @builtins.property
8433
8446
  @jsii.member(jsii_name="cfnProperties")
8434
8447
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -8796,7 +8809,7 @@ class CfnInstanceProfileProps:
8796
8809
  )
8797
8810
 
8798
8811
 
8799
- @jsii.implements(_IInspectable_c2943556)
8812
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8800
8813
  class CfnMigrationProject(
8801
8814
  _CfnResource_9df397a6,
8802
8815
  metaclass=jsii.JSIIMeta,
@@ -8942,6 +8955,12 @@ class CfnMigrationProject(
8942
8955
  '''
8943
8956
  return typing.cast(builtins.str, jsii.get(self, "attrMigrationProjectArn"))
8944
8957
 
8958
+ @builtins.property
8959
+ @jsii.member(jsii_name="cdkTagManager")
8960
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
8961
+ '''Tag Manager which manages the tags for this resource.'''
8962
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
8963
+
8945
8964
  @builtins.property
8946
8965
  @jsii.member(jsii_name="cfnProperties")
8947
8966
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -9586,7 +9605,7 @@ class CfnMigrationProjectProps:
9586
9605
  )
9587
9606
 
9588
9607
 
9589
- @jsii.implements(_IInspectable_c2943556)
9608
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
9590
9609
  class CfnReplicationConfig(
9591
9610
  _CfnResource_9df397a6,
9592
9611
  metaclass=jsii.JSIIMeta,
@@ -9725,6 +9744,12 @@ class CfnReplicationConfig(
9725
9744
  '''
9726
9745
  return typing.cast(builtins.str, jsii.get(self, "attrReplicationConfigArn"))
9727
9746
 
9747
+ @builtins.property
9748
+ @jsii.member(jsii_name="cdkTagManager")
9749
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
9750
+ '''Tag Manager which manages the tags for this resource.'''
9751
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
9752
+
9728
9753
  @builtins.property
9729
9754
  @jsii.member(jsii_name="cfnProperties")
9730
9755
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -191,6 +191,76 @@ cluster = docdb.DatabaseCluster(self, "Database",
191
191
  enable_performance_insights=True
192
192
  )
193
193
  ```
194
+
195
+ ## Removal Policy
196
+
197
+ This resource supports the snapshot removal policy.
198
+ To specify it use the `removalPolicy` property:
199
+
200
+ ```python
201
+ # vpc: ec2.Vpc
202
+
203
+
204
+ cluster = docdb.DatabaseCluster(self, "Database",
205
+ master_user=docdb.Login(
206
+ username="myuser"
207
+ ),
208
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
209
+ vpc_subnets=ec2.SubnetSelection(
210
+ subnet_type=ec2.SubnetType.PUBLIC
211
+ ),
212
+ vpc=vpc,
213
+ removal_policy=RemovalPolicy.SNAPSHOT
214
+ )
215
+ ```
216
+
217
+ **Note**: A `RemovalPolicy.DESTROY` removal policy will be applied to the
218
+ cluster's instances and security group by default as they don't support the snapshot
219
+ removal policy.
220
+
221
+ > Visit [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) for more details.
222
+
223
+ To specify a custom removal policy for the cluster's instances, use the
224
+ `instanceRemovalPolicy` property:
225
+
226
+ ```python
227
+ # vpc: ec2.Vpc
228
+
229
+
230
+ cluster = docdb.DatabaseCluster(self, "Database",
231
+ master_user=docdb.Login(
232
+ username="myuser"
233
+ ),
234
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
235
+ vpc_subnets=ec2.SubnetSelection(
236
+ subnet_type=ec2.SubnetType.PUBLIC
237
+ ),
238
+ vpc=vpc,
239
+ removal_policy=RemovalPolicy.SNAPSHOT,
240
+ instance_removal_policy=RemovalPolicy.RETAIN
241
+ )
242
+ ```
243
+
244
+ To specify a custom removal policy for the cluster's security group, use the
245
+ `securityGroupRemovalPolicy` property:
246
+
247
+ ```python
248
+ # vpc: ec2.Vpc
249
+
250
+
251
+ cluster = docdb.DatabaseCluster(self, "Database",
252
+ master_user=docdb.Login(
253
+ username="myuser"
254
+ ),
255
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
256
+ vpc_subnets=ec2.SubnetSelection(
257
+ subnet_type=ec2.SubnetType.PUBLIC
258
+ ),
259
+ vpc=vpc,
260
+ removal_policy=RemovalPolicy.SNAPSHOT,
261
+ security_group_removal_policy=RemovalPolicy.RETAIN
262
+ )
263
+ ```
194
264
  '''
195
265
  import abc
196
266
  import builtins
@@ -3279,6 +3349,7 @@ class DatabaseClusterAttributes:
3279
3349
  "export_audit_logs_to_cloud_watch": "exportAuditLogsToCloudWatch",
3280
3350
  "export_profiler_logs_to_cloud_watch": "exportProfilerLogsToCloudWatch",
3281
3351
  "instance_identifier_base": "instanceIdentifierBase",
3352
+ "instance_removal_policy": "instanceRemovalPolicy",
3282
3353
  "instances": "instances",
3283
3354
  "kms_key": "kmsKey",
3284
3355
  "parameter_group": "parameterGroup",
@@ -3286,6 +3357,7 @@ class DatabaseClusterAttributes:
3286
3357
  "preferred_maintenance_window": "preferredMaintenanceWindow",
3287
3358
  "removal_policy": "removalPolicy",
3288
3359
  "security_group": "securityGroup",
3360
+ "security_group_removal_policy": "securityGroupRemovalPolicy",
3289
3361
  "storage_encrypted": "storageEncrypted",
3290
3362
  "vpc_subnets": "vpcSubnets",
3291
3363
  },
@@ -3307,6 +3379,7 @@ class DatabaseClusterProps:
3307
3379
  export_audit_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
3308
3380
  export_profiler_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
3309
3381
  instance_identifier_base: typing.Optional[builtins.str] = None,
3382
+ instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3310
3383
  instances: typing.Optional[jsii.Number] = None,
3311
3384
  kms_key: typing.Optional[_IKey_5f11635f] = None,
3312
3385
  parameter_group: typing.Optional["IClusterParameterGroup"] = None,
@@ -3314,6 +3387,7 @@ class DatabaseClusterProps:
3314
3387
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
3315
3388
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3316
3389
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
3390
+ security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3317
3391
  storage_encrypted: typing.Optional[builtins.bool] = None,
3318
3392
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
3319
3393
  ) -> None:
@@ -3332,13 +3406,15 @@ class DatabaseClusterProps:
3332
3406
  :param export_audit_logs_to_cloud_watch: Whether the audit logs should be exported to CloudWatch. Note that you also have to configure the audit log export in the Cluster's Parameter Group. Default: false
3333
3407
  :param export_profiler_logs_to_cloud_watch: Whether the profiler logs should be exported to CloudWatch. Note that you also have to configure the profiler log export in the Cluster's Parameter Group. Default: false
3334
3408
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - ``dbClusterName`` is used with the word "Instance" appended. If ``dbClusterName`` is not provided, the identifier is automatically generated.
3409
+ :param instance_removal_policy: The removal policy to apply to the cluster's instances. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
3335
3410
  :param instances: Number of DocDB compute instances. Default: 1
3336
3411
  :param kms_key: The KMS key for storage encryption. Default: - default master key.
3337
3412
  :param parameter_group: The DB parameter group to associate with the instance. Default: no parameter group
3338
3413
  :param port: The port the DocumentDB cluster will listen on. Default: DatabaseCluster.DEFAULT_PORT
3339
3414
  :param preferred_maintenance_window: A weekly time range in which maintenance should preferably execute. Must be at least 30 minutes long. Example: 'tue:04:17-tue:04:47' Default: - 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
3340
- :param removal_policy: The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted. This removal policy also applies to the implicit security group created for the cluster if one is not supplied as a parameter. Default: - Retain cluster.
3415
+ :param removal_policy: The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted. This removal policy also applies to the implicit security group created for the cluster if one is not supplied as a parameter. When set to ``SNAPSHOT``, the removal policy for the instances and the security group will default to ``DESTROY`` as those resources do not support the policy. Use the ``instanceRemovalPolicy`` and ``securityGroupRemovalPolicy`` to change the behavior. Default: - Retain cluster.
3341
3416
  :param security_group: Security group. Default: a new security group is created.
3417
+ :param security_group_removal_policy: The removal policy to apply to the cluster's security group. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
3342
3418
  :param storage_encrypted: Whether to enable storage encryption. Default: true
3343
3419
  :param vpc_subnets: Where to place the instances within the VPC. Default: private subnets
3344
3420
 
@@ -3348,6 +3424,7 @@ class DatabaseClusterProps:
3348
3424
 
3349
3425
  # vpc: ec2.Vpc
3350
3426
 
3427
+
3351
3428
  cluster = docdb.DatabaseCluster(self, "Database",
3352
3429
  master_user=docdb.Login(
3353
3430
  username="myuser"
@@ -3357,7 +3434,7 @@ class DatabaseClusterProps:
3357
3434
  subnet_type=ec2.SubnetType.PUBLIC
3358
3435
  ),
3359
3436
  vpc=vpc,
3360
- deletion_protection=True
3437
+ removal_policy=RemovalPolicy.SNAPSHOT
3361
3438
  )
3362
3439
  '''
3363
3440
  if isinstance(master_user, dict):
@@ -3381,6 +3458,7 @@ class DatabaseClusterProps:
3381
3458
  check_type(argname="argument export_audit_logs_to_cloud_watch", value=export_audit_logs_to_cloud_watch, expected_type=type_hints["export_audit_logs_to_cloud_watch"])
3382
3459
  check_type(argname="argument export_profiler_logs_to_cloud_watch", value=export_profiler_logs_to_cloud_watch, expected_type=type_hints["export_profiler_logs_to_cloud_watch"])
3383
3460
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
3461
+ check_type(argname="argument instance_removal_policy", value=instance_removal_policy, expected_type=type_hints["instance_removal_policy"])
3384
3462
  check_type(argname="argument instances", value=instances, expected_type=type_hints["instances"])
3385
3463
  check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
3386
3464
  check_type(argname="argument parameter_group", value=parameter_group, expected_type=type_hints["parameter_group"])
@@ -3388,6 +3466,7 @@ class DatabaseClusterProps:
3388
3466
  check_type(argname="argument preferred_maintenance_window", value=preferred_maintenance_window, expected_type=type_hints["preferred_maintenance_window"])
3389
3467
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
3390
3468
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
3469
+ check_type(argname="argument security_group_removal_policy", value=security_group_removal_policy, expected_type=type_hints["security_group_removal_policy"])
3391
3470
  check_type(argname="argument storage_encrypted", value=storage_encrypted, expected_type=type_hints["storage_encrypted"])
3392
3471
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
3393
3472
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -3415,6 +3494,8 @@ class DatabaseClusterProps:
3415
3494
  self._values["export_profiler_logs_to_cloud_watch"] = export_profiler_logs_to_cloud_watch
3416
3495
  if instance_identifier_base is not None:
3417
3496
  self._values["instance_identifier_base"] = instance_identifier_base
3497
+ if instance_removal_policy is not None:
3498
+ self._values["instance_removal_policy"] = instance_removal_policy
3418
3499
  if instances is not None:
3419
3500
  self._values["instances"] = instances
3420
3501
  if kms_key is not None:
@@ -3429,6 +3510,8 @@ class DatabaseClusterProps:
3429
3510
  self._values["removal_policy"] = removal_policy
3430
3511
  if security_group is not None:
3431
3512
  self._values["security_group"] = security_group
3513
+ if security_group_removal_policy is not None:
3514
+ self._values["security_group_removal_policy"] = security_group_removal_policy
3432
3515
  if storage_encrypted is not None:
3433
3516
  self._values["storage_encrypted"] = storage_encrypted
3434
3517
  if vpc_subnets is not None:
@@ -3576,6 +3659,19 @@ class DatabaseClusterProps:
3576
3659
  result = self._values.get("instance_identifier_base")
3577
3660
  return typing.cast(typing.Optional[builtins.str], result)
3578
3661
 
3662
+ @builtins.property
3663
+ def instance_removal_policy(self) -> typing.Optional[_RemovalPolicy_9f93c814]:
3664
+ '''The removal policy to apply to the cluster's instances.
3665
+
3666
+ Cannot be set to ``SNAPSHOT``.
3667
+
3668
+ :default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
3669
+
3670
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html
3671
+ '''
3672
+ result = self._values.get("instance_removal_policy")
3673
+ return typing.cast(typing.Optional[_RemovalPolicy_9f93c814], result)
3674
+
3579
3675
  @builtins.property
3580
3676
  def instances(self) -> typing.Optional[jsii.Number]:
3581
3677
  '''Number of DocDB compute instances.
@@ -3638,6 +3734,11 @@ class DatabaseClusterProps:
3638
3734
  removal policy also applies to the implicit security group created for the
3639
3735
  cluster if one is not supplied as a parameter.
3640
3736
 
3737
+ When set to ``SNAPSHOT``, the removal policy for the instances and the security group
3738
+ will default to ``DESTROY`` as those resources do not support the policy.
3739
+
3740
+ Use the ``instanceRemovalPolicy`` and ``securityGroupRemovalPolicy`` to change the behavior.
3741
+
3641
3742
  :default: - Retain cluster.
3642
3743
  '''
3643
3744
  result = self._values.get("removal_policy")
@@ -3652,6 +3753,19 @@ class DatabaseClusterProps:
3652
3753
  result = self._values.get("security_group")
3653
3754
  return typing.cast(typing.Optional[_ISecurityGroup_acf8a799], result)
3654
3755
 
3756
+ @builtins.property
3757
+ def security_group_removal_policy(self) -> typing.Optional[_RemovalPolicy_9f93c814]:
3758
+ '''The removal policy to apply to the cluster's security group.
3759
+
3760
+ Cannot be set to ``SNAPSHOT``.
3761
+
3762
+ :default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
3763
+
3764
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html
3765
+ '''
3766
+ result = self._values.get("security_group_removal_policy")
3767
+ return typing.cast(typing.Optional[_RemovalPolicy_9f93c814], result)
3768
+
3655
3769
  @builtins.property
3656
3770
  def storage_encrypted(self) -> typing.Optional[builtins.bool]:
3657
3771
  '''Whether to enable storage encryption.
@@ -4442,6 +4556,7 @@ class Login:
4442
4556
 
4443
4557
  # vpc: ec2.Vpc
4444
4558
 
4559
+
4445
4560
  cluster = docdb.DatabaseCluster(self, "Database",
4446
4561
  master_user=docdb.Login(
4447
4562
  username="myuser"
@@ -4451,7 +4566,7 @@ class Login:
4451
4566
  subnet_type=ec2.SubnetType.PUBLIC
4452
4567
  ),
4453
4568
  vpc=vpc,
4454
- deletion_protection=True
4569
+ removal_policy=RemovalPolicy.SNAPSHOT
4455
4570
  )
4456
4571
  '''
4457
4572
  if __debug__:
@@ -4717,6 +4832,7 @@ class DatabaseCluster(
4717
4832
 
4718
4833
  # vpc: ec2.Vpc
4719
4834
 
4835
+
4720
4836
  cluster = docdb.DatabaseCluster(self, "Database",
4721
4837
  master_user=docdb.Login(
4722
4838
  username="myuser"
@@ -4726,7 +4842,7 @@ class DatabaseCluster(
4726
4842
  subnet_type=ec2.SubnetType.PUBLIC
4727
4843
  ),
4728
4844
  vpc=vpc,
4729
- deletion_protection=True
4845
+ removal_policy=RemovalPolicy.SNAPSHOT
4730
4846
  )
4731
4847
  '''
4732
4848
 
@@ -4748,6 +4864,7 @@ class DatabaseCluster(
4748
4864
  export_audit_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
4749
4865
  export_profiler_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
4750
4866
  instance_identifier_base: typing.Optional[builtins.str] = None,
4867
+ instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
4751
4868
  instances: typing.Optional[jsii.Number] = None,
4752
4869
  kms_key: typing.Optional[_IKey_5f11635f] = None,
4753
4870
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
@@ -4755,6 +4872,7 @@ class DatabaseCluster(
4755
4872
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
4756
4873
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
4757
4874
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
4875
+ security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
4758
4876
  storage_encrypted: typing.Optional[builtins.bool] = None,
4759
4877
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
4760
4878
  ) -> None:
@@ -4774,13 +4892,15 @@ class DatabaseCluster(
4774
4892
  :param export_audit_logs_to_cloud_watch: Whether the audit logs should be exported to CloudWatch. Note that you also have to configure the audit log export in the Cluster's Parameter Group. Default: false
4775
4893
  :param export_profiler_logs_to_cloud_watch: Whether the profiler logs should be exported to CloudWatch. Note that you also have to configure the profiler log export in the Cluster's Parameter Group. Default: false
4776
4894
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - ``dbClusterName`` is used with the word "Instance" appended. If ``dbClusterName`` is not provided, the identifier is automatically generated.
4895
+ :param instance_removal_policy: The removal policy to apply to the cluster's instances. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
4777
4896
  :param instances: Number of DocDB compute instances. Default: 1
4778
4897
  :param kms_key: The KMS key for storage encryption. Default: - default master key.
4779
4898
  :param parameter_group: The DB parameter group to associate with the instance. Default: no parameter group
4780
4899
  :param port: The port the DocumentDB cluster will listen on. Default: DatabaseCluster.DEFAULT_PORT
4781
4900
  :param preferred_maintenance_window: A weekly time range in which maintenance should preferably execute. Must be at least 30 minutes long. Example: 'tue:04:17-tue:04:47' Default: - 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
4782
- :param removal_policy: The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted. This removal policy also applies to the implicit security group created for the cluster if one is not supplied as a parameter. Default: - Retain cluster.
4901
+ :param removal_policy: The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted. This removal policy also applies to the implicit security group created for the cluster if one is not supplied as a parameter. When set to ``SNAPSHOT``, the removal policy for the instances and the security group will default to ``DESTROY`` as those resources do not support the policy. Use the ``instanceRemovalPolicy`` and ``securityGroupRemovalPolicy`` to change the behavior. Default: - Retain cluster.
4783
4902
  :param security_group: Security group. Default: a new security group is created.
4903
+ :param security_group_removal_policy: The removal policy to apply to the cluster's security group. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
4784
4904
  :param storage_encrypted: Whether to enable storage encryption. Default: true
4785
4905
  :param vpc_subnets: Where to place the instances within the VPC. Default: private subnets
4786
4906
  '''
@@ -4802,6 +4922,7 @@ class DatabaseCluster(
4802
4922
  export_audit_logs_to_cloud_watch=export_audit_logs_to_cloud_watch,
4803
4923
  export_profiler_logs_to_cloud_watch=export_profiler_logs_to_cloud_watch,
4804
4924
  instance_identifier_base=instance_identifier_base,
4925
+ instance_removal_policy=instance_removal_policy,
4805
4926
  instances=instances,
4806
4927
  kms_key=kms_key,
4807
4928
  parameter_group=parameter_group,
@@ -4809,6 +4930,7 @@ class DatabaseCluster(
4809
4930
  preferred_maintenance_window=preferred_maintenance_window,
4810
4931
  removal_policy=removal_policy,
4811
4932
  security_group=security_group,
4933
+ security_group_removal_policy=security_group_removal_policy,
4812
4934
  storage_encrypted=storage_encrypted,
4813
4935
  vpc_subnets=vpc_subnets,
4814
4936
  )
@@ -5743,6 +5865,7 @@ def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc
5743
5865
  export_audit_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
5744
5866
  export_profiler_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
5745
5867
  instance_identifier_base: typing.Optional[builtins.str] = None,
5868
+ instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5746
5869
  instances: typing.Optional[jsii.Number] = None,
5747
5870
  kms_key: typing.Optional[_IKey_5f11635f] = None,
5748
5871
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
@@ -5750,6 +5873,7 @@ def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc
5750
5873
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
5751
5874
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5752
5875
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
5876
+ security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5753
5877
  storage_encrypted: typing.Optional[builtins.bool] = None,
5754
5878
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
5755
5879
  ) -> None:
@@ -5866,6 +5990,7 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
5866
5990
  export_audit_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
5867
5991
  export_profiler_logs_to_cloud_watch: typing.Optional[builtins.bool] = None,
5868
5992
  instance_identifier_base: typing.Optional[builtins.str] = None,
5993
+ instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5869
5994
  instances: typing.Optional[jsii.Number] = None,
5870
5995
  kms_key: typing.Optional[_IKey_5f11635f] = None,
5871
5996
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
@@ -5873,6 +5998,7 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
5873
5998
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
5874
5999
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5875
6000
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
6001
+ security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5876
6002
  storage_encrypted: typing.Optional[builtins.bool] = None,
5877
6003
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
5878
6004
  ) -> None: