aws-cdk-lib 2.181.1__py3-none-any.whl → 2.183.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 (69) hide show
  1. aws_cdk/__init__.py +751 -41
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.181.1.jsii.tgz → aws-cdk-lib@2.183.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +59 -0
  5. aws_cdk/aws_apigateway/__init__.py +122 -66
  6. aws_cdk/aws_applicationautoscaling/__init__.py +4 -0
  7. aws_cdk/aws_appsync/__init__.py +30 -4
  8. aws_cdk/aws_autoscaling/__init__.py +409 -36
  9. aws_cdk/aws_batch/__init__.py +638 -14
  10. aws_cdk/aws_bedrock/__init__.py +6009 -2326
  11. aws_cdk/aws_ce/__init__.py +141 -3
  12. aws_cdk/aws_certificatemanager/__init__.py +24 -0
  13. aws_cdk/aws_cloudformation/__init__.py +310 -35
  14. aws_cdk/aws_cloudfront/__init__.py +1 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +8 -8
  16. aws_cdk/aws_codebuild/__init__.py +4 -10
  17. aws_cdk/aws_cognito/__init__.py +3 -3
  18. aws_cdk/aws_datazone/__init__.py +82 -0
  19. aws_cdk/aws_dms/__init__.py +350 -0
  20. aws_cdk/aws_ec2/__init__.py +95 -17
  21. aws_cdk/aws_ecr/__init__.py +10 -4
  22. aws_cdk/aws_ecs/__init__.py +58 -9
  23. aws_cdk/aws_eks/__init__.py +32 -3
  24. aws_cdk/aws_elasticache/__init__.py +3 -3
  25. aws_cdk/aws_emr/__init__.py +9 -3
  26. aws_cdk/aws_fsx/__init__.py +2 -0
  27. aws_cdk/aws_gameliftstreams/__init__.py +1205 -0
  28. aws_cdk/aws_guardduty/__init__.py +38 -26
  29. aws_cdk/aws_iam/__init__.py +295 -37
  30. aws_cdk/aws_inspector/__init__.py +180 -1
  31. aws_cdk/aws_iot/__init__.py +616 -22
  32. aws_cdk/aws_iotfleetwise/__init__.py +72 -10
  33. aws_cdk/aws_iotsitewise/__init__.py +14 -11
  34. aws_cdk/aws_kafkaconnect/__init__.py +4 -2
  35. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  36. aws_cdk/aws_lambda/__init__.py +17 -0
  37. aws_cdk/aws_logs/__init__.py +135 -0
  38. aws_cdk/aws_medialive/__init__.py +86 -86
  39. aws_cdk/aws_mediapackagev2/__init__.py +22 -14
  40. aws_cdk/aws_msk/__init__.py +236 -128
  41. aws_cdk/aws_neptunegraph/__init__.py +3 -3
  42. aws_cdk/aws_opensearchserverless/__init__.py +1031 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +261 -1
  44. aws_cdk/aws_pcaconnectorad/__init__.py +30 -4
  45. aws_cdk/aws_pipes/__init__.py +6 -2
  46. aws_cdk/aws_quicksight/__init__.py +6712 -20758
  47. aws_cdk/aws_rds/__init__.py +174 -30
  48. aws_cdk/aws_redshift/__init__.py +8 -8
  49. aws_cdk/aws_s3/__init__.py +8 -0
  50. aws_cdk/aws_sagemaker/__init__.py +80 -18
  51. aws_cdk/aws_securitylake/__init__.py +3 -0
  52. aws_cdk/aws_sns/__init__.py +76 -1
  53. aws_cdk/aws_synthetics/__init__.py +2 -0
  54. aws_cdk/aws_transfer/__init__.py +241 -40
  55. aws_cdk/aws_vpclattice/__init__.py +144 -9
  56. aws_cdk/aws_wafv2/__init__.py +790 -0
  57. aws_cdk/aws_wisdom/__init__.py +3 -110
  58. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  59. aws_cdk/aws_workspacesweb/__init__.py +179 -2
  60. aws_cdk/aws_xray/__init__.py +195 -0
  61. aws_cdk/cloud_assembly_schema/__init__.py +224 -4
  62. aws_cdk/custom_resources/__init__.py +65 -8
  63. aws_cdk/cx_api/__init__.py +2 -1
  64. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/METADATA +2 -2
  65. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/RECORD +69 -68
  66. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py CHANGED
@@ -1539,6 +1539,7 @@ from .cloud_assembly_schema import (
1539
1539
  AssetManifestOptions as _AssetManifestOptions_73b93270,
1540
1540
  AvailabilityZonesContextQuery as _AvailabilityZonesContextQuery_715a9fea,
1541
1541
  BootstrapRole as _BootstrapRole_9b326056,
1542
+ CcApiContextQuery as _CcApiContextQuery_7347fbd4,
1542
1543
  ContextProvider as _ContextProvider_fa789bb5,
1543
1544
  DockerImageDestination as _DockerImageDestination_132046c7,
1544
1545
  DockerImageSource as _DockerImageSource_5db2cfa3,
@@ -2347,7 +2348,7 @@ class AspectOptions:
2347
2348
  def __init__(self, *, priority: typing.Optional[jsii.Number] = None) -> None:
2348
2349
  '''Options when Applying an Aspect.
2349
2350
 
2350
- :param priority: The priority value to apply on an Aspect. Priority must be a non-negative integer. Default: - AspectPriority.DEFAULT
2351
+ :param priority: The priority value to apply on an Aspect. Priority must be a non-negative integer. Aspects that have same priority value are not guaranteed to be executed in a consistent order. Default: AspectPriority.DEFAULT
2351
2352
 
2352
2353
  :exampleMetadata: fixture=_generated
2353
2354
 
@@ -2370,11 +2371,12 @@ class AspectOptions:
2370
2371
 
2371
2372
  @builtins.property
2372
2373
  def priority(self) -> typing.Optional[jsii.Number]:
2373
- '''The priority value to apply on an Aspect.
2374
+ '''The priority value to apply on an Aspect. Priority must be a non-negative integer.
2374
2375
 
2375
- Priority must be a non-negative integer.
2376
+ Aspects that have same priority value are not guaranteed to be
2377
+ executed in a consistent order.
2376
2378
 
2377
- :default: - AspectPriority.DEFAULT
2379
+ :default: AspectPriority.DEFAULT
2378
2380
  '''
2379
2381
  result = self._values.get("priority")
2380
2382
  return typing.cast(typing.Optional[jsii.Number], result)
@@ -2482,7 +2484,7 @@ class Aspects(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Aspects"):
2482
2484
  '''Adds an aspect to apply this scope before synthesis.
2483
2485
 
2484
2486
  :param aspect: The aspect to add.
2485
- :param priority: The priority value to apply on an Aspect. Priority must be a non-negative integer. Default: - AspectPriority.DEFAULT
2487
+ :param priority: The priority value to apply on an Aspect. Priority must be a non-negative integer. Aspects that have same priority value are not guaranteed to be executed in a consistent order. Default: AspectPriority.DEFAULT
2486
2488
  '''
2487
2489
  if __debug__:
2488
2490
  type_hints = typing.get_type_hints(_typecheckingstub__3a0ed518e4a98c831b3b8dcdf7981d87fff56769689b00526e1e9d8df1b39f84)
@@ -5316,6 +5318,13 @@ class CfnGuardHookProps:
5316
5318
  )
5317
5319
  ),
5318
5320
  target_filters=cdk.CfnGuardHook.TargetFiltersProperty(
5321
+ targets=[cdk.CfnGuardHook.HookTargetProperty(
5322
+ action="action",
5323
+ invocation_point="invocationPoint",
5324
+ target_name="targetName"
5325
+ )],
5326
+
5327
+ # the properties below are optional
5319
5328
  actions=["actions"],
5320
5329
  invocation_points=["invocationPoints"],
5321
5330
  target_names=["targetNames"]
@@ -6109,6 +6118,13 @@ class CfnLambdaHookProps:
6109
6118
  )
6110
6119
  ),
6111
6120
  target_filters=cdk.CfnLambdaHook.TargetFiltersProperty(
6121
+ targets=[cdk.CfnLambdaHook.HookTargetProperty(
6122
+ action="action",
6123
+ invocation_point="invocationPoint",
6124
+ target_name="targetName"
6125
+ )],
6126
+
6127
+ # the properties below are optional
6112
6128
  actions=["actions"],
6113
6129
  invocation_points=["invocationPoints"],
6114
6130
  target_names=["targetNames"]
@@ -8840,7 +8856,7 @@ class CfnStackProps:
8840
8856
  '''Properties for defining a ``CfnStack``.
8841
8857
 
8842
8858
  :param notification_arns: The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).
8843
- :param parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. .. epigraph:: If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks. Conditional. Required if the nested stack requires input parameters. Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
8859
+ :param parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. .. epigraph:: If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks. Required if the nested stack requires input parameters. Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
8844
8860
  :param tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.
8845
8861
  :param template_url: The URL of a file containing the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` . Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
8846
8862
  :param timeout_in_minutes: The length of time, in minutes, that CloudFormation waits for the nested stack to reach the ``CREATE_COMPLETE`` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the ``CREATE_COMPLETE`` state, it marks the nested stack resource as ``CREATE_COMPLETE`` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches ``CREATE_COMPLETE`` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack. Updates aren't supported.
@@ -8908,7 +8924,7 @@ class CfnStackProps:
8908
8924
 
8909
8925
  If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks.
8910
8926
 
8911
- Conditional. Required if the nested stack requires input parameters.
8927
+ Required if the nested stack requires input parameters.
8912
8928
 
8913
8929
  Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
8914
8930
 
@@ -9010,13 +9026,13 @@ class CfnStackSetProps:
9010
9026
  '''Properties for defining a ``CfnStackSet``.
9011
9027
 
9012
9028
  :param permission_model: Describes how the IAM roles required for stack set operations are created. - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for stack sets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
9013
- :param stack_set_name: The name to associate with the stack set. The name must be unique in the Region where you create your stack set. .. epigraph:: The ``StackSetName`` property is required.
9014
- :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . *Minimum* : ``20`` *Maximum* : ``2048``
9015
- :param auto_deployment: [ ``Service-managed`` permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
9016
- :param call_as: [Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions. - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators. *Valid Values* : ``SELF`` | ``DELEGATED_ADMIN``
9029
+ :param stack_set_name: The name to associate with the stack set. The name must be unique in the Region where you create your stack set.
9030
+ :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . Valid only if the permissions model is ``SELF_MANAGED`` .
9031
+ :param auto_deployment: Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see `Manage automatic deployments for CloudFormation StackSets that use service-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* . Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
9032
+ :param call_as: Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions. - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators. Valid only if the permissions model is ``SERVICE_MANAGED`` .
9017
9033
  :param capabilities: The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
9018
- :param description: A description of the stack set. *Minimum* : ``1`` *Maximum* : ``1024``
9019
- :param execution_role_name: The name of the IAM execution role to use to create the stack set. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation. *Minimum* : ``1`` *Maximum* : ``64`` *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
9034
+ :param description: A description of the stack set.
9035
+ :param execution_role_name: The name of the IAM execution role to use to create the stack set. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation. Valid only if the permissions model is ``SELF_MANAGED`` . *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
9020
9036
  :param managed_execution: Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your stack set's execution configuration while there are running or queued operations for that stack set. When inactive (default), StackSets performs one operation at a time in request order.
9021
9037
  :param operation_preferences: The user-specified preferences for how CloudFormation performs a stack set operation.
9022
9038
  :param parameters: The input parameters for the stack set template.
@@ -9153,9 +9169,6 @@ class CfnStackSetProps:
9153
9169
  '''The name to associate with the stack set.
9154
9170
 
9155
9171
  The name must be unique in the Region where you create your stack set.
9156
- .. epigraph::
9157
-
9158
- The ``StackSetName`` property is required.
9159
9172
 
9160
9173
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-stacksetname
9161
9174
  '''
@@ -9171,9 +9184,7 @@ class CfnStackSetProps:
9171
9184
 
9172
9185
  Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* .
9173
9186
 
9174
- *Minimum* : ``20``
9175
-
9176
- *Maximum* : ``2048``
9187
+ Valid only if the permissions model is ``SELF_MANAGED`` .
9177
9188
 
9178
9189
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-administrationrolearn
9179
9190
  '''
@@ -9184,7 +9195,11 @@ class CfnStackSetProps:
9184
9195
  def auto_deployment(
9185
9196
  self,
9186
9197
  ) -> typing.Optional[typing.Union["IResolvable", "CfnStackSet.AutoDeploymentProperty"]]:
9187
- '''[ ``Service-managed`` permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
9198
+ '''Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
9199
+
9200
+ For more information, see `Manage automatic deployments for CloudFormation StackSets that use service-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* .
9201
+
9202
+ Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
9188
9203
 
9189
9204
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-autodeployment
9190
9205
  '''
@@ -9193,7 +9208,7 @@ class CfnStackSetProps:
9193
9208
 
9194
9209
  @builtins.property
9195
9210
  def call_as(self) -> typing.Optional[builtins.str]:
9196
- '''[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
9211
+ '''Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
9197
9212
 
9198
9213
  By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions.
9199
9214
 
@@ -9204,7 +9219,7 @@ class CfnStackSetProps:
9204
9219
 
9205
9220
  Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators.
9206
9221
 
9207
- *Valid Values* : ``SELF`` | ``DELEGATED_ADMIN``
9222
+ Valid only if the permissions model is ``SERVICE_MANAGED`` .
9208
9223
 
9209
9224
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-callas
9210
9225
  '''
@@ -9226,10 +9241,6 @@ class CfnStackSetProps:
9226
9241
  def description(self) -> typing.Optional[builtins.str]:
9227
9242
  '''A description of the stack set.
9228
9243
 
9229
- *Minimum* : ``1``
9230
-
9231
- *Maximum* : ``1024``
9232
-
9233
9244
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-description
9234
9245
  '''
9235
9246
  result = self._values.get("description")
@@ -9241,9 +9252,7 @@ class CfnStackSetProps:
9241
9252
 
9242
9253
  If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation.
9243
9254
 
9244
- *Minimum* : ``1``
9245
-
9246
- *Maximum* : ``64``
9255
+ Valid only if the permissions model is ``SELF_MANAGED`` .
9247
9256
 
9248
9257
  *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
9249
9258
 
@@ -18154,6 +18163,151 @@ class LazyStringValueOptions:
18154
18163
  )
18155
18164
 
18156
18165
 
18166
+ class MissingRemovalPolicies(
18167
+ metaclass=jsii.JSIIMeta,
18168
+ jsii_type="aws-cdk-lib.MissingRemovalPolicies",
18169
+ ):
18170
+ '''Manages removal policies for resources without existing policies within a construct scope.
18171
+
18172
+ :exampleMetadata: fixture=_generated
18173
+
18174
+ Example::
18175
+
18176
+ # The code below shows an example of how to instantiate this type.
18177
+ # The values are placeholders you should change.
18178
+ import aws_cdk as cdk
18179
+
18180
+ missing_removal_policies = cdk.MissingRemovalPolicies.of(self)
18181
+ '''
18182
+
18183
+ @jsii.member(jsii_name="of")
18184
+ @builtins.classmethod
18185
+ def of(cls, scope: _constructs_77d1e7e8.IConstruct) -> "MissingRemovalPolicies":
18186
+ '''Returns the missing removal policies API for the given scope.
18187
+
18188
+ :param scope: The scope.
18189
+ '''
18190
+ if __debug__:
18191
+ type_hints = typing.get_type_hints(_typecheckingstub__53b49b542fe09ce9b0aa527b531ee0b1e7f57e7e0c6e23c2483a0b347d813ebb)
18192
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
18193
+ return typing.cast("MissingRemovalPolicies", jsii.sinvoke(cls, "of", [scope]))
18194
+
18195
+ @jsii.member(jsii_name="apply")
18196
+ def apply(
18197
+ self,
18198
+ policy: "RemovalPolicy",
18199
+ *,
18200
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18201
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18202
+ priority: typing.Optional[jsii.Number] = None,
18203
+ ) -> None:
18204
+ '''Apply a removal policy only to resources without existing policies within this scope.
18205
+
18206
+ :param policy: The removal policy to apply.
18207
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
18208
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
18209
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
18210
+ '''
18211
+ if __debug__:
18212
+ type_hints = typing.get_type_hints(_typecheckingstub__b3f1229a84cb5fdb052e8db135be3d25670d9793cf44ddc71d8134240bed0efc)
18213
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
18214
+ props = RemovalPolicyProps(
18215
+ apply_to_resource_types=apply_to_resource_types,
18216
+ exclude_resource_types=exclude_resource_types,
18217
+ priority=priority,
18218
+ )
18219
+
18220
+ return typing.cast(None, jsii.invoke(self, "apply", [policy, props]))
18221
+
18222
+ @jsii.member(jsii_name="destroy")
18223
+ def destroy(
18224
+ self,
18225
+ *,
18226
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18227
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18228
+ priority: typing.Optional[jsii.Number] = None,
18229
+ ) -> None:
18230
+ '''Apply DESTROY removal policy only to resources without existing policies within this scope.
18231
+
18232
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
18233
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
18234
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
18235
+ '''
18236
+ props = RemovalPolicyProps(
18237
+ apply_to_resource_types=apply_to_resource_types,
18238
+ exclude_resource_types=exclude_resource_types,
18239
+ priority=priority,
18240
+ )
18241
+
18242
+ return typing.cast(None, jsii.invoke(self, "destroy", [props]))
18243
+
18244
+ @jsii.member(jsii_name="retain")
18245
+ def retain(
18246
+ self,
18247
+ *,
18248
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18249
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18250
+ priority: typing.Optional[jsii.Number] = None,
18251
+ ) -> None:
18252
+ '''Apply RETAIN removal policy only to resources without existing policies within this scope.
18253
+
18254
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
18255
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
18256
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
18257
+ '''
18258
+ props = RemovalPolicyProps(
18259
+ apply_to_resource_types=apply_to_resource_types,
18260
+ exclude_resource_types=exclude_resource_types,
18261
+ priority=priority,
18262
+ )
18263
+
18264
+ return typing.cast(None, jsii.invoke(self, "retain", [props]))
18265
+
18266
+ @jsii.member(jsii_name="retainOnUpdateOrDelete")
18267
+ def retain_on_update_or_delete(
18268
+ self,
18269
+ *,
18270
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18271
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18272
+ priority: typing.Optional[jsii.Number] = None,
18273
+ ) -> None:
18274
+ '''Apply RETAIN_ON_UPDATE_OR_DELETE removal policy only to resources without existing policies within this scope.
18275
+
18276
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
18277
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
18278
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
18279
+ '''
18280
+ props = RemovalPolicyProps(
18281
+ apply_to_resource_types=apply_to_resource_types,
18282
+ exclude_resource_types=exclude_resource_types,
18283
+ priority=priority,
18284
+ )
18285
+
18286
+ return typing.cast(None, jsii.invoke(self, "retainOnUpdateOrDelete", [props]))
18287
+
18288
+ @jsii.member(jsii_name="snapshot")
18289
+ def snapshot(
18290
+ self,
18291
+ *,
18292
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18293
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
18294
+ priority: typing.Optional[jsii.Number] = None,
18295
+ ) -> None:
18296
+ '''Apply SNAPSHOT removal policy only to resources without existing policies within this scope.
18297
+
18298
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
18299
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
18300
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
18301
+ '''
18302
+ props = RemovalPolicyProps(
18303
+ apply_to_resource_types=apply_to_resource_types,
18304
+ exclude_resource_types=exclude_resource_types,
18305
+ priority=priority,
18306
+ )
18307
+
18308
+ return typing.cast(None, jsii.invoke(self, "snapshot", [props]))
18309
+
18310
+
18157
18311
  class Names(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Names"):
18158
18312
  '''Functions for devising unique names for constructs.
18159
18313
 
@@ -19030,6 +19184,148 @@ class _ReferenceProxy(Reference):
19030
19184
  typing.cast(typing.Any, Reference).__jsii_proxy_class__ = lambda : _ReferenceProxy
19031
19185
 
19032
19186
 
19187
+ class RemovalPolicies(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.RemovalPolicies"):
19188
+ '''Manages removal policies for all resources within a construct scope, overriding any existing policies by default.
19189
+
19190
+ :exampleMetadata: fixture=_generated
19191
+
19192
+ Example::
19193
+
19194
+ # The code below shows an example of how to instantiate this type.
19195
+ # The values are placeholders you should change.
19196
+ import aws_cdk as cdk
19197
+
19198
+ removal_policies = cdk.RemovalPolicies.of(self)
19199
+ '''
19200
+
19201
+ @jsii.member(jsii_name="of")
19202
+ @builtins.classmethod
19203
+ def of(cls, scope: _constructs_77d1e7e8.IConstruct) -> "RemovalPolicies":
19204
+ '''Returns the removal policies API for the given scope.
19205
+
19206
+ :param scope: The scope.
19207
+ '''
19208
+ if __debug__:
19209
+ type_hints = typing.get_type_hints(_typecheckingstub__16fdd678fafc26c9e1ca2d269cac449744dcfd65a4b8fce227879a53407f64f2)
19210
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
19211
+ return typing.cast("RemovalPolicies", jsii.sinvoke(cls, "of", [scope]))
19212
+
19213
+ @jsii.member(jsii_name="apply")
19214
+ def apply(
19215
+ self,
19216
+ policy: "RemovalPolicy",
19217
+ *,
19218
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19219
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19220
+ priority: typing.Optional[jsii.Number] = None,
19221
+ ) -> None:
19222
+ '''Apply a removal policy to all resources within this scope, overriding any existing policies.
19223
+
19224
+ :param policy: The removal policy to apply.
19225
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
19226
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19227
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19228
+ '''
19229
+ if __debug__:
19230
+ type_hints = typing.get_type_hints(_typecheckingstub__d1a6f380a312346d77f5859f328e14cef3d77e7eb99ba0dffc2dd7da58b9b0ca)
19231
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
19232
+ props = RemovalPolicyProps(
19233
+ apply_to_resource_types=apply_to_resource_types,
19234
+ exclude_resource_types=exclude_resource_types,
19235
+ priority=priority,
19236
+ )
19237
+
19238
+ return typing.cast(None, jsii.invoke(self, "apply", [policy, props]))
19239
+
19240
+ @jsii.member(jsii_name="destroy")
19241
+ def destroy(
19242
+ self,
19243
+ *,
19244
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19245
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19246
+ priority: typing.Optional[jsii.Number] = None,
19247
+ ) -> None:
19248
+ '''Apply DESTROY removal policy to all resources within this scope.
19249
+
19250
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
19251
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19252
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19253
+ '''
19254
+ props = RemovalPolicyProps(
19255
+ apply_to_resource_types=apply_to_resource_types,
19256
+ exclude_resource_types=exclude_resource_types,
19257
+ priority=priority,
19258
+ )
19259
+
19260
+ return typing.cast(None, jsii.invoke(self, "destroy", [props]))
19261
+
19262
+ @jsii.member(jsii_name="retain")
19263
+ def retain(
19264
+ self,
19265
+ *,
19266
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19267
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19268
+ priority: typing.Optional[jsii.Number] = None,
19269
+ ) -> None:
19270
+ '''Apply RETAIN removal policy to all resources within this scope.
19271
+
19272
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
19273
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19274
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19275
+ '''
19276
+ props = RemovalPolicyProps(
19277
+ apply_to_resource_types=apply_to_resource_types,
19278
+ exclude_resource_types=exclude_resource_types,
19279
+ priority=priority,
19280
+ )
19281
+
19282
+ return typing.cast(None, jsii.invoke(self, "retain", [props]))
19283
+
19284
+ @jsii.member(jsii_name="retainOnUpdateOrDelete")
19285
+ def retain_on_update_or_delete(
19286
+ self,
19287
+ *,
19288
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19289
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19290
+ priority: typing.Optional[jsii.Number] = None,
19291
+ ) -> None:
19292
+ '''Apply RETAIN_ON_UPDATE_OR_DELETE removal policy to all resources within this scope.
19293
+
19294
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
19295
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19296
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19297
+ '''
19298
+ props = RemovalPolicyProps(
19299
+ apply_to_resource_types=apply_to_resource_types,
19300
+ exclude_resource_types=exclude_resource_types,
19301
+ priority=priority,
19302
+ )
19303
+
19304
+ return typing.cast(None, jsii.invoke(self, "retainOnUpdateOrDelete", [props]))
19305
+
19306
+ @jsii.member(jsii_name="snapshot")
19307
+ def snapshot(
19308
+ self,
19309
+ *,
19310
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19311
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19312
+ priority: typing.Optional[jsii.Number] = None,
19313
+ ) -> None:
19314
+ '''Apply SNAPSHOT removal policy to all resources within this scope.
19315
+
19316
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
19317
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19318
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19319
+ '''
19320
+ props = RemovalPolicyProps(
19321
+ apply_to_resource_types=apply_to_resource_types,
19322
+ exclude_resource_types=exclude_resource_types,
19323
+ priority=priority,
19324
+ )
19325
+
19326
+ return typing.cast(None, jsii.invoke(self, "snapshot", [props]))
19327
+
19328
+
19033
19329
  @jsii.enum(jsii_type="aws-cdk-lib.RemovalPolicy")
19034
19330
  class RemovalPolicy(enum.Enum):
19035
19331
  '''Possible values for a resource's Removal Policy.
@@ -19205,6 +19501,106 @@ class RemovalPolicyOptions:
19205
19501
  )
19206
19502
 
19207
19503
 
19504
+ @jsii.data_type(
19505
+ jsii_type="aws-cdk-lib.RemovalPolicyProps",
19506
+ jsii_struct_bases=[],
19507
+ name_mapping={
19508
+ "apply_to_resource_types": "applyToResourceTypes",
19509
+ "exclude_resource_types": "excludeResourceTypes",
19510
+ "priority": "priority",
19511
+ },
19512
+ )
19513
+ class RemovalPolicyProps:
19514
+ def __init__(
19515
+ self,
19516
+ *,
19517
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19518
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
19519
+ priority: typing.Optional[jsii.Number] = None,
19520
+ ) -> None:
19521
+ '''Properties for applying a removal policy.
19522
+
19523
+ :param apply_to_resource_types: Apply the removal policy only to specific resource types. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - apply to all resources
19524
+ :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19525
+ :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19526
+
19527
+ :exampleMetadata: fixture=_generated
19528
+
19529
+ Example::
19530
+
19531
+ # The code below shows an example of how to instantiate this type.
19532
+ # The values are placeholders you should change.
19533
+ import aws_cdk as cdk
19534
+
19535
+ removal_policy_props = cdk.RemovalPolicyProps(
19536
+ apply_to_resource_types=["applyToResourceTypes"],
19537
+ exclude_resource_types=["excludeResourceTypes"],
19538
+ priority=123
19539
+ )
19540
+ '''
19541
+ if __debug__:
19542
+ type_hints = typing.get_type_hints(_typecheckingstub__c5c7fd6f5b115619c0c625e32cc15eb9bdbfb4931f25b97d8db03b7037bf1a39)
19543
+ check_type(argname="argument apply_to_resource_types", value=apply_to_resource_types, expected_type=type_hints["apply_to_resource_types"])
19544
+ check_type(argname="argument exclude_resource_types", value=exclude_resource_types, expected_type=type_hints["exclude_resource_types"])
19545
+ check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
19546
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
19547
+ if apply_to_resource_types is not None:
19548
+ self._values["apply_to_resource_types"] = apply_to_resource_types
19549
+ if exclude_resource_types is not None:
19550
+ self._values["exclude_resource_types"] = exclude_resource_types
19551
+ if priority is not None:
19552
+ self._values["priority"] = priority
19553
+
19554
+ @builtins.property
19555
+ def apply_to_resource_types(self) -> typing.Optional[typing.List[builtins.str]]:
19556
+ '''Apply the removal policy only to specific resource types.
19557
+
19558
+ Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket').
19559
+
19560
+ :default: - apply to all resources
19561
+ '''
19562
+ result = self._values.get("apply_to_resource_types")
19563
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
19564
+
19565
+ @builtins.property
19566
+ def exclude_resource_types(self) -> typing.Optional[typing.List[builtins.str]]:
19567
+ '''Exclude specific resource types from the removal policy.
19568
+
19569
+ Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket').
19570
+
19571
+ :default: - no exclusions
19572
+ '''
19573
+ result = self._values.get("exclude_resource_types")
19574
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
19575
+
19576
+ @builtins.property
19577
+ def priority(self) -> typing.Optional[jsii.Number]:
19578
+ '''The priority to use when applying this policy.
19579
+
19580
+ The priority affects only the order in which aspects are applied during synthesis.
19581
+ For RemovalPolicies, the last applied policy will override previous ones.
19582
+
19583
+ NOTE: Priority does NOT determine which policy "wins" when there are conflicts.
19584
+ The order of application determines the final policy, with later policies
19585
+ overriding earlier ones.
19586
+
19587
+ :default: - AspectPriority.MUTATING
19588
+ '''
19589
+ result = self._values.get("priority")
19590
+ return typing.cast(typing.Optional[jsii.Number], result)
19591
+
19592
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
19593
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
19594
+
19595
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
19596
+ return not (rhs == self)
19597
+
19598
+ def __repr__(self) -> str:
19599
+ return "RemovalPolicyProps(%s)" % ", ".join(
19600
+ k + "=" + repr(v) for k, v in self._values.items()
19601
+ )
19602
+
19603
+
19208
19604
  @jsii.implements(IAspect)
19209
19605
  class RemoveTag(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.RemoveTag"):
19210
19606
  '''The RemoveTag Aspect will handle removing tags from this node and children.
@@ -21213,7 +21609,7 @@ class Stack(
21213
21609
  self,
21214
21610
  *,
21215
21611
  key: builtins.str,
21216
- props: typing.Union[typing.Union[_AmiContextQuery_74bf4b1b, typing.Dict[builtins.str, typing.Any]], typing.Union[_AvailabilityZonesContextQuery_715a9fea, typing.Dict[builtins.str, typing.Any]], typing.Union[_HostedZoneContextQuery_8e6ca28f, typing.Dict[builtins.str, typing.Any]], typing.Union[_SSMParameterContextQuery_675de122, typing.Dict[builtins.str, typing.Any]], typing.Union[_VpcContextQuery_a193c650, typing.Dict[builtins.str, typing.Any]], typing.Union[_EndpointServiceAvailabilityZonesContextQuery_ea3ca0d1, typing.Dict[builtins.str, typing.Any]], typing.Union[_LoadBalancerContextQuery_cb08d67c, typing.Dict[builtins.str, typing.Any]], typing.Union[_LoadBalancerListenerContextQuery_0eaf3c16, typing.Dict[builtins.str, typing.Any]], typing.Union[_SecurityGroupContextQuery_e772f3e6, typing.Dict[builtins.str, typing.Any]], typing.Union[_KeyContextQuery_3ac6128d, typing.Dict[builtins.str, typing.Any]], typing.Union[_PluginContextQuery_31a9d073, typing.Dict[builtins.str, typing.Any]]],
21612
+ props: typing.Union[typing.Union[_AmiContextQuery_74bf4b1b, typing.Dict[builtins.str, typing.Any]], typing.Union[_AvailabilityZonesContextQuery_715a9fea, typing.Dict[builtins.str, typing.Any]], typing.Union[_HostedZoneContextQuery_8e6ca28f, typing.Dict[builtins.str, typing.Any]], typing.Union[_SSMParameterContextQuery_675de122, typing.Dict[builtins.str, typing.Any]], typing.Union[_VpcContextQuery_a193c650, typing.Dict[builtins.str, typing.Any]], typing.Union[_EndpointServiceAvailabilityZonesContextQuery_ea3ca0d1, typing.Dict[builtins.str, typing.Any]], typing.Union[_LoadBalancerContextQuery_cb08d67c, typing.Dict[builtins.str, typing.Any]], typing.Union[_LoadBalancerListenerContextQuery_0eaf3c16, typing.Dict[builtins.str, typing.Any]], typing.Union[_SecurityGroupContextQuery_e772f3e6, typing.Dict[builtins.str, typing.Any]], typing.Union[_KeyContextQuery_3ac6128d, typing.Dict[builtins.str, typing.Any]], typing.Union[_CcApiContextQuery_7347fbd4, typing.Dict[builtins.str, typing.Any]], typing.Union[_PluginContextQuery_31a9d073, typing.Dict[builtins.str, typing.Any]]],
21217
21613
  provider: _ContextProvider_fa789bb5,
21218
21614
  ) -> None:
21219
21615
  '''Indicate that a context key was expected.
@@ -28370,6 +28766,13 @@ class CfnGuardHook(
28370
28766
  )
28371
28767
  ),
28372
28768
  target_filters=cdk.CfnGuardHook.TargetFiltersProperty(
28769
+ targets=[cdk.CfnGuardHook.HookTargetProperty(
28770
+ action="action",
28771
+ invocation_point="invocationPoint",
28772
+ target_name="targetName"
28773
+ )],
28774
+
28775
+ # the properties below are optional
28373
28776
  actions=["actions"],
28374
28777
  invocation_points=["invocationPoints"],
28375
28778
  target_names=["targetNames"]
@@ -28623,6 +29026,98 @@ class CfnGuardHook(
28623
29026
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28624
29027
  jsii.set(self, "targetFilters", value) # pyright: ignore[reportArgumentType]
28625
29028
 
29029
+ @jsii.data_type(
29030
+ jsii_type="aws-cdk-lib.CfnGuardHook.HookTargetProperty",
29031
+ jsii_struct_bases=[],
29032
+ name_mapping={
29033
+ "action": "action",
29034
+ "invocation_point": "invocationPoint",
29035
+ "target_name": "targetName",
29036
+ },
29037
+ )
29038
+ class HookTargetProperty:
29039
+ def __init__(
29040
+ self,
29041
+ *,
29042
+ action: builtins.str,
29043
+ invocation_point: builtins.str,
29044
+ target_name: builtins.str,
29045
+ ) -> None:
29046
+ '''Hook targets are the destination where hooks will be invoked against.
29047
+
29048
+ :param action: Target actions are the type of operation hooks will be executed at.
29049
+ :param invocation_point: Invocation points are the point in provisioning workflow where hooks will be executed.
29050
+ :param target_name: Type name of hook target. Hook targets are the destination where hooks will be invoked against.
29051
+
29052
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-hooktarget.html
29053
+ :exampleMetadata: fixture=_generated
29054
+
29055
+ Example::
29056
+
29057
+ # The code below shows an example of how to instantiate this type.
29058
+ # The values are placeholders you should change.
29059
+ import aws_cdk as cdk
29060
+
29061
+ hook_target_property = cdk.CfnGuardHook.HookTargetProperty(
29062
+ action="action",
29063
+ invocation_point="invocationPoint",
29064
+ target_name="targetName"
29065
+ )
29066
+ '''
29067
+ if __debug__:
29068
+ type_hints = typing.get_type_hints(_typecheckingstub__db8b1657d3f3b07986674bc25e9dc656a6052c212816bc8d02a3be486b3ec2bf)
29069
+ check_type(argname="argument action", value=action, expected_type=type_hints["action"])
29070
+ check_type(argname="argument invocation_point", value=invocation_point, expected_type=type_hints["invocation_point"])
29071
+ check_type(argname="argument target_name", value=target_name, expected_type=type_hints["target_name"])
29072
+ self._values: typing.Dict[builtins.str, typing.Any] = {
29073
+ "action": action,
29074
+ "invocation_point": invocation_point,
29075
+ "target_name": target_name,
29076
+ }
29077
+
29078
+ @builtins.property
29079
+ def action(self) -> builtins.str:
29080
+ '''Target actions are the type of operation hooks will be executed at.
29081
+
29082
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-hooktarget.html#cfn-cloudformation-guardhook-hooktarget-action
29083
+ '''
29084
+ result = self._values.get("action")
29085
+ assert result is not None, "Required property 'action' is missing"
29086
+ return typing.cast(builtins.str, result)
29087
+
29088
+ @builtins.property
29089
+ def invocation_point(self) -> builtins.str:
29090
+ '''Invocation points are the point in provisioning workflow where hooks will be executed.
29091
+
29092
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-hooktarget.html#cfn-cloudformation-guardhook-hooktarget-invocationpoint
29093
+ '''
29094
+ result = self._values.get("invocation_point")
29095
+ assert result is not None, "Required property 'invocation_point' is missing"
29096
+ return typing.cast(builtins.str, result)
29097
+
29098
+ @builtins.property
29099
+ def target_name(self) -> builtins.str:
29100
+ '''Type name of hook target.
29101
+
29102
+ Hook targets are the destination where hooks will be invoked against.
29103
+
29104
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-hooktarget.html#cfn-cloudformation-guardhook-hooktarget-targetname
29105
+ '''
29106
+ result = self._values.get("target_name")
29107
+ assert result is not None, "Required property 'target_name' is missing"
29108
+ return typing.cast(builtins.str, result)
29109
+
29110
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29111
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29112
+
29113
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29114
+ return not (rhs == self)
29115
+
29116
+ def __repr__(self) -> str:
29117
+ return "HookTargetProperty(%s)" % ", ".join(
29118
+ k + "=" + repr(v) for k, v in self._values.items()
29119
+ )
29120
+
28626
29121
  @jsii.data_type(
28627
29122
  jsii_type="aws-cdk-lib.CfnGuardHook.OptionsProperty",
28628
29123
  jsii_struct_bases=[],
@@ -29031,6 +29526,7 @@ class CfnGuardHook(
29031
29526
  jsii_type="aws-cdk-lib.CfnGuardHook.TargetFiltersProperty",
29032
29527
  jsii_struct_bases=[],
29033
29528
  name_mapping={
29529
+ "targets": "targets",
29034
29530
  "actions": "actions",
29035
29531
  "invocation_points": "invocationPoints",
29036
29532
  "target_names": "targetNames",
@@ -29040,6 +29536,7 @@ class CfnGuardHook(
29040
29536
  def __init__(
29041
29537
  self,
29042
29538
  *,
29539
+ targets: typing.Union[IResolvable, typing.Sequence[typing.Union[IResolvable, typing.Union["CfnGuardHook.HookTargetProperty", typing.Dict[builtins.str, typing.Any]]]]],
29043
29540
  actions: typing.Optional[typing.Sequence[builtins.str]] = None,
29044
29541
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
29045
29542
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -29048,6 +29545,7 @@ class CfnGuardHook(
29048
29545
 
29049
29546
  For more information, see `AWS CloudFormation Hook target filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-target-filtering.html>`_ .
29050
29547
 
29548
+ :param targets: List of hook targets.
29051
29549
  :param actions: List of actions that the hook is going to target.
29052
29550
  :param invocation_points: List of invocation points that the hook is going to target.
29053
29551
  :param target_names: List of type names that the hook is going to target.
@@ -29062,6 +29560,13 @@ class CfnGuardHook(
29062
29560
  import aws_cdk as cdk
29063
29561
 
29064
29562
  target_filters_property = cdk.CfnGuardHook.TargetFiltersProperty(
29563
+ targets=[cdk.CfnGuardHook.HookTargetProperty(
29564
+ action="action",
29565
+ invocation_point="invocationPoint",
29566
+ target_name="targetName"
29567
+ )],
29568
+
29569
+ # the properties below are optional
29065
29570
  actions=["actions"],
29066
29571
  invocation_points=["invocationPoints"],
29067
29572
  target_names=["targetNames"]
@@ -29069,10 +29574,13 @@ class CfnGuardHook(
29069
29574
  '''
29070
29575
  if __debug__:
29071
29576
  type_hints = typing.get_type_hints(_typecheckingstub__54414c99414c15df123d19676b346d63fe72e646cc3c7110b2d4267650dcc681)
29577
+ check_type(argname="argument targets", value=targets, expected_type=type_hints["targets"])
29072
29578
  check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
29073
29579
  check_type(argname="argument invocation_points", value=invocation_points, expected_type=type_hints["invocation_points"])
29074
29580
  check_type(argname="argument target_names", value=target_names, expected_type=type_hints["target_names"])
29075
- self._values: typing.Dict[builtins.str, typing.Any] = {}
29581
+ self._values: typing.Dict[builtins.str, typing.Any] = {
29582
+ "targets": targets,
29583
+ }
29076
29584
  if actions is not None:
29077
29585
  self._values["actions"] = actions
29078
29586
  if invocation_points is not None:
@@ -29080,6 +29588,18 @@ class CfnGuardHook(
29080
29588
  if target_names is not None:
29081
29589
  self._values["target_names"] = target_names
29082
29590
 
29591
+ @builtins.property
29592
+ def targets(
29593
+ self,
29594
+ ) -> typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnGuardHook.HookTargetProperty"]]]:
29595
+ '''List of hook targets.
29596
+
29597
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-targetfilters.html#cfn-cloudformation-guardhook-targetfilters-targets
29598
+ '''
29599
+ result = self._values.get("targets")
29600
+ assert result is not None, "Required property 'targets' is missing"
29601
+ return typing.cast(typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnGuardHook.HookTargetProperty"]]], result)
29602
+
29083
29603
  @builtins.property
29084
29604
  def actions(self) -> typing.Optional[typing.List[builtins.str]]:
29085
29605
  '''List of actions that the hook is going to target.
@@ -29838,6 +30358,13 @@ class CfnLambdaHook(
29838
30358
  )
29839
30359
  ),
29840
30360
  target_filters=cdk.CfnLambdaHook.TargetFiltersProperty(
30361
+ targets=[cdk.CfnLambdaHook.HookTargetProperty(
30362
+ action="action",
30363
+ invocation_point="invocationPoint",
30364
+ target_name="targetName"
30365
+ )],
30366
+
30367
+ # the properties below are optional
29841
30368
  actions=["actions"],
29842
30369
  invocation_points=["invocationPoints"],
29843
30370
  target_names=["targetNames"]
@@ -30052,6 +30579,98 @@ class CfnLambdaHook(
30052
30579
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
30053
30580
  jsii.set(self, "targetFilters", value) # pyright: ignore[reportArgumentType]
30054
30581
 
30582
+ @jsii.data_type(
30583
+ jsii_type="aws-cdk-lib.CfnLambdaHook.HookTargetProperty",
30584
+ jsii_struct_bases=[],
30585
+ name_mapping={
30586
+ "action": "action",
30587
+ "invocation_point": "invocationPoint",
30588
+ "target_name": "targetName",
30589
+ },
30590
+ )
30591
+ class HookTargetProperty:
30592
+ def __init__(
30593
+ self,
30594
+ *,
30595
+ action: builtins.str,
30596
+ invocation_point: builtins.str,
30597
+ target_name: builtins.str,
30598
+ ) -> None:
30599
+ '''Hook targets are the destination where hooks will be invoked against.
30600
+
30601
+ :param action: Target actions are the type of operation hooks will be executed at.
30602
+ :param invocation_point: Invocation points are the point in provisioning workflow where hooks will be executed.
30603
+ :param target_name: Type name of hook target. Hook targets are the destination where hooks will be invoked against.
30604
+
30605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-hooktarget.html
30606
+ :exampleMetadata: fixture=_generated
30607
+
30608
+ Example::
30609
+
30610
+ # The code below shows an example of how to instantiate this type.
30611
+ # The values are placeholders you should change.
30612
+ import aws_cdk as cdk
30613
+
30614
+ hook_target_property = cdk.CfnLambdaHook.HookTargetProperty(
30615
+ action="action",
30616
+ invocation_point="invocationPoint",
30617
+ target_name="targetName"
30618
+ )
30619
+ '''
30620
+ if __debug__:
30621
+ type_hints = typing.get_type_hints(_typecheckingstub__f5099edf768971d322b0fcf34f784be6ab8e56dbcfdc245fafbda2e7e677d4d3)
30622
+ check_type(argname="argument action", value=action, expected_type=type_hints["action"])
30623
+ check_type(argname="argument invocation_point", value=invocation_point, expected_type=type_hints["invocation_point"])
30624
+ check_type(argname="argument target_name", value=target_name, expected_type=type_hints["target_name"])
30625
+ self._values: typing.Dict[builtins.str, typing.Any] = {
30626
+ "action": action,
30627
+ "invocation_point": invocation_point,
30628
+ "target_name": target_name,
30629
+ }
30630
+
30631
+ @builtins.property
30632
+ def action(self) -> builtins.str:
30633
+ '''Target actions are the type of operation hooks will be executed at.
30634
+
30635
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-hooktarget.html#cfn-cloudformation-lambdahook-hooktarget-action
30636
+ '''
30637
+ result = self._values.get("action")
30638
+ assert result is not None, "Required property 'action' is missing"
30639
+ return typing.cast(builtins.str, result)
30640
+
30641
+ @builtins.property
30642
+ def invocation_point(self) -> builtins.str:
30643
+ '''Invocation points are the point in provisioning workflow where hooks will be executed.
30644
+
30645
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-hooktarget.html#cfn-cloudformation-lambdahook-hooktarget-invocationpoint
30646
+ '''
30647
+ result = self._values.get("invocation_point")
30648
+ assert result is not None, "Required property 'invocation_point' is missing"
30649
+ return typing.cast(builtins.str, result)
30650
+
30651
+ @builtins.property
30652
+ def target_name(self) -> builtins.str:
30653
+ '''Type name of hook target.
30654
+
30655
+ Hook targets are the destination where hooks will be invoked against.
30656
+
30657
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-hooktarget.html#cfn-cloudformation-lambdahook-hooktarget-targetname
30658
+ '''
30659
+ result = self._values.get("target_name")
30660
+ assert result is not None, "Required property 'target_name' is missing"
30661
+ return typing.cast(builtins.str, result)
30662
+
30663
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
30664
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
30665
+
30666
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
30667
+ return not (rhs == self)
30668
+
30669
+ def __repr__(self) -> str:
30670
+ return "HookTargetProperty(%s)" % ", ".join(
30671
+ k + "=" + repr(v) for k, v in self._values.items()
30672
+ )
30673
+
30055
30674
  @jsii.data_type(
30056
30675
  jsii_type="aws-cdk-lib.CfnLambdaHook.StackFiltersProperty",
30057
30676
  jsii_struct_bases=[],
@@ -30319,6 +30938,7 @@ class CfnLambdaHook(
30319
30938
  jsii_type="aws-cdk-lib.CfnLambdaHook.TargetFiltersProperty",
30320
30939
  jsii_struct_bases=[],
30321
30940
  name_mapping={
30941
+ "targets": "targets",
30322
30942
  "actions": "actions",
30323
30943
  "invocation_points": "invocationPoints",
30324
30944
  "target_names": "targetNames",
@@ -30328,6 +30948,7 @@ class CfnLambdaHook(
30328
30948
  def __init__(
30329
30949
  self,
30330
30950
  *,
30951
+ targets: typing.Union[IResolvable, typing.Sequence[typing.Union[IResolvable, typing.Union["CfnLambdaHook.HookTargetProperty", typing.Dict[builtins.str, typing.Any]]]]],
30331
30952
  actions: typing.Optional[typing.Sequence[builtins.str]] = None,
30332
30953
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
30333
30954
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -30336,6 +30957,7 @@ class CfnLambdaHook(
30336
30957
 
30337
30958
  For more information, see `AWS CloudFormation Hook target filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-target-filtering.html>`_ .
30338
30959
 
30960
+ :param targets: List of hook targets.
30339
30961
  :param actions: List of actions that the hook is going to target.
30340
30962
  :param invocation_points: List of invocation points that the hook is going to target.
30341
30963
  :param target_names: List of type names that the hook is going to target.
@@ -30350,6 +30972,13 @@ class CfnLambdaHook(
30350
30972
  import aws_cdk as cdk
30351
30973
 
30352
30974
  target_filters_property = cdk.CfnLambdaHook.TargetFiltersProperty(
30975
+ targets=[cdk.CfnLambdaHook.HookTargetProperty(
30976
+ action="action",
30977
+ invocation_point="invocationPoint",
30978
+ target_name="targetName"
30979
+ )],
30980
+
30981
+ # the properties below are optional
30353
30982
  actions=["actions"],
30354
30983
  invocation_points=["invocationPoints"],
30355
30984
  target_names=["targetNames"]
@@ -30357,10 +30986,13 @@ class CfnLambdaHook(
30357
30986
  '''
30358
30987
  if __debug__:
30359
30988
  type_hints = typing.get_type_hints(_typecheckingstub__b1e4952bfed38df912ad6c5f8fe2d6ef91fc6d169fea5f1c2f78a373ec7eb8a4)
30989
+ check_type(argname="argument targets", value=targets, expected_type=type_hints["targets"])
30360
30990
  check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
30361
30991
  check_type(argname="argument invocation_points", value=invocation_points, expected_type=type_hints["invocation_points"])
30362
30992
  check_type(argname="argument target_names", value=target_names, expected_type=type_hints["target_names"])
30363
- self._values: typing.Dict[builtins.str, typing.Any] = {}
30993
+ self._values: typing.Dict[builtins.str, typing.Any] = {
30994
+ "targets": targets,
30995
+ }
30364
30996
  if actions is not None:
30365
30997
  self._values["actions"] = actions
30366
30998
  if invocation_points is not None:
@@ -30368,6 +31000,18 @@ class CfnLambdaHook(
30368
31000
  if target_names is not None:
30369
31001
  self._values["target_names"] = target_names
30370
31002
 
31003
+ @builtins.property
31004
+ def targets(
31005
+ self,
31006
+ ) -> typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnLambdaHook.HookTargetProperty"]]]:
31007
+ '''List of hook targets.
31008
+
31009
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-targetfilters.html#cfn-cloudformation-lambdahook-targetfilters-targets
31010
+ '''
31011
+ result = self._values.get("targets")
31012
+ assert result is not None, "Required property 'targets' is missing"
31013
+ return typing.cast(typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnLambdaHook.HookTargetProperty"]]], result)
31014
+
30371
31015
  @builtins.property
30372
31016
  def actions(self) -> typing.Optional[typing.List[builtins.str]]:
30373
31017
  '''List of actions that the hook is going to target.
@@ -31896,7 +32540,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
31896
32540
  :param scope: Scope in which this resource is defined.
31897
32541
  :param id: Construct identifier for this resource (unique in its scope).
31898
32542
  :param notification_arns: The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).
31899
- :param parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. .. epigraph:: If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks. Conditional. Required if the nested stack requires input parameters. Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
32543
+ :param parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. .. epigraph:: If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks. Required if the nested stack requires input parameters. Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
31900
32544
  :param tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.
31901
32545
  :param template_url: The URL of a file containing the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` . Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
31902
32546
  :param timeout_in_minutes: The length of time, in minutes, that CloudFormation waits for the nested stack to reach the ``CREATE_COMPLETE`` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the ``CREATE_COMPLETE`` state, it marks the nested stack resource as ``CREATE_COMPLETE`` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches ``CREATE_COMPLETE`` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack. Updates aren't supported.
@@ -32313,13 +32957,13 @@ class CfnStackSet(
32313
32957
  :param scope: Scope in which this resource is defined.
32314
32958
  :param id: Construct identifier for this resource (unique in its scope).
32315
32959
  :param permission_model: Describes how the IAM roles required for stack set operations are created. - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for stack sets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
32316
- :param stack_set_name: The name to associate with the stack set. The name must be unique in the Region where you create your stack set. .. epigraph:: The ``StackSetName`` property is required.
32317
- :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . *Minimum* : ``20`` *Maximum* : ``2048``
32318
- :param auto_deployment: [ ``Service-managed`` permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
32319
- :param call_as: [Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions. - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators. *Valid Values* : ``SELF`` | ``DELEGATED_ADMIN``
32960
+ :param stack_set_name: The name to associate with the stack set. The name must be unique in the Region where you create your stack set.
32961
+ :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . Valid only if the permissions model is ``SELF_MANAGED`` .
32962
+ :param auto_deployment: Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see `Manage automatic deployments for CloudFormation StackSets that use service-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* . Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
32963
+ :param call_as: Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions. - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators. Valid only if the permissions model is ``SERVICE_MANAGED`` .
32320
32964
  :param capabilities: The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
32321
- :param description: A description of the stack set. *Minimum* : ``1`` *Maximum* : ``1024``
32322
- :param execution_role_name: The name of the IAM execution role to use to create the stack set. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation. *Minimum* : ``1`` *Maximum* : ``64`` *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
32965
+ :param description: A description of the stack set.
32966
+ :param execution_role_name: The name of the IAM execution role to use to create the stack set. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation. Valid only if the permissions model is ``SELF_MANAGED`` . *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
32323
32967
  :param managed_execution: Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your stack set's execution configuration while there are running or queued operations for that stack set. When inactive (default), StackSets performs one operation at a time in request order.
32324
32968
  :param operation_preferences: The user-specified preferences for how CloudFormation performs a stack set operation.
32325
32969
  :param parameters: The input parameters for the stack set template.
@@ -32446,7 +33090,7 @@ class CfnStackSet(
32446
33090
  def auto_deployment(
32447
33091
  self,
32448
33092
  ) -> typing.Optional[typing.Union[IResolvable, "CfnStackSet.AutoDeploymentProperty"]]:
32449
- '''[ ``Service-managed`` permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).'''
33093
+ '''Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).'''
32450
33094
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnStackSet.AutoDeploymentProperty"]], jsii.get(self, "autoDeployment"))
32451
33095
 
32452
33096
  @auto_deployment.setter
@@ -32462,7 +33106,7 @@ class CfnStackSet(
32462
33106
  @builtins.property
32463
33107
  @jsii.member(jsii_name="callAs")
32464
33108
  def call_as(self) -> typing.Optional[builtins.str]:
32465
- '''[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.'''
33109
+ '''Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.'''
32466
33110
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "callAs"))
32467
33111
 
32468
33112
  @call_as.setter
@@ -36292,6 +36936,7 @@ __all__ = [
36292
36936
  "LazyListValueOptions",
36293
36937
  "LazyStringValueOptions",
36294
36938
  "LegacyStackSynthesizer",
36939
+ "MissingRemovalPolicies",
36295
36940
  "Names",
36296
36941
  "NestedStack",
36297
36942
  "NestedStackProps",
@@ -36304,8 +36949,10 @@ __all__ = [
36304
36949
  "PolicyViolatingResourceBeta1",
36305
36950
  "PolicyViolationBeta1",
36306
36951
  "Reference",
36952
+ "RemovalPolicies",
36307
36953
  "RemovalPolicy",
36308
36954
  "RemovalPolicyOptions",
36955
+ "RemovalPolicyProps",
36309
36956
  "RemoveTag",
36310
36957
  "ResolutionTypeHint",
36311
36958
  "ResolveChangeContextOptions",
@@ -36462,6 +37109,7 @@ __all__ = [
36462
37109
  "aws_frauddetector",
36463
37110
  "aws_fsx",
36464
37111
  "aws_gamelift",
37112
+ "aws_gameliftstreams",
36465
37113
  "aws_globalaccelerator",
36466
37114
  "aws_globalaccelerator_endpoints",
36467
37115
  "aws_glue",
@@ -36755,6 +37403,7 @@ from . import aws_forecast
36755
37403
  from . import aws_frauddetector
36756
37404
  from . import aws_fsx
36757
37405
  from . import aws_gamelift
37406
+ from . import aws_gameliftstreams
36758
37407
  from . import aws_globalaccelerator
36759
37408
  from . import aws_globalaccelerator_endpoints
36760
37409
  from . import aws_glue
@@ -39033,6 +39682,22 @@ def _typecheckingstub__283fa3218deb31c702af8ec0f581964e58afe471191dd394e1567cb4d
39033
39682
  """Type checking stubs"""
39034
39683
  pass
39035
39684
 
39685
+ def _typecheckingstub__53b49b542fe09ce9b0aa527b531ee0b1e7f57e7e0c6e23c2483a0b347d813ebb(
39686
+ scope: _constructs_77d1e7e8.IConstruct,
39687
+ ) -> None:
39688
+ """Type checking stubs"""
39689
+ pass
39690
+
39691
+ def _typecheckingstub__b3f1229a84cb5fdb052e8db135be3d25670d9793cf44ddc71d8134240bed0efc(
39692
+ policy: RemovalPolicy,
39693
+ *,
39694
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
39695
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
39696
+ priority: typing.Optional[jsii.Number] = None,
39697
+ ) -> None:
39698
+ """Type checking stubs"""
39699
+ pass
39700
+
39036
39701
  def _typecheckingstub__569ac5c6adbac9575b4137a0343aea0625df007d849957bfacf2e65a01153962(
39037
39702
  node: _constructs_77d1e7e8.Node,
39038
39703
  ) -> None:
@@ -39124,6 +39789,22 @@ def _typecheckingstub__46271c1d495743d8b70cfe27766a83a4dfd7bc3e4cf9af80b7823e48a
39124
39789
  """Type checking stubs"""
39125
39790
  pass
39126
39791
 
39792
+ def _typecheckingstub__16fdd678fafc26c9e1ca2d269cac449744dcfd65a4b8fce227879a53407f64f2(
39793
+ scope: _constructs_77d1e7e8.IConstruct,
39794
+ ) -> None:
39795
+ """Type checking stubs"""
39796
+ pass
39797
+
39798
+ def _typecheckingstub__d1a6f380a312346d77f5859f328e14cef3d77e7eb99ba0dffc2dd7da58b9b0ca(
39799
+ policy: RemovalPolicy,
39800
+ *,
39801
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
39802
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
39803
+ priority: typing.Optional[jsii.Number] = None,
39804
+ ) -> None:
39805
+ """Type checking stubs"""
39806
+ pass
39807
+
39127
39808
  def _typecheckingstub__cf59d09830cb04cd8d888f7fcdf115e700dad2a3650ac4a9beaed76aea901790(
39128
39809
  *,
39129
39810
  apply_to_update_replace_policy: typing.Optional[builtins.bool] = None,
@@ -39132,6 +39813,15 @@ def _typecheckingstub__cf59d09830cb04cd8d888f7fcdf115e700dad2a3650ac4a9beaed76ae
39132
39813
  """Type checking stubs"""
39133
39814
  pass
39134
39815
 
39816
+ def _typecheckingstub__c5c7fd6f5b115619c0c625e32cc15eb9bdbfb4931f25b97d8db03b7037bf1a39(
39817
+ *,
39818
+ apply_to_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
39819
+ exclude_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
39820
+ priority: typing.Optional[jsii.Number] = None,
39821
+ ) -> None:
39822
+ """Type checking stubs"""
39823
+ pass
39824
+
39135
39825
  def _typecheckingstub__944c89fd9e400a7d6e966cc04588226988866735f42049e619d446afc77d54c6(
39136
39826
  key: builtins.str,
39137
39827
  *,
@@ -40198,6 +40888,15 @@ def _typecheckingstub__2c07d8e25f948404b7d403a52c44adfd2f8e72c8f2562df3d53c28d24
40198
40888
  """Type checking stubs"""
40199
40889
  pass
40200
40890
 
40891
+ def _typecheckingstub__db8b1657d3f3b07986674bc25e9dc656a6052c212816bc8d02a3be486b3ec2bf(
40892
+ *,
40893
+ action: builtins.str,
40894
+ invocation_point: builtins.str,
40895
+ target_name: builtins.str,
40896
+ ) -> None:
40897
+ """Type checking stubs"""
40898
+ pass
40899
+
40201
40900
  def _typecheckingstub__fc8b5f7d5493afa375ed8c4a6ed28a6b7a5188af9fc0a1ab0a10e79d528a33a1(
40202
40901
  *,
40203
40902
  input_params: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -40240,6 +40939,7 @@ def _typecheckingstub__38f57021d7e9ce2c114dd9e04b76ad13f99d241effea8d0e3f3391d84
40240
40939
 
40241
40940
  def _typecheckingstub__54414c99414c15df123d19676b346d63fe72e646cc3c7110b2d4267650dcc681(
40242
40941
  *,
40942
+ targets: typing.Union[IResolvable, typing.Sequence[typing.Union[IResolvable, typing.Union[CfnGuardHook.HookTargetProperty, typing.Dict[builtins.str, typing.Any]]]]],
40243
40943
  actions: typing.Optional[typing.Sequence[builtins.str]] = None,
40244
40944
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
40245
40945
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -40483,6 +41183,15 @@ def _typecheckingstub__b3f0452e1487a1c5085ea420b80ea51e64c7defd79084c39a9f38bc17
40483
41183
  """Type checking stubs"""
40484
41184
  pass
40485
41185
 
41186
+ def _typecheckingstub__f5099edf768971d322b0fcf34f784be6ab8e56dbcfdc245fafbda2e7e677d4d3(
41187
+ *,
41188
+ action: builtins.str,
41189
+ invocation_point: builtins.str,
41190
+ target_name: builtins.str,
41191
+ ) -> None:
41192
+ """Type checking stubs"""
41193
+ pass
41194
+
40486
41195
  def _typecheckingstub__84b989a5da45d0bad88a9ecf93b8aa1724884132ffa59bcc73894e0c44565050(
40487
41196
  *,
40488
41197
  filtering_criteria: builtins.str,
@@ -40510,6 +41219,7 @@ def _typecheckingstub__4d69101af7797194522cb8e9463486ca30f37bb88a63e6a6a008a687c
40510
41219
 
40511
41220
  def _typecheckingstub__b1e4952bfed38df912ad6c5f8fe2d6ef91fc6d169fea5f1c2f78a373ec7eb8a4(
40512
41221
  *,
41222
+ targets: typing.Union[IResolvable, typing.Sequence[typing.Union[IResolvable, typing.Union[CfnLambdaHook.HookTargetProperty, typing.Dict[builtins.str, typing.Any]]]]],
40513
41223
  actions: typing.Optional[typing.Sequence[builtins.str]] = None,
40514
41224
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
40515
41225
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,