aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.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 (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.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")
@@ -13136,6 +13332,48 @@ class Environment:
13136
13332
  )
13137
13333
 
13138
13334
 
13335
+ class Errors(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Errors"):
13336
+ '''Helper to check if an error is a SynthesisErrors.
13337
+
13338
+ :exampleMetadata: fixture=_generated
13339
+
13340
+ Example::
13341
+
13342
+ # The code below shows an example of how to instantiate this type.
13343
+ # The values are placeholders you should change.
13344
+ import aws_cdk as cdk
13345
+
13346
+ errors = cdk.Errors()
13347
+ '''
13348
+
13349
+ def __init__(self) -> None:
13350
+ jsii.create(self.__class__, self, [])
13351
+
13352
+ @jsii.member(jsii_name="isConstructError")
13353
+ @builtins.classmethod
13354
+ def is_construct_error(cls, x: typing.Any) -> builtins.bool:
13355
+ '''Test whether the given errors is a ConstructionError.
13356
+
13357
+ :param x: -
13358
+ '''
13359
+ if __debug__:
13360
+ type_hints = typing.get_type_hints(_typecheckingstub__0c62bc5a6fe032556ae3c32e105ddaad3f4ca89286fd26884af6347d3364c5ae)
13361
+ check_type(argname="argument x", value=x, expected_type=type_hints["x"])
13362
+ return typing.cast(builtins.bool, jsii.sinvoke(cls, "isConstructError", [x]))
13363
+
13364
+ @jsii.member(jsii_name="isValidationError")
13365
+ @builtins.classmethod
13366
+ def is_validation_error(cls, x: typing.Any) -> builtins.bool:
13367
+ '''Test whether the given error is a ValidationError.
13368
+
13369
+ :param x: -
13370
+ '''
13371
+ if __debug__:
13372
+ type_hints = typing.get_type_hints(_typecheckingstub__c9afe20487c547932befb7a2f6567c38793e8d7df55f47046e1cfb408408d733)
13373
+ check_type(argname="argument x", value=x, expected_type=type_hints["x"])
13374
+ return typing.cast(builtins.bool, jsii.sinvoke(cls, "isValidationError", [x]))
13375
+
13376
+
13139
13377
  class Expiration(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Expiration"):
13140
13378
  '''Represents a date of expiration.
13141
13379
 
@@ -22030,6 +22268,7 @@ class Stage(
22030
22268
  def synth(
22031
22269
  self,
22032
22270
  *,
22271
+ aspect_stabilization: typing.Optional[builtins.bool] = None,
22033
22272
  error_on_duplicate_synth: typing.Optional[builtins.bool] = None,
22034
22273
  force: typing.Optional[builtins.bool] = None,
22035
22274
  skip_validation: typing.Optional[builtins.bool] = None,
@@ -22040,12 +22279,14 @@ class Stage(
22040
22279
  Once an assembly has been synthesized, it cannot be modified. Subsequent
22041
22280
  calls will return the same assembly.
22042
22281
 
22282
+ :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
22283
  :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
22284
  :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
22285
  :param skip_validation: Should we skip construct validation. Default: - false
22046
22286
  :param validate_on_synthesis: Whether the stack should be validated after synthesis to check for error metadata. Default: - false
22047
22287
  '''
22048
22288
  options = StageSynthesisOptions(
22289
+ aspect_stabilization=aspect_stabilization,
22049
22290
  error_on_duplicate_synth=error_on_duplicate_synth,
22050
22291
  force=force,
22051
22292
  skip_validation=skip_validation,
@@ -22289,6 +22530,7 @@ class StageProps:
22289
22530
  jsii_type="aws-cdk-lib.StageSynthesisOptions",
22290
22531
  jsii_struct_bases=[],
22291
22532
  name_mapping={
22533
+ "aspect_stabilization": "aspectStabilization",
22292
22534
  "error_on_duplicate_synth": "errorOnDuplicateSynth",
22293
22535
  "force": "force",
22294
22536
  "skip_validation": "skipValidation",
@@ -22299,6 +22541,7 @@ class StageSynthesisOptions:
22299
22541
  def __init__(
22300
22542
  self,
22301
22543
  *,
22544
+ aspect_stabilization: typing.Optional[builtins.bool] = None,
22302
22545
  error_on_duplicate_synth: typing.Optional[builtins.bool] = None,
22303
22546
  force: typing.Optional[builtins.bool] = None,
22304
22547
  skip_validation: typing.Optional[builtins.bool] = None,
@@ -22306,6 +22549,7 @@ class StageSynthesisOptions:
22306
22549
  ) -> None:
22307
22550
  '''Options for assembly synthesis.
22308
22551
 
22552
+ :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
22553
  :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
22554
  :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
22555
  :param skip_validation: Should we skip construct validation. Default: - false
@@ -22320,6 +22564,7 @@ class StageSynthesisOptions:
22320
22564
  import aws_cdk as cdk
22321
22565
 
22322
22566
  stage_synthesis_options = cdk.StageSynthesisOptions(
22567
+ aspect_stabilization=False,
22323
22568
  error_on_duplicate_synth=False,
22324
22569
  force=False,
22325
22570
  skip_validation=False,
@@ -22328,11 +22573,14 @@ class StageSynthesisOptions:
22328
22573
  '''
22329
22574
  if __debug__:
22330
22575
  type_hints = typing.get_type_hints(_typecheckingstub__e8b2b0462b32cc3d2ec10c615bf94a3122bcdd5b1e2c521fb377665ba9a5a618)
22576
+ check_type(argname="argument aspect_stabilization", value=aspect_stabilization, expected_type=type_hints["aspect_stabilization"])
22331
22577
  check_type(argname="argument error_on_duplicate_synth", value=error_on_duplicate_synth, expected_type=type_hints["error_on_duplicate_synth"])
22332
22578
  check_type(argname="argument force", value=force, expected_type=type_hints["force"])
22333
22579
  check_type(argname="argument skip_validation", value=skip_validation, expected_type=type_hints["skip_validation"])
22334
22580
  check_type(argname="argument validate_on_synthesis", value=validate_on_synthesis, expected_type=type_hints["validate_on_synthesis"])
22335
22581
  self._values: typing.Dict[builtins.str, typing.Any] = {}
22582
+ if aspect_stabilization is not None:
22583
+ self._values["aspect_stabilization"] = aspect_stabilization
22336
22584
  if error_on_duplicate_synth is not None:
22337
22585
  self._values["error_on_duplicate_synth"] = error_on_duplicate_synth
22338
22586
  if force is not None:
@@ -22342,6 +22590,20 @@ class StageSynthesisOptions:
22342
22590
  if validate_on_synthesis is not None:
22343
22591
  self._values["validate_on_synthesis"] = validate_on_synthesis
22344
22592
 
22593
+ @builtins.property
22594
+ def aspect_stabilization(self) -> typing.Optional[builtins.bool]:
22595
+ '''Whether or not run the stabilization loop while invoking Aspects.
22596
+
22597
+ The stabilization loop runs multiple passes of the construct tree when invoking
22598
+ Aspects. Without the stabilization loop, Aspects that are created by other Aspects
22599
+ are not run and new nodes that are created at higher points on the construct tree by
22600
+ an Aspect will not inherit their parent aspects.
22601
+
22602
+ :default: false
22603
+ '''
22604
+ result = self._values.get("aspect_stabilization")
22605
+ return typing.cast(typing.Optional[builtins.bool], result)
22606
+
22345
22607
  @builtins.property
22346
22608
  def error_on_duplicate_synth(self) -> typing.Optional[builtins.bool]:
22347
22609
  '''Whether or not to throw a warning instead of an error if the construct tree has been mutated since the last synth.
@@ -27903,7 +28165,9 @@ class CfnGuardHook(
27903
28165
  metaclass=jsii.JSIIMeta,
27904
28166
  jsii_type="aws-cdk-lib.CfnGuardHook",
27905
28167
  ):
27906
- '''This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
28168
+ '''The ``AWS::CloudFormation::GuardHook`` resource creates a Guard Hook with the specified attributes within your CloudFormation template.
28169
+
28170
+ 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
28171
 
27908
28172
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
27909
28173
  :cloudformationResource: AWS::CloudFormation::GuardHook
@@ -27978,16 +28242,16 @@ class CfnGuardHook(
27978
28242
  '''
27979
28243
  :param scope: Scope in which this resource is defined.
27980
28244
  :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:
28245
+ :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`` .
28246
+ :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.
28247
+ :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"
28248
+ :param hook_status: Specifies if the Hook is ``ENABLED`` or ``DISABLED`` . Default: - "DISABLED"
28249
+ :param rule_location: Specifies the S3 location of your Guard rules.
28250
+ :param target_operations: Specifies which type of operation the Hook is run against. Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
28251
+ :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.
28252
+ :param options: Specifies the S3 location of your input parameters.
28253
+ :param stack_filters: Specifies the stack level filters for the Hook.
28254
+ :param target_filters: Specifies the target filters for the Hook.
27991
28255
  '''
27992
28256
  if __debug__:
27993
28257
  type_hints = typing.get_type_hints(_typecheckingstub__af8d2663a8bac5046ca50537b031b46f870c6edd4948ed8528ca4e3ff9367b17)
@@ -28041,7 +28305,7 @@ class CfnGuardHook(
28041
28305
  @builtins.property
28042
28306
  @jsii.member(jsii_name="attrHookArn")
28043
28307
  def attr_hook_arn(self) -> builtins.str:
28044
- '''The Amazon Resource Name (ARN) of the activated hook.
28308
+ '''Returns the ARN of a Guard Hook.
28045
28309
 
28046
28310
  :cloudformationAttribute: HookArn
28047
28311
  '''
@@ -28055,7 +28319,10 @@ class CfnGuardHook(
28055
28319
  @builtins.property
28056
28320
  @jsii.member(jsii_name="alias")
28057
28321
  def alias(self) -> builtins.str:
28058
- '''The typename alias for the hook.'''
28322
+ '''The type name alias for the Hook.
28323
+
28324
+ This alias must be unique per account and Region.
28325
+ '''
28059
28326
  return typing.cast(builtins.str, jsii.get(self, "alias"))
28060
28327
 
28061
28328
  @alias.setter
@@ -28068,7 +28335,7 @@ class CfnGuardHook(
28068
28335
  @builtins.property
28069
28336
  @jsii.member(jsii_name="executionRole")
28070
28337
  def execution_role(self) -> builtins.str:
28071
- '''IAM Role ARN.'''
28338
+ '''The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.'''
28072
28339
  return typing.cast(builtins.str, jsii.get(self, "executionRole"))
28073
28340
 
28074
28341
  @execution_role.setter
@@ -28081,7 +28348,7 @@ class CfnGuardHook(
28081
28348
  @builtins.property
28082
28349
  @jsii.member(jsii_name="failureMode")
28083
28350
  def failure_mode(self) -> builtins.str:
28084
- '''Attribute to specify CloudFormation behavior on hook failure.'''
28351
+ '''Specifies how the Hook responds when rules fail their evaluation.'''
28085
28352
  return typing.cast(builtins.str, jsii.get(self, "failureMode"))
28086
28353
 
28087
28354
  @failure_mode.setter
@@ -28094,7 +28361,7 @@ class CfnGuardHook(
28094
28361
  @builtins.property
28095
28362
  @jsii.member(jsii_name="hookStatus")
28096
28363
  def hook_status(self) -> builtins.str:
28097
- '''Attribute to specify which stacks this hook applies to or should get invoked for.'''
28364
+ '''Specifies if the Hook is ``ENABLED`` or ``DISABLED`` .'''
28098
28365
  return typing.cast(builtins.str, jsii.get(self, "hookStatus"))
28099
28366
 
28100
28367
  @hook_status.setter
@@ -28109,7 +28376,7 @@ class CfnGuardHook(
28109
28376
  def rule_location(
28110
28377
  self,
28111
28378
  ) -> typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]:
28112
- '''S3 Source Location for the Guard files.'''
28379
+ '''Specifies the S3 location of your Guard rules.'''
28113
28380
  return typing.cast(typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"], jsii.get(self, "ruleLocation"))
28114
28381
 
28115
28382
  @rule_location.setter
@@ -28125,7 +28392,7 @@ class CfnGuardHook(
28125
28392
  @builtins.property
28126
28393
  @jsii.member(jsii_name="targetOperations")
28127
28394
  def target_operations(self) -> typing.List[builtins.str]:
28128
- '''Which operations should this Hook run against?'''
28395
+ '''Specifies which type of operation the Hook is run against.'''
28129
28396
  return typing.cast(typing.List[builtins.str], jsii.get(self, "targetOperations"))
28130
28397
 
28131
28398
  @target_operations.setter
@@ -28138,7 +28405,7 @@ class CfnGuardHook(
28138
28405
  @builtins.property
28139
28406
  @jsii.member(jsii_name="logBucket")
28140
28407
  def log_bucket(self) -> typing.Optional[builtins.str]:
28141
- '''S3 Bucket where the guard validate report will be uploaded to.'''
28408
+ '''Specifies the name of an S3 bucket to store the Guard output report.'''
28142
28409
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "logBucket"))
28143
28410
 
28144
28411
  @log_bucket.setter
@@ -28153,6 +28420,7 @@ class CfnGuardHook(
28153
28420
  def options(
28154
28421
  self,
28155
28422
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]]:
28423
+ '''Specifies the S3 location of your input parameters.'''
28156
28424
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]], jsii.get(self, "options"))
28157
28425
 
28158
28426
  @options.setter
@@ -28170,7 +28438,7 @@ class CfnGuardHook(
28170
28438
  def stack_filters(
28171
28439
  self,
28172
28440
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]]:
28173
- '''Filters to allow hooks to target specific stack attributes.'''
28441
+ '''Specifies the stack level filters for the Hook.'''
28174
28442
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]], jsii.get(self, "stackFilters"))
28175
28443
 
28176
28444
  @stack_filters.setter
@@ -28188,6 +28456,7 @@ class CfnGuardHook(
28188
28456
  def target_filters(
28189
28457
  self,
28190
28458
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]]:
28459
+ '''Specifies the target filters for the Hook.'''
28191
28460
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]], jsii.get(self, "targetFilters"))
28192
28461
 
28193
28462
  @target_filters.setter
@@ -28211,8 +28480,9 @@ class CfnGuardHook(
28211
28480
  *,
28212
28481
  input_params: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28213
28482
  ) -> None:
28214
- '''
28215
- :param input_params: S3 Source Location for the Guard files.
28483
+ '''Specifies the input parameters for a Guard Hook.
28484
+
28485
+ :param input_params: Specifies the S3 location where your input parameters are located.
28216
28486
 
28217
28487
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-options.html
28218
28488
  :exampleMetadata: fixture=_generated
@@ -28243,7 +28513,7 @@ class CfnGuardHook(
28243
28513
  def input_params(
28244
28514
  self,
28245
28515
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]]:
28246
- '''S3 Source Location for the Guard files.
28516
+ '''Specifies the S3 location where your input parameters are located.
28247
28517
 
28248
28518
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-options.html#cfn-cloudformation-guardhook-options-inputparams
28249
28519
  '''
@@ -28273,10 +28543,10 @@ class CfnGuardHook(
28273
28543
  uri: builtins.str,
28274
28544
  version_id: typing.Optional[builtins.str] = None,
28275
28545
  ) -> None:
28276
- '''S3 Source Location for the Guard files.
28546
+ '''Specifies the S3 location where your Guard rules or input parameters are located.
28277
28547
 
28278
- :param uri: S3 uri of Guard files.
28279
- :param version_id: S3 object version.
28548
+ :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`` .
28549
+ :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
28550
 
28281
28551
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html
28282
28552
  :exampleMetadata: fixture=_generated
@@ -28306,7 +28576,11 @@ class CfnGuardHook(
28306
28576
 
28307
28577
  @builtins.property
28308
28578
  def uri(self) -> builtins.str:
28309
- '''S3 uri of Guard files.
28579
+ '''Specifies the S3 path to the file containing your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ).
28580
+
28581
+ For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` .
28582
+
28583
+ For input parameters, the object stored in S3 must have one of the following file extensions: ``.yaml`` , ``.json`` , ``.zip`` , or ``.tar.gz`` .
28310
28584
 
28311
28585
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html#cfn-cloudformation-guardhook-s3location-uri
28312
28586
  '''
@@ -28316,7 +28590,9 @@ class CfnGuardHook(
28316
28590
 
28317
28591
  @builtins.property
28318
28592
  def version_id(self) -> typing.Optional[builtins.str]:
28319
- '''S3 object version.
28593
+ '''For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from.
28594
+
28595
+ 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
28596
 
28321
28597
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html#cfn-cloudformation-guardhook-s3location-versionid
28322
28598
  '''
@@ -28351,11 +28627,15 @@ class CfnGuardHook(
28351
28627
  stack_names: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackNamesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28352
28628
  stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackRolesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28353
28629
  ) -> None:
28354
- '''Filters to allow hooks to target specific stack attributes.
28630
+ '''The ``StackFilters`` property type specifies stack level filters for a Hook.
28631
+
28632
+ The ``StackNames`` or ``StackRoles`` properties are optional. However, you must specify at least one of these properties.
28355
28633
 
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.
28634
+ 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>`_ .
28635
+
28636
+ :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"
28637
+ :param stack_names: Includes or excludes specific stacks from Hook invocations.
28638
+ :param stack_roles: Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
28359
28639
 
28360
28640
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html
28361
28641
  :exampleMetadata: fixture=_generated
@@ -28395,9 +28675,10 @@ class CfnGuardHook(
28395
28675
 
28396
28676
  @builtins.property
28397
28677
  def filtering_criteria(self) -> builtins.str:
28398
- '''Attribute to specify the filtering behavior.
28678
+ '''The filtering criteria.
28399
28679
 
28400
- ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
28680
+ - All stack names and stack roles ( ``All`` ): The Hook will only be invoked when all specified filters match.
28681
+ - Any stack names and stack roles ( ``Any`` ): The Hook will be invoked if at least one of the specified filters match.
28401
28682
 
28402
28683
  :default: - "ALL"
28403
28684
 
@@ -28411,7 +28692,7 @@ class CfnGuardHook(
28411
28692
  def stack_names(
28412
28693
  self,
28413
28694
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackNamesProperty"]]:
28414
- '''List of stack names as filters.
28695
+ '''Includes or excludes specific stacks from Hook invocations.
28415
28696
 
28416
28697
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-stacknames
28417
28698
  '''
@@ -28422,7 +28703,7 @@ class CfnGuardHook(
28422
28703
  def stack_roles(
28423
28704
  self,
28424
28705
  ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackRolesProperty"]]:
28425
- '''List of stack roles that are performing the stack operations.
28706
+ '''Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
28426
28707
 
28427
28708
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-stackroles
28428
28709
  '''
@@ -28452,10 +28733,12 @@ class CfnGuardHook(
28452
28733
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
28453
28734
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
28454
28735
  ) -> None:
28455
- '''List of stack names as filters.
28736
+ '''Specifies the stack names for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations.
28737
+
28738
+ 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
28739
 
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.
28740
+ :param exclude: The stack names to exclude. All stacks except those listed here will invoke the Hook.
28741
+ :param include: The stack names to include. Only the stacks specified in this list will invoke the Hook.
28459
28742
 
28460
28743
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html
28461
28744
  :exampleMetadata: fixture=_generated
@@ -28483,7 +28766,9 @@ class CfnGuardHook(
28483
28766
 
28484
28767
  @builtins.property
28485
28768
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
28486
- '''List of stack names that the hook is going to be excluded from.
28769
+ '''The stack names to exclude.
28770
+
28771
+ All stacks except those listed here will invoke the Hook.
28487
28772
 
28488
28773
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html#cfn-cloudformation-guardhook-stacknames-exclude
28489
28774
  '''
@@ -28492,7 +28777,9 @@ class CfnGuardHook(
28492
28777
 
28493
28778
  @builtins.property
28494
28779
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
28495
- '''List of stack names that the hook is going to target.
28780
+ '''The stack names to include.
28781
+
28782
+ Only the stacks specified in this list will invoke the Hook.
28496
28783
 
28497
28784
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html#cfn-cloudformation-guardhook-stacknames-include
28498
28785
  '''
@@ -28522,10 +28809,12 @@ class CfnGuardHook(
28522
28809
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
28523
28810
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
28524
28811
  ) -> None:
28525
- '''List of stack roles that are performing the stack operations.
28812
+ '''Specifies the stack roles for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations based on their associated IAM roles.
28526
28813
 
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.
28814
+ 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>`_ .
28815
+
28816
+ :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.
28817
+ :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
28818
 
28530
28819
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html
28531
28820
  :exampleMetadata: fixture=_generated
@@ -28553,7 +28842,9 @@ class CfnGuardHook(
28553
28842
 
28554
28843
  @builtins.property
28555
28844
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
28556
- '''List of stack roles that the hook is going to be excluded from.
28845
+ '''The IAM role ARNs for stacks you want to exclude.
28846
+
28847
+ The Hook will be invoked on all stacks except those initiated by the specified roles.
28557
28848
 
28558
28849
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html#cfn-cloudformation-guardhook-stackroles-exclude
28559
28850
  '''
@@ -28562,7 +28853,9 @@ class CfnGuardHook(
28562
28853
 
28563
28854
  @builtins.property
28564
28855
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
28565
- '''List of stack roles that the hook is going to target.
28856
+ '''The IAM role ARNs to target stacks associated with these roles.
28857
+
28858
+ Only stack operations initiated by these roles will invoke the Hook.
28566
28859
 
28567
28860
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html#cfn-cloudformation-guardhook-stackroles-include
28568
28861
  '''
@@ -28597,7 +28890,10 @@ class CfnGuardHook(
28597
28890
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
28598
28891
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
28599
28892
  ) -> None:
28600
- '''
28893
+ '''The ``TargetFilters`` property type specifies the target filters for the Hook.
28894
+
28895
+ For more information, see `AWS CloudFormation Hook target filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/specify-hook-configuration-targetfilters.html>`_ .
28896
+
28601
28897
  :param actions: List of actions that the hook is going to target.
28602
28898
  :param invocation_points: List of invocation points that the hook is going to target.
28603
28899
  :param target_names: List of type names that the hook is going to target.
@@ -28675,9 +28971,9 @@ class CfnHookDefaultVersion(
28675
28971
  metaclass=jsii.JSIIMeta,
28676
28972
  jsii_type="aws-cdk-lib.CfnHookDefaultVersion",
28677
28973
  ):
28678
- '''The ``HookDefaultVersion`` resource specifies the default version of the hook.
28974
+ '''The ``HookDefaultVersion`` resource specifies the default version of the Hook.
28679
28975
 
28680
- The default version of the hook is used in CloudFormation operations for this AWS account and AWS Region .
28976
+ The default version of the Hook is used in CloudFormation operations for this AWS account and AWS Region .
28681
28977
 
28682
28978
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html
28683
28979
  :cloudformationResource: AWS::CloudFormation::HookDefaultVersion
@@ -28708,7 +29004,7 @@ class CfnHookDefaultVersion(
28708
29004
  '''
28709
29005
  :param scope: Scope in which this resource is defined.
28710
29006
  :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`` .
29007
+ :param type_name: The name of the Hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28712
29008
  :param type_version_arn: The version ID of the type configuration. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28713
29009
  :param version_id: The version ID of the type specified. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
28714
29010
  '''
@@ -28771,7 +29067,7 @@ class CfnHookDefaultVersion(
28771
29067
  @builtins.property
28772
29068
  @jsii.member(jsii_name="typeName")
28773
29069
  def type_name(self) -> typing.Optional[builtins.str]:
28774
- '''The name of the hook.'''
29070
+ '''The name of the Hook.'''
28775
29071
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeName"))
28776
29072
 
28777
29073
  @type_name.setter
@@ -28814,7 +29110,7 @@ class CfnHookTypeConfig(
28814
29110
  metaclass=jsii.JSIIMeta,
28815
29111
  jsii_type="aws-cdk-lib.CfnHookTypeConfig",
28816
29112
  ):
28817
- '''The ``HookTypeConfig`` resource specifies the configuration of a hook.
29113
+ '''The ``HookTypeConfig`` resource specifies the configuration of a Hook.
28818
29114
 
28819
29115
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html
28820
29116
  :cloudformationResource: AWS::CloudFormation::HookTypeConfig
@@ -28849,10 +29145,10 @@ class CfnHookTypeConfig(
28849
29145
  '''
28850
29146
  :param scope: Scope in which this resource is defined.
28851
29147
  :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`` .
29148
+ :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`` .
29149
+ :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"
29150
+ :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`` .
29151
+ :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
29152
  '''
28857
29153
  if __debug__:
28858
29154
  type_hints = typing.get_type_hints(_typecheckingstub__440c58795f3a6a77584c4efc0cb756d094deee80919471d9fe116992443f4255)
@@ -28900,7 +29196,7 @@ class CfnHookTypeConfig(
28900
29196
  @builtins.property
28901
29197
  @jsii.member(jsii_name="attrConfigurationArn")
28902
29198
  def attr_configuration_arn(self) -> builtins.str:
28903
- '''The Amazon Resource Number (ARN) of the activated hook type configuration, in this account and Region.
29199
+ '''The Amazon Resource Number (ARN) of the activated Hook type configuration, in this account and Region.
28904
29200
 
28905
29201
  :cloudformationAttribute: ConfigurationArn
28906
29202
  '''
@@ -28914,7 +29210,7 @@ class CfnHookTypeConfig(
28914
29210
  @builtins.property
28915
29211
  @jsii.member(jsii_name="configuration")
28916
29212
  def configuration(self) -> builtins.str:
28917
- '''Specifies the activated hook type configuration, in this AWS account and AWS Region .'''
29213
+ '''Specifies the activated Hook type configuration, in this AWS account and AWS Region .'''
28918
29214
  return typing.cast(builtins.str, jsii.get(self, "configuration"))
28919
29215
 
28920
29216
  @configuration.setter
@@ -28927,7 +29223,7 @@ class CfnHookTypeConfig(
28927
29223
  @builtins.property
28928
29224
  @jsii.member(jsii_name="configurationAlias")
28929
29225
  def configuration_alias(self) -> typing.Optional[builtins.str]:
28930
- '''Specifies the activated hook type configuration, in this AWS account and AWS Region .'''
29226
+ '''Specifies the activated Hook type configuration, in this AWS account and AWS Region .'''
28931
29227
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "configurationAlias"))
28932
29228
 
28933
29229
  @configuration_alias.setter
@@ -28940,7 +29236,7 @@ class CfnHookTypeConfig(
28940
29236
  @builtins.property
28941
29237
  @jsii.member(jsii_name="typeArn")
28942
29238
  def type_arn(self) -> typing.Optional[builtins.str]:
28943
- '''The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for.'''
29239
+ '''The Amazon Resource Number (ARN) for the Hook to set ``Configuration`` for.'''
28944
29240
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeArn"))
28945
29241
 
28946
29242
  @type_arn.setter
@@ -28953,7 +29249,7 @@ class CfnHookTypeConfig(
28953
29249
  @builtins.property
28954
29250
  @jsii.member(jsii_name="typeName")
28955
29251
  def type_name(self) -> typing.Optional[builtins.str]:
28956
- '''The unique name for your hook.'''
29252
+ '''The unique name for your Hook.'''
28957
29253
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeName"))
28958
29254
 
28959
29255
  @type_name.setter
@@ -28970,7 +29266,7 @@ class CfnHookVersion(
28970
29266
  metaclass=jsii.JSIIMeta,
28971
29267
  jsii_type="aws-cdk-lib.CfnHookVersion",
28972
29268
  ):
28973
- '''The ``HookVersion`` resource publishes new or first hook version to the AWS CloudFormation registry.
29269
+ '''The ``HookVersion`` resource publishes new or first Hook version to the AWS CloudFormation registry.
28974
29270
 
28975
29271
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html
28976
29272
  :cloudformationResource: AWS::CloudFormation::HookVersion
@@ -29008,9 +29304,9 @@ class CfnHookVersion(
29008
29304
  '''
29009
29305
  :param scope: Scope in which this resource is defined.
29010
29306
  :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* .
29307
+ :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
29308
  :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.
29309
+ :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
29014
29310
  :param logging_config: Contains logging configuration information for an extension.
29015
29311
  '''
29016
29312
  if __debug__:
@@ -29059,7 +29355,7 @@ class CfnHookVersion(
29059
29355
  @builtins.property
29060
29356
  @jsii.member(jsii_name="attrArn")
29061
29357
  def attr_arn(self) -> builtins.str:
29062
- '''The Amazon Resource Name (ARN) of the hook.
29358
+ '''The Amazon Resource Name (ARN) of the Hook.
29063
29359
 
29064
29360
  :cloudformationAttribute: Arn
29065
29361
  '''
@@ -29068,7 +29364,7 @@ class CfnHookVersion(
29068
29364
  @builtins.property
29069
29365
  @jsii.member(jsii_name="attrIsDefaultVersion")
29070
29366
  def attr_is_default_version(self) -> IResolvable:
29071
- '''Whether the specified hook version is set as the default version.
29367
+ '''Whether the specified Hook version is set as the default version.
29072
29368
 
29073
29369
  :cloudformationAttribute: IsDefaultVersion
29074
29370
  '''
@@ -29077,7 +29373,7 @@ class CfnHookVersion(
29077
29373
  @builtins.property
29078
29374
  @jsii.member(jsii_name="attrTypeArn")
29079
29375
  def attr_type_arn(self) -> builtins.str:
29080
- '''The Amazon Resource Number (ARN) assigned to this version of the hook.
29376
+ '''The Amazon Resource Number (ARN) assigned to this version of the Hook.
29081
29377
 
29082
29378
  :cloudformationAttribute: TypeArn
29083
29379
  '''
@@ -29086,7 +29382,7 @@ class CfnHookVersion(
29086
29382
  @builtins.property
29087
29383
  @jsii.member(jsii_name="attrVersionId")
29088
29384
  def attr_version_id(self) -> builtins.str:
29089
- '''The ID of this version of the hook.
29385
+ '''The ID of this version of the Hook.
29090
29386
 
29091
29387
  :cloudformationAttribute: VersionId
29092
29388
  '''
@@ -29114,7 +29410,7 @@ class CfnHookVersion(
29114
29410
  @builtins.property
29115
29411
  @jsii.member(jsii_name="schemaHandlerPackage")
29116
29412
  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.'''
29413
+ '''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
29414
  return typing.cast(builtins.str, jsii.get(self, "schemaHandlerPackage"))
29119
29415
 
29120
29416
  @schema_handler_package.setter
@@ -29140,7 +29436,7 @@ class CfnHookVersion(
29140
29436
  @builtins.property
29141
29437
  @jsii.member(jsii_name="executionRoleArn")
29142
29438
  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.'''
29439
+ '''The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.'''
29144
29440
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "executionRoleArn"))
29145
29441
 
29146
29442
  @execution_role_arn.setter
@@ -29339,7 +29635,9 @@ class CfnLambdaHook(
29339
29635
  metaclass=jsii.JSIIMeta,
29340
29636
  jsii_type="aws-cdk-lib.CfnLambdaHook",
29341
29637
  ):
29342
- '''This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
29638
+ '''The ``AWS::CloudFormation::LambdaHook`` resource creates a Lambda Hook with the specified attributes within your CloudFormation template.
29639
+
29640
+ 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
29641
 
29344
29642
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
29345
29643
  :cloudformationResource: AWS::CloudFormation::LambdaHook
@@ -29398,14 +29696,14 @@ class CfnLambdaHook(
29398
29696
  '''
29399
29697
  :param scope: Scope in which this resource is defined.
29400
29698
  :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:
29699
+ :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`` .
29700
+ :param execution_role: The IAM role that the Hook assumes to invoke your Lambda function.
29701
+ :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.
29702
+ :param hook_status: Specifies if the Hook is ``ENABLED`` or ``DISABLED`` . Default: - "ENABLED"
29703
+ :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.
29704
+ :param target_operations: Specifies which type of operation the Hook is run against. Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
29705
+ :param stack_filters: Specifies the stack level filters for the Hook.
29706
+ :param target_filters: Specifies the target filters for the Hook.
29409
29707
  '''
29410
29708
  if __debug__:
29411
29709
  type_hints = typing.get_type_hints(_typecheckingstub__407b4a631e3a832f02376728222302ded8f1ba90d2538b0469e5b99641f17447)
@@ -29457,7 +29755,7 @@ class CfnLambdaHook(
29457
29755
  @builtins.property
29458
29756
  @jsii.member(jsii_name="attrHookArn")
29459
29757
  def attr_hook_arn(self) -> builtins.str:
29460
- '''The Amazon Resource Name (ARN) of the activated hook.
29758
+ '''Returns the ARN of a Lambda Hook.
29461
29759
 
29462
29760
  :cloudformationAttribute: HookArn
29463
29761
  '''
@@ -29471,7 +29769,10 @@ class CfnLambdaHook(
29471
29769
  @builtins.property
29472
29770
  @jsii.member(jsii_name="alias")
29473
29771
  def alias(self) -> builtins.str:
29474
- '''The typename alias for the hook.'''
29772
+ '''The type name alias for the Hook.
29773
+
29774
+ This alias must be unique per account and Region.
29775
+ '''
29475
29776
  return typing.cast(builtins.str, jsii.get(self, "alias"))
29476
29777
 
29477
29778
  @alias.setter
@@ -29484,7 +29785,7 @@ class CfnLambdaHook(
29484
29785
  @builtins.property
29485
29786
  @jsii.member(jsii_name="executionRole")
29486
29787
  def execution_role(self) -> builtins.str:
29487
- '''IAM Role ARN.'''
29788
+ '''The IAM role that the Hook assumes to invoke your Lambda function.'''
29488
29789
  return typing.cast(builtins.str, jsii.get(self, "executionRole"))
29489
29790
 
29490
29791
  @execution_role.setter
@@ -29497,7 +29798,7 @@ class CfnLambdaHook(
29497
29798
  @builtins.property
29498
29799
  @jsii.member(jsii_name="failureMode")
29499
29800
  def failure_mode(self) -> builtins.str:
29500
- '''Attribute to specify CloudFormation behavior on hook failure.'''
29801
+ '''Specifies how the Hook responds when the Lambda function invoked by the Hook returns a ``FAILED`` response.'''
29501
29802
  return typing.cast(builtins.str, jsii.get(self, "failureMode"))
29502
29803
 
29503
29804
  @failure_mode.setter
@@ -29510,7 +29811,7 @@ class CfnLambdaHook(
29510
29811
  @builtins.property
29511
29812
  @jsii.member(jsii_name="hookStatus")
29512
29813
  def hook_status(self) -> builtins.str:
29513
- '''Attribute to specify which stacks this hook applies to or should get invoked for.'''
29814
+ '''Specifies if the Hook is ``ENABLED`` or ``DISABLED`` .'''
29514
29815
  return typing.cast(builtins.str, jsii.get(self, "hookStatus"))
29515
29816
 
29516
29817
  @hook_status.setter
@@ -29523,7 +29824,10 @@ class CfnLambdaHook(
29523
29824
  @builtins.property
29524
29825
  @jsii.member(jsii_name="lambdaFunction")
29525
29826
  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.'''
29827
+ '''Specifies the Lambda function for the Hook.
29828
+
29829
+ You can use:.
29830
+ '''
29527
29831
  return typing.cast(builtins.str, jsii.get(self, "lambdaFunction"))
29528
29832
 
29529
29833
  @lambda_function.setter
@@ -29536,7 +29840,7 @@ class CfnLambdaHook(
29536
29840
  @builtins.property
29537
29841
  @jsii.member(jsii_name="targetOperations")
29538
29842
  def target_operations(self) -> typing.List[builtins.str]:
29539
- '''Which operations should this Hook run against?'''
29843
+ '''Specifies which type of operation the Hook is run against.'''
29540
29844
  return typing.cast(typing.List[builtins.str], jsii.get(self, "targetOperations"))
29541
29845
 
29542
29846
  @target_operations.setter
@@ -29551,7 +29855,7 @@ class CfnLambdaHook(
29551
29855
  def stack_filters(
29552
29856
  self,
29553
29857
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]]:
29554
- '''Filters to allow hooks to target specific stack attributes.'''
29858
+ '''Specifies the stack level filters for the Hook.'''
29555
29859
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]], jsii.get(self, "stackFilters"))
29556
29860
 
29557
29861
  @stack_filters.setter
@@ -29569,6 +29873,7 @@ class CfnLambdaHook(
29569
29873
  def target_filters(
29570
29874
  self,
29571
29875
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]]:
29876
+ '''Specifies the target filters for the Hook.'''
29572
29877
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]], jsii.get(self, "targetFilters"))
29573
29878
 
29574
29879
  @target_filters.setter
@@ -29598,11 +29903,15 @@ class CfnLambdaHook(
29598
29903
  stack_names: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackNamesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29599
29904
  stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackRolesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29600
29905
  ) -> None:
29601
- '''Filters to allow hooks to target specific stack attributes.
29906
+ '''The ``StackFilters`` property type specifies stack level filters for a Hook.
29907
+
29908
+ The ``StackNames`` or ``StackRoles`` properties are optional. However, you must specify at least one of these properties.
29909
+
29910
+ 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>`_ .
29602
29911
 
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.
29912
+ :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"
29913
+ :param stack_names: Includes or excludes specific stacks from Hook invocations.
29914
+ :param stack_roles: Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
29606
29915
 
29607
29916
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html
29608
29917
  :exampleMetadata: fixture=_generated
@@ -29642,9 +29951,10 @@ class CfnLambdaHook(
29642
29951
 
29643
29952
  @builtins.property
29644
29953
  def filtering_criteria(self) -> builtins.str:
29645
- '''Attribute to specify the filtering behavior.
29954
+ '''The filtering criteria.
29646
29955
 
29647
- ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
29956
+ - All stack names and stack roles ( ``All`` ): The Hook will only be invoked when all specified filters match.
29957
+ - Any stack names and stack roles ( ``Any`` ): The Hook will be invoked if at least one of the specified filters match.
29648
29958
 
29649
29959
  :default: - "ALL"
29650
29960
 
@@ -29658,7 +29968,7 @@ class CfnLambdaHook(
29658
29968
  def stack_names(
29659
29969
  self,
29660
29970
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackNamesProperty"]]:
29661
- '''List of stack names as filters.
29971
+ '''Includes or excludes specific stacks from Hook invocations.
29662
29972
 
29663
29973
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-stacknames
29664
29974
  '''
@@ -29669,7 +29979,7 @@ class CfnLambdaHook(
29669
29979
  def stack_roles(
29670
29980
  self,
29671
29981
  ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackRolesProperty"]]:
29672
- '''List of stack roles that are performing the stack operations.
29982
+ '''Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.
29673
29983
 
29674
29984
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-stackroles
29675
29985
  '''
@@ -29699,10 +30009,12 @@ class CfnLambdaHook(
29699
30009
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
29700
30010
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
29701
30011
  ) -> None:
29702
- '''List of stack names as filters.
30012
+ '''Specifies the stack names for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations.
29703
30013
 
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.
30014
+ 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>`_ .
30015
+
30016
+ :param exclude: The stack names to exclude. All stacks except those listed here will invoke the Hook.
30017
+ :param include: The stack names to include. Only the stacks specified in this list will invoke the Hook.
29706
30018
 
29707
30019
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html
29708
30020
  :exampleMetadata: fixture=_generated
@@ -29730,7 +30042,9 @@ class CfnLambdaHook(
29730
30042
 
29731
30043
  @builtins.property
29732
30044
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
29733
- '''List of stack names that the hook is going to be excluded from.
30045
+ '''The stack names to exclude.
30046
+
30047
+ All stacks except those listed here will invoke the Hook.
29734
30048
 
29735
30049
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html#cfn-cloudformation-lambdahook-stacknames-exclude
29736
30050
  '''
@@ -29739,7 +30053,9 @@ class CfnLambdaHook(
29739
30053
 
29740
30054
  @builtins.property
29741
30055
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
29742
- '''List of stack names that the hook is going to target.
30056
+ '''The stack names to include.
30057
+
30058
+ Only the stacks specified in this list will invoke the Hook.
29743
30059
 
29744
30060
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html#cfn-cloudformation-lambdahook-stacknames-include
29745
30061
  '''
@@ -29769,10 +30085,12 @@ class CfnLambdaHook(
29769
30085
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
29770
30086
  include: typing.Optional[typing.Sequence[builtins.str]] = None,
29771
30087
  ) -> None:
29772
- '''List of stack roles that are performing the stack operations.
30088
+ '''Specifies the stack roles for the ``StackFilters`` property type to include or exclude specific stacks from Hook invocations based on their associated IAM roles.
29773
30089
 
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.
30090
+ 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>`_ .
30091
+
30092
+ :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.
30093
+ :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
30094
 
29777
30095
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html
29778
30096
  :exampleMetadata: fixture=_generated
@@ -29800,7 +30118,9 @@ class CfnLambdaHook(
29800
30118
 
29801
30119
  @builtins.property
29802
30120
  def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
29803
- '''List of stack roles that the hook is going to be excluded from.
30121
+ '''The IAM role ARNs for stacks you want to exclude.
30122
+
30123
+ The Hook will be invoked on all stacks except those initiated by the specified roles.
29804
30124
 
29805
30125
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html#cfn-cloudformation-lambdahook-stackroles-exclude
29806
30126
  '''
@@ -29809,7 +30129,9 @@ class CfnLambdaHook(
29809
30129
 
29810
30130
  @builtins.property
29811
30131
  def include(self) -> typing.Optional[typing.List[builtins.str]]:
29812
- '''List of stack roles that the hook is going to target.
30132
+ '''The IAM role ARNs to target stacks associated with these roles.
30133
+
30134
+ Only stack operations initiated by these roles will invoke the Hook.
29813
30135
 
29814
30136
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html#cfn-cloudformation-lambdahook-stackroles-include
29815
30137
  '''
@@ -29844,7 +30166,10 @@ class CfnLambdaHook(
29844
30166
  invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
29845
30167
  target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
29846
30168
  ) -> None:
29847
- '''
30169
+ '''The ``TargetFilters`` property type specifies the target filters for the Hook.
30170
+
30171
+ For more information, see `AWS CloudFormation Hook target filters <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/specify-hook-configuration-targetfilters.html>`_ .
30172
+
29848
30173
  :param actions: List of actions that the hook is going to target.
29849
30174
  :param invocation_points: List of invocation points that the hook is going to target.
29850
30175
  :param target_names: List of type names that the hook is going to target.
@@ -35625,6 +35950,9 @@ __all__ = [
35625
35950
  "Arn",
35626
35951
  "ArnComponents",
35627
35952
  "ArnFormat",
35953
+ "AspectApplication",
35954
+ "AspectOptions",
35955
+ "AspectPriority",
35628
35956
  "Aspects",
35629
35957
  "AssetHashType",
35630
35958
  "AssetManifestBuilder",
@@ -35749,6 +36077,7 @@ __all__ = [
35749
36077
  "Duration",
35750
36078
  "EncodingOptions",
35751
36079
  "Environment",
36080
+ "Errors",
35752
36081
  "Expiration",
35753
36082
  "ExportValueOptions",
35754
36083
  "FeatureFlags",
@@ -35993,6 +36322,7 @@ __all__ = [
35993
36322
  "aws_inspector",
35994
36323
  "aws_inspectorv2",
35995
36324
  "aws_internetmonitor",
36325
+ "aws_invoicing",
35996
36326
  "aws_iot",
35997
36327
  "aws_iot1click",
35998
36328
  "aws_iotanalytics",
@@ -36283,6 +36613,7 @@ from . import aws_imagebuilder
36283
36613
  from . import aws_inspector
36284
36614
  from . import aws_inspectorv2
36285
36615
  from . import aws_internetmonitor
36616
+ from . import aws_invoicing
36286
36617
  from . import aws_iot
36287
36618
  from . import aws_iot1click
36288
36619
  from . import aws_iotanalytics
@@ -36531,6 +36862,27 @@ def _typecheckingstub__4565cb9b5469dd4d4c1d23e54f8933087065a599bfce16e56da30ffbc
36531
36862
  """Type checking stubs"""
36532
36863
  pass
36533
36864
 
36865
+ def _typecheckingstub__9e9e7eccccdbb57b560afbe6d0b0f0653f49bc2cf8739189ca2dfd2305348a44(
36866
+ construct: _constructs_77d1e7e8.IConstruct,
36867
+ aspect: IAspect,
36868
+ priority: jsii.Number,
36869
+ ) -> None:
36870
+ """Type checking stubs"""
36871
+ pass
36872
+
36873
+ def _typecheckingstub__5caf783430302b32bfab31d65627bb13dae6c0e9f42b0a5443818db8b0503d54(
36874
+ value: jsii.Number,
36875
+ ) -> None:
36876
+ """Type checking stubs"""
36877
+ pass
36878
+
36879
+ def _typecheckingstub__1761263abda35b4b2f599d4ff5122c0e7ad15a95af4498d9c6e04e78bc4a4b76(
36880
+ *,
36881
+ priority: typing.Optional[jsii.Number] = None,
36882
+ ) -> None:
36883
+ """Type checking stubs"""
36884
+ pass
36885
+
36534
36886
  def _typecheckingstub__c08382b7db1bf0c2efa4c2d0aa06e663a1761fa93a12226a128ebaac5b577314(
36535
36887
  scope: _constructs_77d1e7e8.IConstruct,
36536
36888
  ) -> None:
@@ -36539,6 +36891,8 @@ def _typecheckingstub__c08382b7db1bf0c2efa4c2d0aa06e663a1761fa93a12226a128ebaac5
36539
36891
 
36540
36892
  def _typecheckingstub__3a0ed518e4a98c831b3b8dcdf7981d87fff56769689b00526e1e9d8df1b39f84(
36541
36893
  aspect: IAspect,
36894
+ *,
36895
+ priority: typing.Optional[jsii.Number] = None,
36542
36896
  ) -> None:
36543
36897
  """Type checking stubs"""
36544
36898
  pass
@@ -37739,6 +38093,18 @@ def _typecheckingstub__779551ef0a4b144070fd2c3e88ff076e32ad12d30facdc65a940b7a87
37739
38093
  """Type checking stubs"""
37740
38094
  pass
37741
38095
 
38096
+ def _typecheckingstub__0c62bc5a6fe032556ae3c32e105ddaad3f4ca89286fd26884af6347d3364c5ae(
38097
+ x: typing.Any,
38098
+ ) -> None:
38099
+ """Type checking stubs"""
38100
+ pass
38101
+
38102
+ def _typecheckingstub__c9afe20487c547932befb7a2f6567c38793e8d7df55f47046e1cfb408408d733(
38103
+ x: typing.Any,
38104
+ ) -> None:
38105
+ """Type checking stubs"""
38106
+ pass
38107
+
37742
38108
  def _typecheckingstub__086ea26442655ff69dcf03ab98e8412412bd4dc9ce30d181e3a559323dcede99(
37743
38109
  t: Duration,
37744
38110
  ) -> None:
@@ -39102,6 +39468,7 @@ def _typecheckingstub__c519a1aa0534921a8dfdfa69ddc24b52c09a7eb52fc889f7fb96b737e
39102
39468
 
39103
39469
  def _typecheckingstub__e8b2b0462b32cc3d2ec10c615bf94a3122bcdd5b1e2c521fb377665ba9a5a618(
39104
39470
  *,
39471
+ aspect_stabilization: typing.Optional[builtins.bool] = None,
39105
39472
  error_on_duplicate_synth: typing.Optional[builtins.bool] = None,
39106
39473
  force: typing.Optional[builtins.bool] = None,
39107
39474
  skip_validation: typing.Optional[builtins.bool] = None,