aws-cdk-lib 2.167.1__py3-none-any.whl → 2.168.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 (45) hide show
  1. aws_cdk/__init__.py +2081 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.1.jsii.tgz → aws-cdk-lib@2.168.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  5. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  6. aws_cdk/aws_applicationsignals/__init__.py +117 -0
  7. aws_cdk/aws_autoscaling/__init__.py +441 -6
  8. aws_cdk/aws_batch/__init__.py +202 -5
  9. aws_cdk/aws_bedrock/__init__.py +12 -12
  10. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  11. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  12. aws_cdk/aws_cloudfront/__init__.py +231 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  14. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  15. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  16. aws_cdk/aws_codebuild/__init__.py +668 -2
  17. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  18. aws_cdk/aws_dynamodb/__init__.py +332 -11
  19. aws_cdk/aws_ec2/__init__.py +13 -4
  20. aws_cdk/aws_ecs/__init__.py +213 -0
  21. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  22. aws_cdk/aws_fis/__init__.py +495 -0
  23. aws_cdk/aws_gamelift/__init__.py +3101 -1135
  24. aws_cdk/aws_kinesisfirehose/__init__.py +696 -5
  25. aws_cdk/aws_lambda/__init__.py +634 -259
  26. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  27. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  28. aws_cdk/aws_location/__init__.py +18 -18
  29. aws_cdk/aws_mediastore/__init__.py +22 -10
  30. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  31. aws_cdk/aws_quicksight/__init__.py +35 -19
  32. aws_cdk/aws_rds/__init__.py +51 -3
  33. aws_cdk/aws_securityhub/__init__.py +11 -14
  34. aws_cdk/aws_ses/__init__.py +58 -5
  35. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  36. aws_cdk/aws_transfer/__init__.py +0 -8
  37. aws_cdk/aws_vpclattice/__init__.py +39 -0
  38. aws_cdk/aws_wisdom/__init__.py +134 -85
  39. aws_cdk/cx_api/__init__.py +6 -6
  40. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/METADATA +1 -1
  41. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/RECORD +45 -44
  42. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/LICENSE +0 -0
  43. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/NOTICE +0 -0
  44. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/WHEEL +0 -0
  45. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py CHANGED
@@ -5048,6 +5048,251 @@ class _CfnElementProxy(CfnElement):
5048
5048
  typing.cast(typing.Any, CfnElement).__jsii_proxy_class__ = lambda : _CfnElementProxy
5049
5049
 
5050
5050
 
5051
+ @jsii.data_type(
5052
+ jsii_type="aws-cdk-lib.CfnGuardHookProps",
5053
+ jsii_struct_bases=[],
5054
+ name_mapping={
5055
+ "alias": "alias",
5056
+ "execution_role": "executionRole",
5057
+ "failure_mode": "failureMode",
5058
+ "hook_status": "hookStatus",
5059
+ "rule_location": "ruleLocation",
5060
+ "target_operations": "targetOperations",
5061
+ "log_bucket": "logBucket",
5062
+ "options": "options",
5063
+ "stack_filters": "stackFilters",
5064
+ "target_filters": "targetFilters",
5065
+ },
5066
+ )
5067
+ class CfnGuardHookProps:
5068
+ def __init__(
5069
+ self,
5070
+ *,
5071
+ alias: builtins.str,
5072
+ execution_role: builtins.str,
5073
+ failure_mode: builtins.str,
5074
+ hook_status: builtins.str,
5075
+ rule_location: typing.Union["IResolvable", typing.Union["CfnGuardHook.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]],
5076
+ target_operations: typing.Sequence[builtins.str],
5077
+ log_bucket: typing.Optional[builtins.str] = None,
5078
+ options: typing.Optional[typing.Union["IResolvable", typing.Union["CfnGuardHook.OptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5079
+ stack_filters: typing.Optional[typing.Union["IResolvable", typing.Union["CfnGuardHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5080
+ target_filters: typing.Optional[typing.Union["IResolvable", typing.Union["CfnGuardHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5081
+ ) -> None:
5082
+ '''Properties for defining a ``CfnGuardHook``.
5083
+
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:
5094
+
5095
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
5096
+ :exampleMetadata: fixture=_generated
5097
+
5098
+ Example::
5099
+
5100
+ # The code below shows an example of how to instantiate this type.
5101
+ # The values are placeholders you should change.
5102
+ import aws_cdk as cdk
5103
+
5104
+ cfn_guard_hook_props = cdk.CfnGuardHookProps(
5105
+ alias="alias",
5106
+ execution_role="executionRole",
5107
+ failure_mode="failureMode",
5108
+ hook_status="hookStatus",
5109
+ rule_location=cdk.CfnGuardHook.S3LocationProperty(
5110
+ uri="uri",
5111
+
5112
+ # the properties below are optional
5113
+ version_id="versionId"
5114
+ ),
5115
+ target_operations=["targetOperations"],
5116
+
5117
+ # the properties below are optional
5118
+ log_bucket="logBucket",
5119
+ options=cdk.CfnGuardHook.OptionsProperty(
5120
+ input_params=cdk.CfnGuardHook.S3LocationProperty(
5121
+ uri="uri",
5122
+
5123
+ # the properties below are optional
5124
+ version_id="versionId"
5125
+ )
5126
+ ),
5127
+ stack_filters=cdk.CfnGuardHook.StackFiltersProperty(
5128
+ filtering_criteria="filteringCriteria",
5129
+
5130
+ # the properties below are optional
5131
+ stack_names=cdk.CfnGuardHook.StackNamesProperty(
5132
+ exclude=["exclude"],
5133
+ include=["include"]
5134
+ ),
5135
+ stack_roles=cdk.CfnGuardHook.StackRolesProperty(
5136
+ exclude=["exclude"],
5137
+ include=["include"]
5138
+ )
5139
+ ),
5140
+ target_filters=cdk.CfnGuardHook.TargetFiltersProperty(
5141
+ actions=["actions"],
5142
+ invocation_points=["invocationPoints"],
5143
+ target_names=["targetNames"]
5144
+ )
5145
+ )
5146
+ '''
5147
+ if __debug__:
5148
+ type_hints = typing.get_type_hints(_typecheckingstub__0af504bd749e0a62686c10b562deecc015abe54143ca61ed442f20ab5b08fee9)
5149
+ check_type(argname="argument alias", value=alias, expected_type=type_hints["alias"])
5150
+ check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
5151
+ check_type(argname="argument failure_mode", value=failure_mode, expected_type=type_hints["failure_mode"])
5152
+ check_type(argname="argument hook_status", value=hook_status, expected_type=type_hints["hook_status"])
5153
+ check_type(argname="argument rule_location", value=rule_location, expected_type=type_hints["rule_location"])
5154
+ check_type(argname="argument target_operations", value=target_operations, expected_type=type_hints["target_operations"])
5155
+ check_type(argname="argument log_bucket", value=log_bucket, expected_type=type_hints["log_bucket"])
5156
+ check_type(argname="argument options", value=options, expected_type=type_hints["options"])
5157
+ check_type(argname="argument stack_filters", value=stack_filters, expected_type=type_hints["stack_filters"])
5158
+ check_type(argname="argument target_filters", value=target_filters, expected_type=type_hints["target_filters"])
5159
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5160
+ "alias": alias,
5161
+ "execution_role": execution_role,
5162
+ "failure_mode": failure_mode,
5163
+ "hook_status": hook_status,
5164
+ "rule_location": rule_location,
5165
+ "target_operations": target_operations,
5166
+ }
5167
+ if log_bucket is not None:
5168
+ self._values["log_bucket"] = log_bucket
5169
+ if options is not None:
5170
+ self._values["options"] = options
5171
+ if stack_filters is not None:
5172
+ self._values["stack_filters"] = stack_filters
5173
+ if target_filters is not None:
5174
+ self._values["target_filters"] = target_filters
5175
+
5176
+ @builtins.property
5177
+ def alias(self) -> builtins.str:
5178
+ '''The typename alias for the hook.
5179
+
5180
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-alias
5181
+ '''
5182
+ result = self._values.get("alias")
5183
+ assert result is not None, "Required property 'alias' is missing"
5184
+ return typing.cast(builtins.str, result)
5185
+
5186
+ @builtins.property
5187
+ def execution_role(self) -> builtins.str:
5188
+ '''IAM Role ARN.
5189
+
5190
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-executionrole
5191
+ '''
5192
+ result = self._values.get("execution_role")
5193
+ assert result is not None, "Required property 'execution_role' is missing"
5194
+ return typing.cast(builtins.str, result)
5195
+
5196
+ @builtins.property
5197
+ def failure_mode(self) -> builtins.str:
5198
+ '''Attribute to specify CloudFormation behavior on hook failure.
5199
+
5200
+ :default: - "WARN"
5201
+
5202
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-failuremode
5203
+ '''
5204
+ result = self._values.get("failure_mode")
5205
+ assert result is not None, "Required property 'failure_mode' is missing"
5206
+ return typing.cast(builtins.str, result)
5207
+
5208
+ @builtins.property
5209
+ def hook_status(self) -> builtins.str:
5210
+ '''Attribute to specify which stacks this hook applies to or should get invoked for.
5211
+
5212
+ :default: - "DISABLED"
5213
+
5214
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-hookstatus
5215
+ '''
5216
+ result = self._values.get("hook_status")
5217
+ assert result is not None, "Required property 'hook_status' is missing"
5218
+ return typing.cast(builtins.str, result)
5219
+
5220
+ @builtins.property
5221
+ def rule_location(
5222
+ self,
5223
+ ) -> typing.Union["IResolvable", "CfnGuardHook.S3LocationProperty"]:
5224
+ '''S3 Source Location for the Guard files.
5225
+
5226
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-rulelocation
5227
+ '''
5228
+ result = self._values.get("rule_location")
5229
+ assert result is not None, "Required property 'rule_location' is missing"
5230
+ return typing.cast(typing.Union["IResolvable", "CfnGuardHook.S3LocationProperty"], result)
5231
+
5232
+ @builtins.property
5233
+ def target_operations(self) -> typing.List[builtins.str]:
5234
+ '''Which operations should this Hook run against?
5235
+
5236
+ Resource changes, stacks or change sets.
5237
+
5238
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-targetoperations
5239
+ '''
5240
+ result = self._values.get("target_operations")
5241
+ assert result is not None, "Required property 'target_operations' is missing"
5242
+ return typing.cast(typing.List[builtins.str], result)
5243
+
5244
+ @builtins.property
5245
+ def log_bucket(self) -> typing.Optional[builtins.str]:
5246
+ '''S3 Bucket where the guard validate report will be uploaded to.
5247
+
5248
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-logbucket
5249
+ '''
5250
+ result = self._values.get("log_bucket")
5251
+ return typing.cast(typing.Optional[builtins.str], result)
5252
+
5253
+ @builtins.property
5254
+ def options(
5255
+ self,
5256
+ ) -> typing.Optional[typing.Union["IResolvable", "CfnGuardHook.OptionsProperty"]]:
5257
+ '''
5258
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-options
5259
+ '''
5260
+ result = self._values.get("options")
5261
+ return typing.cast(typing.Optional[typing.Union["IResolvable", "CfnGuardHook.OptionsProperty"]], result)
5262
+
5263
+ @builtins.property
5264
+ def stack_filters(
5265
+ self,
5266
+ ) -> typing.Optional[typing.Union["IResolvable", "CfnGuardHook.StackFiltersProperty"]]:
5267
+ '''Filters to allow hooks to target specific stack attributes.
5268
+
5269
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-stackfilters
5270
+ '''
5271
+ result = self._values.get("stack_filters")
5272
+ return typing.cast(typing.Optional[typing.Union["IResolvable", "CfnGuardHook.StackFiltersProperty"]], result)
5273
+
5274
+ @builtins.property
5275
+ def target_filters(
5276
+ self,
5277
+ ) -> typing.Optional[typing.Union["IResolvable", "CfnGuardHook.TargetFiltersProperty"]]:
5278
+ '''
5279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html#cfn-cloudformation-guardhook-targetfilters
5280
+ '''
5281
+ result = self._values.get("target_filters")
5282
+ return typing.cast(typing.Optional[typing.Union["IResolvable", "CfnGuardHook.TargetFiltersProperty"]], result)
5283
+
5284
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5285
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5286
+
5287
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5288
+ return not (rhs == self)
5289
+
5290
+ def __repr__(self) -> str:
5291
+ return "CfnGuardHookProps(%s)" % ", ".join(
5292
+ k + "=" + repr(v) for k, v in self._values.items()
5293
+ )
5294
+
5295
+
5051
5296
  class CfnHook(CfnElement, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnHook"):
5052
5297
  '''Represents a CloudFormation resource.
5053
5298
 
@@ -5589,6 +5834,202 @@ class CfnJsonProps:
5589
5834
  )
5590
5835
 
5591
5836
 
5837
+ @jsii.data_type(
5838
+ jsii_type="aws-cdk-lib.CfnLambdaHookProps",
5839
+ jsii_struct_bases=[],
5840
+ name_mapping={
5841
+ "alias": "alias",
5842
+ "execution_role": "executionRole",
5843
+ "failure_mode": "failureMode",
5844
+ "hook_status": "hookStatus",
5845
+ "lambda_function": "lambdaFunction",
5846
+ "target_operations": "targetOperations",
5847
+ "stack_filters": "stackFilters",
5848
+ "target_filters": "targetFilters",
5849
+ },
5850
+ )
5851
+ class CfnLambdaHookProps:
5852
+ def __init__(
5853
+ self,
5854
+ *,
5855
+ alias: builtins.str,
5856
+ execution_role: builtins.str,
5857
+ failure_mode: builtins.str,
5858
+ hook_status: builtins.str,
5859
+ lambda_function: builtins.str,
5860
+ target_operations: typing.Sequence[builtins.str],
5861
+ stack_filters: typing.Optional[typing.Union["IResolvable", typing.Union["CfnLambdaHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5862
+ target_filters: typing.Optional[typing.Union["IResolvable", typing.Union["CfnLambdaHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5863
+ ) -> None:
5864
+ '''Properties for defining a ``CfnLambdaHook``.
5865
+
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:
5874
+
5875
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
5876
+ :exampleMetadata: fixture=_generated
5877
+
5878
+ Example::
5879
+
5880
+ # The code below shows an example of how to instantiate this type.
5881
+ # The values are placeholders you should change.
5882
+ import aws_cdk as cdk
5883
+
5884
+ cfn_lambda_hook_props = cdk.CfnLambdaHookProps(
5885
+ alias="alias",
5886
+ execution_role="executionRole",
5887
+ failure_mode="failureMode",
5888
+ hook_status="hookStatus",
5889
+ lambda_function="lambdaFunction",
5890
+ target_operations=["targetOperations"],
5891
+
5892
+ # the properties below are optional
5893
+ stack_filters=cdk.CfnLambdaHook.StackFiltersProperty(
5894
+ filtering_criteria="filteringCriteria",
5895
+
5896
+ # the properties below are optional
5897
+ stack_names=cdk.CfnLambdaHook.StackNamesProperty(
5898
+ exclude=["exclude"],
5899
+ include=["include"]
5900
+ ),
5901
+ stack_roles=cdk.CfnLambdaHook.StackRolesProperty(
5902
+ exclude=["exclude"],
5903
+ include=["include"]
5904
+ )
5905
+ ),
5906
+ target_filters=cdk.CfnLambdaHook.TargetFiltersProperty(
5907
+ actions=["actions"],
5908
+ invocation_points=["invocationPoints"],
5909
+ target_names=["targetNames"]
5910
+ )
5911
+ )
5912
+ '''
5913
+ if __debug__:
5914
+ type_hints = typing.get_type_hints(_typecheckingstub__4a131cdc86d452e41ccdf75ad468f0b377a8ec03cc7f13c95235a7c90e881d29)
5915
+ check_type(argname="argument alias", value=alias, expected_type=type_hints["alias"])
5916
+ check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
5917
+ check_type(argname="argument failure_mode", value=failure_mode, expected_type=type_hints["failure_mode"])
5918
+ check_type(argname="argument hook_status", value=hook_status, expected_type=type_hints["hook_status"])
5919
+ check_type(argname="argument lambda_function", value=lambda_function, expected_type=type_hints["lambda_function"])
5920
+ check_type(argname="argument target_operations", value=target_operations, expected_type=type_hints["target_operations"])
5921
+ check_type(argname="argument stack_filters", value=stack_filters, expected_type=type_hints["stack_filters"])
5922
+ check_type(argname="argument target_filters", value=target_filters, expected_type=type_hints["target_filters"])
5923
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5924
+ "alias": alias,
5925
+ "execution_role": execution_role,
5926
+ "failure_mode": failure_mode,
5927
+ "hook_status": hook_status,
5928
+ "lambda_function": lambda_function,
5929
+ "target_operations": target_operations,
5930
+ }
5931
+ if stack_filters is not None:
5932
+ self._values["stack_filters"] = stack_filters
5933
+ if target_filters is not None:
5934
+ self._values["target_filters"] = target_filters
5935
+
5936
+ @builtins.property
5937
+ def alias(self) -> builtins.str:
5938
+ '''The typename alias for the hook.
5939
+
5940
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-alias
5941
+ '''
5942
+ result = self._values.get("alias")
5943
+ assert result is not None, "Required property 'alias' is missing"
5944
+ return typing.cast(builtins.str, result)
5945
+
5946
+ @builtins.property
5947
+ def execution_role(self) -> builtins.str:
5948
+ '''IAM Role ARN.
5949
+
5950
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-executionrole
5951
+ '''
5952
+ result = self._values.get("execution_role")
5953
+ assert result is not None, "Required property 'execution_role' is missing"
5954
+ return typing.cast(builtins.str, result)
5955
+
5956
+ @builtins.property
5957
+ def failure_mode(self) -> builtins.str:
5958
+ '''Attribute to specify CloudFormation behavior on hook failure.
5959
+
5960
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-failuremode
5961
+ '''
5962
+ result = self._values.get("failure_mode")
5963
+ assert result is not None, "Required property 'failure_mode' is missing"
5964
+ return typing.cast(builtins.str, result)
5965
+
5966
+ @builtins.property
5967
+ def hook_status(self) -> builtins.str:
5968
+ '''Attribute to specify which stacks this hook applies to or should get invoked for.
5969
+
5970
+ :default: - "ENABLED"
5971
+
5972
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-hookstatus
5973
+ '''
5974
+ result = self._values.get("hook_status")
5975
+ assert result is not None, "Required property 'hook_status' is missing"
5976
+ return typing.cast(builtins.str, result)
5977
+
5978
+ @builtins.property
5979
+ 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.
5981
+
5982
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-lambdafunction
5983
+ '''
5984
+ result = self._values.get("lambda_function")
5985
+ assert result is not None, "Required property 'lambda_function' is missing"
5986
+ return typing.cast(builtins.str, result)
5987
+
5988
+ @builtins.property
5989
+ def target_operations(self) -> typing.List[builtins.str]:
5990
+ '''Which operations should this Hook run against?
5991
+
5992
+ Resource changes, stacks or change sets.
5993
+
5994
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-targetoperations
5995
+ '''
5996
+ result = self._values.get("target_operations")
5997
+ assert result is not None, "Required property 'target_operations' is missing"
5998
+ return typing.cast(typing.List[builtins.str], result)
5999
+
6000
+ @builtins.property
6001
+ def stack_filters(
6002
+ self,
6003
+ ) -> typing.Optional[typing.Union["IResolvable", "CfnLambdaHook.StackFiltersProperty"]]:
6004
+ '''Filters to allow hooks to target specific stack attributes.
6005
+
6006
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-stackfilters
6007
+ '''
6008
+ result = self._values.get("stack_filters")
6009
+ return typing.cast(typing.Optional[typing.Union["IResolvable", "CfnLambdaHook.StackFiltersProperty"]], result)
6010
+
6011
+ @builtins.property
6012
+ def target_filters(
6013
+ self,
6014
+ ) -> typing.Optional[typing.Union["IResolvable", "CfnLambdaHook.TargetFiltersProperty"]]:
6015
+ '''
6016
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html#cfn-cloudformation-lambdahook-targetfilters
6017
+ '''
6018
+ result = self._values.get("target_filters")
6019
+ return typing.cast(typing.Optional[typing.Union["IResolvable", "CfnLambdaHook.TargetFiltersProperty"]], result)
6020
+
6021
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6022
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6023
+
6024
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6025
+ return not (rhs == self)
6026
+
6027
+ def __repr__(self) -> str:
6028
+ return "CfnLambdaHookProps(%s)" % ", ".join(
6029
+ k + "=" + repr(v) for k, v in self._values.items()
6030
+ )
6031
+
6032
+
5592
6033
  @jsii.data_type(
5593
6034
  jsii_type="aws-cdk-lib.CfnMacroProps",
5594
6035
  jsii_struct_bases=[],
@@ -27456,6 +27897,778 @@ class CfnDynamicReference(
27456
27897
  jsii.create(self.__class__, self, [service, key])
27457
27898
 
27458
27899
 
27900
+ @jsii.implements(IInspectable)
27901
+ class CfnGuardHook(
27902
+ CfnResource,
27903
+ metaclass=jsii.JSIIMeta,
27904
+ jsii_type="aws-cdk-lib.CfnGuardHook",
27905
+ ):
27906
+ '''This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
27907
+
27908
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
27909
+ :cloudformationResource: AWS::CloudFormation::GuardHook
27910
+ :exampleMetadata: fixture=_generated
27911
+
27912
+ Example::
27913
+
27914
+ # The code below shows an example of how to instantiate this type.
27915
+ # The values are placeholders you should change.
27916
+ import aws_cdk as cdk
27917
+
27918
+ cfn_guard_hook = cdk.CfnGuardHook(self, "MyCfnGuardHook",
27919
+ alias="alias",
27920
+ execution_role="executionRole",
27921
+ failure_mode="failureMode",
27922
+ hook_status="hookStatus",
27923
+ rule_location=cdk.CfnGuardHook.S3LocationProperty(
27924
+ uri="uri",
27925
+
27926
+ # the properties below are optional
27927
+ version_id="versionId"
27928
+ ),
27929
+ target_operations=["targetOperations"],
27930
+
27931
+ # the properties below are optional
27932
+ log_bucket="logBucket",
27933
+ options=cdk.CfnGuardHook.OptionsProperty(
27934
+ input_params=cdk.CfnGuardHook.S3LocationProperty(
27935
+ uri="uri",
27936
+
27937
+ # the properties below are optional
27938
+ version_id="versionId"
27939
+ )
27940
+ ),
27941
+ stack_filters=cdk.CfnGuardHook.StackFiltersProperty(
27942
+ filtering_criteria="filteringCriteria",
27943
+
27944
+ # the properties below are optional
27945
+ stack_names=cdk.CfnGuardHook.StackNamesProperty(
27946
+ exclude=["exclude"],
27947
+ include=["include"]
27948
+ ),
27949
+ stack_roles=cdk.CfnGuardHook.StackRolesProperty(
27950
+ exclude=["exclude"],
27951
+ include=["include"]
27952
+ )
27953
+ ),
27954
+ target_filters=cdk.CfnGuardHook.TargetFiltersProperty(
27955
+ actions=["actions"],
27956
+ invocation_points=["invocationPoints"],
27957
+ target_names=["targetNames"]
27958
+ )
27959
+ )
27960
+ '''
27961
+
27962
+ def __init__(
27963
+ self,
27964
+ scope: _constructs_77d1e7e8.Construct,
27965
+ id: builtins.str,
27966
+ *,
27967
+ alias: builtins.str,
27968
+ execution_role: builtins.str,
27969
+ failure_mode: builtins.str,
27970
+ hook_status: builtins.str,
27971
+ rule_location: typing.Union[IResolvable, typing.Union["CfnGuardHook.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]],
27972
+ target_operations: typing.Sequence[builtins.str],
27973
+ log_bucket: typing.Optional[builtins.str] = None,
27974
+ options: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.OptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27975
+ stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27976
+ target_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27977
+ ) -> None:
27978
+ '''
27979
+ :param scope: Scope in which this resource is defined.
27980
+ :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:
27991
+ '''
27992
+ if __debug__:
27993
+ type_hints = typing.get_type_hints(_typecheckingstub__af8d2663a8bac5046ca50537b031b46f870c6edd4948ed8528ca4e3ff9367b17)
27994
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
27995
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
27996
+ props = CfnGuardHookProps(
27997
+ alias=alias,
27998
+ execution_role=execution_role,
27999
+ failure_mode=failure_mode,
28000
+ hook_status=hook_status,
28001
+ rule_location=rule_location,
28002
+ target_operations=target_operations,
28003
+ log_bucket=log_bucket,
28004
+ options=options,
28005
+ stack_filters=stack_filters,
28006
+ target_filters=target_filters,
28007
+ )
28008
+
28009
+ jsii.create(self.__class__, self, [scope, id, props])
28010
+
28011
+ @jsii.member(jsii_name="inspect")
28012
+ def inspect(self, inspector: TreeInspector) -> None:
28013
+ '''Examines the CloudFormation resource and discloses attributes.
28014
+
28015
+ :param inspector: tree inspector to collect and process attributes.
28016
+ '''
28017
+ if __debug__:
28018
+ type_hints = typing.get_type_hints(_typecheckingstub__d9e8bb3874abe26e6e6d3c93475a413077fd10962992ae9e30e51c7551865289)
28019
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
28020
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
28021
+
28022
+ @jsii.member(jsii_name="renderProperties")
28023
+ def _render_properties(
28024
+ self,
28025
+ props: typing.Mapping[builtins.str, typing.Any],
28026
+ ) -> typing.Mapping[builtins.str, typing.Any]:
28027
+ '''
28028
+ :param props: -
28029
+ '''
28030
+ if __debug__:
28031
+ type_hints = typing.get_type_hints(_typecheckingstub__7cc7c42bc21b4ca7930b9f08865b3fcaeb7a53e948fd22e26e4b79d0725cd5b0)
28032
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
28033
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
28034
+
28035
+ @jsii.python.classproperty
28036
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
28037
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
28038
+ '''The CloudFormation resource type name for this resource class.'''
28039
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
28040
+
28041
+ @builtins.property
28042
+ @jsii.member(jsii_name="attrHookArn")
28043
+ def attr_hook_arn(self) -> builtins.str:
28044
+ '''The Amazon Resource Name (ARN) of the activated hook.
28045
+
28046
+ :cloudformationAttribute: HookArn
28047
+ '''
28048
+ return typing.cast(builtins.str, jsii.get(self, "attrHookArn"))
28049
+
28050
+ @builtins.property
28051
+ @jsii.member(jsii_name="cfnProperties")
28052
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
28053
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
28054
+
28055
+ @builtins.property
28056
+ @jsii.member(jsii_name="alias")
28057
+ def alias(self) -> builtins.str:
28058
+ '''The typename alias for the hook.'''
28059
+ return typing.cast(builtins.str, jsii.get(self, "alias"))
28060
+
28061
+ @alias.setter
28062
+ def alias(self, value: builtins.str) -> None:
28063
+ if __debug__:
28064
+ type_hints = typing.get_type_hints(_typecheckingstub__c86700c4cc01e9b6d8c22183ca1671764efc0893ee95b26e60c972ba41d5ec05)
28065
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28066
+ jsii.set(self, "alias", value) # pyright: ignore[reportArgumentType]
28067
+
28068
+ @builtins.property
28069
+ @jsii.member(jsii_name="executionRole")
28070
+ def execution_role(self) -> builtins.str:
28071
+ '''IAM Role ARN.'''
28072
+ return typing.cast(builtins.str, jsii.get(self, "executionRole"))
28073
+
28074
+ @execution_role.setter
28075
+ def execution_role(self, value: builtins.str) -> None:
28076
+ if __debug__:
28077
+ type_hints = typing.get_type_hints(_typecheckingstub__16e4c31569981a20fffaba6ccc27bde9cbd7d22580c9219969464ca59e19a1a7)
28078
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28079
+ jsii.set(self, "executionRole", value) # pyright: ignore[reportArgumentType]
28080
+
28081
+ @builtins.property
28082
+ @jsii.member(jsii_name="failureMode")
28083
+ def failure_mode(self) -> builtins.str:
28084
+ '''Attribute to specify CloudFormation behavior on hook failure.'''
28085
+ return typing.cast(builtins.str, jsii.get(self, "failureMode"))
28086
+
28087
+ @failure_mode.setter
28088
+ def failure_mode(self, value: builtins.str) -> None:
28089
+ if __debug__:
28090
+ type_hints = typing.get_type_hints(_typecheckingstub__1f665c44360caf11302f9ffada152698d2130760a2321555cff06a7e979924f1)
28091
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28092
+ jsii.set(self, "failureMode", value) # pyright: ignore[reportArgumentType]
28093
+
28094
+ @builtins.property
28095
+ @jsii.member(jsii_name="hookStatus")
28096
+ def hook_status(self) -> builtins.str:
28097
+ '''Attribute to specify which stacks this hook applies to or should get invoked for.'''
28098
+ return typing.cast(builtins.str, jsii.get(self, "hookStatus"))
28099
+
28100
+ @hook_status.setter
28101
+ def hook_status(self, value: builtins.str) -> None:
28102
+ if __debug__:
28103
+ type_hints = typing.get_type_hints(_typecheckingstub__a0503d05f0013b3ec54c828f41393c0bbe48ce0160b435e3137fc4130736158a)
28104
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28105
+ jsii.set(self, "hookStatus", value) # pyright: ignore[reportArgumentType]
28106
+
28107
+ @builtins.property
28108
+ @jsii.member(jsii_name="ruleLocation")
28109
+ def rule_location(
28110
+ self,
28111
+ ) -> typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]:
28112
+ '''S3 Source Location for the Guard files.'''
28113
+ return typing.cast(typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"], jsii.get(self, "ruleLocation"))
28114
+
28115
+ @rule_location.setter
28116
+ def rule_location(
28117
+ self,
28118
+ value: typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"],
28119
+ ) -> None:
28120
+ if __debug__:
28121
+ type_hints = typing.get_type_hints(_typecheckingstub__2dd7a94264b39d1c6984dcd5da3b88f9e4b4a6698c14a1ceb364dde28ed5079d)
28122
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28123
+ jsii.set(self, "ruleLocation", value) # pyright: ignore[reportArgumentType]
28124
+
28125
+ @builtins.property
28126
+ @jsii.member(jsii_name="targetOperations")
28127
+ def target_operations(self) -> typing.List[builtins.str]:
28128
+ '''Which operations should this Hook run against?'''
28129
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "targetOperations"))
28130
+
28131
+ @target_operations.setter
28132
+ def target_operations(self, value: typing.List[builtins.str]) -> None:
28133
+ if __debug__:
28134
+ type_hints = typing.get_type_hints(_typecheckingstub__6631385ac5bc7330a3cc6f35216f47598799e09e65c2fa0df1c6eb7b2afe68d4)
28135
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28136
+ jsii.set(self, "targetOperations", value) # pyright: ignore[reportArgumentType]
28137
+
28138
+ @builtins.property
28139
+ @jsii.member(jsii_name="logBucket")
28140
+ def log_bucket(self) -> typing.Optional[builtins.str]:
28141
+ '''S3 Bucket where the guard validate report will be uploaded to.'''
28142
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "logBucket"))
28143
+
28144
+ @log_bucket.setter
28145
+ def log_bucket(self, value: typing.Optional[builtins.str]) -> None:
28146
+ if __debug__:
28147
+ type_hints = typing.get_type_hints(_typecheckingstub__f1653dcc5a8f1aa9f759e9eb03c0fee924d8a51e1170b933a810e1b628c2083e)
28148
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28149
+ jsii.set(self, "logBucket", value) # pyright: ignore[reportArgumentType]
28150
+
28151
+ @builtins.property
28152
+ @jsii.member(jsii_name="options")
28153
+ def options(
28154
+ self,
28155
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]]:
28156
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]], jsii.get(self, "options"))
28157
+
28158
+ @options.setter
28159
+ def options(
28160
+ self,
28161
+ value: typing.Optional[typing.Union[IResolvable, "CfnGuardHook.OptionsProperty"]],
28162
+ ) -> None:
28163
+ if __debug__:
28164
+ type_hints = typing.get_type_hints(_typecheckingstub__72a34d4a2e31683bbacfca52f8500480feb773f1d0bb8dfd891f0c07eba975ef)
28165
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28166
+ jsii.set(self, "options", value) # pyright: ignore[reportArgumentType]
28167
+
28168
+ @builtins.property
28169
+ @jsii.member(jsii_name="stackFilters")
28170
+ def stack_filters(
28171
+ self,
28172
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]]:
28173
+ '''Filters to allow hooks to target specific stack attributes.'''
28174
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]], jsii.get(self, "stackFilters"))
28175
+
28176
+ @stack_filters.setter
28177
+ def stack_filters(
28178
+ self,
28179
+ value: typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackFiltersProperty"]],
28180
+ ) -> None:
28181
+ if __debug__:
28182
+ type_hints = typing.get_type_hints(_typecheckingstub__0102df7c7e94c66e6c55290d9509c5cbc77b7f58c865dab580e07f5729f7daaa)
28183
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28184
+ jsii.set(self, "stackFilters", value) # pyright: ignore[reportArgumentType]
28185
+
28186
+ @builtins.property
28187
+ @jsii.member(jsii_name="targetFilters")
28188
+ def target_filters(
28189
+ self,
28190
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]]:
28191
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]], jsii.get(self, "targetFilters"))
28192
+
28193
+ @target_filters.setter
28194
+ def target_filters(
28195
+ self,
28196
+ value: typing.Optional[typing.Union[IResolvable, "CfnGuardHook.TargetFiltersProperty"]],
28197
+ ) -> None:
28198
+ if __debug__:
28199
+ type_hints = typing.get_type_hints(_typecheckingstub__2c07d8e25f948404b7d403a52c44adfd2f8e72c8f2562df3d53c28d2455a5043)
28200
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
28201
+ jsii.set(self, "targetFilters", value) # pyright: ignore[reportArgumentType]
28202
+
28203
+ @jsii.data_type(
28204
+ jsii_type="aws-cdk-lib.CfnGuardHook.OptionsProperty",
28205
+ jsii_struct_bases=[],
28206
+ name_mapping={"input_params": "inputParams"},
28207
+ )
28208
+ class OptionsProperty:
28209
+ def __init__(
28210
+ self,
28211
+ *,
28212
+ input_params: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28213
+ ) -> None:
28214
+ '''
28215
+ :param input_params: S3 Source Location for the Guard files.
28216
+
28217
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-options.html
28218
+ :exampleMetadata: fixture=_generated
28219
+
28220
+ Example::
28221
+
28222
+ # The code below shows an example of how to instantiate this type.
28223
+ # The values are placeholders you should change.
28224
+ import aws_cdk as cdk
28225
+
28226
+ options_property = cdk.CfnGuardHook.OptionsProperty(
28227
+ input_params=cdk.CfnGuardHook.S3LocationProperty(
28228
+ uri="uri",
28229
+
28230
+ # the properties below are optional
28231
+ version_id="versionId"
28232
+ )
28233
+ )
28234
+ '''
28235
+ if __debug__:
28236
+ type_hints = typing.get_type_hints(_typecheckingstub__fc8b5f7d5493afa375ed8c4a6ed28a6b7a5188af9fc0a1ab0a10e79d528a33a1)
28237
+ check_type(argname="argument input_params", value=input_params, expected_type=type_hints["input_params"])
28238
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
28239
+ if input_params is not None:
28240
+ self._values["input_params"] = input_params
28241
+
28242
+ @builtins.property
28243
+ def input_params(
28244
+ self,
28245
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]]:
28246
+ '''S3 Source Location for the Guard files.
28247
+
28248
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-options.html#cfn-cloudformation-guardhook-options-inputparams
28249
+ '''
28250
+ result = self._values.get("input_params")
28251
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.S3LocationProperty"]], result)
28252
+
28253
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
28254
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
28255
+
28256
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
28257
+ return not (rhs == self)
28258
+
28259
+ def __repr__(self) -> str:
28260
+ return "OptionsProperty(%s)" % ", ".join(
28261
+ k + "=" + repr(v) for k, v in self._values.items()
28262
+ )
28263
+
28264
+ @jsii.data_type(
28265
+ jsii_type="aws-cdk-lib.CfnGuardHook.S3LocationProperty",
28266
+ jsii_struct_bases=[],
28267
+ name_mapping={"uri": "uri", "version_id": "versionId"},
28268
+ )
28269
+ class S3LocationProperty:
28270
+ def __init__(
28271
+ self,
28272
+ *,
28273
+ uri: builtins.str,
28274
+ version_id: typing.Optional[builtins.str] = None,
28275
+ ) -> None:
28276
+ '''S3 Source Location for the Guard files.
28277
+
28278
+ :param uri: S3 uri of Guard files.
28279
+ :param version_id: S3 object version.
28280
+
28281
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html
28282
+ :exampleMetadata: fixture=_generated
28283
+
28284
+ Example::
28285
+
28286
+ # The code below shows an example of how to instantiate this type.
28287
+ # The values are placeholders you should change.
28288
+ import aws_cdk as cdk
28289
+
28290
+ s3_location_property = cdk.CfnGuardHook.S3LocationProperty(
28291
+ uri="uri",
28292
+
28293
+ # the properties below are optional
28294
+ version_id="versionId"
28295
+ )
28296
+ '''
28297
+ if __debug__:
28298
+ type_hints = typing.get_type_hints(_typecheckingstub__db40e290d1d6f7ec380b50c1c08edfd2a7d426622e5451751d644d44aa12d041)
28299
+ check_type(argname="argument uri", value=uri, expected_type=type_hints["uri"])
28300
+ check_type(argname="argument version_id", value=version_id, expected_type=type_hints["version_id"])
28301
+ self._values: typing.Dict[builtins.str, typing.Any] = {
28302
+ "uri": uri,
28303
+ }
28304
+ if version_id is not None:
28305
+ self._values["version_id"] = version_id
28306
+
28307
+ @builtins.property
28308
+ def uri(self) -> builtins.str:
28309
+ '''S3 uri of Guard files.
28310
+
28311
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html#cfn-cloudformation-guardhook-s3location-uri
28312
+ '''
28313
+ result = self._values.get("uri")
28314
+ assert result is not None, "Required property 'uri' is missing"
28315
+ return typing.cast(builtins.str, result)
28316
+
28317
+ @builtins.property
28318
+ def version_id(self) -> typing.Optional[builtins.str]:
28319
+ '''S3 object version.
28320
+
28321
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html#cfn-cloudformation-guardhook-s3location-versionid
28322
+ '''
28323
+ result = self._values.get("version_id")
28324
+ return typing.cast(typing.Optional[builtins.str], result)
28325
+
28326
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
28327
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
28328
+
28329
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
28330
+ return not (rhs == self)
28331
+
28332
+ def __repr__(self) -> str:
28333
+ return "S3LocationProperty(%s)" % ", ".join(
28334
+ k + "=" + repr(v) for k, v in self._values.items()
28335
+ )
28336
+
28337
+ @jsii.data_type(
28338
+ jsii_type="aws-cdk-lib.CfnGuardHook.StackFiltersProperty",
28339
+ jsii_struct_bases=[],
28340
+ name_mapping={
28341
+ "filtering_criteria": "filteringCriteria",
28342
+ "stack_names": "stackNames",
28343
+ "stack_roles": "stackRoles",
28344
+ },
28345
+ )
28346
+ class StackFiltersProperty:
28347
+ def __init__(
28348
+ self,
28349
+ *,
28350
+ filtering_criteria: builtins.str,
28351
+ stack_names: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackNamesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28352
+ stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackRolesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
28353
+ ) -> None:
28354
+ '''Filters to allow hooks to target specific stack attributes.
28355
+
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.
28359
+
28360
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html
28361
+ :exampleMetadata: fixture=_generated
28362
+
28363
+ Example::
28364
+
28365
+ # The code below shows an example of how to instantiate this type.
28366
+ # The values are placeholders you should change.
28367
+ import aws_cdk as cdk
28368
+
28369
+ stack_filters_property = cdk.CfnGuardHook.StackFiltersProperty(
28370
+ filtering_criteria="filteringCriteria",
28371
+
28372
+ # the properties below are optional
28373
+ stack_names=cdk.CfnGuardHook.StackNamesProperty(
28374
+ exclude=["exclude"],
28375
+ include=["include"]
28376
+ ),
28377
+ stack_roles=cdk.CfnGuardHook.StackRolesProperty(
28378
+ exclude=["exclude"],
28379
+ include=["include"]
28380
+ )
28381
+ )
28382
+ '''
28383
+ if __debug__:
28384
+ type_hints = typing.get_type_hints(_typecheckingstub__c725c2529158bf1ff4b3acb1996aac584cb097df45a4c3aba51b9924ea38f375)
28385
+ check_type(argname="argument filtering_criteria", value=filtering_criteria, expected_type=type_hints["filtering_criteria"])
28386
+ check_type(argname="argument stack_names", value=stack_names, expected_type=type_hints["stack_names"])
28387
+ check_type(argname="argument stack_roles", value=stack_roles, expected_type=type_hints["stack_roles"])
28388
+ self._values: typing.Dict[builtins.str, typing.Any] = {
28389
+ "filtering_criteria": filtering_criteria,
28390
+ }
28391
+ if stack_names is not None:
28392
+ self._values["stack_names"] = stack_names
28393
+ if stack_roles is not None:
28394
+ self._values["stack_roles"] = stack_roles
28395
+
28396
+ @builtins.property
28397
+ def filtering_criteria(self) -> builtins.str:
28398
+ '''Attribute to specify the filtering behavior.
28399
+
28400
+ ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
28401
+
28402
+ :default: - "ALL"
28403
+
28404
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-filteringcriteria
28405
+ '''
28406
+ result = self._values.get("filtering_criteria")
28407
+ assert result is not None, "Required property 'filtering_criteria' is missing"
28408
+ return typing.cast(builtins.str, result)
28409
+
28410
+ @builtins.property
28411
+ def stack_names(
28412
+ self,
28413
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackNamesProperty"]]:
28414
+ '''List of stack names as filters.
28415
+
28416
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-stacknames
28417
+ '''
28418
+ result = self._values.get("stack_names")
28419
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackNamesProperty"]], result)
28420
+
28421
+ @builtins.property
28422
+ def stack_roles(
28423
+ self,
28424
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackRolesProperty"]]:
28425
+ '''List of stack roles that are performing the stack operations.
28426
+
28427
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackfilters.html#cfn-cloudformation-guardhook-stackfilters-stackroles
28428
+ '''
28429
+ result = self._values.get("stack_roles")
28430
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnGuardHook.StackRolesProperty"]], result)
28431
+
28432
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
28433
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
28434
+
28435
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
28436
+ return not (rhs == self)
28437
+
28438
+ def __repr__(self) -> str:
28439
+ return "StackFiltersProperty(%s)" % ", ".join(
28440
+ k + "=" + repr(v) for k, v in self._values.items()
28441
+ )
28442
+
28443
+ @jsii.data_type(
28444
+ jsii_type="aws-cdk-lib.CfnGuardHook.StackNamesProperty",
28445
+ jsii_struct_bases=[],
28446
+ name_mapping={"exclude": "exclude", "include": "include"},
28447
+ )
28448
+ class StackNamesProperty:
28449
+ def __init__(
28450
+ self,
28451
+ *,
28452
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
28453
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
28454
+ ) -> None:
28455
+ '''List of stack names as filters.
28456
+
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.
28459
+
28460
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html
28461
+ :exampleMetadata: fixture=_generated
28462
+
28463
+ Example::
28464
+
28465
+ # The code below shows an example of how to instantiate this type.
28466
+ # The values are placeholders you should change.
28467
+ import aws_cdk as cdk
28468
+
28469
+ stack_names_property = cdk.CfnGuardHook.StackNamesProperty(
28470
+ exclude=["exclude"],
28471
+ include=["include"]
28472
+ )
28473
+ '''
28474
+ if __debug__:
28475
+ type_hints = typing.get_type_hints(_typecheckingstub__dce2736a7246c1eab66bd9bb846348a6db45a56e6e1d3cf630e4fdd9b6e79b72)
28476
+ check_type(argname="argument exclude", value=exclude, expected_type=type_hints["exclude"])
28477
+ check_type(argname="argument include", value=include, expected_type=type_hints["include"])
28478
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
28479
+ if exclude is not None:
28480
+ self._values["exclude"] = exclude
28481
+ if include is not None:
28482
+ self._values["include"] = include
28483
+
28484
+ @builtins.property
28485
+ def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
28486
+ '''List of stack names that the hook is going to be excluded from.
28487
+
28488
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html#cfn-cloudformation-guardhook-stacknames-exclude
28489
+ '''
28490
+ result = self._values.get("exclude")
28491
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28492
+
28493
+ @builtins.property
28494
+ def include(self) -> typing.Optional[typing.List[builtins.str]]:
28495
+ '''List of stack names that the hook is going to target.
28496
+
28497
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stacknames.html#cfn-cloudformation-guardhook-stacknames-include
28498
+ '''
28499
+ result = self._values.get("include")
28500
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28501
+
28502
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
28503
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
28504
+
28505
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
28506
+ return not (rhs == self)
28507
+
28508
+ def __repr__(self) -> str:
28509
+ return "StackNamesProperty(%s)" % ", ".join(
28510
+ k + "=" + repr(v) for k, v in self._values.items()
28511
+ )
28512
+
28513
+ @jsii.data_type(
28514
+ jsii_type="aws-cdk-lib.CfnGuardHook.StackRolesProperty",
28515
+ jsii_struct_bases=[],
28516
+ name_mapping={"exclude": "exclude", "include": "include"},
28517
+ )
28518
+ class StackRolesProperty:
28519
+ def __init__(
28520
+ self,
28521
+ *,
28522
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
28523
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
28524
+ ) -> None:
28525
+ '''List of stack roles that are performing the stack operations.
28526
+
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.
28529
+
28530
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html
28531
+ :exampleMetadata: fixture=_generated
28532
+
28533
+ Example::
28534
+
28535
+ # The code below shows an example of how to instantiate this type.
28536
+ # The values are placeholders you should change.
28537
+ import aws_cdk as cdk
28538
+
28539
+ stack_roles_property = cdk.CfnGuardHook.StackRolesProperty(
28540
+ exclude=["exclude"],
28541
+ include=["include"]
28542
+ )
28543
+ '''
28544
+ if __debug__:
28545
+ type_hints = typing.get_type_hints(_typecheckingstub__38f57021d7e9ce2c114dd9e04b76ad13f99d241effea8d0e3f3391d849d629c0)
28546
+ check_type(argname="argument exclude", value=exclude, expected_type=type_hints["exclude"])
28547
+ check_type(argname="argument include", value=include, expected_type=type_hints["include"])
28548
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
28549
+ if exclude is not None:
28550
+ self._values["exclude"] = exclude
28551
+ if include is not None:
28552
+ self._values["include"] = include
28553
+
28554
+ @builtins.property
28555
+ def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
28556
+ '''List of stack roles that the hook is going to be excluded from.
28557
+
28558
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html#cfn-cloudformation-guardhook-stackroles-exclude
28559
+ '''
28560
+ result = self._values.get("exclude")
28561
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28562
+
28563
+ @builtins.property
28564
+ def include(self) -> typing.Optional[typing.List[builtins.str]]:
28565
+ '''List of stack roles that the hook is going to target.
28566
+
28567
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-stackroles.html#cfn-cloudformation-guardhook-stackroles-include
28568
+ '''
28569
+ result = self._values.get("include")
28570
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28571
+
28572
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
28573
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
28574
+
28575
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
28576
+ return not (rhs == self)
28577
+
28578
+ def __repr__(self) -> str:
28579
+ return "StackRolesProperty(%s)" % ", ".join(
28580
+ k + "=" + repr(v) for k, v in self._values.items()
28581
+ )
28582
+
28583
+ @jsii.data_type(
28584
+ jsii_type="aws-cdk-lib.CfnGuardHook.TargetFiltersProperty",
28585
+ jsii_struct_bases=[],
28586
+ name_mapping={
28587
+ "actions": "actions",
28588
+ "invocation_points": "invocationPoints",
28589
+ "target_names": "targetNames",
28590
+ },
28591
+ )
28592
+ class TargetFiltersProperty:
28593
+ def __init__(
28594
+ self,
28595
+ *,
28596
+ actions: typing.Optional[typing.Sequence[builtins.str]] = None,
28597
+ invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
28598
+ target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
28599
+ ) -> None:
28600
+ '''
28601
+ :param actions: List of actions that the hook is going to target.
28602
+ :param invocation_points: List of invocation points that the hook is going to target.
28603
+ :param target_names: List of type names that the hook is going to target.
28604
+
28605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-targetfilters.html
28606
+ :exampleMetadata: fixture=_generated
28607
+
28608
+ Example::
28609
+
28610
+ # The code below shows an example of how to instantiate this type.
28611
+ # The values are placeholders you should change.
28612
+ import aws_cdk as cdk
28613
+
28614
+ target_filters_property = cdk.CfnGuardHook.TargetFiltersProperty(
28615
+ actions=["actions"],
28616
+ invocation_points=["invocationPoints"],
28617
+ target_names=["targetNames"]
28618
+ )
28619
+ '''
28620
+ if __debug__:
28621
+ type_hints = typing.get_type_hints(_typecheckingstub__54414c99414c15df123d19676b346d63fe72e646cc3c7110b2d4267650dcc681)
28622
+ check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
28623
+ check_type(argname="argument invocation_points", value=invocation_points, expected_type=type_hints["invocation_points"])
28624
+ check_type(argname="argument target_names", value=target_names, expected_type=type_hints["target_names"])
28625
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
28626
+ if actions is not None:
28627
+ self._values["actions"] = actions
28628
+ if invocation_points is not None:
28629
+ self._values["invocation_points"] = invocation_points
28630
+ if target_names is not None:
28631
+ self._values["target_names"] = target_names
28632
+
28633
+ @builtins.property
28634
+ def actions(self) -> typing.Optional[typing.List[builtins.str]]:
28635
+ '''List of actions that the hook is going to target.
28636
+
28637
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-targetfilters.html#cfn-cloudformation-guardhook-targetfilters-actions
28638
+ '''
28639
+ result = self._values.get("actions")
28640
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28641
+
28642
+ @builtins.property
28643
+ def invocation_points(self) -> typing.Optional[typing.List[builtins.str]]:
28644
+ '''List of invocation points that the hook is going to target.
28645
+
28646
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-targetfilters.html#cfn-cloudformation-guardhook-targetfilters-invocationpoints
28647
+ '''
28648
+ result = self._values.get("invocation_points")
28649
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28650
+
28651
+ @builtins.property
28652
+ def target_names(self) -> typing.Optional[typing.List[builtins.str]]:
28653
+ '''List of type names that the hook is going to target.
28654
+
28655
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-targetfilters.html#cfn-cloudformation-guardhook-targetfilters-targetnames
28656
+ '''
28657
+ result = self._values.get("target_names")
28658
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
28659
+
28660
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
28661
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
28662
+
28663
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
28664
+ return not (rhs == self)
28665
+
28666
+ def __repr__(self) -> str:
28667
+ return "TargetFiltersProperty(%s)" % ", ".join(
28668
+ k + "=" + repr(v) for k, v in self._values.items()
28669
+ )
28670
+
28671
+
27459
28672
  @jsii.implements(IInspectable)
27460
28673
  class CfnHookDefaultVersion(
27461
28674
  CfnResource,
@@ -28120,6 +29333,589 @@ class CfnJson(
28120
29333
  return typing.cast(Reference, jsii.get(self, "value"))
28121
29334
 
28122
29335
 
29336
+ @jsii.implements(IInspectable)
29337
+ class CfnLambdaHook(
29338
+ CfnResource,
29339
+ metaclass=jsii.JSIIMeta,
29340
+ jsii_type="aws-cdk-lib.CfnLambdaHook",
29341
+ ):
29342
+ '''This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
29343
+
29344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
29345
+ :cloudformationResource: AWS::CloudFormation::LambdaHook
29346
+ :exampleMetadata: fixture=_generated
29347
+
29348
+ Example::
29349
+
29350
+ # The code below shows an example of how to instantiate this type.
29351
+ # The values are placeholders you should change.
29352
+ import aws_cdk as cdk
29353
+
29354
+ cfn_lambda_hook = cdk.CfnLambdaHook(self, "MyCfnLambdaHook",
29355
+ alias="alias",
29356
+ execution_role="executionRole",
29357
+ failure_mode="failureMode",
29358
+ hook_status="hookStatus",
29359
+ lambda_function="lambdaFunction",
29360
+ target_operations=["targetOperations"],
29361
+
29362
+ # the properties below are optional
29363
+ stack_filters=cdk.CfnLambdaHook.StackFiltersProperty(
29364
+ filtering_criteria="filteringCriteria",
29365
+
29366
+ # the properties below are optional
29367
+ stack_names=cdk.CfnLambdaHook.StackNamesProperty(
29368
+ exclude=["exclude"],
29369
+ include=["include"]
29370
+ ),
29371
+ stack_roles=cdk.CfnLambdaHook.StackRolesProperty(
29372
+ exclude=["exclude"],
29373
+ include=["include"]
29374
+ )
29375
+ ),
29376
+ target_filters=cdk.CfnLambdaHook.TargetFiltersProperty(
29377
+ actions=["actions"],
29378
+ invocation_points=["invocationPoints"],
29379
+ target_names=["targetNames"]
29380
+ )
29381
+ )
29382
+ '''
29383
+
29384
+ def __init__(
29385
+ self,
29386
+ scope: _constructs_77d1e7e8.Construct,
29387
+ id: builtins.str,
29388
+ *,
29389
+ alias: builtins.str,
29390
+ execution_role: builtins.str,
29391
+ failure_mode: builtins.str,
29392
+ hook_status: builtins.str,
29393
+ lambda_function: builtins.str,
29394
+ target_operations: typing.Sequence[builtins.str],
29395
+ stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29396
+ target_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29397
+ ) -> None:
29398
+ '''
29399
+ :param scope: Scope in which this resource is defined.
29400
+ :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:
29409
+ '''
29410
+ if __debug__:
29411
+ type_hints = typing.get_type_hints(_typecheckingstub__407b4a631e3a832f02376728222302ded8f1ba90d2538b0469e5b99641f17447)
29412
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
29413
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
29414
+ props = CfnLambdaHookProps(
29415
+ alias=alias,
29416
+ execution_role=execution_role,
29417
+ failure_mode=failure_mode,
29418
+ hook_status=hook_status,
29419
+ lambda_function=lambda_function,
29420
+ target_operations=target_operations,
29421
+ stack_filters=stack_filters,
29422
+ target_filters=target_filters,
29423
+ )
29424
+
29425
+ jsii.create(self.__class__, self, [scope, id, props])
29426
+
29427
+ @jsii.member(jsii_name="inspect")
29428
+ def inspect(self, inspector: TreeInspector) -> None:
29429
+ '''Examines the CloudFormation resource and discloses attributes.
29430
+
29431
+ :param inspector: tree inspector to collect and process attributes.
29432
+ '''
29433
+ if __debug__:
29434
+ type_hints = typing.get_type_hints(_typecheckingstub__7ca8dac53fa45b247ec7961746ffff0dc2c69a849f6eae722f547c7bff23f965)
29435
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
29436
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
29437
+
29438
+ @jsii.member(jsii_name="renderProperties")
29439
+ def _render_properties(
29440
+ self,
29441
+ props: typing.Mapping[builtins.str, typing.Any],
29442
+ ) -> typing.Mapping[builtins.str, typing.Any]:
29443
+ '''
29444
+ :param props: -
29445
+ '''
29446
+ if __debug__:
29447
+ type_hints = typing.get_type_hints(_typecheckingstub__97557a11b1ce7d99a2b1e4225da386dd914196c43ea0127ee0ad9c408d86f610)
29448
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
29449
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
29450
+
29451
+ @jsii.python.classproperty
29452
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
29453
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
29454
+ '''The CloudFormation resource type name for this resource class.'''
29455
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
29456
+
29457
+ @builtins.property
29458
+ @jsii.member(jsii_name="attrHookArn")
29459
+ def attr_hook_arn(self) -> builtins.str:
29460
+ '''The Amazon Resource Name (ARN) of the activated hook.
29461
+
29462
+ :cloudformationAttribute: HookArn
29463
+ '''
29464
+ return typing.cast(builtins.str, jsii.get(self, "attrHookArn"))
29465
+
29466
+ @builtins.property
29467
+ @jsii.member(jsii_name="cfnProperties")
29468
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
29469
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
29470
+
29471
+ @builtins.property
29472
+ @jsii.member(jsii_name="alias")
29473
+ def alias(self) -> builtins.str:
29474
+ '''The typename alias for the hook.'''
29475
+ return typing.cast(builtins.str, jsii.get(self, "alias"))
29476
+
29477
+ @alias.setter
29478
+ def alias(self, value: builtins.str) -> None:
29479
+ if __debug__:
29480
+ type_hints = typing.get_type_hints(_typecheckingstub__13d985d240e1d24568a521a270594d10f9c47fb185f18a6a96cc0a4a53c9dfcd)
29481
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29482
+ jsii.set(self, "alias", value) # pyright: ignore[reportArgumentType]
29483
+
29484
+ @builtins.property
29485
+ @jsii.member(jsii_name="executionRole")
29486
+ def execution_role(self) -> builtins.str:
29487
+ '''IAM Role ARN.'''
29488
+ return typing.cast(builtins.str, jsii.get(self, "executionRole"))
29489
+
29490
+ @execution_role.setter
29491
+ def execution_role(self, value: builtins.str) -> None:
29492
+ if __debug__:
29493
+ type_hints = typing.get_type_hints(_typecheckingstub__03e9eaa4d246f347df8cebec3fd25e919ef3ca443e79051947ca3b5880cbcd8f)
29494
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29495
+ jsii.set(self, "executionRole", value) # pyright: ignore[reportArgumentType]
29496
+
29497
+ @builtins.property
29498
+ @jsii.member(jsii_name="failureMode")
29499
+ def failure_mode(self) -> builtins.str:
29500
+ '''Attribute to specify CloudFormation behavior on hook failure.'''
29501
+ return typing.cast(builtins.str, jsii.get(self, "failureMode"))
29502
+
29503
+ @failure_mode.setter
29504
+ def failure_mode(self, value: builtins.str) -> None:
29505
+ if __debug__:
29506
+ type_hints = typing.get_type_hints(_typecheckingstub__de3665b99f75d6b664f5fb9b1915eaf24acdcef5e00904dfd26ac7f16f3bdf2d)
29507
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29508
+ jsii.set(self, "failureMode", value) # pyright: ignore[reportArgumentType]
29509
+
29510
+ @builtins.property
29511
+ @jsii.member(jsii_name="hookStatus")
29512
+ def hook_status(self) -> builtins.str:
29513
+ '''Attribute to specify which stacks this hook applies to or should get invoked for.'''
29514
+ return typing.cast(builtins.str, jsii.get(self, "hookStatus"))
29515
+
29516
+ @hook_status.setter
29517
+ def hook_status(self, value: builtins.str) -> None:
29518
+ if __debug__:
29519
+ type_hints = typing.get_type_hints(_typecheckingstub__0245fa0b078734d4d35c0bf03366bc0dceba1effd144187a17735c63cadf8921)
29520
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29521
+ jsii.set(self, "hookStatus", value) # pyright: ignore[reportArgumentType]
29522
+
29523
+ @builtins.property
29524
+ @jsii.member(jsii_name="lambdaFunction")
29525
+ 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.'''
29527
+ return typing.cast(builtins.str, jsii.get(self, "lambdaFunction"))
29528
+
29529
+ @lambda_function.setter
29530
+ def lambda_function(self, value: builtins.str) -> None:
29531
+ if __debug__:
29532
+ type_hints = typing.get_type_hints(_typecheckingstub__90cb7d0afb8201647de69515e1faa1457a9064081e8ba452f3e2518f267aebb7)
29533
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29534
+ jsii.set(self, "lambdaFunction", value) # pyright: ignore[reportArgumentType]
29535
+
29536
+ @builtins.property
29537
+ @jsii.member(jsii_name="targetOperations")
29538
+ def target_operations(self) -> typing.List[builtins.str]:
29539
+ '''Which operations should this Hook run against?'''
29540
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "targetOperations"))
29541
+
29542
+ @target_operations.setter
29543
+ def target_operations(self, value: typing.List[builtins.str]) -> None:
29544
+ if __debug__:
29545
+ type_hints = typing.get_type_hints(_typecheckingstub__c939eb89d0bbf1e467d3cada5ca3624fb0c5c0e583c9063149c81f8259b3e2dd)
29546
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29547
+ jsii.set(self, "targetOperations", value) # pyright: ignore[reportArgumentType]
29548
+
29549
+ @builtins.property
29550
+ @jsii.member(jsii_name="stackFilters")
29551
+ def stack_filters(
29552
+ self,
29553
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]]:
29554
+ '''Filters to allow hooks to target specific stack attributes.'''
29555
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]], jsii.get(self, "stackFilters"))
29556
+
29557
+ @stack_filters.setter
29558
+ def stack_filters(
29559
+ self,
29560
+ value: typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackFiltersProperty"]],
29561
+ ) -> None:
29562
+ if __debug__:
29563
+ type_hints = typing.get_type_hints(_typecheckingstub__b3b265cde01add2f07458da4c365ab2135a7f387383ca39d0b26bfac5dbed2f2)
29564
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29565
+ jsii.set(self, "stackFilters", value) # pyright: ignore[reportArgumentType]
29566
+
29567
+ @builtins.property
29568
+ @jsii.member(jsii_name="targetFilters")
29569
+ def target_filters(
29570
+ self,
29571
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]]:
29572
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]], jsii.get(self, "targetFilters"))
29573
+
29574
+ @target_filters.setter
29575
+ def target_filters(
29576
+ self,
29577
+ value: typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.TargetFiltersProperty"]],
29578
+ ) -> None:
29579
+ if __debug__:
29580
+ type_hints = typing.get_type_hints(_typecheckingstub__b3f0452e1487a1c5085ea420b80ea51e64c7defd79084c39a9f38bc17b122184)
29581
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
29582
+ jsii.set(self, "targetFilters", value) # pyright: ignore[reportArgumentType]
29583
+
29584
+ @jsii.data_type(
29585
+ jsii_type="aws-cdk-lib.CfnLambdaHook.StackFiltersProperty",
29586
+ jsii_struct_bases=[],
29587
+ name_mapping={
29588
+ "filtering_criteria": "filteringCriteria",
29589
+ "stack_names": "stackNames",
29590
+ "stack_roles": "stackRoles",
29591
+ },
29592
+ )
29593
+ class StackFiltersProperty:
29594
+ def __init__(
29595
+ self,
29596
+ *,
29597
+ filtering_criteria: builtins.str,
29598
+ stack_names: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackNamesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29599
+ stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackRolesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29600
+ ) -> None:
29601
+ '''Filters to allow hooks to target specific stack attributes.
29602
+
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.
29606
+
29607
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html
29608
+ :exampleMetadata: fixture=_generated
29609
+
29610
+ Example::
29611
+
29612
+ # The code below shows an example of how to instantiate this type.
29613
+ # The values are placeholders you should change.
29614
+ import aws_cdk as cdk
29615
+
29616
+ stack_filters_property = cdk.CfnLambdaHook.StackFiltersProperty(
29617
+ filtering_criteria="filteringCriteria",
29618
+
29619
+ # the properties below are optional
29620
+ stack_names=cdk.CfnLambdaHook.StackNamesProperty(
29621
+ exclude=["exclude"],
29622
+ include=["include"]
29623
+ ),
29624
+ stack_roles=cdk.CfnLambdaHook.StackRolesProperty(
29625
+ exclude=["exclude"],
29626
+ include=["include"]
29627
+ )
29628
+ )
29629
+ '''
29630
+ if __debug__:
29631
+ type_hints = typing.get_type_hints(_typecheckingstub__84b989a5da45d0bad88a9ecf93b8aa1724884132ffa59bcc73894e0c44565050)
29632
+ check_type(argname="argument filtering_criteria", value=filtering_criteria, expected_type=type_hints["filtering_criteria"])
29633
+ check_type(argname="argument stack_names", value=stack_names, expected_type=type_hints["stack_names"])
29634
+ check_type(argname="argument stack_roles", value=stack_roles, expected_type=type_hints["stack_roles"])
29635
+ self._values: typing.Dict[builtins.str, typing.Any] = {
29636
+ "filtering_criteria": filtering_criteria,
29637
+ }
29638
+ if stack_names is not None:
29639
+ self._values["stack_names"] = stack_names
29640
+ if stack_roles is not None:
29641
+ self._values["stack_roles"] = stack_roles
29642
+
29643
+ @builtins.property
29644
+ def filtering_criteria(self) -> builtins.str:
29645
+ '''Attribute to specify the filtering behavior.
29646
+
29647
+ ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match
29648
+
29649
+ :default: - "ALL"
29650
+
29651
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-filteringcriteria
29652
+ '''
29653
+ result = self._values.get("filtering_criteria")
29654
+ assert result is not None, "Required property 'filtering_criteria' is missing"
29655
+ return typing.cast(builtins.str, result)
29656
+
29657
+ @builtins.property
29658
+ def stack_names(
29659
+ self,
29660
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackNamesProperty"]]:
29661
+ '''List of stack names as filters.
29662
+
29663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-stacknames
29664
+ '''
29665
+ result = self._values.get("stack_names")
29666
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackNamesProperty"]], result)
29667
+
29668
+ @builtins.property
29669
+ def stack_roles(
29670
+ self,
29671
+ ) -> typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackRolesProperty"]]:
29672
+ '''List of stack roles that are performing the stack operations.
29673
+
29674
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackfilters.html#cfn-cloudformation-lambdahook-stackfilters-stackroles
29675
+ '''
29676
+ result = self._values.get("stack_roles")
29677
+ return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnLambdaHook.StackRolesProperty"]], result)
29678
+
29679
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29680
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29681
+
29682
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29683
+ return not (rhs == self)
29684
+
29685
+ def __repr__(self) -> str:
29686
+ return "StackFiltersProperty(%s)" % ", ".join(
29687
+ k + "=" + repr(v) for k, v in self._values.items()
29688
+ )
29689
+
29690
+ @jsii.data_type(
29691
+ jsii_type="aws-cdk-lib.CfnLambdaHook.StackNamesProperty",
29692
+ jsii_struct_bases=[],
29693
+ name_mapping={"exclude": "exclude", "include": "include"},
29694
+ )
29695
+ class StackNamesProperty:
29696
+ def __init__(
29697
+ self,
29698
+ *,
29699
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
29700
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
29701
+ ) -> None:
29702
+ '''List of stack names as filters.
29703
+
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.
29706
+
29707
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html
29708
+ :exampleMetadata: fixture=_generated
29709
+
29710
+ Example::
29711
+
29712
+ # The code below shows an example of how to instantiate this type.
29713
+ # The values are placeholders you should change.
29714
+ import aws_cdk as cdk
29715
+
29716
+ stack_names_property = cdk.CfnLambdaHook.StackNamesProperty(
29717
+ exclude=["exclude"],
29718
+ include=["include"]
29719
+ )
29720
+ '''
29721
+ if __debug__:
29722
+ type_hints = typing.get_type_hints(_typecheckingstub__9503fce3ac79d915fff744052f988a571dff4614c613ea3e2046745be489b55c)
29723
+ check_type(argname="argument exclude", value=exclude, expected_type=type_hints["exclude"])
29724
+ check_type(argname="argument include", value=include, expected_type=type_hints["include"])
29725
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
29726
+ if exclude is not None:
29727
+ self._values["exclude"] = exclude
29728
+ if include is not None:
29729
+ self._values["include"] = include
29730
+
29731
+ @builtins.property
29732
+ def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
29733
+ '''List of stack names that the hook is going to be excluded from.
29734
+
29735
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html#cfn-cloudformation-lambdahook-stacknames-exclude
29736
+ '''
29737
+ result = self._values.get("exclude")
29738
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29739
+
29740
+ @builtins.property
29741
+ def include(self) -> typing.Optional[typing.List[builtins.str]]:
29742
+ '''List of stack names that the hook is going to target.
29743
+
29744
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stacknames.html#cfn-cloudformation-lambdahook-stacknames-include
29745
+ '''
29746
+ result = self._values.get("include")
29747
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29748
+
29749
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29750
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29751
+
29752
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29753
+ return not (rhs == self)
29754
+
29755
+ def __repr__(self) -> str:
29756
+ return "StackNamesProperty(%s)" % ", ".join(
29757
+ k + "=" + repr(v) for k, v in self._values.items()
29758
+ )
29759
+
29760
+ @jsii.data_type(
29761
+ jsii_type="aws-cdk-lib.CfnLambdaHook.StackRolesProperty",
29762
+ jsii_struct_bases=[],
29763
+ name_mapping={"exclude": "exclude", "include": "include"},
29764
+ )
29765
+ class StackRolesProperty:
29766
+ def __init__(
29767
+ self,
29768
+ *,
29769
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
29770
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
29771
+ ) -> None:
29772
+ '''List of stack roles that are performing the stack operations.
29773
+
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.
29776
+
29777
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html
29778
+ :exampleMetadata: fixture=_generated
29779
+
29780
+ Example::
29781
+
29782
+ # The code below shows an example of how to instantiate this type.
29783
+ # The values are placeholders you should change.
29784
+ import aws_cdk as cdk
29785
+
29786
+ stack_roles_property = cdk.CfnLambdaHook.StackRolesProperty(
29787
+ exclude=["exclude"],
29788
+ include=["include"]
29789
+ )
29790
+ '''
29791
+ if __debug__:
29792
+ type_hints = typing.get_type_hints(_typecheckingstub__4d69101af7797194522cb8e9463486ca30f37bb88a63e6a6a008a687cb7f29ba)
29793
+ check_type(argname="argument exclude", value=exclude, expected_type=type_hints["exclude"])
29794
+ check_type(argname="argument include", value=include, expected_type=type_hints["include"])
29795
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
29796
+ if exclude is not None:
29797
+ self._values["exclude"] = exclude
29798
+ if include is not None:
29799
+ self._values["include"] = include
29800
+
29801
+ @builtins.property
29802
+ def exclude(self) -> typing.Optional[typing.List[builtins.str]]:
29803
+ '''List of stack roles that the hook is going to be excluded from.
29804
+
29805
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html#cfn-cloudformation-lambdahook-stackroles-exclude
29806
+ '''
29807
+ result = self._values.get("exclude")
29808
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29809
+
29810
+ @builtins.property
29811
+ def include(self) -> typing.Optional[typing.List[builtins.str]]:
29812
+ '''List of stack roles that the hook is going to target.
29813
+
29814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-stackroles.html#cfn-cloudformation-lambdahook-stackroles-include
29815
+ '''
29816
+ result = self._values.get("include")
29817
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29818
+
29819
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29820
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29821
+
29822
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29823
+ return not (rhs == self)
29824
+
29825
+ def __repr__(self) -> str:
29826
+ return "StackRolesProperty(%s)" % ", ".join(
29827
+ k + "=" + repr(v) for k, v in self._values.items()
29828
+ )
29829
+
29830
+ @jsii.data_type(
29831
+ jsii_type="aws-cdk-lib.CfnLambdaHook.TargetFiltersProperty",
29832
+ jsii_struct_bases=[],
29833
+ name_mapping={
29834
+ "actions": "actions",
29835
+ "invocation_points": "invocationPoints",
29836
+ "target_names": "targetNames",
29837
+ },
29838
+ )
29839
+ class TargetFiltersProperty:
29840
+ def __init__(
29841
+ self,
29842
+ *,
29843
+ actions: typing.Optional[typing.Sequence[builtins.str]] = None,
29844
+ invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
29845
+ target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
29846
+ ) -> None:
29847
+ '''
29848
+ :param actions: List of actions that the hook is going to target.
29849
+ :param invocation_points: List of invocation points that the hook is going to target.
29850
+ :param target_names: List of type names that the hook is going to target.
29851
+
29852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-targetfilters.html
29853
+ :exampleMetadata: fixture=_generated
29854
+
29855
+ Example::
29856
+
29857
+ # The code below shows an example of how to instantiate this type.
29858
+ # The values are placeholders you should change.
29859
+ import aws_cdk as cdk
29860
+
29861
+ target_filters_property = cdk.CfnLambdaHook.TargetFiltersProperty(
29862
+ actions=["actions"],
29863
+ invocation_points=["invocationPoints"],
29864
+ target_names=["targetNames"]
29865
+ )
29866
+ '''
29867
+ if __debug__:
29868
+ type_hints = typing.get_type_hints(_typecheckingstub__b1e4952bfed38df912ad6c5f8fe2d6ef91fc6d169fea5f1c2f78a373ec7eb8a4)
29869
+ check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
29870
+ check_type(argname="argument invocation_points", value=invocation_points, expected_type=type_hints["invocation_points"])
29871
+ check_type(argname="argument target_names", value=target_names, expected_type=type_hints["target_names"])
29872
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
29873
+ if actions is not None:
29874
+ self._values["actions"] = actions
29875
+ if invocation_points is not None:
29876
+ self._values["invocation_points"] = invocation_points
29877
+ if target_names is not None:
29878
+ self._values["target_names"] = target_names
29879
+
29880
+ @builtins.property
29881
+ def actions(self) -> typing.Optional[typing.List[builtins.str]]:
29882
+ '''List of actions that the hook is going to target.
29883
+
29884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-targetfilters.html#cfn-cloudformation-lambdahook-targetfilters-actions
29885
+ '''
29886
+ result = self._values.get("actions")
29887
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29888
+
29889
+ @builtins.property
29890
+ def invocation_points(self) -> typing.Optional[typing.List[builtins.str]]:
29891
+ '''List of invocation points that the hook is going to target.
29892
+
29893
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-targetfilters.html#cfn-cloudformation-lambdahook-targetfilters-invocationpoints
29894
+ '''
29895
+ result = self._values.get("invocation_points")
29896
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29897
+
29898
+ @builtins.property
29899
+ def target_names(self) -> typing.Optional[typing.List[builtins.str]]:
29900
+ '''List of type names that the hook is going to target.
29901
+
29902
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-lambdahook-targetfilters.html#cfn-cloudformation-lambdahook-targetfilters-targetnames
29903
+ '''
29904
+ result = self._values.get("target_names")
29905
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
29906
+
29907
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29908
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29909
+
29910
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29911
+ return not (rhs == self)
29912
+
29913
+ def __repr__(self) -> str:
29914
+ return "TargetFiltersProperty(%s)" % ", ".join(
29915
+ k + "=" + repr(v) for k, v in self._values.items()
29916
+ )
29917
+
29918
+
28123
29919
  @jsii.implements(IInspectable)
28124
29920
  class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnMacro"):
28125
29921
  '''The ``AWS::CloudFormation::Macro`` resource is a CloudFormation resource type that creates a CloudFormation macro to perform custom processing on CloudFormation templates.
@@ -33865,6 +35661,8 @@ __all__ = [
33865
35661
  "CfnDynamicReferenceProps",
33866
35662
  "CfnDynamicReferenceService",
33867
35663
  "CfnElement",
35664
+ "CfnGuardHook",
35665
+ "CfnGuardHookProps",
33868
35666
  "CfnHook",
33869
35667
  "CfnHookDefaultVersion",
33870
35668
  "CfnHookDefaultVersionProps",
@@ -33875,6 +35673,8 @@ __all__ = [
33875
35673
  "CfnHookVersionProps",
33876
35674
  "CfnJson",
33877
35675
  "CfnJsonProps",
35676
+ "CfnLambdaHook",
35677
+ "CfnLambdaHookProps",
33878
35678
  "CfnMacro",
33879
35679
  "CfnMacroProps",
33880
35680
  "CfnMapping",
@@ -34129,6 +35929,7 @@ __all__ = [
34129
35929
  "aws_config",
34130
35930
  "aws_connect",
34131
35931
  "aws_connectcampaigns",
35932
+ "aws_connectcampaignsv2",
34132
35933
  "aws_controltower",
34133
35934
  "aws_cur",
34134
35935
  "aws_customerprofiles",
@@ -34417,6 +36218,7 @@ from . import aws_comprehend
34417
36218
  from . import aws_config
34418
36219
  from . import aws_connect
34419
36220
  from . import aws_connectcampaigns
36221
+ from . import aws_connectcampaignsv2
34420
36222
  from . import aws_controltower
34421
36223
  from . import aws_cur
34422
36224
  from . import aws_customerprofiles
@@ -35018,6 +36820,22 @@ def _typecheckingstub__5786b9b09eedff01ff70a3bb7cd27562f344e797dfee3e18aea89baaa
35018
36820
  """Type checking stubs"""
35019
36821
  pass
35020
36822
 
36823
+ def _typecheckingstub__0af504bd749e0a62686c10b562deecc015abe54143ca61ed442f20ab5b08fee9(
36824
+ *,
36825
+ alias: builtins.str,
36826
+ execution_role: builtins.str,
36827
+ failure_mode: builtins.str,
36828
+ hook_status: builtins.str,
36829
+ rule_location: typing.Union[IResolvable, typing.Union[CfnGuardHook.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]],
36830
+ target_operations: typing.Sequence[builtins.str],
36831
+ log_bucket: typing.Optional[builtins.str] = None,
36832
+ options: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.OptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
36833
+ stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.StackFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
36834
+ target_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.TargetFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
36835
+ ) -> None:
36836
+ """Type checking stubs"""
36837
+ pass
36838
+
35021
36839
  def _typecheckingstub__34e5d88f44cad60f887c90c156a334d23c105a3fb5b0b86b06864bcfb01af902(
35022
36840
  scope: _constructs_77d1e7e8.Construct,
35023
36841
  id: builtins.str,
@@ -35078,6 +36896,20 @@ def _typecheckingstub__87eed2422211d2fd267f6174466957d5a425714d5c1428b9824d42eae
35078
36896
  """Type checking stubs"""
35079
36897
  pass
35080
36898
 
36899
+ def _typecheckingstub__4a131cdc86d452e41ccdf75ad468f0b377a8ec03cc7f13c95235a7c90e881d29(
36900
+ *,
36901
+ alias: builtins.str,
36902
+ execution_role: builtins.str,
36903
+ failure_mode: builtins.str,
36904
+ hook_status: builtins.str,
36905
+ lambda_function: builtins.str,
36906
+ target_operations: typing.Sequence[builtins.str],
36907
+ stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnLambdaHook.StackFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
36908
+ target_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnLambdaHook.TargetFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
36909
+ ) -> None:
36910
+ """Type checking stubs"""
36911
+ pass
36912
+
35081
36913
  def _typecheckingstub__37ca317726d1a81abd91af8b3515fe38803c55d61fd20d81e54fc711ec81f086(
35082
36914
  *,
35083
36915
  function_name: builtins.str,
@@ -37734,6 +39566,145 @@ def _typecheckingstub__f4382454e1b2012ad94b6695331fb17ad1e5c1efffcba7978396a05ac
37734
39566
  """Type checking stubs"""
37735
39567
  pass
37736
39568
 
39569
+ def _typecheckingstub__af8d2663a8bac5046ca50537b031b46f870c6edd4948ed8528ca4e3ff9367b17(
39570
+ scope: _constructs_77d1e7e8.Construct,
39571
+ id: builtins.str,
39572
+ *,
39573
+ alias: builtins.str,
39574
+ execution_role: builtins.str,
39575
+ failure_mode: builtins.str,
39576
+ hook_status: builtins.str,
39577
+ rule_location: typing.Union[IResolvable, typing.Union[CfnGuardHook.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]],
39578
+ target_operations: typing.Sequence[builtins.str],
39579
+ log_bucket: typing.Optional[builtins.str] = None,
39580
+ options: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.OptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39581
+ stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.StackFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39582
+ target_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.TargetFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39583
+ ) -> None:
39584
+ """Type checking stubs"""
39585
+ pass
39586
+
39587
+ def _typecheckingstub__d9e8bb3874abe26e6e6d3c93475a413077fd10962992ae9e30e51c7551865289(
39588
+ inspector: TreeInspector,
39589
+ ) -> None:
39590
+ """Type checking stubs"""
39591
+ pass
39592
+
39593
+ def _typecheckingstub__7cc7c42bc21b4ca7930b9f08865b3fcaeb7a53e948fd22e26e4b79d0725cd5b0(
39594
+ props: typing.Mapping[builtins.str, typing.Any],
39595
+ ) -> None:
39596
+ """Type checking stubs"""
39597
+ pass
39598
+
39599
+ def _typecheckingstub__c86700c4cc01e9b6d8c22183ca1671764efc0893ee95b26e60c972ba41d5ec05(
39600
+ value: builtins.str,
39601
+ ) -> None:
39602
+ """Type checking stubs"""
39603
+ pass
39604
+
39605
+ def _typecheckingstub__16e4c31569981a20fffaba6ccc27bde9cbd7d22580c9219969464ca59e19a1a7(
39606
+ value: builtins.str,
39607
+ ) -> None:
39608
+ """Type checking stubs"""
39609
+ pass
39610
+
39611
+ def _typecheckingstub__1f665c44360caf11302f9ffada152698d2130760a2321555cff06a7e979924f1(
39612
+ value: builtins.str,
39613
+ ) -> None:
39614
+ """Type checking stubs"""
39615
+ pass
39616
+
39617
+ def _typecheckingstub__a0503d05f0013b3ec54c828f41393c0bbe48ce0160b435e3137fc4130736158a(
39618
+ value: builtins.str,
39619
+ ) -> None:
39620
+ """Type checking stubs"""
39621
+ pass
39622
+
39623
+ def _typecheckingstub__2dd7a94264b39d1c6984dcd5da3b88f9e4b4a6698c14a1ceb364dde28ed5079d(
39624
+ value: typing.Union[IResolvable, CfnGuardHook.S3LocationProperty],
39625
+ ) -> None:
39626
+ """Type checking stubs"""
39627
+ pass
39628
+
39629
+ def _typecheckingstub__6631385ac5bc7330a3cc6f35216f47598799e09e65c2fa0df1c6eb7b2afe68d4(
39630
+ value: typing.List[builtins.str],
39631
+ ) -> None:
39632
+ """Type checking stubs"""
39633
+ pass
39634
+
39635
+ def _typecheckingstub__f1653dcc5a8f1aa9f759e9eb03c0fee924d8a51e1170b933a810e1b628c2083e(
39636
+ value: typing.Optional[builtins.str],
39637
+ ) -> None:
39638
+ """Type checking stubs"""
39639
+ pass
39640
+
39641
+ def _typecheckingstub__72a34d4a2e31683bbacfca52f8500480feb773f1d0bb8dfd891f0c07eba975ef(
39642
+ value: typing.Optional[typing.Union[IResolvable, CfnGuardHook.OptionsProperty]],
39643
+ ) -> None:
39644
+ """Type checking stubs"""
39645
+ pass
39646
+
39647
+ def _typecheckingstub__0102df7c7e94c66e6c55290d9509c5cbc77b7f58c865dab580e07f5729f7daaa(
39648
+ value: typing.Optional[typing.Union[IResolvable, CfnGuardHook.StackFiltersProperty]],
39649
+ ) -> None:
39650
+ """Type checking stubs"""
39651
+ pass
39652
+
39653
+ def _typecheckingstub__2c07d8e25f948404b7d403a52c44adfd2f8e72c8f2562df3d53c28d2455a5043(
39654
+ value: typing.Optional[typing.Union[IResolvable, CfnGuardHook.TargetFiltersProperty]],
39655
+ ) -> None:
39656
+ """Type checking stubs"""
39657
+ pass
39658
+
39659
+ def _typecheckingstub__fc8b5f7d5493afa375ed8c4a6ed28a6b7a5188af9fc0a1ab0a10e79d528a33a1(
39660
+ *,
39661
+ input_params: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39662
+ ) -> None:
39663
+ """Type checking stubs"""
39664
+ pass
39665
+
39666
+ def _typecheckingstub__db40e290d1d6f7ec380b50c1c08edfd2a7d426622e5451751d644d44aa12d041(
39667
+ *,
39668
+ uri: builtins.str,
39669
+ version_id: typing.Optional[builtins.str] = None,
39670
+ ) -> None:
39671
+ """Type checking stubs"""
39672
+ pass
39673
+
39674
+ def _typecheckingstub__c725c2529158bf1ff4b3acb1996aac584cb097df45a4c3aba51b9924ea38f375(
39675
+ *,
39676
+ filtering_criteria: builtins.str,
39677
+ stack_names: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.StackNamesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39678
+ stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union[CfnGuardHook.StackRolesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39679
+ ) -> None:
39680
+ """Type checking stubs"""
39681
+ pass
39682
+
39683
+ def _typecheckingstub__dce2736a7246c1eab66bd9bb846348a6db45a56e6e1d3cf630e4fdd9b6e79b72(
39684
+ *,
39685
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
39686
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
39687
+ ) -> None:
39688
+ """Type checking stubs"""
39689
+ pass
39690
+
39691
+ def _typecheckingstub__38f57021d7e9ce2c114dd9e04b76ad13f99d241effea8d0e3f3391d849d629c0(
39692
+ *,
39693
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
39694
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
39695
+ ) -> None:
39696
+ """Type checking stubs"""
39697
+ pass
39698
+
39699
+ def _typecheckingstub__54414c99414c15df123d19676b346d63fe72e646cc3c7110b2d4267650dcc681(
39700
+ *,
39701
+ actions: typing.Optional[typing.Sequence[builtins.str]] = None,
39702
+ invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
39703
+ target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
39704
+ ) -> None:
39705
+ """Type checking stubs"""
39706
+ pass
39707
+
37737
39708
  def _typecheckingstub__022a14d0023130f29d164553d31fb4f0e2b8165e0877802fc0f357dd2fa840a3(
37738
39709
  scope: _constructs_77d1e7e8.Construct,
37739
39710
  id: builtins.str,
@@ -37894,6 +39865,116 @@ def _typecheckingstub__d40a7e9f2794897d64ae01d81a81b1aada15470a6eda7d469fc139d31
37894
39865
  """Type checking stubs"""
37895
39866
  pass
37896
39867
 
39868
+ def _typecheckingstub__407b4a631e3a832f02376728222302ded8f1ba90d2538b0469e5b99641f17447(
39869
+ scope: _constructs_77d1e7e8.Construct,
39870
+ id: builtins.str,
39871
+ *,
39872
+ alias: builtins.str,
39873
+ execution_role: builtins.str,
39874
+ failure_mode: builtins.str,
39875
+ hook_status: builtins.str,
39876
+ lambda_function: builtins.str,
39877
+ target_operations: typing.Sequence[builtins.str],
39878
+ stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnLambdaHook.StackFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39879
+ target_filters: typing.Optional[typing.Union[IResolvable, typing.Union[CfnLambdaHook.TargetFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39880
+ ) -> None:
39881
+ """Type checking stubs"""
39882
+ pass
39883
+
39884
+ def _typecheckingstub__7ca8dac53fa45b247ec7961746ffff0dc2c69a849f6eae722f547c7bff23f965(
39885
+ inspector: TreeInspector,
39886
+ ) -> None:
39887
+ """Type checking stubs"""
39888
+ pass
39889
+
39890
+ def _typecheckingstub__97557a11b1ce7d99a2b1e4225da386dd914196c43ea0127ee0ad9c408d86f610(
39891
+ props: typing.Mapping[builtins.str, typing.Any],
39892
+ ) -> None:
39893
+ """Type checking stubs"""
39894
+ pass
39895
+
39896
+ def _typecheckingstub__13d985d240e1d24568a521a270594d10f9c47fb185f18a6a96cc0a4a53c9dfcd(
39897
+ value: builtins.str,
39898
+ ) -> None:
39899
+ """Type checking stubs"""
39900
+ pass
39901
+
39902
+ def _typecheckingstub__03e9eaa4d246f347df8cebec3fd25e919ef3ca443e79051947ca3b5880cbcd8f(
39903
+ value: builtins.str,
39904
+ ) -> None:
39905
+ """Type checking stubs"""
39906
+ pass
39907
+
39908
+ def _typecheckingstub__de3665b99f75d6b664f5fb9b1915eaf24acdcef5e00904dfd26ac7f16f3bdf2d(
39909
+ value: builtins.str,
39910
+ ) -> None:
39911
+ """Type checking stubs"""
39912
+ pass
39913
+
39914
+ def _typecheckingstub__0245fa0b078734d4d35c0bf03366bc0dceba1effd144187a17735c63cadf8921(
39915
+ value: builtins.str,
39916
+ ) -> None:
39917
+ """Type checking stubs"""
39918
+ pass
39919
+
39920
+ def _typecheckingstub__90cb7d0afb8201647de69515e1faa1457a9064081e8ba452f3e2518f267aebb7(
39921
+ value: builtins.str,
39922
+ ) -> None:
39923
+ """Type checking stubs"""
39924
+ pass
39925
+
39926
+ def _typecheckingstub__c939eb89d0bbf1e467d3cada5ca3624fb0c5c0e583c9063149c81f8259b3e2dd(
39927
+ value: typing.List[builtins.str],
39928
+ ) -> None:
39929
+ """Type checking stubs"""
39930
+ pass
39931
+
39932
+ def _typecheckingstub__b3b265cde01add2f07458da4c365ab2135a7f387383ca39d0b26bfac5dbed2f2(
39933
+ value: typing.Optional[typing.Union[IResolvable, CfnLambdaHook.StackFiltersProperty]],
39934
+ ) -> None:
39935
+ """Type checking stubs"""
39936
+ pass
39937
+
39938
+ def _typecheckingstub__b3f0452e1487a1c5085ea420b80ea51e64c7defd79084c39a9f38bc17b122184(
39939
+ value: typing.Optional[typing.Union[IResolvable, CfnLambdaHook.TargetFiltersProperty]],
39940
+ ) -> None:
39941
+ """Type checking stubs"""
39942
+ pass
39943
+
39944
+ def _typecheckingstub__84b989a5da45d0bad88a9ecf93b8aa1724884132ffa59bcc73894e0c44565050(
39945
+ *,
39946
+ filtering_criteria: builtins.str,
39947
+ stack_names: typing.Optional[typing.Union[IResolvable, typing.Union[CfnLambdaHook.StackNamesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39948
+ stack_roles: typing.Optional[typing.Union[IResolvable, typing.Union[CfnLambdaHook.StackRolesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
39949
+ ) -> None:
39950
+ """Type checking stubs"""
39951
+ pass
39952
+
39953
+ def _typecheckingstub__9503fce3ac79d915fff744052f988a571dff4614c613ea3e2046745be489b55c(
39954
+ *,
39955
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
39956
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
39957
+ ) -> None:
39958
+ """Type checking stubs"""
39959
+ pass
39960
+
39961
+ def _typecheckingstub__4d69101af7797194522cb8e9463486ca30f37bb88a63e6a6a008a687cb7f29ba(
39962
+ *,
39963
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
39964
+ include: typing.Optional[typing.Sequence[builtins.str]] = None,
39965
+ ) -> None:
39966
+ """Type checking stubs"""
39967
+ pass
39968
+
39969
+ def _typecheckingstub__b1e4952bfed38df912ad6c5f8fe2d6ef91fc6d169fea5f1c2f78a373ec7eb8a4(
39970
+ *,
39971
+ actions: typing.Optional[typing.Sequence[builtins.str]] = None,
39972
+ invocation_points: typing.Optional[typing.Sequence[builtins.str]] = None,
39973
+ target_names: typing.Optional[typing.Sequence[builtins.str]] = None,
39974
+ ) -> None:
39975
+ """Type checking stubs"""
39976
+ pass
39977
+
37897
39978
  def _typecheckingstub__dc859919966f6642a4883e84f492e0de28e635475707930c6f38943dee6f461c(
37898
39979
  scope: _constructs_77d1e7e8.Construct,
37899
39980
  id: builtins.str,