aws-cdk-lib 2.171.0__py3-none-any.whl → 2.172.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 (47) hide show
  1. aws_cdk/__init__.py +471 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.0.jsii.tgz → aws-cdk-lib@2.172.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +1314 -124
  5. aws_cdk/aws_appsync/__init__.py +159 -136
  6. aws_cdk/aws_autoscaling/__init__.py +81 -24
  7. aws_cdk/aws_bedrock/__init__.py +48 -0
  8. aws_cdk/aws_chatbot/__init__.py +775 -0
  9. aws_cdk/aws_cloudformation/__init__.py +240 -159
  10. aws_cdk/aws_cloudfront/__init__.py +11 -5
  11. aws_cdk/aws_cloudtrail/__init__.py +753 -0
  12. aws_cdk/aws_cognito/__init__.py +825 -4
  13. aws_cdk/aws_connect/__init__.py +429 -0
  14. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  15. aws_cdk/aws_ec2/__init__.py +872 -5
  16. aws_cdk/aws_ecs/__init__.py +12 -7
  17. aws_cdk/aws_eks/__init__.py +709 -0
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +309 -55
  19. aws_cdk/aws_events/__init__.py +515 -8
  20. aws_cdk/aws_iot/__init__.py +42 -4
  21. aws_cdk/aws_iotfleetwise/__init__.py +510 -0
  22. aws_cdk/aws_iotsitewise/__init__.py +156 -0
  23. aws_cdk/aws_lambda/__init__.py +14 -8
  24. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  25. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  26. aws_cdk/aws_m2/__init__.py +289 -0
  27. aws_cdk/aws_mwaa/__init__.py +6 -6
  28. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  29. aws_cdk/aws_pipes/__init__.py +14 -30
  30. aws_cdk/aws_qbusiness/__init__.py +3 -1
  31. aws_cdk/aws_quicksight/__init__.py +8270 -10
  32. aws_cdk/aws_rbin/__init__.py +53 -34
  33. aws_cdk/aws_rds/__init__.py +140 -8
  34. aws_cdk/aws_resourcegroups/__init__.py +349 -0
  35. aws_cdk/aws_route53_targets/__init__.py +82 -0
  36. aws_cdk/aws_route53resolver/__init__.py +15 -6
  37. aws_cdk/aws_s3express/__init__.py +403 -2
  38. aws_cdk/aws_sagemaker/__init__.py +124 -112
  39. aws_cdk/aws_ses/__init__.py +79 -41
  40. aws_cdk/aws_wisdom/__init__.py +4713 -172
  41. aws_cdk/aws_workspacesweb/__init__.py +1024 -0
  42. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/METADATA +1 -1
  43. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/RECORD +47 -47
  44. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py CHANGED
@@ -2266,6 +2266,167 @@ class ArnFormat(enum.Enum):
2266
2266
  '''
2267
2267
 
2268
2268
 
2269
+ class AspectApplication(
2270
+ metaclass=jsii.JSIIMeta,
2271
+ jsii_type="aws-cdk-lib.AspectApplication",
2272
+ ):
2273
+ '''Object respresenting an Aspect application.
2274
+
2275
+ Stores the Aspect, the pointer to the construct it was applied
2276
+ to, and the priority value of that Aspect.
2277
+
2278
+ :exampleMetadata: fixture=_generated
2279
+
2280
+ Example::
2281
+
2282
+ # The code below shows an example of how to instantiate this type.
2283
+ # The values are placeholders you should change.
2284
+ import aws_cdk as cdk
2285
+ import constructs as constructs
2286
+
2287
+ # aspect: cdk.IAspect
2288
+ # construct: constructs.Construct
2289
+
2290
+ aspect_application = cdk.AspectApplication(construct, aspect, 123)
2291
+ '''
2292
+
2293
+ def __init__(
2294
+ self,
2295
+ construct: _constructs_77d1e7e8.IConstruct,
2296
+ aspect: "IAspect",
2297
+ priority: jsii.Number,
2298
+ ) -> None:
2299
+ '''Initializes AspectApplication object.
2300
+
2301
+ :param construct: -
2302
+ :param aspect: -
2303
+ :param priority: -
2304
+ '''
2305
+ if __debug__:
2306
+ type_hints = typing.get_type_hints(_typecheckingstub__9e9e7eccccdbb57b560afbe6d0b0f0653f49bc2cf8739189ca2dfd2305348a44)
2307
+ check_type(argname="argument construct", value=construct, expected_type=type_hints["construct"])
2308
+ check_type(argname="argument aspect", value=aspect, expected_type=type_hints["aspect"])
2309
+ check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
2310
+ jsii.create(self.__class__, self, [construct, aspect, priority])
2311
+
2312
+ @builtins.property
2313
+ @jsii.member(jsii_name="aspect")
2314
+ def aspect(self) -> "IAspect":
2315
+ '''The Aspect that was applied.'''
2316
+ return typing.cast("IAspect", jsii.get(self, "aspect"))
2317
+
2318
+ @builtins.property
2319
+ @jsii.member(jsii_name="construct")
2320
+ def construct(self) -> _constructs_77d1e7e8.IConstruct:
2321
+ '''The construct that the Aspect was applied to.'''
2322
+ return typing.cast(_constructs_77d1e7e8.IConstruct, jsii.get(self, "construct"))
2323
+
2324
+ @builtins.property
2325
+ @jsii.member(jsii_name="priority")
2326
+ def priority(self) -> jsii.Number:
2327
+ '''Gets the priority value.
2328
+
2329
+ Sets the priority value.
2330
+ '''
2331
+ return typing.cast(jsii.Number, jsii.get(self, "priority"))
2332
+
2333
+ @priority.setter
2334
+ def priority(self, value: jsii.Number) -> None:
2335
+ if __debug__:
2336
+ type_hints = typing.get_type_hints(_typecheckingstub__5caf783430302b32bfab31d65627bb13dae6c0e9f42b0a5443818db8b0503d54)
2337
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2338
+ jsii.set(self, "priority", value) # pyright: ignore[reportArgumentType]
2339
+
2340
+
2341
+ @jsii.data_type(
2342
+ jsii_type="aws-cdk-lib.AspectOptions",
2343
+ jsii_struct_bases=[],
2344
+ name_mapping={"priority": "priority"},
2345
+ )
2346
+ class AspectOptions:
2347
+ def __init__(self, *, priority: typing.Optional[jsii.Number] = None) -> None:
2348
+ '''Options when Applying an Aspect.
2349
+
2350
+ :param priority: The priority value to apply on an Aspect. Priority must be a non-negative integer. Default: - AspectPriority.DEFAULT
2351
+
2352
+ :exampleMetadata: fixture=_generated
2353
+
2354
+ Example::
2355
+
2356
+ # The code below shows an example of how to instantiate this type.
2357
+ # The values are placeholders you should change.
2358
+ import aws_cdk as cdk
2359
+
2360
+ aspect_options = cdk.AspectOptions(
2361
+ priority=123
2362
+ )
2363
+ '''
2364
+ if __debug__:
2365
+ type_hints = typing.get_type_hints(_typecheckingstub__1761263abda35b4b2f599d4ff5122c0e7ad15a95af4498d9c6e04e78bc4a4b76)
2366
+ check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
2367
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2368
+ if priority is not None:
2369
+ self._values["priority"] = priority
2370
+
2371
+ @builtins.property
2372
+ def priority(self) -> typing.Optional[jsii.Number]:
2373
+ '''The priority value to apply on an Aspect.
2374
+
2375
+ Priority must be a non-negative integer.
2376
+
2377
+ :default: - AspectPriority.DEFAULT
2378
+ '''
2379
+ result = self._values.get("priority")
2380
+ return typing.cast(typing.Optional[jsii.Number], result)
2381
+
2382
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2383
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2384
+
2385
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2386
+ return not (rhs == self)
2387
+
2388
+ def __repr__(self) -> str:
2389
+ return "AspectOptions(%s)" % ", ".join(
2390
+ k + "=" + repr(v) for k, v in self._values.items()
2391
+ )
2392
+
2393
+
2394
+ class AspectPriority(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.AspectPriority"):
2395
+ '''Default Priority values for Aspects.
2396
+
2397
+ :exampleMetadata: fixture=_generated
2398
+
2399
+ Example::
2400
+
2401
+ # The code below shows an example of how to instantiate this type.
2402
+ # The values are placeholders you should change.
2403
+ import aws_cdk as cdk
2404
+
2405
+ aspect_priority = cdk.AspectPriority()
2406
+ '''
2407
+
2408
+ def __init__(self) -> None:
2409
+ jsii.create(self.__class__, self, [])
2410
+
2411
+ @jsii.python.classproperty
2412
+ @jsii.member(jsii_name="DEFAULT")
2413
+ def DEFAULT(cls) -> jsii.Number:
2414
+ '''Default priority for Aspects that are applied without a priority.'''
2415
+ return typing.cast(jsii.Number, jsii.sget(cls, "DEFAULT"))
2416
+
2417
+ @jsii.python.classproperty
2418
+ @jsii.member(jsii_name="MUTATING")
2419
+ def MUTATING(cls) -> jsii.Number:
2420
+ '''Suggested priority for Aspects that mutate the construct tree.'''
2421
+ return typing.cast(jsii.Number, jsii.sget(cls, "MUTATING"))
2422
+
2423
+ @jsii.python.classproperty
2424
+ @jsii.member(jsii_name="READONLY")
2425
+ def READONLY(cls) -> jsii.Number:
2426
+ '''Suggested priority for Aspects that only read the construct tree.'''
2427
+ return typing.cast(jsii.Number, jsii.sget(cls, "READONLY"))
2428
+
2429
+
2269
2430
  class Aspects(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Aspects"):
2270
2431
  '''Aspects can be applied to CDK tree scopes and can operate on the tree before synthesis.
2271
2432
 
@@ -2312,15 +2473,23 @@ class Aspects(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Aspects"):
2312
2473
  return typing.cast("Aspects", jsii.sinvoke(cls, "of", [scope]))
2313
2474
 
2314
2475
  @jsii.member(jsii_name="add")
2315
- def add(self, aspect: "IAspect") -> None:
2476
+ def add(
2477
+ self,
2478
+ aspect: "IAspect",
2479
+ *,
2480
+ priority: typing.Optional[jsii.Number] = None,
2481
+ ) -> None:
2316
2482
  '''Adds an aspect to apply this scope before synthesis.
2317
2483
 
2318
2484
  :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
2319
2486
  '''
2320
2487
  if __debug__:
2321
2488
  type_hints = typing.get_type_hints(_typecheckingstub__3a0ed518e4a98c831b3b8dcdf7981d87fff56769689b00526e1e9d8df1b39f84)
2322
2489
  check_type(argname="argument aspect", value=aspect, expected_type=type_hints["aspect"])
2323
- return typing.cast(None, jsii.invoke(self, "add", [aspect]))
2490
+ options = AspectOptions(priority=priority)
2491
+
2492
+ return typing.cast(None, jsii.invoke(self, "add", [aspect, options]))
2324
2493
 
2325
2494
  @builtins.property
2326
2495
  @jsii.member(jsii_name="all")
@@ -2328,6 +2497,15 @@ class Aspects(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Aspects"):
2328
2497
  '''The list of aspects which were directly applied on this scope.'''
2329
2498
  return typing.cast(typing.List["IAspect"], jsii.get(self, "all"))
2330
2499
 
2500
+ @builtins.property
2501
+ @jsii.member(jsii_name="applied")
2502
+ def applied(self) -> typing.List[AspectApplication]:
2503
+ '''The list of aspects with priority which were directly applied on this scope.
2504
+
2505
+ Also returns inherited Aspects of this node.
2506
+ '''
2507
+ return typing.cast(typing.List[AspectApplication], jsii.get(self, "applied"))
2508
+
2331
2509
 
2332
2510
  @jsii.enum(jsii_type="aws-cdk-lib.AssetHashType")
2333
2511
  class AssetHashType(enum.Enum):
@@ -5081,16 +5259,16 @@ class CfnGuardHookProps:
5081
5259
  ) -> None:
5082
5260
  '''Properties for defining a ``CfnGuardHook``.
5083
5261
 
5084
- :param alias: The typename alias for the hook.
5085
- :param execution_role: IAM Role ARN.
5086
- :param failure_mode: Attribute to specify CloudFormation behavior on hook failure. Default: - "WARN"
5087
- :param hook_status: Attribute to specify which stacks this hook applies to or should get invoked for. Default: - "DISABLED"
5088
- :param rule_location: S3 Source Location for the Guard files.
5089
- :param target_operations: Which operations should this Hook run against? Resource changes, stacks or change sets.
5090
- :param log_bucket: S3 Bucket where the guard validate report will be uploaded to.
5091
- :param options:
5092
- :param stack_filters: Filters to allow hooks to target specific stack attributes.
5093
- :param target_filters:
5262
+ :param alias: The type name alias for the Hook. This alias must be unique per account and Region. The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Guard::MyTestHook`` .
5263
+ :param execution_role: The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.
5264
+ :param failure_mode: Specifies how the Hook responds when rules fail their evaluation. - ``FAIL`` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies. - ``WARN`` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks. Default: - "WARN"
5265
+ :param hook_status: Specifies if the Hook is ``ENABLED`` or ``DISABLED`` . Default: - "DISABLED"
5266
+ :param rule_location: Specifies the S3 location of your Guard rules.
5267
+ :param target_operations: Specifies which type of operation the Hook is run against. Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
5268
+ :param log_bucket: Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.
5269
+ :param options: Specifies the S3 location of your input parameters.
5270
+ :param stack_filters: Specifies the stack level filters for the Hook.
5271
+ :param target_filters: Specifies the target filters for the Hook.
5094
5272
 
5095
5273
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
5096
5274
  :exampleMetadata: fixture=_generated
@@ -5175,7 +5353,9 @@ class CfnGuardHookProps:
5175
5353
 
5176
5354
  @builtins.property
5177
5355
  def alias(self) -> builtins.str:
5178
- '''The typename alias for the hook.
5356
+ '''The type name alias for the Hook. This alias must be unique per account and Region.
5357
+
5358
+ The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Guard::MyTestHook`` .
5179
5359
 
5180
5360
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-alias
5181
5361
  '''
@@ -5185,7 +5365,7 @@ class CfnGuardHookProps:
5185
5365
 
5186
5366
  @builtins.property
5187
5367
  def execution_role(self) -> builtins.str:
5188
- '''IAM Role ARN.
5368
+ '''The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.
5189
5369
 
5190
5370
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-executionrole
5191
5371
  '''
@@ -5195,7 +5375,10 @@ class CfnGuardHookProps:
5195
5375
 
5196
5376
  @builtins.property
5197
5377
  def failure_mode(self) -> builtins.str:
5198
- '''Attribute to specify CloudFormation behavior on hook failure.
5378
+ '''Specifies how the Hook responds when rules fail their evaluation.
5379
+
5380
+ - ``FAIL`` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.
5381
+ - ``WARN`` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.
5199
5382
 
5200
5383
  :default: - "WARN"
5201
5384
 
@@ -5207,7 +5390,7 @@ class CfnGuardHookProps:
5207
5390
 
5208
5391
  @builtins.property
5209
5392
  def hook_status(self) -> builtins.str:
5210
- '''Attribute to specify which stacks this hook applies to or should get invoked for.
5393
+ '''Specifies if the Hook is ``ENABLED`` or ``DISABLED`` .
5211
5394
 
5212
5395
  :default: - "DISABLED"
5213
5396
 
@@ -5221,7 +5404,7 @@ class CfnGuardHookProps:
5221
5404
  def rule_location(
5222
5405
  self,
5223
5406
  ) -> typing.Union["IResolvable", "CfnGuardHook.S3LocationProperty"]:
5224
- '''S3 Source Location for the Guard files.
5407
+ '''Specifies the S3 location of your Guard rules.
5225
5408
 
5226
5409
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-rulelocation
5227
5410
  '''
@@ -5231,9 +5414,9 @@ class CfnGuardHookProps:
5231
5414
 
5232
5415
  @builtins.property
5233
5416
  def target_operations(self) -> typing.List[builtins.str]:
5234
- '''Which operations should this Hook run against?
5417
+ '''Specifies which type of operation the Hook is run against.
5235
5418
 
5236
- Resource changes, stacks or change sets.
5419
+ Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
5237
5420
 
5238
5421
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-targetoperations
5239
5422
  '''
@@ -5243,7 +5426,9 @@ class CfnGuardHookProps:
5243
5426
 
5244
5427
  @builtins.property
5245
5428
  def log_bucket(self) -> typing.Optional[builtins.str]:
5246
- '''S3 Bucket where the guard validate report will be uploaded to.
5429
+ '''Specifies the name of an S3 bucket to store the Guard output report.
5430
+
5431
+ This report contains the results of your Guard rule validations.
5247
5432
 
5248
5433
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-logbucket
5249
5434
  '''
@@ -5254,7 +5439,8 @@ class CfnGuardHookProps:
5254
5439
  def options(
5255
5440
  self,
5256
5441
  ) -> typing.Optional[typing.Union["IResolvable", "CfnGuardHook.OptionsProperty"]]:
5257
- '''
5442
+ '''Specifies the S3 location of your input parameters.
5443
+
5258
5444
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-options
5259
5445
  '''
5260
5446
  result = self._values.get("options")
@@ -5264,7 +5450,7 @@ class CfnGuardHookProps:
5264
5450
  def stack_filters(
5265
5451
  self,
5266
5452
  ) -> typing.Optional[typing.Union["IResolvable", "CfnGuardHook.StackFiltersProperty"]]:
5267
- '''Filters to allow hooks to target specific stack attributes.
5453
+ '''Specifies the stack level filters for the Hook.
5268
5454
 
5269
5455
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-stackfilters
5270
5456
  '''
@@ -5275,7 +5461,8 @@ class CfnGuardHookProps:
5275
5461
  def target_filters(
5276
5462
  self,
5277
5463
  ) -> typing.Optional[typing.Union["IResolvable", "CfnGuardHook.TargetFiltersProperty"]]:
5278
- '''
5464
+ '''Specifies the target filters for the Hook.
5465
+
5279
5466
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-targetfilters
5280
5467
  '''
5281
5468
  result = self._values.get("target_filters")
@@ -5372,7 +5559,7 @@ class CfnHookDefaultVersionProps:
5372
5559
  ) -> None:
5373
5560
  '''Properties for defining a ``CfnHookDefaultVersion``.
5374
5561
 
5375
- :param type_name: The name of the hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
5562
+ :param type_name: The name of the Hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
5376
5563
  :param type_version_arn: The version ID of the type configuration. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
5377
5564
  :param version_id: The version ID of the type specified. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
5378
5565
 
@@ -5406,7 +5593,7 @@ class CfnHookDefaultVersionProps:
5406
5593
 
5407
5594
  @builtins.property
5408
5595
  def type_name(self) -> typing.Optional[builtins.str]:
5409
- '''The name of the hook.
5596
+ '''The name of the Hook.
5410
5597
 
5411
5598
  You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
5412
5599
 
@@ -5544,10 +5731,10 @@ class CfnHookTypeConfigProps:
5544
5731
  ) -> None:
5545
5732
  '''Properties for defining a ``CfnHookTypeConfig``.
5546
5733
 
5547
- :param configuration: Specifies the activated hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5548
- :param configuration_alias: Specifies the activated hook type configuration, in this AWS account and AWS Region . Defaults to ``default`` alias. Hook types currently support default configuration alias. Default: - "default"
5549
- :param type_arn: The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5550
- :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5734
+ :param configuration: Specifies the activated Hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5735
+ :param configuration_alias: Specifies the activated Hook type configuration, in this AWS account and AWS Region . Defaults to ``default`` alias. Hook types currently support default configuration alias. Default: - "default"
5736
+ :param type_arn: The Amazon Resource Number (ARN) for the Hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5737
+ :param type_name: The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5551
5738
 
5552
5739
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html
5553
5740
  :exampleMetadata: fixture=_generated
@@ -5585,7 +5772,7 @@ class CfnHookTypeConfigProps:
5585
5772
 
5586
5773
  @builtins.property
5587
5774
  def configuration(self) -> builtins.str:
5588
- '''Specifies the activated hook type configuration, in this AWS account and AWS Region .
5775
+ '''Specifies the activated Hook type configuration, in this AWS account and AWS Region .
5589
5776
 
5590
5777
  You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5591
5778
 
@@ -5597,7 +5784,7 @@ class CfnHookTypeConfigProps:
5597
5784
 
5598
5785
  @builtins.property
5599
5786
  def configuration_alias(self) -> typing.Optional[builtins.str]:
5600
- '''Specifies the activated hook type configuration, in this AWS account and AWS Region .
5787
+ '''Specifies the activated Hook type configuration, in this AWS account and AWS Region .
5601
5788
 
5602
5789
  Defaults to ``default`` alias. Hook types currently support default configuration alias.
5603
5790
 
@@ -5610,7 +5797,7 @@ class CfnHookTypeConfigProps:
5610
5797
 
5611
5798
  @builtins.property
5612
5799
  def type_arn(self) -> typing.Optional[builtins.str]:
5613
- '''The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for.
5800
+ '''The Amazon Resource Number (ARN) for the Hook to set ``Configuration`` for.
5614
5801
 
5615
5802
  You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5616
5803
 
@@ -5621,9 +5808,9 @@ class CfnHookTypeConfigProps:
5621
5808
 
5622
5809
  @builtins.property
5623
5810
  def type_name(self) -> typing.Optional[builtins.str]:
5624
- '''The unique name for your hook.
5811
+ '''The unique name for your Hook.
5625
5812
 
5626
- Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` .
5813
+ Specifies a three-part namespace for your Hook, with a recommended pattern of ``Organization::Service::Hook`` .
5627
5814
 
5628
5815
  You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5629
5816
 
@@ -5665,9 +5852,9 @@ class CfnHookVersionProps:
5665
5852
  ) -> None:
5666
5853
  '''Properties for defining a ``CfnHookVersion``.
5667
5854
 
5668
- :param schema_handler_package: A URL to the Amazon S3 bucket containing the hook project package that contains the necessary files for the hook you want to register. For information on generating a schema handler package for the resource you want to register, see `submit <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html>`_ in the *CloudFormation CLI User Guide for Extension Development* . .. epigraph:: The user registering the resource must be able to access the package in the S3 bucket. That's, the user must have `GetObject <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html>`_ permissions for the schema handler package. For more information, see `Actions, Resources, and Condition Keys for Amazon S3 <https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html>`_ in the *AWS Identity and Access Management User Guide* .
5855
+ :param schema_handler_package: A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register. For information on generating a schema handler package for the resource you want to register, see `submit <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html>`_ in the *CloudFormation CLI User Guide for Extension Development* . .. epigraph:: The user registering the resource must be able to access the package in the S3 bucket. That's, the user must have `GetObject <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html>`_ permissions for the schema handler package. For more information, see `Actions, Resources, and Condition Keys for Amazon S3 <https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html>`_ in the *AWS Identity and Access Management User Guide* .
5669
5856
  :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . .. epigraph:: The following organization namespaces are reserved and can't be used in your hook type names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``ASK`` - ``AWS`` - ``Custom`` - ``Dev``
5670
- :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the hook permission.
5857
+ :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
5671
5858
  :param logging_config: Contains logging configuration information for an extension.
5672
5859
 
5673
5860
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html
@@ -5708,7 +5895,7 @@ class CfnHookVersionProps:
5708
5895
 
5709
5896
  @builtins.property
5710
5897
  def schema_handler_package(self) -> builtins.str:
5711
- '''A URL to the Amazon S3 bucket containing the hook project package that contains the necessary files for the hook you want to register.
5898
+ '''A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register.
5712
5899
 
5713
5900
  For information on generating a schema handler package for the resource you want to register, see `submit <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html>`_ in the *CloudFormation CLI User Guide for Extension Development* .
5714
5901
  .. epigraph::
@@ -5746,7 +5933,7 @@ class CfnHookVersionProps:
5746
5933
 
5747
5934
  @builtins.property
5748
5935
  def execution_role_arn(self) -> typing.Optional[builtins.str]:
5749
- '''The Amazon Resource Name (ARN) of the task execution role that grants the hook permission.
5936
+ '''The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
5750
5937
 
5751
5938
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-executionrolearn
5752
5939
  '''
@@ -5863,14 +6050,14 @@ class CfnLambdaHookProps:
5863
6050
  ) -> None:
5864
6051
  '''Properties for defining a ``CfnLambdaHook``.
5865
6052
 
5866
- :param alias: The typename alias for the hook.
5867
- :param execution_role: IAM Role ARN.
5868
- :param failure_mode: Attribute to specify CloudFormation behavior on hook failure.
5869
- :param hook_status: Attribute to specify which stacks this hook applies to or should get invoked for. Default: - "ENABLED"
5870
- :param lambda_function: Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.
5871
- :param target_operations: Which operations should this Hook run against? Resource changes, stacks or change sets.
5872
- :param stack_filters: Filters to allow hooks to target specific stack attributes.
5873
- :param target_filters:
6053
+ :param alias: The type name alias for the Hook. This alias must be unique per account and Region. The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Lambda::MyTestHook`` .
6054
+ :param execution_role: The IAM role that the Hook assumes to invoke your Lambda function.
6055
+ :param failure_mode: Specifies how the Hook responds when the Lambda function invoked by the Hook returns a ``FAILED`` response. - ``FAIL`` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies. - ``WARN`` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.
6056
+ :param hook_status: Specifies if the Hook is ``ENABLED`` or ``DISABLED`` . Default: - "ENABLED"
6057
+ :param lambda_function: Specifies the Lambda function for the Hook. You can use:. - The full Amazon Resource Name (ARN) without a suffix. - A qualified ARN with a version or alias suffix.
6058
+ :param target_operations: Specifies which type of operation the Hook is run against. Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
6059
+ :param stack_filters: Specifies the stack level filters for the Hook.
6060
+ :param target_filters: Specifies the target filters for the Hook.
5874
6061
 
5875
6062
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
5876
6063
  :exampleMetadata: fixture=_generated
@@ -5935,7 +6122,9 @@ class CfnLambdaHookProps:
5935
6122
 
5936
6123
  @builtins.property
5937
6124
  def alias(self) -> builtins.str:
5938
- '''The typename alias for the hook.
6125
+ '''The type name alias for the Hook. This alias must be unique per account and Region.
6126
+
6127
+ The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Lambda::MyTestHook`` .
5939
6128
 
5940
6129
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-alias
5941
6130
  '''
@@ -5945,7 +6134,7 @@ class CfnLambdaHookProps:
5945
6134
 
5946
6135
  @builtins.property
5947
6136
  def execution_role(self) -> builtins.str:
5948
- '''IAM Role ARN.
6137
+ '''The IAM role that the Hook assumes to invoke your Lambda function.
5949
6138
 
5950
6139
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-executionrole
5951
6140
  '''
@@ -5955,7 +6144,10 @@ class CfnLambdaHookProps:
5955
6144
 
5956
6145
  @builtins.property
5957
6146
  def failure_mode(self) -> builtins.str:
5958
- '''Attribute to specify CloudFormation behavior on hook failure.
6147
+ '''Specifies how the Hook responds when the Lambda function invoked by the Hook returns a ``FAILED`` response.
6148
+
6149
+ - ``FAIL`` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.
6150
+ - ``WARN`` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.
5959
6151
 
5960
6152
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-failuremode
5961
6153
  '''
@@ -5965,7 +6157,7 @@ class CfnLambdaHookProps:
5965
6157
 
5966
6158
  @builtins.property
5967
6159
  def hook_status(self) -> builtins.str:
5968
- '''Attribute to specify which stacks this hook applies to or should get invoked for.
6160
+ '''Specifies if the Hook is ``ENABLED`` or ``DISABLED`` .
5969
6161
 
5970
6162
  :default: - "ENABLED"
5971
6163
 
@@ -5977,7 +6169,10 @@ class CfnLambdaHookProps:
5977
6169
 
5978
6170
  @builtins.property
5979
6171
  def lambda_function(self) -> builtins.str:
5980
- '''Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.
6172
+ '''Specifies the Lambda function for the Hook. You can use:.
6173
+
6174
+ - The full Amazon Resource Name (ARN) without a suffix.
6175
+ - A qualified ARN with a version or alias suffix.
5981
6176
 
5982
6177
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-lambdafunction
5983
6178
  '''
@@ -5987,9 +6182,9 @@ class CfnLambdaHookProps:
5987
6182
 
5988
6183
  @builtins.property
5989
6184
  def target_operations(self) -> typing.List[builtins.str]:
5990
- '''Which operations should this Hook run against?
6185
+ '''Specifies which type of operation the Hook is run against.
5991
6186
 
5992
- Resource changes, stacks or change sets.
6187
+ Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
5993
6188
 
5994
6189
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-targetoperations
5995
6190
  '''
@@ -6001,7 +6196,7 @@ class CfnLambdaHookProps:
6001
6196
  def stack_filters(
6002
6197
  self,
6003
6198
  ) -> typing.Optional[typing.Union["IResolvable", "CfnLambdaHook.StackFiltersProperty"]]:
6004
- '''Filters to allow hooks to target specific stack attributes.
6199
+ '''Specifies the stack level filters for the Hook.
6005
6200
 
6006
6201
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-stackfilters
6007
6202
  '''
@@ -6012,7 +6207,8 @@ class CfnLambdaHookProps:
6012
6207
  def target_filters(
6013
6208
  self,
6014
6209
  ) -> typing.Optional[typing.Union["IResolvable", "CfnLambdaHook.TargetFiltersProperty"]]:
6015
- '''
6210
+ '''Specifies the target filters for the Hook.
6211
+
6016
6212
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-targetfilters
6017
6213
  '''
6018
6214
  result = self._values.get("target_filters")
@@ -22030,6 +22226,7 @@ class Stage(
22030
22226
  def synth(
22031
22227
  self,
22032
22228
  *,
22229
+ aspect_stabilization: typing.Optional[builtins.bool] = None,
22033
22230
  error_on_duplicate_synth: typing.Optional[builtins.bool] = None,
22034
22231
  force: typing.Optional[builtins.bool] = None,
22035
22232
  skip_validation: typing.Optional[builtins.bool] = None,
@@ -22040,12 +22237,14 @@ class Stage(
22040
22237
  Once an assembly has been synthesized, it cannot be modified. Subsequent
22041
22238
  calls will return the same assembly.
22042
22239
 
22240
+ :param aspect_stabilization: Whether or not run the stabilization loop while invoking Aspects. The stabilization loop runs multiple passes of the construct tree when invoking Aspects. Without the stabilization loop, Aspects that are created by other Aspects are not run and new nodes that are created at higher points on the construct tree by an Aspect will not inherit their parent aspects. Default: false
22043
22241
  :param error_on_duplicate_synth: Whether or not to throw a warning instead of an error if the construct tree has been mutated since the last synth. Default: true
22044
22242
  :param force: Force a re-synth, even if the stage has already been synthesized. This is used by tests to allow for incremental verification of the output. Do not use in production. Default: false
22045
22243
  :param skip_validation: Should we skip construct validation. Default: - false
22046
22244
  :param validate_on_synthesis: Whether the stack should be validated after synthesis to check for error metadata. Default: - false
22047
22245
  '''
22048
22246
  options = StageSynthesisOptions(
22247
+ aspect_stabilization=aspect_stabilization,
22049
22248
  error_on_duplicate_synth=error_on_duplicate_synth,
22050
22249
  force=force,
22051
22250
  skip_validation=skip_validation,
@@ -22289,6 +22488,7 @@ class StageProps:
22289
22488
  jsii_type="aws-cdk-lib.StageSynthesisOptions",
22290
22489
  jsii_struct_bases=[],
22291
22490
  name_mapping={
22491
+ "aspect_stabilization": "aspectStabilization",
22292
22492
  "error_on_duplicate_synth": "errorOnDuplicateSynth",
22293
22493
  "force": "force",
22294
22494
  "skip_validation": "skipValidation",
@@ -22299,6 +22499,7 @@ class StageSynthesisOptions:
22299
22499
  def __init__(
22300
22500
  self,
22301
22501
  *,
22502
+ aspect_stabilization: typing.Optional[builtins.bool] = None,
22302
22503
  error_on_duplicate_synth: typing.Optional[builtins.bool] = None,
22303
22504
  force: typing.Optional[builtins.bool] = None,
22304
22505
  skip_validation: typing.Optional[builtins.bool] = None,
@@ -22306,6 +22507,7 @@ class StageSynthesisOptions:
22306
22507
  ) -> None:
22307
22508
  '''Options for assembly synthesis.
22308
22509
 
22510
+ :param aspect_stabilization: Whether or not run the stabilization loop while invoking Aspects. The stabilization loop runs multiple passes of the construct tree when invoking Aspects. Without the stabilization loop, Aspects that are created by other Aspects are not run and new nodes that are created at higher points on the construct tree by an Aspect will not inherit their parent aspects. Default: false
22309
22511
  :param error_on_duplicate_synth: Whether or not to throw a warning instead of an error if the construct tree has been mutated since the last synth. Default: true
22310
22512
  :param force: Force a re-synth, even if the stage has already been synthesized. This is used by tests to allow for incremental verification of the output. Do not use in production. Default: false
22311
22513
  :param skip_validation: Should we skip construct validation. Default: - false
@@ -22320,6 +22522,7 @@ class StageSynthesisOptions:
22320
22522
  import aws_cdk as cdk
22321
22523
 
22322
22524
  stage_synthesis_options = cdk.StageSynthesisOptions(
22525
+ aspect_stabilization=False,
22323
22526
  error_on_duplicate_synth=False,
22324
22527
  force=False,
22325
22528
  skip_validation=False,
@@ -22328,11 +22531,14 @@ class StageSynthesisOptions:
22328
22531
  '''
22329
22532
  if __debug__:
22330
22533
  type_hints = typing.get_type_hints(_typecheckingstub__e8b2b0462b32cc3d2ec10c615bf94a3122bcdd5b1e2c521fb377665ba9a5a618)
22534
+ check_type(argname="argument aspect_stabilization", value=aspect_stabilization, expected_type=type_hints["aspect_stabilization"])
22331
22535
  check_type(argname="argument error_on_duplicate_synth", value=error_on_duplicate_synth, expected_type=type_hints["error_on_duplicate_synth"])
22332
22536
  check_type(argname="argument force", value=force, expected_type=type_hints["force"])
22333
22537
  check_type(argname="argument skip_validation", value=skip_validation, expected_type=type_hints["skip_validation"])
22334
22538
  check_type(argname="argument validate_on_synthesis", value=validate_on_synthesis, expected_type=type_hints["validate_on_synthesis"])
22335
22539
  self._values: typing.Dict[builtins.str, typing.Any] = {}
22540
+ if aspect_stabilization is not None:
22541
+ self._values["aspect_stabilization"] = aspect_stabilization
22336
22542
  if error_on_duplicate_synth is not None:
22337
22543
  self._values["error_on_duplicate_synth"] = error_on_duplicate_synth
22338
22544
  if force is not None:
@@ -22342,6 +22548,20 @@ class StageSynthesisOptions:
22342
22548
  if validate_on_synthesis is not None:
22343
22549
  self._values["validate_on_synthesis"] = validate_on_synthesis
22344
22550
 
22551
+ @builtins.property
22552
+ def aspect_stabilization(self) -> typing.Optional[builtins.bool]:
22553
+ '''Whether or not run the stabilization loop while invoking Aspects.
22554
+
22555
+ The stabilization loop runs multiple passes of the construct tree when invoking
22556
+ Aspects. Without the stabilization loop, Aspects that are created by other Aspects
22557
+ are not run and new nodes that are created at higher points on the construct tree by
22558
+ an Aspect will not inherit their parent aspects.
22559
+
22560
+ :default: false
22561
+ '''
22562
+ result = self._values.get("aspect_stabilization")
22563
+ return typing.cast(typing.Optional[builtins.bool], result)
22564
+
22345
22565
  @builtins.property
22346
22566
  def error_on_duplicate_synth(self) -> typing.Optional[builtins.bool]:
22347
22567
  '''Whether or not to throw a warning instead of an error if the construct tree has been mutated since the last synth.
@@ -27903,7 +28123,9 @@ class CfnGuardHook(
27903
28123
  metaclass=jsii.JSIIMeta,
27904
28124
  jsii_type="aws-cdk-lib.CfnGuardHook",
27905
28125
  ):
27906
- '''This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
28126
+ '''The ``AWS::CloudFormation::GuardHook`` resource creates a Guard Hook with the specified attributes within your CloudFormation template.
28127
+
28128
+ Using the Guard domain specific language (DSL), you can author Hooks to evaluate your resources before allowing stack creation, modification, or deletion. For more information, see `Guard Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/guard-hooks.html>`_ in the *AWS CloudFormation Hooks User Guide* .
27907
28129
 
27908
28130
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
27909
28131
  :cloudformationResource: AWS::CloudFormation::GuardHook
@@ -27978,16 +28200,16 @@ class CfnGuardHook(
27978
28200
  '''
27979
28201
  :param scope: Scope in which this resource is defined.
27980
28202
  :param id: Construct identifier for this resource (unique in its scope).
27981
- :param alias: The typename alias for the hook.
27982
- :param execution_role: IAM Role ARN.
27983
- :param failure_mode: Attribute to specify CloudFormation behavior on hook failure. Default: - "WARN"
27984
- :param hook_status: Attribute to specify which stacks this hook applies to or should get invoked for. Default: - "DISABLED"
27985
- :param rule_location: S3 Source Location for the Guard files.
27986
- :param target_operations: Which operations should this Hook run against? Resource changes, stacks or change sets.
27987
- :param log_bucket: S3 Bucket where the guard validate report will be uploaded to.
27988
- :param options:
27989
- :param stack_filters: Filters to allow hooks to target specific stack attributes.
27990
- :param target_filters:
28203
+ :param alias: The type name alias for the Hook. This alias must be unique per account and Region. The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Guard::MyTestHook`` .
28204
+ :param execution_role: The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.
28205
+ :param failure_mode: Specifies how the Hook responds when rules fail their evaluation. - ``FAIL`` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies. - ``WARN`` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks. Default: - "WARN"
28206
+ :param hook_status: Specifies if the Hook is ``ENABLED`` or ``DISABLED`` . Default: - "DISABLED"
28207
+ :param rule_location: Specifies the S3 location of your Guard rules.
28208
+ :param target_operations: Specifies which type of operation the Hook is run against. Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
28209
+ :param log_bucket: Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.
28210
+ :param options: Specifies the S3 location of your input parameters.
28211
+ :param stack_filters: Specifies the stack level filters for the Hook.
28212
+ :param target_filters: Specifies the target filters for the Hook.
27991
28213
  '''
27992
28214
  if __debug__:
27993
28215
  type_hints = typing.get_type_hints(_typecheckingstub__af8d2663a8bac5046ca50537b031b46f870c6edd4948ed8528ca4e3ff9367b17)
@@ -28041,7 +28263,7 @@ class CfnGuardHook(
28041
28263
  @builtins.property
28042
28264
  @jsii.member(jsii_name="attrHookArn")
28043
28265
  def attr_hook_arn(self) -> builtins.str:
28044
- '''The Amazon Resource Name (ARN) of the activated hook.
28266
+ '''Returns the ARN of a Guard Hook.
28045
28267
 
28046
28268
  :cloudformationAttribute: HookArn
28047
28269
  '''
@@ -28055,7 +28277,10 @@ class CfnGuardHook(
28055
28277
  @builtins.property
28056
28278
  @jsii.member(jsii_name="alias")
28057
28279
  def alias(self) -> builtins.str:
28058
- '''The typename alias for the hook.'''
28280
+ '''The type name alias for the Hook.
28281
+
28282
+ This alias must be unique per account and Region.
28283
+ '''
28059
28284
  return typing.cast(builtins.str, jsii.get(self, "alias"))
28060
28285
 
28061
28286
  @alias.setter
@@ -28068,7 +28293,7 @@ class CfnGuardHook(
28068
28293
  @builtins.property
28069
28294
  @jsii.member(jsii_name="executionRole")
28070
28295
  def execution_role(self) -> builtins.str:
28071
- '''IAM Role ARN.'''
28296
+ '''The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.'''
28072
28297
  return typing.cast(builtins.str, jsii.get(self, "executionRole"))
28073
28298
 
28074
28299
  @execution_role.setter
@@ -28081,7 +28306,7 @@ class CfnGuardHook(
28081
28306
  @builtins.property
28082
28307
  @jsii.member(jsii_name="failureMode")
28083
28308
  def failure_mode(self) -> builtins.str:
28084
- '''Attribute to specify CloudFormation behavior on hook failure.'''
28309
+ '''Specifies how the Hook responds when rules fail their evaluation.'''
28085
28310
  return typing.cast(builtins.str, jsii.get(self, "failureMode"))
28086
28311
 
28087
28312
  @failure_mode.setter
@@ -28094,7 +28319,7 @@ class CfnGuardHook(
28094
28319
  @builtins.property
28095
28320
  @jsii.member(jsii_name="hookStatus")
28096
28321
  def hook_status(self) -> builtins.str:
28097
- '''Attribute to specify which stacks this hook applies to or should get invoked for.'''
28322
+ '''Specifies if the Hook is ``ENABLED`` or ``DISABLED`` .'''
28098
28323
  return typing.cast(builtins.str, jsii.get(self, "hookStatus"))
28099
28324
 
28100
28325
  @hook_status.setter
@@ -28109,7 +28334,7 @@ class CfnGuardHook(
28109
28334
  def rule_location(
28110
28335
  self,
28111
28336
  ) -> typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]:
28112
- '''S3 Source Location for the Guard files.'''
28337
+ '''Specifies the S3 location of your Guard rules.'''
28113
28338
  return typing.cast(typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"], jsii.get(self, "ruleLocation"))
28114
28339
 
28115
28340
  @rule_location.setter
@@ -28125,7 +28350,7 @@ class CfnGuardHook(
28125
28350
  @builtins.property
28126
28351
  @jsii.member(jsii_name="targetOperations")
28127
28352
  def target_operations(self) -> typing.List[builtins.str]:
28128
- '''Which operations should this Hook run against?'''
28353
+ '''Specifies which type of operation the Hook is run against.'''
28129
28354
  return typing.cast(typing.List[builtins.str], jsii.get(self, "targetOperations"))
28130
28355
 
28131
28356
  @target_operations.setter
@@ -28138,7 +28363,7 @@ class CfnGuardHook(
28138
28363
  @builtins.property
28139
28364
  @jsii.member(jsii_name="logBucket")
28140
28365
  def log_bucket(self) -> typing.Optional[builtins.str]:
28141
- '''S3 Bucket where the guard validate report will be uploaded to.'''
28366
+ '''Specifies the name of an S3 bucket to store the Guard output report.'''
28142
28367
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "logBucket"))
28143
28368
 
28144
28369
  @log_bucket.setter
@@ -28153,6 +28378,7 @@ class CfnGuardHook(
28153
28378
  def options(
28154
28379
  self,
28155
28380
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]]:
28381
+ '''Specifies the S3 location of your input parameters.'''
28156
28382
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]], jsii.get(self, "options"))
28157
28383
 
28158
28384
  @options.setter
@@ -28170,7 +28396,7 @@ class CfnGuardHook(
28170
28396
  def stack_filters(
28171
28397
  self,
28172
28398
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]]:
28173
- '''Filters to allow hooks to target specific stack attributes.'''
28399
+ '''Specifies the stack level filters for the Hook.'''
28174
28400
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]], jsii.get(self, "stackFilters"))
28175
28401
 
28176
28402
  @stack_filters.setter
@@ -28188,6 +28414,7 @@ class CfnGuardHook(
28188
28414
  def target_filters(
28189
28415
  self,
28190
28416
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]]:
28417
+ '''Specifies the target filters for the Hook.'''
28191
28418
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]], jsii.get(self, "targetFilters"))
28192
28419
 
28193
28420
  @target_filters.setter
@@ -28211,8 +28438,9 @@ class CfnGuardHook(
28211
28438
  *,
28212
28439
  input_params: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28213
28440
  ) -> None:
28214
- '''
28215
- :param input_params: S3 Source Location for the Guard files.
28441
+ '''Specifies the input parameters for a Guard Hook.
28442
+
28443
+ :param input_params: Specifies the S3 location where your input parameters are located.
28216
28444
 
28217
28445
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-options.html
28218
28446
  :exampleMetadata: fixture=_generated
@@ -28243,7 +28471,7 @@ class CfnGuardHook(
28243
28471
  def input_params(
28244
28472
  self,
28245
28473
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]]:
28246
- '''S3 Source Location for the Guard files.
28474
+ '''Specifies the S3 location where your input parameters are located.
28247
28475
 
28248
28476
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-options.html#cfn-cloudformation-guardhook-options-inputparams
28249
28477
  '''
@@ -28273,10 +28501,10 @@ class CfnGuardHook(
28273
28501
  uri: builtins.str,
28274
28502
  version_id: typing.Optional[builtins.str] = None,
28275
28503
  ) -> None:
28276
- '''S3 Source Location for the Guard files.
28504
+ '''Specifies the S3 location where your Guard rules or input parameters are located.
28277
28505
 
28278
- :param uri: S3 uri of Guard files.
28279
- :param version_id: S3 object version.
28506
+ :param uri: Specifies the S3 path to the file containing your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ). For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` . For input parameters, the object stored in S3 must have one of the following file extensions: ``.yaml`` , ``.json`` , ``.zip`` , or ``.tar.gz`` .
28507
+ :param version_id: For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from. The Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.
28280
28508
 
28281
28509
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html
28282
28510
  :exampleMetadata: fixture=_generated
@@ -28306,7 +28534,11 @@ class CfnGuardHook(
28306
28534
 
28307
28535
  @builtins.property
28308
28536
  def uri(self) -> builtins.str:
28309
- '''S3 uri of Guard files.
28537
+ '''Specifies the S3 path to the file containing your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ).
28538
+
28539
+ For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` .
28540
+
28541
+ For input parameters, the object stored in S3 must have one of the following file extensions: ``.yaml`` , ``.json`` , ``.zip`` , or ``.tar.gz`` .
28310
28542
 
28311
28543
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html#cfn-cloudformation-guardhook-s3location-uri
28312
28544
  '''
@@ -28316,7 +28548,9 @@ class CfnGuardHook(
28316
28548
 
28317
28549
  @builtins.property
28318
28550
  def version_id(self) -> typing.Optional[builtins.str]:
28319
- '''S3 object version.
28551
+ '''For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from.
28552
+
28553
+ The Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.
28320
28554
 
28321
28555
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html#cfn-cloudformation-guardhook-s3location-versionid
28322
28556
  '''
@@ -28351,11 +28585,15 @@ class CfnGuardHook(
28351
28585
  stack_names: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackNamesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28352
28586
  stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackRolesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28353
28587
  ) -> None:
28354
- '''Filters to allow hooks to target specific stack attributes.
28588
+ '''The ``StackFilters`` property type specifies stack level filters for a Hook.
28355
28589
 
28356
- :param filtering_criteria: Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match Default: - "ALL"
28357
- :param stack_names: List of stack names as filters.
28358
- :param stack_roles: List of stack roles that are performing the stack operations.
28590
+ The ``StackNames`` or ``StackRoles`` properties are optional. However, you must specify at least one of these properties.
28591
+
28592
+ For more information, see `AWS CloudFormation Hooks stack level filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-stack-level-filtering.html>`_ .
28593
+
28594
+ :param filtering_criteria: The filtering criteria. - All stack names and stack roles ( ``All`` ): The Hook will only be invoked when all specified filters match. - Any stack names and stack roles ( ``Any`` ): The Hook will be invoked if at least one of the specified filters match. Default: - "ALL"
28595
+ :param stack_names: Includes or excludes specific stacks from Hook invocations.
28596
+ :param stack_roles: Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
28359
28597
 
28360
28598
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html
28361
28599
  :exampleMetadata: fixture=_generated
@@ -28395,9 +28633,10 @@ class CfnGuardHook(
28395
28633
 
28396
28634
  @builtins.property
28397
28635
  def filtering_criteria(self) -> builtins.str:
28398
- '''Attribute to specify the filtering behavior.
28636
+ '''The filtering criteria.
28399
28637
 
28400
- ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
28638
+ - All stack names and stack roles ( ``All`` ): The Hook will only be invoked when all specified filters match.
28639
+ - Any stack names and stack roles ( ``Any`` ): The Hook will be invoked if at least one of the specified filters match.
28401
28640
 
28402
28641
  :default: - "ALL"
28403
28642
 
@@ -28411,7 +28650,7 @@ class CfnGuardHook(
28411
28650
  def stack_names(
28412
28651
  self,
28413
28652
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackNamesProperty"]]:
28414
- '''List of stack names as filters.
28653
+ '''Includes or excludes specific stacks from Hook invocations.
28415
28654
 
28416
28655
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-stacknames
28417
28656
  '''
@@ -28422,7 +28661,7 @@ class CfnGuardHook(
28422
28661
  def stack_roles(
28423
28662
  self,
28424
28663
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackRolesProperty"]]:
28425
- '''List of stack roles that are performing the stack operations.
28664
+ '''Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
28426
28665
 
28427
28666
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-stackroles
28428
28667
  '''
@@ -28452,10 +28691,12 @@ class CfnGuardHook(
28452
28691
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
28453
28692
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
28454
28693
  ) -> None:
28455
- '''List of stack names as filters.
28694
+ '''Specifies the stack names for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations.
28695
+
28696
+ For more information, see `AWS CloudFormation Hooks stack level filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-stack-level-filtering.html>`_ .
28456
28697
 
28457
- :param exclude: List of stack names that the hook is going to be excluded from.
28458
- :param include: List of stack names that the hook is going to target.
28698
+ :param exclude: The stack names to exclude. All stacks except those listed here will invoke the Hook.
28699
+ :param include: The stack names to include. Only the stacks specified in this list will invoke the Hook.
28459
28700
 
28460
28701
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html
28461
28702
  :exampleMetadata: fixture=_generated
@@ -28483,7 +28724,9 @@ class CfnGuardHook(
28483
28724
 
28484
28725
  @builtins.property
28485
28726
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
28486
- '''List of stack names that the hook is going to be excluded from.
28727
+ '''The stack names to exclude.
28728
+
28729
+ All stacks except those listed here will invoke the Hook.
28487
28730
 
28488
28731
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html#cfn-cloudformation-guardhook-stacknames-exclude
28489
28732
  '''
@@ -28492,7 +28735,9 @@ class CfnGuardHook(
28492
28735
 
28493
28736
  @builtins.property
28494
28737
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
28495
- '''List of stack names that the hook is going to target.
28738
+ '''The stack names to include.
28739
+
28740
+ Only the stacks specified in this list will invoke the Hook.
28496
28741
 
28497
28742
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html#cfn-cloudformation-guardhook-stacknames-include
28498
28743
  '''
@@ -28522,10 +28767,12 @@ class CfnGuardHook(
28522
28767
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
28523
28768
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
28524
28769
  ) -> None:
28525
- '''List of stack roles that are performing the stack operations.
28770
+ '''Specifies the stack roles for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations based on their associated IAM roles.
28771
+
28772
+ For more information, see `AWS CloudFormation Hooks stack level filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-stack-level-filtering.html>`_ .
28526
28773
 
28527
- :param exclude: List of stack roles that the hook is going to be excluded from.
28528
- :param include: List of stack roles that the hook is going to target.
28774
+ :param exclude: The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.
28775
+ :param include: The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.
28529
28776
 
28530
28777
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html
28531
28778
  :exampleMetadata: fixture=_generated
@@ -28553,7 +28800,9 @@ class CfnGuardHook(
28553
28800
 
28554
28801
  @builtins.property
28555
28802
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
28556
- '''List of stack roles that the hook is going to be excluded from.
28803
+ '''The IAM role ARNs for stacks you want to exclude.
28804
+
28805
+ The Hook will be invoked on all stacks except those initiated by the specified roles.
28557
28806
 
28558
28807
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html#cfn-cloudformation-guardhook-stackroles-exclude
28559
28808
  '''
@@ -28562,7 +28811,9 @@ class CfnGuardHook(
28562
28811
 
28563
28812
  @builtins.property
28564
28813
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
28565
- '''List of stack roles that the hook is going to target.
28814
+ '''The IAM role ARNs to target stacks associated with these roles.
28815
+
28816
+ Only stack operations initiated by these roles will invoke the Hook.
28566
28817
 
28567
28818
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html#cfn-cloudformation-guardhook-stackroles-include
28568
28819
  '''
@@ -28597,7 +28848,10 @@ class CfnGuardHook(
28597
28848
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
28598
28849
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
28599
28850
  ) -> None:
28600
- '''
28851
+ '''The ``TargetFilters`` property type specifies the target filters for the Hook.
28852
+
28853
+ For more information, see `AWS CloudFormation Hook target filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/specify-hook-configuration-targetfilters.html>`_ .
28854
+
28601
28855
  :param actions: List of actions that the hook is going to target.
28602
28856
  :param invocation_points: List of invocation points that the hook is going to target.
28603
28857
  :param target_names: List of type names that the hook is going to target.
@@ -28675,9 +28929,9 @@ class CfnHookDefaultVersion(
28675
28929
  metaclass=jsii.JSIIMeta,
28676
28930
  jsii_type="aws-cdk-lib.CfnHookDefaultVersion",
28677
28931
  ):
28678
- '''The ``HookDefaultVersion`` resource specifies the default version of the hook.
28932
+ '''The ``HookDefaultVersion`` resource specifies the default version of the Hook.
28679
28933
 
28680
- The default version of the hook is used in CloudFormation operations for this AWS account and AWS Region .
28934
+ The default version of the Hook is used in CloudFormation operations for this AWS account and AWS Region .
28681
28935
 
28682
28936
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html
28683
28937
  :cloudformationResource: AWS::CloudFormation::HookDefaultVersion
@@ -28708,7 +28962,7 @@ class CfnHookDefaultVersion(
28708
28962
  '''
28709
28963
  :param scope: Scope in which this resource is defined.
28710
28964
  :param id: Construct identifier for this resource (unique in its scope).
28711
- :param type_name: The name of the hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28965
+ :param type_name: The name of the Hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28712
28966
  :param type_version_arn: The version ID of the type configuration. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28713
28967
  :param version_id: The version ID of the type specified. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28714
28968
  '''
@@ -28771,7 +29025,7 @@ class CfnHookDefaultVersion(
28771
29025
  @builtins.property
28772
29026
  @jsii.member(jsii_name="typeName")
28773
29027
  def type_name(self) -> typing.Optional[builtins.str]:
28774
- '''The name of the hook.'''
29028
+ '''The name of the Hook.'''
28775
29029
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeName"))
28776
29030
 
28777
29031
  @type_name.setter
@@ -28814,7 +29068,7 @@ class CfnHookTypeConfig(
28814
29068
  metaclass=jsii.JSIIMeta,
28815
29069
  jsii_type="aws-cdk-lib.CfnHookTypeConfig",
28816
29070
  ):
28817
- '''The ``HookTypeConfig`` resource specifies the configuration of a hook.
29071
+ '''The ``HookTypeConfig`` resource specifies the configuration of a Hook.
28818
29072
 
28819
29073
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html
28820
29074
  :cloudformationResource: AWS::CloudFormation::HookTypeConfig
@@ -28849,10 +29103,10 @@ class CfnHookTypeConfig(
28849
29103
  '''
28850
29104
  :param scope: Scope in which this resource is defined.
28851
29105
  :param id: Construct identifier for this resource (unique in its scope).
28852
- :param configuration: Specifies the activated hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
28853
- :param configuration_alias: Specifies the activated hook type configuration, in this AWS account and AWS Region . Defaults to ``default`` alias. Hook types currently support default configuration alias. Default: - "default"
28854
- :param type_arn: The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
28855
- :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
29106
+ :param configuration: Specifies the activated Hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
29107
+ :param configuration_alias: Specifies the activated Hook type configuration, in this AWS account and AWS Region . Defaults to ``default`` alias. Hook types currently support default configuration alias. Default: - "default"
29108
+ :param type_arn: The Amazon Resource Number (ARN) for the Hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
29109
+ :param type_name: The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
28856
29110
  '''
28857
29111
  if __debug__:
28858
29112
  type_hints = typing.get_type_hints(_typecheckingstub__440c58795f3a6a77584c4efc0cb756d094deee80919471d9fe116992443f4255)
@@ -28900,7 +29154,7 @@ class CfnHookTypeConfig(
28900
29154
  @builtins.property
28901
29155
  @jsii.member(jsii_name="attrConfigurationArn")
28902
29156
  def attr_configuration_arn(self) -> builtins.str:
28903
- '''The Amazon Resource Number (ARN) of the activated hook type configuration, in this account and Region.
29157
+ '''The Amazon Resource Number (ARN) of the activated Hook type configuration, in this account and Region.
28904
29158
 
28905
29159
  :cloudformationAttribute: ConfigurationArn
28906
29160
  '''
@@ -28914,7 +29168,7 @@ class CfnHookTypeConfig(
28914
29168
  @builtins.property
28915
29169
  @jsii.member(jsii_name="configuration")
28916
29170
  def configuration(self) -> builtins.str:
28917
- '''Specifies the activated hook type configuration, in this AWS account and AWS Region .'''
29171
+ '''Specifies the activated Hook type configuration, in this AWS account and AWS Region .'''
28918
29172
  return typing.cast(builtins.str, jsii.get(self, "configuration"))
28919
29173
 
28920
29174
  @configuration.setter
@@ -28927,7 +29181,7 @@ class CfnHookTypeConfig(
28927
29181
  @builtins.property
28928
29182
  @jsii.member(jsii_name="configurationAlias")
28929
29183
  def configuration_alias(self) -> typing.Optional[builtins.str]:
28930
- '''Specifies the activated hook type configuration, in this AWS account and AWS Region .'''
29184
+ '''Specifies the activated Hook type configuration, in this AWS account and AWS Region .'''
28931
29185
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "configurationAlias"))
28932
29186
 
28933
29187
  @configuration_alias.setter
@@ -28940,7 +29194,7 @@ class CfnHookTypeConfig(
28940
29194
  @builtins.property
28941
29195
  @jsii.member(jsii_name="typeArn")
28942
29196
  def type_arn(self) -> typing.Optional[builtins.str]:
28943
- '''The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for.'''
29197
+ '''The Amazon Resource Number (ARN) for the Hook to set ``Configuration`` for.'''
28944
29198
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeArn"))
28945
29199
 
28946
29200
  @type_arn.setter
@@ -28953,7 +29207,7 @@ class CfnHookTypeConfig(
28953
29207
  @builtins.property
28954
29208
  @jsii.member(jsii_name="typeName")
28955
29209
  def type_name(self) -> typing.Optional[builtins.str]:
28956
- '''The unique name for your hook.'''
29210
+ '''The unique name for your Hook.'''
28957
29211
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeName"))
28958
29212
 
28959
29213
  @type_name.setter
@@ -28970,7 +29224,7 @@ class CfnHookVersion(
28970
29224
  metaclass=jsii.JSIIMeta,
28971
29225
  jsii_type="aws-cdk-lib.CfnHookVersion",
28972
29226
  ):
28973
- '''The ``HookVersion`` resource publishes new or first hook version to the AWS CloudFormation registry.
29227
+ '''The ``HookVersion`` resource publishes new or first Hook version to the AWS CloudFormation registry.
28974
29228
 
28975
29229
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html
28976
29230
  :cloudformationResource: AWS::CloudFormation::HookVersion
@@ -29008,9 +29262,9 @@ class CfnHookVersion(
29008
29262
  '''
29009
29263
  :param scope: Scope in which this resource is defined.
29010
29264
  :param id: Construct identifier for this resource (unique in its scope).
29011
- :param schema_handler_package: A URL to the Amazon S3 bucket containing the hook project package that contains the necessary files for the hook you want to register. For information on generating a schema handler package for the resource you want to register, see `submit <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html>`_ in the *CloudFormation CLI User Guide for Extension Development* . .. epigraph:: The user registering the resource must be able to access the package in the S3 bucket. That's, the user must have `GetObject <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html>`_ permissions for the schema handler package. For more information, see `Actions, Resources, and Condition Keys for Amazon S3 <https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html>`_ in the *AWS Identity and Access Management User Guide* .
29265
+ :param schema_handler_package: A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register. For information on generating a schema handler package for the resource you want to register, see `submit <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html>`_ in the *CloudFormation CLI User Guide for Extension Development* . .. epigraph:: The user registering the resource must be able to access the package in the S3 bucket. That's, the user must have `GetObject <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html>`_ permissions for the schema handler package. For more information, see `Actions, Resources, and Condition Keys for Amazon S3 <https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html>`_ in the *AWS Identity and Access Management User Guide* .
29012
29266
  :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . .. epigraph:: The following organization namespaces are reserved and can't be used in your hook type names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``ASK`` - ``AWS`` - ``Custom`` - ``Dev``
29013
- :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the hook permission.
29267
+ :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
29014
29268
  :param logging_config: Contains logging configuration information for an extension.
29015
29269
  '''
29016
29270
  if __debug__:
@@ -29059,7 +29313,7 @@ class CfnHookVersion(
29059
29313
  @builtins.property
29060
29314
  @jsii.member(jsii_name="attrArn")
29061
29315
  def attr_arn(self) -> builtins.str:
29062
- '''The Amazon Resource Name (ARN) of the hook.
29316
+ '''The Amazon Resource Name (ARN) of the Hook.
29063
29317
 
29064
29318
  :cloudformationAttribute: Arn
29065
29319
  '''
@@ -29068,7 +29322,7 @@ class CfnHookVersion(
29068
29322
  @builtins.property
29069
29323
  @jsii.member(jsii_name="attrIsDefaultVersion")
29070
29324
  def attr_is_default_version(self) -> IResolvable:
29071
- '''Whether the specified hook version is set as the default version.
29325
+ '''Whether the specified Hook version is set as the default version.
29072
29326
 
29073
29327
  :cloudformationAttribute: IsDefaultVersion
29074
29328
  '''
@@ -29077,7 +29331,7 @@ class CfnHookVersion(
29077
29331
  @builtins.property
29078
29332
  @jsii.member(jsii_name="attrTypeArn")
29079
29333
  def attr_type_arn(self) -> builtins.str:
29080
- '''The Amazon Resource Number (ARN) assigned to this version of the hook.
29334
+ '''The Amazon Resource Number (ARN) assigned to this version of the Hook.
29081
29335
 
29082
29336
  :cloudformationAttribute: TypeArn
29083
29337
  '''
@@ -29086,7 +29340,7 @@ class CfnHookVersion(
29086
29340
  @builtins.property
29087
29341
  @jsii.member(jsii_name="attrVersionId")
29088
29342
  def attr_version_id(self) -> builtins.str:
29089
- '''The ID of this version of the hook.
29343
+ '''The ID of this version of the Hook.
29090
29344
 
29091
29345
  :cloudformationAttribute: VersionId
29092
29346
  '''
@@ -29114,7 +29368,7 @@ class CfnHookVersion(
29114
29368
  @builtins.property
29115
29369
  @jsii.member(jsii_name="schemaHandlerPackage")
29116
29370
  def schema_handler_package(self) -> builtins.str:
29117
- '''A URL to the Amazon S3 bucket containing the hook project package that contains the necessary files for the hook you want to register.'''
29371
+ '''A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register.'''
29118
29372
  return typing.cast(builtins.str, jsii.get(self, "schemaHandlerPackage"))
29119
29373
 
29120
29374
  @schema_handler_package.setter
@@ -29140,7 +29394,7 @@ class CfnHookVersion(
29140
29394
  @builtins.property
29141
29395
  @jsii.member(jsii_name="executionRoleArn")
29142
29396
  def execution_role_arn(self) -> typing.Optional[builtins.str]:
29143
- '''The Amazon Resource Name (ARN) of the task execution role that grants the hook permission.'''
29397
+ '''The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.'''
29144
29398
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "executionRoleArn"))
29145
29399
 
29146
29400
  @execution_role_arn.setter
@@ -29339,7 +29593,9 @@ class CfnLambdaHook(
29339
29593
  metaclass=jsii.JSIIMeta,
29340
29594
  jsii_type="aws-cdk-lib.CfnLambdaHook",
29341
29595
  ):
29342
- '''This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
29596
+ '''The ``AWS::CloudFormation::LambdaHook`` resource creates a Lambda Hook with the specified attributes within your CloudFormation template.
29597
+
29598
+ You can use a Lambda Hook to evaluate your resources before allowing stack creation, modification, or deletion. This resource forwards requests for resource evaluation to a Lambda function. For more information, see `Lambda Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/lambda-hooks.html>`_ in the *AWS CloudFormation Hooks User Guide* .
29343
29599
 
29344
29600
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
29345
29601
  :cloudformationResource: AWS::CloudFormation::LambdaHook
@@ -29398,14 +29654,14 @@ class CfnLambdaHook(
29398
29654
  '''
29399
29655
  :param scope: Scope in which this resource is defined.
29400
29656
  :param id: Construct identifier for this resource (unique in its scope).
29401
- :param alias: The typename alias for the hook.
29402
- :param execution_role: IAM Role ARN.
29403
- :param failure_mode: Attribute to specify CloudFormation behavior on hook failure.
29404
- :param hook_status: Attribute to specify which stacks this hook applies to or should get invoked for. Default: - "ENABLED"
29405
- :param lambda_function: Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.
29406
- :param target_operations: Which operations should this Hook run against? Resource changes, stacks or change sets.
29407
- :param stack_filters: Filters to allow hooks to target specific stack attributes.
29408
- :param target_filters:
29657
+ :param alias: The type name alias for the Hook. This alias must be unique per account and Region. The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Lambda::MyTestHook`` .
29658
+ :param execution_role: The IAM role that the Hook assumes to invoke your Lambda function.
29659
+ :param failure_mode: Specifies how the Hook responds when the Lambda function invoked by the Hook returns a ``FAILED`` response. - ``FAIL`` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies. - ``WARN`` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.
29660
+ :param hook_status: Specifies if the Hook is ``ENABLED`` or ``DISABLED`` . Default: - "ENABLED"
29661
+ :param lambda_function: Specifies the Lambda function for the Hook. You can use:. - The full Amazon Resource Name (ARN) without a suffix. - A qualified ARN with a version or alias suffix.
29662
+ :param target_operations: Specifies which type of operation the Hook is run against. Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
29663
+ :param stack_filters: Specifies the stack level filters for the Hook.
29664
+ :param target_filters: Specifies the target filters for the Hook.
29409
29665
  '''
29410
29666
  if __debug__:
29411
29667
  type_hints = typing.get_type_hints(_typecheckingstub__407b4a631e3a832f02376728222302ded8f1ba90d2538b0469e5b99641f17447)
@@ -29457,7 +29713,7 @@ class CfnLambdaHook(
29457
29713
  @builtins.property
29458
29714
  @jsii.member(jsii_name="attrHookArn")
29459
29715
  def attr_hook_arn(self) -> builtins.str:
29460
- '''The Amazon Resource Name (ARN) of the activated hook.
29716
+ '''Returns the ARN of a Lambda Hook.
29461
29717
 
29462
29718
  :cloudformationAttribute: HookArn
29463
29719
  '''
@@ -29471,7 +29727,10 @@ class CfnLambdaHook(
29471
29727
  @builtins.property
29472
29728
  @jsii.member(jsii_name="alias")
29473
29729
  def alias(self) -> builtins.str:
29474
- '''The typename alias for the hook.'''
29730
+ '''The type name alias for the Hook.
29731
+
29732
+ This alias must be unique per account and Region.
29733
+ '''
29475
29734
  return typing.cast(builtins.str, jsii.get(self, "alias"))
29476
29735
 
29477
29736
  @alias.setter
@@ -29484,7 +29743,7 @@ class CfnLambdaHook(
29484
29743
  @builtins.property
29485
29744
  @jsii.member(jsii_name="executionRole")
29486
29745
  def execution_role(self) -> builtins.str:
29487
- '''IAM Role ARN.'''
29746
+ '''The IAM role that the Hook assumes to invoke your Lambda function.'''
29488
29747
  return typing.cast(builtins.str, jsii.get(self, "executionRole"))
29489
29748
 
29490
29749
  @execution_role.setter
@@ -29497,7 +29756,7 @@ class CfnLambdaHook(
29497
29756
  @builtins.property
29498
29757
  @jsii.member(jsii_name="failureMode")
29499
29758
  def failure_mode(self) -> builtins.str:
29500
- '''Attribute to specify CloudFormation behavior on hook failure.'''
29759
+ '''Specifies how the Hook responds when the Lambda function invoked by the Hook returns a ``FAILED`` response.'''
29501
29760
  return typing.cast(builtins.str, jsii.get(self, "failureMode"))
29502
29761
 
29503
29762
  @failure_mode.setter
@@ -29510,7 +29769,7 @@ class CfnLambdaHook(
29510
29769
  @builtins.property
29511
29770
  @jsii.member(jsii_name="hookStatus")
29512
29771
  def hook_status(self) -> builtins.str:
29513
- '''Attribute to specify which stacks this hook applies to or should get invoked for.'''
29772
+ '''Specifies if the Hook is ``ENABLED`` or ``DISABLED`` .'''
29514
29773
  return typing.cast(builtins.str, jsii.get(self, "hookStatus"))
29515
29774
 
29516
29775
  @hook_status.setter
@@ -29523,7 +29782,10 @@ class CfnLambdaHook(
29523
29782
  @builtins.property
29524
29783
  @jsii.member(jsii_name="lambdaFunction")
29525
29784
  def lambda_function(self) -> builtins.str:
29526
- '''Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.'''
29785
+ '''Specifies the Lambda function for the Hook.
29786
+
29787
+ You can use:.
29788
+ '''
29527
29789
  return typing.cast(builtins.str, jsii.get(self, "lambdaFunction"))
29528
29790
 
29529
29791
  @lambda_function.setter
@@ -29536,7 +29798,7 @@ class CfnLambdaHook(
29536
29798
  @builtins.property
29537
29799
  @jsii.member(jsii_name="targetOperations")
29538
29800
  def target_operations(self) -> typing.List[builtins.str]:
29539
- '''Which operations should this Hook run against?'''
29801
+ '''Specifies which type of operation the Hook is run against.'''
29540
29802
  return typing.cast(typing.List[builtins.str], jsii.get(self, "targetOperations"))
29541
29803
 
29542
29804
  @target_operations.setter
@@ -29551,7 +29813,7 @@ class CfnLambdaHook(
29551
29813
  def stack_filters(
29552
29814
  self,
29553
29815
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]]:
29554
- '''Filters to allow hooks to target specific stack attributes.'''
29816
+ '''Specifies the stack level filters for the Hook.'''
29555
29817
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]], jsii.get(self, "stackFilters"))
29556
29818
 
29557
29819
  @stack_filters.setter
@@ -29569,6 +29831,7 @@ class CfnLambdaHook(
29569
29831
  def target_filters(
29570
29832
  self,
29571
29833
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]]:
29834
+ '''Specifies the target filters for the Hook.'''
29572
29835
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]], jsii.get(self, "targetFilters"))
29573
29836
 
29574
29837
  @target_filters.setter
@@ -29598,11 +29861,15 @@ class CfnLambdaHook(
29598
29861
  stack_names: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackNamesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29599
29862
  stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackRolesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29600
29863
  ) -> None:
29601
- '''Filters to allow hooks to target specific stack attributes.
29864
+ '''The ``StackFilters`` property type specifies stack level filters for a Hook.
29865
+
29866
+ The ``StackNames`` or ``StackRoles`` properties are optional. However, you must specify at least one of these properties.
29602
29867
 
29603
- :param filtering_criteria: Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match Default: - "ALL"
29604
- :param stack_names: List of stack names as filters.
29605
- :param stack_roles: List of stack roles that are performing the stack operations.
29868
+ For more information, see `AWS CloudFormation Hooks stack level filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-stack-level-filtering.html>`_ .
29869
+
29870
+ :param filtering_criteria: The filtering criteria. - All stack names and stack roles ( ``All`` ): The Hook will only be invoked when all specified filters match. - Any stack names and stack roles ( ``Any`` ): The Hook will be invoked if at least one of the specified filters match. Default: - "ALL"
29871
+ :param stack_names: Includes or excludes specific stacks from Hook invocations.
29872
+ :param stack_roles: Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
29606
29873
 
29607
29874
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html
29608
29875
  :exampleMetadata: fixture=_generated
@@ -29642,9 +29909,10 @@ class CfnLambdaHook(
29642
29909
 
29643
29910
  @builtins.property
29644
29911
  def filtering_criteria(self) -> builtins.str:
29645
- '''Attribute to specify the filtering behavior.
29912
+ '''The filtering criteria.
29646
29913
 
29647
- ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
29914
+ - All stack names and stack roles ( ``All`` ): The Hook will only be invoked when all specified filters match.
29915
+ - Any stack names and stack roles ( ``Any`` ): The Hook will be invoked if at least one of the specified filters match.
29648
29916
 
29649
29917
  :default: - "ALL"
29650
29918
 
@@ -29658,7 +29926,7 @@ class CfnLambdaHook(
29658
29926
  def stack_names(
29659
29927
  self,
29660
29928
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackNamesProperty"]]:
29661
- '''List of stack names as filters.
29929
+ '''Includes or excludes specific stacks from Hook invocations.
29662
29930
 
29663
29931
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-stacknames
29664
29932
  '''
@@ -29669,7 +29937,7 @@ class CfnLambdaHook(
29669
29937
  def stack_roles(
29670
29938
  self,
29671
29939
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackRolesProperty"]]:
29672
- '''List of stack roles that are performing the stack operations.
29940
+ '''Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
29673
29941
 
29674
29942
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-stackroles
29675
29943
  '''
@@ -29699,10 +29967,12 @@ class CfnLambdaHook(
29699
29967
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
29700
29968
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
29701
29969
  ) -> None:
29702
- '''List of stack names as filters.
29970
+ '''Specifies the stack names for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations.
29971
+
29972
+ For more information, see `AWS CloudFormation Hooks stack level filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-stack-level-filtering.html>`_ .
29703
29973
 
29704
- :param exclude: List of stack names that the hook is going to be excluded from.
29705
- :param include: List of stack names that the hook is going to target.
29974
+ :param exclude: The stack names to exclude. All stacks except those listed here will invoke the Hook.
29975
+ :param include: The stack names to include. Only the stacks specified in this list will invoke the Hook.
29706
29976
 
29707
29977
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html
29708
29978
  :exampleMetadata: fixture=_generated
@@ -29730,7 +30000,9 @@ class CfnLambdaHook(
29730
30000
 
29731
30001
  @builtins.property
29732
30002
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
29733
- '''List of stack names that the hook is going to be excluded from.
30003
+ '''The stack names to exclude.
30004
+
30005
+ All stacks except those listed here will invoke the Hook.
29734
30006
 
29735
30007
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html#cfn-cloudformation-lambdahook-stacknames-exclude
29736
30008
  '''
@@ -29739,7 +30011,9 @@ class CfnLambdaHook(
29739
30011
 
29740
30012
  @builtins.property
29741
30013
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
29742
- '''List of stack names that the hook is going to target.
30014
+ '''The stack names to include.
30015
+
30016
+ Only the stacks specified in this list will invoke the Hook.
29743
30017
 
29744
30018
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html#cfn-cloudformation-lambdahook-stacknames-include
29745
30019
  '''
@@ -29769,10 +30043,12 @@ class CfnLambdaHook(
29769
30043
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
29770
30044
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
29771
30045
  ) -> None:
29772
- '''List of stack roles that are performing the stack operations.
30046
+ '''Specifies the stack roles for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations based on their associated IAM roles.
30047
+
30048
+ For more information, see `AWS CloudFormation Hooks stack level filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-stack-level-filtering.html>`_ .
29773
30049
 
29774
- :param exclude: List of stack roles that the hook is going to be excluded from.
29775
- :param include: List of stack roles that the hook is going to target.
30050
+ :param exclude: The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.
30051
+ :param include: The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.
29776
30052
 
29777
30053
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html
29778
30054
  :exampleMetadata: fixture=_generated
@@ -29800,7 +30076,9 @@ class CfnLambdaHook(
29800
30076
 
29801
30077
  @builtins.property
29802
30078
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
29803
- '''List of stack roles that the hook is going to be excluded from.
30079
+ '''The IAM role ARNs for stacks you want to exclude.
30080
+
30081
+ The Hook will be invoked on all stacks except those initiated by the specified roles.
29804
30082
 
29805
30083
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html#cfn-cloudformation-lambdahook-stackroles-exclude
29806
30084
  '''
@@ -29809,7 +30087,9 @@ class CfnLambdaHook(
29809
30087
 
29810
30088
  @builtins.property
29811
30089
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
29812
- '''List of stack roles that the hook is going to target.
30090
+ '''The IAM role ARNs to target stacks associated with these roles.
30091
+
30092
+ Only stack operations initiated by these roles will invoke the Hook.
29813
30093
 
29814
30094
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html#cfn-cloudformation-lambdahook-stackroles-include
29815
30095
  '''
@@ -29844,7 +30124,10 @@ class CfnLambdaHook(
29844
30124
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
29845
30125
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
29846
30126
  ) -> None:
29847
- '''
30127
+ '''The ``TargetFilters`` property type specifies the target filters for the Hook.
30128
+
30129
+ For more information, see `AWS CloudFormation Hook target filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/specify-hook-configuration-targetfilters.html>`_ .
30130
+
29848
30131
  :param actions: List of actions that the hook is going to target.
29849
30132
  :param invocation_points: List of invocation points that the hook is going to target.
29850
30133
  :param target_names: List of type names that the hook is going to target.
@@ -35625,6 +35908,9 @@ __all__ = [
35625
35908
  "Arn",
35626
35909
  "ArnComponents",
35627
35910
  "ArnFormat",
35911
+ "AspectApplication",
35912
+ "AspectOptions",
35913
+ "AspectPriority",
35628
35914
  "Aspects",
35629
35915
  "AssetHashType",
35630
35916
  "AssetManifestBuilder",
@@ -36531,6 +36817,27 @@ def _typecheckingstub__4565cb9b5469dd4d4c1d23e54f8933087065a599bfce16e56da30ffbc
36531
36817
  """Type checking stubs"""
36532
36818
  pass
36533
36819
 
36820
+ def _typecheckingstub__9e9e7eccccdbb57b560afbe6d0b0f0653f49bc2cf8739189ca2dfd2305348a44(
36821
+ construct: _constructs_77d1e7e8.IConstruct,
36822
+ aspect: IAspect,
36823
+ priority: jsii.Number,
36824
+ ) -> None:
36825
+ """Type checking stubs"""
36826
+ pass
36827
+
36828
+ def _typecheckingstub__5caf783430302b32bfab31d65627bb13dae6c0e9f42b0a5443818db8b0503d54(
36829
+ value: jsii.Number,
36830
+ ) -> None:
36831
+ """Type checking stubs"""
36832
+ pass
36833
+
36834
+ def _typecheckingstub__1761263abda35b4b2f599d4ff5122c0e7ad15a95af4498d9c6e04e78bc4a4b76(
36835
+ *,
36836
+ priority: typing.Optional[jsii.Number] = None,
36837
+ ) -> None:
36838
+ """Type checking stubs"""
36839
+ pass
36840
+
36534
36841
  def _typecheckingstub__c08382b7db1bf0c2efa4c2d0aa06e663a1761fa93a12226a128ebaac5b577314(
36535
36842
  scope: _constructs_77d1e7e8.IConstruct,
36536
36843
  ) -> None:
@@ -36539,6 +36846,8 @@ def _typecheckingstub__c08382b7db1bf0c2efa4c2d0aa06e663a1761fa93a12226a128ebaac5
36539
36846
 
36540
36847
  def _typecheckingstub__3a0ed518e4a98c831b3b8dcdf7981d87fff56769689b00526e1e9d8df1b39f84(
36541
36848
  aspect: IAspect,
36849
+ *,
36850
+ priority: typing.Optional[jsii.Number] = None,
36542
36851
  ) -> None:
36543
36852
  """Type checking stubs"""
36544
36853
  pass
@@ -39102,6 +39411,7 @@ def _typecheckingstub__c519a1aa0534921a8dfdfa69ddc24b52c09a7eb52fc889f7fb96b737e
39102
39411
 
39103
39412
  def _typecheckingstub__e8b2b0462b32cc3d2ec10c615bf94a3122bcdd5b1e2c521fb377665ba9a5a618(
39104
39413
  *,
39414
+ aspect_stabilization: typing.Optional[builtins.bool] = None,
39105
39415
  error_on_duplicate_synth: typing.Optional[builtins.bool] = None,
39106
39416
  force: typing.Optional[builtins.bool] = None,
39107
39417
  skip_validation: typing.Optional[builtins.bool] = None,