aws-cdk-lib 2.176.0__py3-none-any.whl → 2.178.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 (120) hide show
  1. aws_cdk/__init__.py +106 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.176.0.jsii.tgz → aws-cdk-lib@2.178.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_apigatewayv2_integrations/__init__.py +2 -2
  8. aws_cdk/aws_appconfig/__init__.py +10 -10
  9. aws_cdk/aws_appflow/__init__.py +20 -20
  10. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  11. aws_cdk/aws_appmesh/__init__.py +8 -8
  12. aws_cdk/aws_appsync/__init__.py +10387 -7038
  13. aws_cdk/aws_apptest/__init__.py +4 -4
  14. aws_cdk/aws_aps/__init__.py +135 -0
  15. aws_cdk/aws_athena/__init__.py +10 -10
  16. aws_cdk/aws_backup/__init__.py +14 -14
  17. aws_cdk/aws_batch/__init__.py +189 -24
  18. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  19. aws_cdk/aws_bedrock/__init__.py +5494 -2518
  20. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  21. aws_cdk/aws_chatbot/__init__.py +4 -4
  22. aws_cdk/aws_cloudformation/__init__.py +22 -18
  23. aws_cdk/aws_cloudfront/__init__.py +686 -9
  24. aws_cdk/aws_cloudfront_origins/__init__.py +73 -2
  25. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  26. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  27. aws_cdk/aws_codedeploy/__init__.py +2 -2
  28. aws_cdk/aws_codepipeline/__init__.py +59 -6
  29. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  30. aws_cdk/aws_cognito/__init__.py +204 -159
  31. aws_cdk/aws_connect/__init__.py +4 -4
  32. aws_cdk/aws_customerprofiles/__init__.py +6 -4
  33. aws_cdk/aws_databrew/__init__.py +16 -16
  34. aws_cdk/aws_datasync/__init__.py +14 -11
  35. aws_cdk/aws_datazone/__init__.py +199 -129
  36. aws_cdk/aws_dms/__init__.py +4 -4
  37. aws_cdk/aws_dynamodb/__init__.py +267 -25
  38. aws_cdk/aws_ec2/__init__.py +1142 -184
  39. aws_cdk/aws_ecs/__init__.py +767 -124
  40. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  41. aws_cdk/aws_efs/__init__.py +8 -8
  42. aws_cdk/aws_eks/__init__.py +55 -35
  43. aws_cdk/aws_elasticache/__init__.py +10 -10
  44. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  45. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  46. aws_cdk/aws_emr/__init__.py +16 -16
  47. aws_cdk/aws_emrserverless/__init__.py +93 -4
  48. aws_cdk/aws_entityresolution/__init__.py +31 -17
  49. aws_cdk/aws_events/__init__.py +12 -12
  50. aws_cdk/aws_fis/__init__.py +16 -16
  51. aws_cdk/aws_fms/__init__.py +46 -0
  52. aws_cdk/aws_gamelift/__init__.py +8 -10
  53. aws_cdk/aws_glue/__init__.py +1326 -7
  54. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  55. aws_cdk/aws_guardduty/__init__.py +521 -0
  56. aws_cdk/aws_healthlake/__init__.py +10 -2
  57. aws_cdk/aws_iam/__init__.py +8 -0
  58. aws_cdk/aws_imagebuilder/__init__.py +88 -74
  59. aws_cdk/aws_iot/__init__.py +40 -40
  60. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  61. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  62. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  63. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  64. aws_cdk/aws_iotwireless/__init__.py +4 -4
  65. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  66. aws_cdk/aws_kendra/__init__.py +0 -10
  67. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  68. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  69. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  70. aws_cdk/aws_kms/__init__.py +11 -10
  71. aws_cdk/aws_lambda/__init__.py +47 -4
  72. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  73. aws_cdk/aws_launchwizard/__init__.py +10 -10
  74. aws_cdk/aws_logs/__init__.py +78 -74
  75. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  76. aws_cdk/aws_medialive/__init__.py +16 -16
  77. aws_cdk/aws_mediatailor/__init__.py +10 -10
  78. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  79. aws_cdk/aws_notifications/__init__.py +1927 -0
  80. aws_cdk/aws_notificationscontacts/__init__.py +593 -0
  81. aws_cdk/aws_omics/__init__.py +4 -4
  82. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  83. aws_cdk/aws_opsworks/__init__.py +58 -58
  84. aws_cdk/aws_personalize/__init__.py +8 -8
  85. aws_cdk/aws_pipes/__init__.py +20 -20
  86. aws_cdk/aws_qbusiness/__init__.py +119 -0
  87. aws_cdk/aws_quicksight/__init__.py +247 -92
  88. aws_cdk/aws_rds/__init__.py +37 -37
  89. aws_cdk/aws_redshift/__init__.py +19 -15
  90. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  91. aws_cdk/aws_route53/__init__.py +10 -4
  92. aws_cdk/aws_route53_targets/__init__.py +15 -15
  93. aws_cdk/aws_rum/__init__.py +4 -4
  94. aws_cdk/aws_s3/__init__.py +801 -2
  95. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  96. aws_cdk/aws_s3tables/__init__.py +2 -2
  97. aws_cdk/aws_sagemaker/__init__.py +84 -60
  98. aws_cdk/aws_sam/__init__.py +48 -48
  99. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  100. aws_cdk/aws_securityhub/__init__.py +12 -12
  101. aws_cdk/aws_sns/__init__.py +137 -12
  102. aws_cdk/aws_ssm/__init__.py +5 -5
  103. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  104. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  105. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  106. aws_cdk/aws_synthetics/__init__.py +109 -36
  107. aws_cdk/aws_timestream/__init__.py +41 -0
  108. aws_cdk/aws_transfer/__init__.py +9 -10
  109. aws_cdk/aws_wafv2/__init__.py +24 -22
  110. aws_cdk/aws_wisdom/__init__.py +8 -8
  111. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  112. aws_cdk/aws_xray/__init__.py +8 -8
  113. aws_cdk/cloud_assembly_schema/__init__.py +63 -4
  114. aws_cdk/cx_api/__init__.py +62 -4
  115. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/METADATA +3 -3
  116. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/RECORD +120 -118
  117. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/LICENSE +0 -0
  118. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/NOTICE +0 -0
  119. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/WHEEL +0 -0
  120. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1927 @@
1
+ r'''
2
+ # AWS::Notifications Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_notifications as notifications
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for Notifications construct libraries](https://constructs.dev/search?q=notifications)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::Notifications resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Notifications.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::Notifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Notifications.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
67
+
68
+ from .._jsii import *
69
+
70
+ import constructs as _constructs_77d1e7e8
71
+ from .. import (
72
+ CfnResource as _CfnResource_9df397a6,
73
+ CfnTag as _CfnTag_f6864754,
74
+ IInspectable as _IInspectable_c2943556,
75
+ IResolvable as _IResolvable_da3f097b,
76
+ ITaggableV2 as _ITaggableV2_4e6798f8,
77
+ TagManager as _TagManager_0a598cb3,
78
+ TreeInspector as _TreeInspector_488e0dd5,
79
+ )
80
+
81
+
82
+ @jsii.implements(_IInspectable_c2943556)
83
+ class CfnChannelAssociation(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_notifications.CfnChannelAssociation",
87
+ ):
88
+ '''The ``AWS::Notifications::ChannelAssociation`` resource associates a ``Channel`` with a ``NotificationConfiguration`` for AWS User Notifications .
89
+
90
+ For more information about AWS User Notifications , see the `AWS User Notifications User Guide <https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html>`_ .
91
+
92
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-channelassociation.html
93
+ :cloudformationResource: AWS::Notifications::ChannelAssociation
94
+ :exampleMetadata: fixture=_generated
95
+
96
+ Example::
97
+
98
+ # The code below shows an example of how to instantiate this type.
99
+ # The values are placeholders you should change.
100
+ from aws_cdk import aws_notifications as notifications
101
+
102
+ cfn_channel_association = notifications.CfnChannelAssociation(self, "MyCfnChannelAssociation",
103
+ arn="arn",
104
+ notification_configuration_arn="notificationConfigurationArn"
105
+ )
106
+ '''
107
+
108
+ def __init__(
109
+ self,
110
+ scope: _constructs_77d1e7e8.Construct,
111
+ id: builtins.str,
112
+ *,
113
+ arn: builtins.str,
114
+ notification_configuration_arn: builtins.str,
115
+ ) -> None:
116
+ '''
117
+ :param scope: Scope in which this resource is defined.
118
+ :param id: Construct identifier for this resource (unique in its scope).
119
+ :param arn: The Amazon Resource Name (ARN) of the ``Channel`` .
120
+ :param notification_configuration_arn: The ARN of the ``NotificationConfiguration`` associated with the ``Channel`` .
121
+ '''
122
+ if __debug__:
123
+ type_hints = typing.get_type_hints(_typecheckingstub__96bfb9a9cbe4c6b38cb964bde4e63ccdb746cc48ac8dd61661a318886da6ba7f)
124
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
125
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
126
+ props = CfnChannelAssociationProps(
127
+ arn=arn, notification_configuration_arn=notification_configuration_arn
128
+ )
129
+
130
+ jsii.create(self.__class__, self, [scope, id, props])
131
+
132
+ @jsii.member(jsii_name="inspect")
133
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
134
+ '''Examines the CloudFormation resource and discloses attributes.
135
+
136
+ :param inspector: tree inspector to collect and process attributes.
137
+ '''
138
+ if __debug__:
139
+ type_hints = typing.get_type_hints(_typecheckingstub__a0ffcf7c83a3beb5a9feedb6bf40d486b1aa9bad41565ae2a782129cc7450e94)
140
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
141
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
142
+
143
+ @jsii.member(jsii_name="renderProperties")
144
+ def _render_properties(
145
+ self,
146
+ props: typing.Mapping[builtins.str, typing.Any],
147
+ ) -> typing.Mapping[builtins.str, typing.Any]:
148
+ '''
149
+ :param props: -
150
+ '''
151
+ if __debug__:
152
+ type_hints = typing.get_type_hints(_typecheckingstub__ad26b3aa74c912ac52ae9f4bfb186ae1996d8ffa2fff5b28d9a9dcb2f5ceffbf)
153
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
154
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
155
+
156
+ @jsii.python.classproperty
157
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
158
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
159
+ '''The CloudFormation resource type name for this resource class.'''
160
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
161
+
162
+ @builtins.property
163
+ @jsii.member(jsii_name="cfnProperties")
164
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
165
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
166
+
167
+ @builtins.property
168
+ @jsii.member(jsii_name="arn")
169
+ def arn(self) -> builtins.str:
170
+ '''The Amazon Resource Name (ARN) of the ``Channel`` .'''
171
+ return typing.cast(builtins.str, jsii.get(self, "arn"))
172
+
173
+ @arn.setter
174
+ def arn(self, value: builtins.str) -> None:
175
+ if __debug__:
176
+ type_hints = typing.get_type_hints(_typecheckingstub__02aa05d5cab2ed92674dea9fe8bfd20781091f494e9c3e3da3e1cedb24710ade)
177
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
178
+ jsii.set(self, "arn", value) # pyright: ignore[reportArgumentType]
179
+
180
+ @builtins.property
181
+ @jsii.member(jsii_name="notificationConfigurationArn")
182
+ def notification_configuration_arn(self) -> builtins.str:
183
+ '''The ARN of the ``NotificationConfiguration`` associated with the ``Channel`` .'''
184
+ return typing.cast(builtins.str, jsii.get(self, "notificationConfigurationArn"))
185
+
186
+ @notification_configuration_arn.setter
187
+ def notification_configuration_arn(self, value: builtins.str) -> None:
188
+ if __debug__:
189
+ type_hints = typing.get_type_hints(_typecheckingstub__6b2d69598efa0d97ebfbcf163b7e00dfefacab9bb759efc23a009243fcbc29fc)
190
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
191
+ jsii.set(self, "notificationConfigurationArn", value) # pyright: ignore[reportArgumentType]
192
+
193
+
194
+ @jsii.data_type(
195
+ jsii_type="aws-cdk-lib.aws_notifications.CfnChannelAssociationProps",
196
+ jsii_struct_bases=[],
197
+ name_mapping={
198
+ "arn": "arn",
199
+ "notification_configuration_arn": "notificationConfigurationArn",
200
+ },
201
+ )
202
+ class CfnChannelAssociationProps:
203
+ def __init__(
204
+ self,
205
+ *,
206
+ arn: builtins.str,
207
+ notification_configuration_arn: builtins.str,
208
+ ) -> None:
209
+ '''Properties for defining a ``CfnChannelAssociation``.
210
+
211
+ :param arn: The Amazon Resource Name (ARN) of the ``Channel`` .
212
+ :param notification_configuration_arn: The ARN of the ``NotificationConfiguration`` associated with the ``Channel`` .
213
+
214
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-channelassociation.html
215
+ :exampleMetadata: fixture=_generated
216
+
217
+ Example::
218
+
219
+ # The code below shows an example of how to instantiate this type.
220
+ # The values are placeholders you should change.
221
+ from aws_cdk import aws_notifications as notifications
222
+
223
+ cfn_channel_association_props = notifications.CfnChannelAssociationProps(
224
+ arn="arn",
225
+ notification_configuration_arn="notificationConfigurationArn"
226
+ )
227
+ '''
228
+ if __debug__:
229
+ type_hints = typing.get_type_hints(_typecheckingstub__3df32ecb43a8f1e94c1f975e24a79631c45fd6739c1d7bea0e44c5c169b5137c)
230
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
231
+ check_type(argname="argument notification_configuration_arn", value=notification_configuration_arn, expected_type=type_hints["notification_configuration_arn"])
232
+ self._values: typing.Dict[builtins.str, typing.Any] = {
233
+ "arn": arn,
234
+ "notification_configuration_arn": notification_configuration_arn,
235
+ }
236
+
237
+ @builtins.property
238
+ def arn(self) -> builtins.str:
239
+ '''The Amazon Resource Name (ARN) of the ``Channel`` .
240
+
241
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-channelassociation.html#cfn-notifications-channelassociation-arn
242
+ '''
243
+ result = self._values.get("arn")
244
+ assert result is not None, "Required property 'arn' is missing"
245
+ return typing.cast(builtins.str, result)
246
+
247
+ @builtins.property
248
+ def notification_configuration_arn(self) -> builtins.str:
249
+ '''The ARN of the ``NotificationConfiguration`` associated with the ``Channel`` .
250
+
251
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-channelassociation.html#cfn-notifications-channelassociation-notificationconfigurationarn
252
+ '''
253
+ result = self._values.get("notification_configuration_arn")
254
+ assert result is not None, "Required property 'notification_configuration_arn' is missing"
255
+ return typing.cast(builtins.str, result)
256
+
257
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
258
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
259
+
260
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
261
+ return not (rhs == self)
262
+
263
+ def __repr__(self) -> str:
264
+ return "CfnChannelAssociationProps(%s)" % ", ".join(
265
+ k + "=" + repr(v) for k, v in self._values.items()
266
+ )
267
+
268
+
269
+ @jsii.implements(_IInspectable_c2943556)
270
+ class CfnEventRule(
271
+ _CfnResource_9df397a6,
272
+ metaclass=jsii.JSIIMeta,
273
+ jsii_type="aws-cdk-lib.aws_notifications.CfnEventRule",
274
+ ):
275
+ '''Creates an ```EventRule`` <https://docs.aws.amazon.com/notifications/latest/userguide/glossary.html>`_ that is associated with a specified ``NotificationConfiguration`` .
276
+
277
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html
278
+ :cloudformationResource: AWS::Notifications::EventRule
279
+ :exampleMetadata: fixture=_generated
280
+
281
+ Example::
282
+
283
+ # The code below shows an example of how to instantiate this type.
284
+ # The values are placeholders you should change.
285
+ from aws_cdk import aws_notifications as notifications
286
+
287
+ cfn_event_rule = notifications.CfnEventRule(self, "MyCfnEventRule",
288
+ event_type="eventType",
289
+ notification_configuration_arn="notificationConfigurationArn",
290
+ regions=["regions"],
291
+ source="source",
292
+
293
+ # the properties below are optional
294
+ event_pattern="eventPattern"
295
+ )
296
+ '''
297
+
298
+ def __init__(
299
+ self,
300
+ scope: _constructs_77d1e7e8.Construct,
301
+ id: builtins.str,
302
+ *,
303
+ event_type: builtins.str,
304
+ notification_configuration_arn: builtins.str,
305
+ regions: typing.Sequence[builtins.str],
306
+ source: builtins.str,
307
+ event_pattern: typing.Optional[builtins.str] = None,
308
+ ) -> None:
309
+ '''
310
+ :param scope: Scope in which this resource is defined.
311
+ :param id: Construct identifier for this resource (unique in its scope).
312
+ :param event_type: The event type this rule should match with the EventBridge events. It must match with atleast one of the valid EventBridge event types. For example, Amazon EC2 Instance State change Notification and Amazon CloudWatch State Change. For more information, see `Event delivery from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level>`_ in the *Amazon EventBridge User Guide* .
313
+ :param notification_configuration_arn: The ARN for the ``NotificationConfiguration`` associated with this ``EventRule`` .
314
+ :param regions: A list of AWS Regions that send events to this ``EventRule`` .
315
+ :param source: The event source this rule should match with the EventBridge event sources. It must match with atleast one of the valid EventBridge event sources. Only AWS service sourced events are supported. For example, ``aws.ec2`` and ``aws.cloudwatch`` . For more information, see `Event delivery from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level>`_ in the *Amazon EventBridge User Guide* .
316
+ :param event_pattern: An additional event pattern used to further filter the events this ``EventRule`` receives. For more information, see `Amazon EventBridge event patterns <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html>`_ in the *Amazon EventBridge User Guide.*
317
+ '''
318
+ if __debug__:
319
+ type_hints = typing.get_type_hints(_typecheckingstub__ec202e2ad7890be955535389c490f73db69e1ae4c0e2b9af79f33a0bb4e4dd47)
320
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
321
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
322
+ props = CfnEventRuleProps(
323
+ event_type=event_type,
324
+ notification_configuration_arn=notification_configuration_arn,
325
+ regions=regions,
326
+ source=source,
327
+ event_pattern=event_pattern,
328
+ )
329
+
330
+ jsii.create(self.__class__, self, [scope, id, props])
331
+
332
+ @jsii.member(jsii_name="inspect")
333
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
334
+ '''Examines the CloudFormation resource and discloses attributes.
335
+
336
+ :param inspector: tree inspector to collect and process attributes.
337
+ '''
338
+ if __debug__:
339
+ type_hints = typing.get_type_hints(_typecheckingstub__7c5fa74e0d9c81586c85ebd06110e66abfa6f3eca8a5c7b89fcce4d070b434dd)
340
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
341
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
342
+
343
+ @jsii.member(jsii_name="renderProperties")
344
+ def _render_properties(
345
+ self,
346
+ props: typing.Mapping[builtins.str, typing.Any],
347
+ ) -> typing.Mapping[builtins.str, typing.Any]:
348
+ '''
349
+ :param props: -
350
+ '''
351
+ if __debug__:
352
+ type_hints = typing.get_type_hints(_typecheckingstub__ed227bd8ca507740b963532ef2c249c436e3f1a0953bcfbfccc5dd84abff63b2)
353
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
354
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
355
+
356
+ @jsii.python.classproperty
357
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
358
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
359
+ '''The CloudFormation resource type name for this resource class.'''
360
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
361
+
362
+ @builtins.property
363
+ @jsii.member(jsii_name="attrArn")
364
+ def attr_arn(self) -> builtins.str:
365
+ '''The Amazon Resource Name (ARN) of the ``EventRule`` .
366
+
367
+ AWS CloudFormation stack generates this ARN and then uses this ARN associated with the ``NotificationConfiguration`` .
368
+
369
+ :cloudformationAttribute: Arn
370
+ '''
371
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
372
+
373
+ @builtins.property
374
+ @jsii.member(jsii_name="attrCreationTime")
375
+ def attr_creation_time(self) -> builtins.str:
376
+ '''The creation time of the ``EventRule`` .
377
+
378
+ :cloudformationAttribute: CreationTime
379
+ '''
380
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
381
+
382
+ @builtins.property
383
+ @jsii.member(jsii_name="attrManagedRules")
384
+ def attr_managed_rules(self) -> typing.List[builtins.str]:
385
+ '''A list of Amazon EventBridge Managed Rule ARNs associated with this ``EventRule`` .
386
+
387
+ .. epigraph::
388
+
389
+ These are created by AWS User Notifications within your account so your ``EventRules`` can function.
390
+
391
+ :cloudformationAttribute: ManagedRules
392
+ '''
393
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrManagedRules"))
394
+
395
+ @builtins.property
396
+ @jsii.member(jsii_name="attrStatusSummaryByRegion")
397
+ def attr_status_summary_by_region(self) -> _IResolvable_da3f097b:
398
+ '''
399
+ :cloudformationAttribute: StatusSummaryByRegion
400
+ '''
401
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrStatusSummaryByRegion"))
402
+
403
+ @builtins.property
404
+ @jsii.member(jsii_name="cfnProperties")
405
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
406
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
407
+
408
+ @builtins.property
409
+ @jsii.member(jsii_name="eventType")
410
+ def event_type(self) -> builtins.str:
411
+ '''The event type this rule should match with the EventBridge events.'''
412
+ return typing.cast(builtins.str, jsii.get(self, "eventType"))
413
+
414
+ @event_type.setter
415
+ def event_type(self, value: builtins.str) -> None:
416
+ if __debug__:
417
+ type_hints = typing.get_type_hints(_typecheckingstub__81d1b153a0905b2c5814e482bb87c0a8b11d3eff5d9c870657097be4c79e4804)
418
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
419
+ jsii.set(self, "eventType", value) # pyright: ignore[reportArgumentType]
420
+
421
+ @builtins.property
422
+ @jsii.member(jsii_name="notificationConfigurationArn")
423
+ def notification_configuration_arn(self) -> builtins.str:
424
+ '''The ARN for the ``NotificationConfiguration`` associated with this ``EventRule`` .'''
425
+ return typing.cast(builtins.str, jsii.get(self, "notificationConfigurationArn"))
426
+
427
+ @notification_configuration_arn.setter
428
+ def notification_configuration_arn(self, value: builtins.str) -> None:
429
+ if __debug__:
430
+ type_hints = typing.get_type_hints(_typecheckingstub__6f6731a75b69e9828e94cd56f13e2484ab994f7e17e1fb8ce1e0518eb23853cf)
431
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
432
+ jsii.set(self, "notificationConfigurationArn", value) # pyright: ignore[reportArgumentType]
433
+
434
+ @builtins.property
435
+ @jsii.member(jsii_name="regions")
436
+ def regions(self) -> typing.List[builtins.str]:
437
+ '''A list of AWS Regions that send events to this ``EventRule`` .'''
438
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "regions"))
439
+
440
+ @regions.setter
441
+ def regions(self, value: typing.List[builtins.str]) -> None:
442
+ if __debug__:
443
+ type_hints = typing.get_type_hints(_typecheckingstub__89531f65574302c5ac9ea674da6b36a9b39096ba5050cb8e7e2a0da2b5d03e67)
444
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
445
+ jsii.set(self, "regions", value) # pyright: ignore[reportArgumentType]
446
+
447
+ @builtins.property
448
+ @jsii.member(jsii_name="source")
449
+ def source(self) -> builtins.str:
450
+ '''The event source this rule should match with the EventBridge event sources.'''
451
+ return typing.cast(builtins.str, jsii.get(self, "source"))
452
+
453
+ @source.setter
454
+ def source(self, value: builtins.str) -> None:
455
+ if __debug__:
456
+ type_hints = typing.get_type_hints(_typecheckingstub__d5f84ae06950218222a75646d0393c6dc744540c903f93356dc4cc8b58b9454b)
457
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
458
+ jsii.set(self, "source", value) # pyright: ignore[reportArgumentType]
459
+
460
+ @builtins.property
461
+ @jsii.member(jsii_name="eventPattern")
462
+ def event_pattern(self) -> typing.Optional[builtins.str]:
463
+ '''An additional event pattern used to further filter the events this ``EventRule`` receives.'''
464
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "eventPattern"))
465
+
466
+ @event_pattern.setter
467
+ def event_pattern(self, value: typing.Optional[builtins.str]) -> None:
468
+ if __debug__:
469
+ type_hints = typing.get_type_hints(_typecheckingstub__9c9ba9ceb13f4bbb20d1fdcbc4db9f3bbd193000353fb7d213848faaf0dacf8d)
470
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
471
+ jsii.set(self, "eventPattern", value) # pyright: ignore[reportArgumentType]
472
+
473
+ @jsii.data_type(
474
+ jsii_type="aws-cdk-lib.aws_notifications.CfnEventRule.EventRuleStatusSummaryProperty",
475
+ jsii_struct_bases=[],
476
+ name_mapping={"reason": "reason", "status": "status"},
477
+ )
478
+ class EventRuleStatusSummaryProperty:
479
+ def __init__(self, *, reason: builtins.str, status: builtins.str) -> None:
480
+ '''Provides additional information about the current ``EventRule`` status.
481
+
482
+ :param reason: A human-readable reason for ``EventRuleStatus`` .
483
+ :param status: The status of the ``EventRule`` . - Values: - ``ACTIVE`` - The ``EventRule`` can process events. - ``INACTIVE`` - The ``EventRule`` may be unable to process events. - ``CREATING`` - The ``EventRule`` is being created. Only ``GET`` and ``LIST`` calls can be run. - ``UPDATING`` - The ``EventRule`` is being updated. Only ``GET`` and ``LIST`` calls can be run. - ``DELETING`` - The ``EventRule`` is being deleted. Only ``GET`` and ``LIST`` calls can be run.
484
+
485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-notifications-eventrule-eventrulestatussummary.html
486
+ :exampleMetadata: fixture=_generated
487
+
488
+ Example::
489
+
490
+ # The code below shows an example of how to instantiate this type.
491
+ # The values are placeholders you should change.
492
+ from aws_cdk import aws_notifications as notifications
493
+
494
+ event_rule_status_summary_property = notifications.CfnEventRule.EventRuleStatusSummaryProperty(
495
+ reason="reason",
496
+ status="status"
497
+ )
498
+ '''
499
+ if __debug__:
500
+ type_hints = typing.get_type_hints(_typecheckingstub__0862e7de7e4f6b1de2036652d175c4ef1949f04dadc360833e7e4899191d6fea)
501
+ check_type(argname="argument reason", value=reason, expected_type=type_hints["reason"])
502
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
503
+ self._values: typing.Dict[builtins.str, typing.Any] = {
504
+ "reason": reason,
505
+ "status": status,
506
+ }
507
+
508
+ @builtins.property
509
+ def reason(self) -> builtins.str:
510
+ '''A human-readable reason for ``EventRuleStatus`` .
511
+
512
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-notifications-eventrule-eventrulestatussummary.html#cfn-notifications-eventrule-eventrulestatussummary-reason
513
+ '''
514
+ result = self._values.get("reason")
515
+ assert result is not None, "Required property 'reason' is missing"
516
+ return typing.cast(builtins.str, result)
517
+
518
+ @builtins.property
519
+ def status(self) -> builtins.str:
520
+ '''The status of the ``EventRule`` .
521
+
522
+ - Values:
523
+ - ``ACTIVE``
524
+ - The ``EventRule`` can process events.
525
+ - ``INACTIVE``
526
+ - The ``EventRule`` may be unable to process events.
527
+ - ``CREATING``
528
+ - The ``EventRule`` is being created.
529
+
530
+ Only ``GET`` and ``LIST`` calls can be run.
531
+
532
+ - ``UPDATING``
533
+ - The ``EventRule`` is being updated.
534
+
535
+ Only ``GET`` and ``LIST`` calls can be run.
536
+
537
+ - ``DELETING``
538
+ - The ``EventRule`` is being deleted.
539
+
540
+ Only ``GET`` and ``LIST`` calls can be run.
541
+
542
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-notifications-eventrule-eventrulestatussummary.html#cfn-notifications-eventrule-eventrulestatussummary-status
543
+ '''
544
+ result = self._values.get("status")
545
+ assert result is not None, "Required property 'status' is missing"
546
+ return typing.cast(builtins.str, result)
547
+
548
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
549
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
550
+
551
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
552
+ return not (rhs == self)
553
+
554
+ def __repr__(self) -> str:
555
+ return "EventRuleStatusSummaryProperty(%s)" % ", ".join(
556
+ k + "=" + repr(v) for k, v in self._values.items()
557
+ )
558
+
559
+
560
+ @jsii.data_type(
561
+ jsii_type="aws-cdk-lib.aws_notifications.CfnEventRuleProps",
562
+ jsii_struct_bases=[],
563
+ name_mapping={
564
+ "event_type": "eventType",
565
+ "notification_configuration_arn": "notificationConfigurationArn",
566
+ "regions": "regions",
567
+ "source": "source",
568
+ "event_pattern": "eventPattern",
569
+ },
570
+ )
571
+ class CfnEventRuleProps:
572
+ def __init__(
573
+ self,
574
+ *,
575
+ event_type: builtins.str,
576
+ notification_configuration_arn: builtins.str,
577
+ regions: typing.Sequence[builtins.str],
578
+ source: builtins.str,
579
+ event_pattern: typing.Optional[builtins.str] = None,
580
+ ) -> None:
581
+ '''Properties for defining a ``CfnEventRule``.
582
+
583
+ :param event_type: The event type this rule should match with the EventBridge events. It must match with atleast one of the valid EventBridge event types. For example, Amazon EC2 Instance State change Notification and Amazon CloudWatch State Change. For more information, see `Event delivery from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level>`_ in the *Amazon EventBridge User Guide* .
584
+ :param notification_configuration_arn: The ARN for the ``NotificationConfiguration`` associated with this ``EventRule`` .
585
+ :param regions: A list of AWS Regions that send events to this ``EventRule`` .
586
+ :param source: The event source this rule should match with the EventBridge event sources. It must match with atleast one of the valid EventBridge event sources. Only AWS service sourced events are supported. For example, ``aws.ec2`` and ``aws.cloudwatch`` . For more information, see `Event delivery from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level>`_ in the *Amazon EventBridge User Guide* .
587
+ :param event_pattern: An additional event pattern used to further filter the events this ``EventRule`` receives. For more information, see `Amazon EventBridge event patterns <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html>`_ in the *Amazon EventBridge User Guide.*
588
+
589
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html
590
+ :exampleMetadata: fixture=_generated
591
+
592
+ Example::
593
+
594
+ # The code below shows an example of how to instantiate this type.
595
+ # The values are placeholders you should change.
596
+ from aws_cdk import aws_notifications as notifications
597
+
598
+ cfn_event_rule_props = notifications.CfnEventRuleProps(
599
+ event_type="eventType",
600
+ notification_configuration_arn="notificationConfigurationArn",
601
+ regions=["regions"],
602
+ source="source",
603
+
604
+ # the properties below are optional
605
+ event_pattern="eventPattern"
606
+ )
607
+ '''
608
+ if __debug__:
609
+ type_hints = typing.get_type_hints(_typecheckingstub__9518b7cf584ffb7ba5a4fb79f7584397ea33a005b8aebaa07c3bc5e5dc33bddb)
610
+ check_type(argname="argument event_type", value=event_type, expected_type=type_hints["event_type"])
611
+ check_type(argname="argument notification_configuration_arn", value=notification_configuration_arn, expected_type=type_hints["notification_configuration_arn"])
612
+ check_type(argname="argument regions", value=regions, expected_type=type_hints["regions"])
613
+ check_type(argname="argument source", value=source, expected_type=type_hints["source"])
614
+ check_type(argname="argument event_pattern", value=event_pattern, expected_type=type_hints["event_pattern"])
615
+ self._values: typing.Dict[builtins.str, typing.Any] = {
616
+ "event_type": event_type,
617
+ "notification_configuration_arn": notification_configuration_arn,
618
+ "regions": regions,
619
+ "source": source,
620
+ }
621
+ if event_pattern is not None:
622
+ self._values["event_pattern"] = event_pattern
623
+
624
+ @builtins.property
625
+ def event_type(self) -> builtins.str:
626
+ '''The event type this rule should match with the EventBridge events.
627
+
628
+ It must match with atleast one of the valid EventBridge event types. For example, Amazon EC2 Instance State change Notification and Amazon CloudWatch State Change. For more information, see `Event delivery from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level>`_ in the *Amazon EventBridge User Guide* .
629
+
630
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html#cfn-notifications-eventrule-eventtype
631
+ '''
632
+ result = self._values.get("event_type")
633
+ assert result is not None, "Required property 'event_type' is missing"
634
+ return typing.cast(builtins.str, result)
635
+
636
+ @builtins.property
637
+ def notification_configuration_arn(self) -> builtins.str:
638
+ '''The ARN for the ``NotificationConfiguration`` associated with this ``EventRule`` .
639
+
640
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html#cfn-notifications-eventrule-notificationconfigurationarn
641
+ '''
642
+ result = self._values.get("notification_configuration_arn")
643
+ assert result is not None, "Required property 'notification_configuration_arn' is missing"
644
+ return typing.cast(builtins.str, result)
645
+
646
+ @builtins.property
647
+ def regions(self) -> typing.List[builtins.str]:
648
+ '''A list of AWS Regions that send events to this ``EventRule`` .
649
+
650
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html#cfn-notifications-eventrule-regions
651
+ '''
652
+ result = self._values.get("regions")
653
+ assert result is not None, "Required property 'regions' is missing"
654
+ return typing.cast(typing.List[builtins.str], result)
655
+
656
+ @builtins.property
657
+ def source(self) -> builtins.str:
658
+ '''The event source this rule should match with the EventBridge event sources.
659
+
660
+ It must match with atleast one of the valid EventBridge event sources. Only AWS service sourced events are supported. For example, ``aws.ec2`` and ``aws.cloudwatch`` . For more information, see `Event delivery from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level>`_ in the *Amazon EventBridge User Guide* .
661
+
662
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html#cfn-notifications-eventrule-source
663
+ '''
664
+ result = self._values.get("source")
665
+ assert result is not None, "Required property 'source' is missing"
666
+ return typing.cast(builtins.str, result)
667
+
668
+ @builtins.property
669
+ def event_pattern(self) -> typing.Optional[builtins.str]:
670
+ '''An additional event pattern used to further filter the events this ``EventRule`` receives.
671
+
672
+ For more information, see `Amazon EventBridge event patterns <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html>`_ in the *Amazon EventBridge User Guide.*
673
+
674
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-eventrule.html#cfn-notifications-eventrule-eventpattern
675
+ '''
676
+ result = self._values.get("event_pattern")
677
+ return typing.cast(typing.Optional[builtins.str], result)
678
+
679
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
680
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
681
+
682
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
683
+ return not (rhs == self)
684
+
685
+ def __repr__(self) -> str:
686
+ return "CfnEventRuleProps(%s)" % ", ".join(
687
+ k + "=" + repr(v) for k, v in self._values.items()
688
+ )
689
+
690
+
691
+ @jsii.implements(_IInspectable_c2943556)
692
+ class CfnManagedNotificationAccountContactAssociation(
693
+ _CfnResource_9df397a6,
694
+ metaclass=jsii.JSIIMeta,
695
+ jsii_type="aws-cdk-lib.aws_notifications.CfnManagedNotificationAccountContactAssociation",
696
+ ):
697
+ '''Associates an Account Management Contact with a ``ManagedNotificationConfiguration`` for AWS User Notifications .
698
+
699
+ For more information about AWS User Notifications , see the `AWS User Notifications User Guide <https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html>`_ . For more information about Account Management Contacts, see the `AWS Account Management Reference Guide <https://docs.aws.amazon.com/accounts/latest/reference/API_AlternateContact.html>`_ .
700
+
701
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationaccountcontactassociation.html
702
+ :cloudformationResource: AWS::Notifications::ManagedNotificationAccountContactAssociation
703
+ :exampleMetadata: fixture=_generated
704
+
705
+ Example::
706
+
707
+ # The code below shows an example of how to instantiate this type.
708
+ # The values are placeholders you should change.
709
+ from aws_cdk import aws_notifications as notifications
710
+
711
+ cfn_managed_notification_account_contact_association = notifications.CfnManagedNotificationAccountContactAssociation(self, "MyCfnManagedNotificationAccountContactAssociation",
712
+ contact_identifier="contactIdentifier",
713
+ managed_notification_configuration_arn="managedNotificationConfigurationArn"
714
+ )
715
+ '''
716
+
717
+ def __init__(
718
+ self,
719
+ scope: _constructs_77d1e7e8.Construct,
720
+ id: builtins.str,
721
+ *,
722
+ contact_identifier: builtins.str,
723
+ managed_notification_configuration_arn: builtins.str,
724
+ ) -> None:
725
+ '''
726
+ :param scope: Scope in which this resource is defined.
727
+ :param id: Construct identifier for this resource (unique in its scope).
728
+ :param contact_identifier: The unique identifier of the notification contact associated with the AWS account. For more information about the contact types associated with an account, see the `AWS Account Management Reference Guide <https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-alternate.html#manage-acct-update-contact-alternate-orgs>`_ .
729
+ :param managed_notification_configuration_arn: The ARN of the ``ManagedNotificationConfiguration`` to be associated with the ``Channel`` .
730
+ '''
731
+ if __debug__:
732
+ type_hints = typing.get_type_hints(_typecheckingstub__96181d9832ab883e4a967003ef3b840ed10f8d410e4b8ceaf721368c4c5a02c5)
733
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
734
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
735
+ props = CfnManagedNotificationAccountContactAssociationProps(
736
+ contact_identifier=contact_identifier,
737
+ managed_notification_configuration_arn=managed_notification_configuration_arn,
738
+ )
739
+
740
+ jsii.create(self.__class__, self, [scope, id, props])
741
+
742
+ @jsii.member(jsii_name="inspect")
743
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
744
+ '''Examines the CloudFormation resource and discloses attributes.
745
+
746
+ :param inspector: tree inspector to collect and process attributes.
747
+ '''
748
+ if __debug__:
749
+ type_hints = typing.get_type_hints(_typecheckingstub__1e73fa971227b1056e5bdcd4163fefc79baa11c9eed51c86f5d29a3bad3f50bf)
750
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
751
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
752
+
753
+ @jsii.member(jsii_name="renderProperties")
754
+ def _render_properties(
755
+ self,
756
+ props: typing.Mapping[builtins.str, typing.Any],
757
+ ) -> typing.Mapping[builtins.str, typing.Any]:
758
+ '''
759
+ :param props: -
760
+ '''
761
+ if __debug__:
762
+ type_hints = typing.get_type_hints(_typecheckingstub__de22b92704255b6e9b389d8f1530aceab75300d39a63f9c91fd889e615c93935)
763
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
764
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
765
+
766
+ @jsii.python.classproperty
767
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
768
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
769
+ '''The CloudFormation resource type name for this resource class.'''
770
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
771
+
772
+ @builtins.property
773
+ @jsii.member(jsii_name="cfnProperties")
774
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
775
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
776
+
777
+ @builtins.property
778
+ @jsii.member(jsii_name="contactIdentifier")
779
+ def contact_identifier(self) -> builtins.str:
780
+ '''The unique identifier of the notification contact associated with the AWS account.'''
781
+ return typing.cast(builtins.str, jsii.get(self, "contactIdentifier"))
782
+
783
+ @contact_identifier.setter
784
+ def contact_identifier(self, value: builtins.str) -> None:
785
+ if __debug__:
786
+ type_hints = typing.get_type_hints(_typecheckingstub__7f2864c82adf8222b71008a7a43d8ab7d77f3e9d371a6bd3a63ef3451fafcb60)
787
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
788
+ jsii.set(self, "contactIdentifier", value) # pyright: ignore[reportArgumentType]
789
+
790
+ @builtins.property
791
+ @jsii.member(jsii_name="managedNotificationConfigurationArn")
792
+ def managed_notification_configuration_arn(self) -> builtins.str:
793
+ '''The ARN of the ``ManagedNotificationConfiguration`` to be associated with the ``Channel`` .'''
794
+ return typing.cast(builtins.str, jsii.get(self, "managedNotificationConfigurationArn"))
795
+
796
+ @managed_notification_configuration_arn.setter
797
+ def managed_notification_configuration_arn(self, value: builtins.str) -> None:
798
+ if __debug__:
799
+ type_hints = typing.get_type_hints(_typecheckingstub__723689b4f7e0ee73e180c6e8b0a172092e4905133e6f8e7994d8a793b8c63e79)
800
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
801
+ jsii.set(self, "managedNotificationConfigurationArn", value) # pyright: ignore[reportArgumentType]
802
+
803
+
804
+ @jsii.data_type(
805
+ jsii_type="aws-cdk-lib.aws_notifications.CfnManagedNotificationAccountContactAssociationProps",
806
+ jsii_struct_bases=[],
807
+ name_mapping={
808
+ "contact_identifier": "contactIdentifier",
809
+ "managed_notification_configuration_arn": "managedNotificationConfigurationArn",
810
+ },
811
+ )
812
+ class CfnManagedNotificationAccountContactAssociationProps:
813
+ def __init__(
814
+ self,
815
+ *,
816
+ contact_identifier: builtins.str,
817
+ managed_notification_configuration_arn: builtins.str,
818
+ ) -> None:
819
+ '''Properties for defining a ``CfnManagedNotificationAccountContactAssociation``.
820
+
821
+ :param contact_identifier: The unique identifier of the notification contact associated with the AWS account. For more information about the contact types associated with an account, see the `AWS Account Management Reference Guide <https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-alternate.html#manage-acct-update-contact-alternate-orgs>`_ .
822
+ :param managed_notification_configuration_arn: The ARN of the ``ManagedNotificationConfiguration`` to be associated with the ``Channel`` .
823
+
824
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationaccountcontactassociation.html
825
+ :exampleMetadata: fixture=_generated
826
+
827
+ Example::
828
+
829
+ # The code below shows an example of how to instantiate this type.
830
+ # The values are placeholders you should change.
831
+ from aws_cdk import aws_notifications as notifications
832
+
833
+ cfn_managed_notification_account_contact_association_props = notifications.CfnManagedNotificationAccountContactAssociationProps(
834
+ contact_identifier="contactIdentifier",
835
+ managed_notification_configuration_arn="managedNotificationConfigurationArn"
836
+ )
837
+ '''
838
+ if __debug__:
839
+ type_hints = typing.get_type_hints(_typecheckingstub__4ba701ff30108b1aeca6e33e95e36c02bce0446db03324798ed5b79a966800cc)
840
+ check_type(argname="argument contact_identifier", value=contact_identifier, expected_type=type_hints["contact_identifier"])
841
+ check_type(argname="argument managed_notification_configuration_arn", value=managed_notification_configuration_arn, expected_type=type_hints["managed_notification_configuration_arn"])
842
+ self._values: typing.Dict[builtins.str, typing.Any] = {
843
+ "contact_identifier": contact_identifier,
844
+ "managed_notification_configuration_arn": managed_notification_configuration_arn,
845
+ }
846
+
847
+ @builtins.property
848
+ def contact_identifier(self) -> builtins.str:
849
+ '''The unique identifier of the notification contact associated with the AWS account.
850
+
851
+ For more information about the contact types associated with an account, see the `AWS Account Management Reference Guide <https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-alternate.html#manage-acct-update-contact-alternate-orgs>`_ .
852
+
853
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationaccountcontactassociation.html#cfn-notifications-managednotificationaccountcontactassociation-contactidentifier
854
+ '''
855
+ result = self._values.get("contact_identifier")
856
+ assert result is not None, "Required property 'contact_identifier' is missing"
857
+ return typing.cast(builtins.str, result)
858
+
859
+ @builtins.property
860
+ def managed_notification_configuration_arn(self) -> builtins.str:
861
+ '''The ARN of the ``ManagedNotificationConfiguration`` to be associated with the ``Channel`` .
862
+
863
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationaccountcontactassociation.html#cfn-notifications-managednotificationaccountcontactassociation-managednotificationconfigurationarn
864
+ '''
865
+ result = self._values.get("managed_notification_configuration_arn")
866
+ assert result is not None, "Required property 'managed_notification_configuration_arn' is missing"
867
+ return typing.cast(builtins.str, result)
868
+
869
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
870
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
871
+
872
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
873
+ return not (rhs == self)
874
+
875
+ def __repr__(self) -> str:
876
+ return "CfnManagedNotificationAccountContactAssociationProps(%s)" % ", ".join(
877
+ k + "=" + repr(v) for k, v in self._values.items()
878
+ )
879
+
880
+
881
+ @jsii.implements(_IInspectable_c2943556)
882
+ class CfnManagedNotificationAdditionalChannelAssociation(
883
+ _CfnResource_9df397a6,
884
+ metaclass=jsii.JSIIMeta,
885
+ jsii_type="aws-cdk-lib.aws_notifications.CfnManagedNotificationAdditionalChannelAssociation",
886
+ ):
887
+ '''Associates a ``Channel`` with a ``ManagedNotificationAdditionalChannelAssociation`` for AWS User Notifications .
888
+
889
+ For more information about AWS User Notifications , see the `AWS User Notifications User Guide <https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html>`_ .
890
+
891
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html
892
+ :cloudformationResource: AWS::Notifications::ManagedNotificationAdditionalChannelAssociation
893
+ :exampleMetadata: fixture=_generated
894
+
895
+ Example::
896
+
897
+ # The code below shows an example of how to instantiate this type.
898
+ # The values are placeholders you should change.
899
+ from aws_cdk import aws_notifications as notifications
900
+
901
+ cfn_managed_notification_additional_channel_association = notifications.CfnManagedNotificationAdditionalChannelAssociation(self, "MyCfnManagedNotificationAdditionalChannelAssociation",
902
+ channel_arn="channelArn",
903
+ managed_notification_configuration_arn="managedNotificationConfigurationArn"
904
+ )
905
+ '''
906
+
907
+ def __init__(
908
+ self,
909
+ scope: _constructs_77d1e7e8.Construct,
910
+ id: builtins.str,
911
+ *,
912
+ channel_arn: builtins.str,
913
+ managed_notification_configuration_arn: builtins.str,
914
+ ) -> None:
915
+ '''
916
+ :param scope: Scope in which this resource is defined.
917
+ :param id: Construct identifier for this resource (unique in its scope).
918
+ :param channel_arn: The ARN of the ``Channel`` .
919
+ :param managed_notification_configuration_arn: The ARN of the ``ManagedNotificationAdditionalChannelAssociation`` associated with the ``Channel`` .
920
+ '''
921
+ if __debug__:
922
+ type_hints = typing.get_type_hints(_typecheckingstub__1ca734986c83660130935052d366897b8c8be9a3097eeb3e4d8a8e55d157be14)
923
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
924
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
925
+ props = CfnManagedNotificationAdditionalChannelAssociationProps(
926
+ channel_arn=channel_arn,
927
+ managed_notification_configuration_arn=managed_notification_configuration_arn,
928
+ )
929
+
930
+ jsii.create(self.__class__, self, [scope, id, props])
931
+
932
+ @jsii.member(jsii_name="inspect")
933
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
934
+ '''Examines the CloudFormation resource and discloses attributes.
935
+
936
+ :param inspector: tree inspector to collect and process attributes.
937
+ '''
938
+ if __debug__:
939
+ type_hints = typing.get_type_hints(_typecheckingstub__4e28e0910e1ca8649c67a2f410907337d1630631c5619cb29f1f8aea6b44f1ae)
940
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
941
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
942
+
943
+ @jsii.member(jsii_name="renderProperties")
944
+ def _render_properties(
945
+ self,
946
+ props: typing.Mapping[builtins.str, typing.Any],
947
+ ) -> typing.Mapping[builtins.str, typing.Any]:
948
+ '''
949
+ :param props: -
950
+ '''
951
+ if __debug__:
952
+ type_hints = typing.get_type_hints(_typecheckingstub__a2506d928b82af9fe5027dc3a3d36bec7429236e90e696056589e09d98371bdf)
953
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
954
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
955
+
956
+ @jsii.python.classproperty
957
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
958
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
959
+ '''The CloudFormation resource type name for this resource class.'''
960
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
961
+
962
+ @builtins.property
963
+ @jsii.member(jsii_name="cfnProperties")
964
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
965
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
966
+
967
+ @builtins.property
968
+ @jsii.member(jsii_name="channelArn")
969
+ def channel_arn(self) -> builtins.str:
970
+ '''The ARN of the ``Channel`` .'''
971
+ return typing.cast(builtins.str, jsii.get(self, "channelArn"))
972
+
973
+ @channel_arn.setter
974
+ def channel_arn(self, value: builtins.str) -> None:
975
+ if __debug__:
976
+ type_hints = typing.get_type_hints(_typecheckingstub__ae2aafbc82a652d2ce3c5194be413585028b15cdada72b53c5ecf469375ef2a9)
977
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
978
+ jsii.set(self, "channelArn", value) # pyright: ignore[reportArgumentType]
979
+
980
+ @builtins.property
981
+ @jsii.member(jsii_name="managedNotificationConfigurationArn")
982
+ def managed_notification_configuration_arn(self) -> builtins.str:
983
+ '''The ARN of the ``ManagedNotificationAdditionalChannelAssociation`` associated with the ``Channel`` .'''
984
+ return typing.cast(builtins.str, jsii.get(self, "managedNotificationConfigurationArn"))
985
+
986
+ @managed_notification_configuration_arn.setter
987
+ def managed_notification_configuration_arn(self, value: builtins.str) -> None:
988
+ if __debug__:
989
+ type_hints = typing.get_type_hints(_typecheckingstub__3420dbc2928b8b5bd017053f781f8eb1c6893c1b43a27f7854a5dbeb64b60445)
990
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
991
+ jsii.set(self, "managedNotificationConfigurationArn", value) # pyright: ignore[reportArgumentType]
992
+
993
+
994
+ @jsii.data_type(
995
+ jsii_type="aws-cdk-lib.aws_notifications.CfnManagedNotificationAdditionalChannelAssociationProps",
996
+ jsii_struct_bases=[],
997
+ name_mapping={
998
+ "channel_arn": "channelArn",
999
+ "managed_notification_configuration_arn": "managedNotificationConfigurationArn",
1000
+ },
1001
+ )
1002
+ class CfnManagedNotificationAdditionalChannelAssociationProps:
1003
+ def __init__(
1004
+ self,
1005
+ *,
1006
+ channel_arn: builtins.str,
1007
+ managed_notification_configuration_arn: builtins.str,
1008
+ ) -> None:
1009
+ '''Properties for defining a ``CfnManagedNotificationAdditionalChannelAssociation``.
1010
+
1011
+ :param channel_arn: The ARN of the ``Channel`` .
1012
+ :param managed_notification_configuration_arn: The ARN of the ``ManagedNotificationAdditionalChannelAssociation`` associated with the ``Channel`` .
1013
+
1014
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html
1015
+ :exampleMetadata: fixture=_generated
1016
+
1017
+ Example::
1018
+
1019
+ # The code below shows an example of how to instantiate this type.
1020
+ # The values are placeholders you should change.
1021
+ from aws_cdk import aws_notifications as notifications
1022
+
1023
+ cfn_managed_notification_additional_channel_association_props = notifications.CfnManagedNotificationAdditionalChannelAssociationProps(
1024
+ channel_arn="channelArn",
1025
+ managed_notification_configuration_arn="managedNotificationConfigurationArn"
1026
+ )
1027
+ '''
1028
+ if __debug__:
1029
+ type_hints = typing.get_type_hints(_typecheckingstub__63600091503bee10f7ba2c01f3247b370b8b2bca175e1cc3db1e6800e18fedd9)
1030
+ check_type(argname="argument channel_arn", value=channel_arn, expected_type=type_hints["channel_arn"])
1031
+ check_type(argname="argument managed_notification_configuration_arn", value=managed_notification_configuration_arn, expected_type=type_hints["managed_notification_configuration_arn"])
1032
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1033
+ "channel_arn": channel_arn,
1034
+ "managed_notification_configuration_arn": managed_notification_configuration_arn,
1035
+ }
1036
+
1037
+ @builtins.property
1038
+ def channel_arn(self) -> builtins.str:
1039
+ '''The ARN of the ``Channel`` .
1040
+
1041
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html#cfn-notifications-managednotificationadditionalchannelassociation-channelarn
1042
+ '''
1043
+ result = self._values.get("channel_arn")
1044
+ assert result is not None, "Required property 'channel_arn' is missing"
1045
+ return typing.cast(builtins.str, result)
1046
+
1047
+ @builtins.property
1048
+ def managed_notification_configuration_arn(self) -> builtins.str:
1049
+ '''The ARN of the ``ManagedNotificationAdditionalChannelAssociation`` associated with the ``Channel`` .
1050
+
1051
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html#cfn-notifications-managednotificationadditionalchannelassociation-managednotificationconfigurationarn
1052
+ '''
1053
+ result = self._values.get("managed_notification_configuration_arn")
1054
+ assert result is not None, "Required property 'managed_notification_configuration_arn' is missing"
1055
+ return typing.cast(builtins.str, result)
1056
+
1057
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1058
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1059
+
1060
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1061
+ return not (rhs == self)
1062
+
1063
+ def __repr__(self) -> str:
1064
+ return "CfnManagedNotificationAdditionalChannelAssociationProps(%s)" % ", ".join(
1065
+ k + "=" + repr(v) for k, v in self._values.items()
1066
+ )
1067
+
1068
+
1069
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1070
+ class CfnNotificationConfiguration(
1071
+ _CfnResource_9df397a6,
1072
+ metaclass=jsii.JSIIMeta,
1073
+ jsii_type="aws-cdk-lib.aws_notifications.CfnNotificationConfiguration",
1074
+ ):
1075
+ '''Configures a ``NotificationConfiguration`` for AWS User Notifications .
1076
+
1077
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationconfiguration.html
1078
+ :cloudformationResource: AWS::Notifications::NotificationConfiguration
1079
+ :exampleMetadata: fixture=_generated
1080
+
1081
+ Example::
1082
+
1083
+ # The code below shows an example of how to instantiate this type.
1084
+ # The values are placeholders you should change.
1085
+ from aws_cdk import aws_notifications as notifications
1086
+
1087
+ cfn_notification_configuration = notifications.CfnNotificationConfiguration(self, "MyCfnNotificationConfiguration",
1088
+ description="description",
1089
+ name="name",
1090
+
1091
+ # the properties below are optional
1092
+ aggregation_duration="aggregationDuration",
1093
+ tags=[CfnTag(
1094
+ key="key",
1095
+ value="value"
1096
+ )]
1097
+ )
1098
+ '''
1099
+
1100
+ def __init__(
1101
+ self,
1102
+ scope: _constructs_77d1e7e8.Construct,
1103
+ id: builtins.str,
1104
+ *,
1105
+ description: builtins.str,
1106
+ name: builtins.str,
1107
+ aggregation_duration: typing.Optional[builtins.str] = None,
1108
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1109
+ ) -> None:
1110
+ '''
1111
+ :param scope: Scope in which this resource is defined.
1112
+ :param id: Construct identifier for this resource (unique in its scope).
1113
+ :param description: The description of the ``NotificationConfiguration`` .
1114
+ :param name: The name of the ``NotificationConfiguration`` . Supports RFC 3986's unreserved characters.
1115
+ :param aggregation_duration: The aggregation preference of the ``NotificationConfiguration`` . - Values: - ``LONG`` - Aggregate notifications for long periods of time (12 hours). - ``SHORT`` - Aggregate notifications for short periods of time (5 minutes). - ``NONE`` - Don't aggregate notifications.
1116
+ :param tags: A map of tags assigned to a ``NotificationConfiguration`` .
1117
+ '''
1118
+ if __debug__:
1119
+ type_hints = typing.get_type_hints(_typecheckingstub__e5a1cf31f790937b5967ad78a42e8a6c98b04b21643bfcdd379cabb7f43b17f1)
1120
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1121
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1122
+ props = CfnNotificationConfigurationProps(
1123
+ description=description,
1124
+ name=name,
1125
+ aggregation_duration=aggregation_duration,
1126
+ tags=tags,
1127
+ )
1128
+
1129
+ jsii.create(self.__class__, self, [scope, id, props])
1130
+
1131
+ @jsii.member(jsii_name="inspect")
1132
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1133
+ '''Examines the CloudFormation resource and discloses attributes.
1134
+
1135
+ :param inspector: tree inspector to collect and process attributes.
1136
+ '''
1137
+ if __debug__:
1138
+ type_hints = typing.get_type_hints(_typecheckingstub__99c4c6bcfdad64190a4b003dd211cb1c28e0aed4b082d0cef3b986b4d46b4d0d)
1139
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1140
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1141
+
1142
+ @jsii.member(jsii_name="renderProperties")
1143
+ def _render_properties(
1144
+ self,
1145
+ props: typing.Mapping[builtins.str, typing.Any],
1146
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1147
+ '''
1148
+ :param props: -
1149
+ '''
1150
+ if __debug__:
1151
+ type_hints = typing.get_type_hints(_typecheckingstub__ed80b7239a03619bfe17128260c1ef875a0004bef6f44982a06bac0ca7dd24dd)
1152
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1153
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1154
+
1155
+ @jsii.python.classproperty
1156
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1157
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1158
+ '''The CloudFormation resource type name for this resource class.'''
1159
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1160
+
1161
+ @builtins.property
1162
+ @jsii.member(jsii_name="attrArn")
1163
+ def attr_arn(self) -> builtins.str:
1164
+ '''The Amazon Resource Name (ARN) of the ``NotificationConfiguration`` resource.
1165
+
1166
+ :cloudformationAttribute: Arn
1167
+ '''
1168
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
1169
+
1170
+ @builtins.property
1171
+ @jsii.member(jsii_name="attrCreationTime")
1172
+ def attr_creation_time(self) -> builtins.str:
1173
+ '''The creation time of the ``NotificationConfiguration`` .
1174
+
1175
+ :cloudformationAttribute: CreationTime
1176
+ '''
1177
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
1178
+
1179
+ @builtins.property
1180
+ @jsii.member(jsii_name="attrStatus")
1181
+ def attr_status(self) -> builtins.str:
1182
+ '''The current status of the ``NotificationConfiguration`` .
1183
+
1184
+ :cloudformationAttribute: Status
1185
+ '''
1186
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
1187
+
1188
+ @builtins.property
1189
+ @jsii.member(jsii_name="cdkTagManager")
1190
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1191
+ '''Tag Manager which manages the tags for this resource.'''
1192
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1193
+
1194
+ @builtins.property
1195
+ @jsii.member(jsii_name="cfnProperties")
1196
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1197
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1198
+
1199
+ @builtins.property
1200
+ @jsii.member(jsii_name="description")
1201
+ def description(self) -> builtins.str:
1202
+ '''The description of the ``NotificationConfiguration`` .'''
1203
+ return typing.cast(builtins.str, jsii.get(self, "description"))
1204
+
1205
+ @description.setter
1206
+ def description(self, value: builtins.str) -> None:
1207
+ if __debug__:
1208
+ type_hints = typing.get_type_hints(_typecheckingstub__3b56129db1bc5e2b088f2e953b3a5cadd65fbae6a6d2e9bff79548baba4e1c65)
1209
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1210
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
1211
+
1212
+ @builtins.property
1213
+ @jsii.member(jsii_name="name")
1214
+ def name(self) -> builtins.str:
1215
+ '''The name of the ``NotificationConfiguration`` .'''
1216
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1217
+
1218
+ @name.setter
1219
+ def name(self, value: builtins.str) -> None:
1220
+ if __debug__:
1221
+ type_hints = typing.get_type_hints(_typecheckingstub__71e66aa92e41cd8989cfdac8332aacd83371fe96d00b1cfb8e4f8f6c74bdeefc)
1222
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1223
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
1224
+
1225
+ @builtins.property
1226
+ @jsii.member(jsii_name="aggregationDuration")
1227
+ def aggregation_duration(self) -> typing.Optional[builtins.str]:
1228
+ '''The aggregation preference of the ``NotificationConfiguration`` .'''
1229
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "aggregationDuration"))
1230
+
1231
+ @aggregation_duration.setter
1232
+ def aggregation_duration(self, value: typing.Optional[builtins.str]) -> None:
1233
+ if __debug__:
1234
+ type_hints = typing.get_type_hints(_typecheckingstub__ce9aa4a245c055d6b2e72d9ea7585d89b52c50836000693cef5f09365372734c)
1235
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1236
+ jsii.set(self, "aggregationDuration", value) # pyright: ignore[reportArgumentType]
1237
+
1238
+ @builtins.property
1239
+ @jsii.member(jsii_name="tags")
1240
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1241
+ '''A map of tags assigned to a ``NotificationConfiguration`` .'''
1242
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1243
+
1244
+ @tags.setter
1245
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1246
+ if __debug__:
1247
+ type_hints = typing.get_type_hints(_typecheckingstub__d80fd02377dda29814fae801cf32c8200e2aa5b9ff4b7440916ad6d4efbeb00b)
1248
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1249
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1250
+
1251
+
1252
+ @jsii.data_type(
1253
+ jsii_type="aws-cdk-lib.aws_notifications.CfnNotificationConfigurationProps",
1254
+ jsii_struct_bases=[],
1255
+ name_mapping={
1256
+ "description": "description",
1257
+ "name": "name",
1258
+ "aggregation_duration": "aggregationDuration",
1259
+ "tags": "tags",
1260
+ },
1261
+ )
1262
+ class CfnNotificationConfigurationProps:
1263
+ def __init__(
1264
+ self,
1265
+ *,
1266
+ description: builtins.str,
1267
+ name: builtins.str,
1268
+ aggregation_duration: typing.Optional[builtins.str] = None,
1269
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1270
+ ) -> None:
1271
+ '''Properties for defining a ``CfnNotificationConfiguration``.
1272
+
1273
+ :param description: The description of the ``NotificationConfiguration`` .
1274
+ :param name: The name of the ``NotificationConfiguration`` . Supports RFC 3986's unreserved characters.
1275
+ :param aggregation_duration: The aggregation preference of the ``NotificationConfiguration`` . - Values: - ``LONG`` - Aggregate notifications for long periods of time (12 hours). - ``SHORT`` - Aggregate notifications for short periods of time (5 minutes). - ``NONE`` - Don't aggregate notifications.
1276
+ :param tags: A map of tags assigned to a ``NotificationConfiguration`` .
1277
+
1278
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationconfiguration.html
1279
+ :exampleMetadata: fixture=_generated
1280
+
1281
+ Example::
1282
+
1283
+ # The code below shows an example of how to instantiate this type.
1284
+ # The values are placeholders you should change.
1285
+ from aws_cdk import aws_notifications as notifications
1286
+
1287
+ cfn_notification_configuration_props = notifications.CfnNotificationConfigurationProps(
1288
+ description="description",
1289
+ name="name",
1290
+
1291
+ # the properties below are optional
1292
+ aggregation_duration="aggregationDuration",
1293
+ tags=[CfnTag(
1294
+ key="key",
1295
+ value="value"
1296
+ )]
1297
+ )
1298
+ '''
1299
+ if __debug__:
1300
+ type_hints = typing.get_type_hints(_typecheckingstub__2533f954a13ead8ba0e86dbad3d4401450ff85451a17c80b370344cb112ae478)
1301
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1302
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1303
+ check_type(argname="argument aggregation_duration", value=aggregation_duration, expected_type=type_hints["aggregation_duration"])
1304
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1305
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1306
+ "description": description,
1307
+ "name": name,
1308
+ }
1309
+ if aggregation_duration is not None:
1310
+ self._values["aggregation_duration"] = aggregation_duration
1311
+ if tags is not None:
1312
+ self._values["tags"] = tags
1313
+
1314
+ @builtins.property
1315
+ def description(self) -> builtins.str:
1316
+ '''The description of the ``NotificationConfiguration`` .
1317
+
1318
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationconfiguration.html#cfn-notifications-notificationconfiguration-description
1319
+ '''
1320
+ result = self._values.get("description")
1321
+ assert result is not None, "Required property 'description' is missing"
1322
+ return typing.cast(builtins.str, result)
1323
+
1324
+ @builtins.property
1325
+ def name(self) -> builtins.str:
1326
+ '''The name of the ``NotificationConfiguration`` .
1327
+
1328
+ Supports RFC 3986's unreserved characters.
1329
+
1330
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationconfiguration.html#cfn-notifications-notificationconfiguration-name
1331
+ '''
1332
+ result = self._values.get("name")
1333
+ assert result is not None, "Required property 'name' is missing"
1334
+ return typing.cast(builtins.str, result)
1335
+
1336
+ @builtins.property
1337
+ def aggregation_duration(self) -> typing.Optional[builtins.str]:
1338
+ '''The aggregation preference of the ``NotificationConfiguration`` .
1339
+
1340
+ - Values:
1341
+ - ``LONG``
1342
+ - Aggregate notifications for long periods of time (12 hours).
1343
+ - ``SHORT``
1344
+ - Aggregate notifications for short periods of time (5 minutes).
1345
+ - ``NONE``
1346
+ - Don't aggregate notifications.
1347
+
1348
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationconfiguration.html#cfn-notifications-notificationconfiguration-aggregationduration
1349
+ '''
1350
+ result = self._values.get("aggregation_duration")
1351
+ return typing.cast(typing.Optional[builtins.str], result)
1352
+
1353
+ @builtins.property
1354
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1355
+ '''A map of tags assigned to a ``NotificationConfiguration`` .
1356
+
1357
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationconfiguration.html#cfn-notifications-notificationconfiguration-tags
1358
+ '''
1359
+ result = self._values.get("tags")
1360
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1361
+
1362
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1363
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1364
+
1365
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1366
+ return not (rhs == self)
1367
+
1368
+ def __repr__(self) -> str:
1369
+ return "CfnNotificationConfigurationProps(%s)" % ", ".join(
1370
+ k + "=" + repr(v) for k, v in self._values.items()
1371
+ )
1372
+
1373
+
1374
+ @jsii.implements(_IInspectable_c2943556)
1375
+ class CfnNotificationHub(
1376
+ _CfnResource_9df397a6,
1377
+ metaclass=jsii.JSIIMeta,
1378
+ jsii_type="aws-cdk-lib.aws_notifications.CfnNotificationHub",
1379
+ ):
1380
+ '''Configures a ``NotificationHub`` for AWS User Notifications .
1381
+
1382
+ For more information about notification hub, see the `AWS User Notifications User Guide <https://docs.aws.amazon.com/notifications/latest/userguide/notification-hubs.html>`_ .
1383
+
1384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationhub.html
1385
+ :cloudformationResource: AWS::Notifications::NotificationHub
1386
+ :exampleMetadata: fixture=_generated
1387
+
1388
+ Example::
1389
+
1390
+ # The code below shows an example of how to instantiate this type.
1391
+ # The values are placeholders you should change.
1392
+ from aws_cdk import aws_notifications as notifications
1393
+
1394
+ cfn_notification_hub = notifications.CfnNotificationHub(self, "MyCfnNotificationHub",
1395
+ region="region"
1396
+ )
1397
+ '''
1398
+
1399
+ def __init__(
1400
+ self,
1401
+ scope: _constructs_77d1e7e8.Construct,
1402
+ id: builtins.str,
1403
+ *,
1404
+ region: builtins.str,
1405
+ ) -> None:
1406
+ '''
1407
+ :param scope: Scope in which this resource is defined.
1408
+ :param id: Construct identifier for this resource (unique in its scope).
1409
+ :param region: The ``NotificationHub`` Region.
1410
+ '''
1411
+ if __debug__:
1412
+ type_hints = typing.get_type_hints(_typecheckingstub__68d72929c95357a15821df7d24b28076913c2c16ae8caa651de92ab7110ee545)
1413
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1414
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1415
+ props = CfnNotificationHubProps(region=region)
1416
+
1417
+ jsii.create(self.__class__, self, [scope, id, props])
1418
+
1419
+ @jsii.member(jsii_name="inspect")
1420
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1421
+ '''Examines the CloudFormation resource and discloses attributes.
1422
+
1423
+ :param inspector: tree inspector to collect and process attributes.
1424
+ '''
1425
+ if __debug__:
1426
+ type_hints = typing.get_type_hints(_typecheckingstub__567dd116772fd10bcdaf956ec536dc5810b4f3cc3f16ccd9a9d86db8519bb2ad)
1427
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1428
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1429
+
1430
+ @jsii.member(jsii_name="renderProperties")
1431
+ def _render_properties(
1432
+ self,
1433
+ props: typing.Mapping[builtins.str, typing.Any],
1434
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1435
+ '''
1436
+ :param props: -
1437
+ '''
1438
+ if __debug__:
1439
+ type_hints = typing.get_type_hints(_typecheckingstub__8cdcacace93e52a000661ec6fb6dc815044c226939c4984a920cbeabbad2c65d)
1440
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1441
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1442
+
1443
+ @jsii.python.classproperty
1444
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1445
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1446
+ '''The CloudFormation resource type name for this resource class.'''
1447
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1448
+
1449
+ @builtins.property
1450
+ @jsii.member(jsii_name="attrCreationTime")
1451
+ def attr_creation_time(self) -> builtins.str:
1452
+ '''The date and time the ``NotificationHubOverview`` was created.
1453
+
1454
+ :cloudformationAttribute: CreationTime
1455
+ '''
1456
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
1457
+
1458
+ @builtins.property
1459
+ @jsii.member(jsii_name="attrNotificationHubStatusSummary")
1460
+ def attr_notification_hub_status_summary(self) -> _IResolvable_da3f097b:
1461
+ '''
1462
+ :cloudformationAttribute: NotificationHubStatusSummary
1463
+ '''
1464
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrNotificationHubStatusSummary"))
1465
+
1466
+ @builtins.property
1467
+ @jsii.member(jsii_name="cfnProperties")
1468
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1469
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1470
+
1471
+ @builtins.property
1472
+ @jsii.member(jsii_name="region")
1473
+ def region(self) -> builtins.str:
1474
+ '''The ``NotificationHub`` Region.'''
1475
+ return typing.cast(builtins.str, jsii.get(self, "region"))
1476
+
1477
+ @region.setter
1478
+ def region(self, value: builtins.str) -> None:
1479
+ if __debug__:
1480
+ type_hints = typing.get_type_hints(_typecheckingstub__865411d5534fe323b415ed4cf0f3a74893e03d33d1ae33e8d515a71e49d41f82)
1481
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1482
+ jsii.set(self, "region", value) # pyright: ignore[reportArgumentType]
1483
+
1484
+ @jsii.data_type(
1485
+ jsii_type="aws-cdk-lib.aws_notifications.CfnNotificationHub.NotificationHubStatusSummaryProperty",
1486
+ jsii_struct_bases=[],
1487
+ name_mapping={
1488
+ "notification_hub_status": "notificationHubStatus",
1489
+ "notification_hub_status_reason": "notificationHubStatusReason",
1490
+ },
1491
+ )
1492
+ class NotificationHubStatusSummaryProperty:
1493
+ def __init__(
1494
+ self,
1495
+ *,
1496
+ notification_hub_status: builtins.str,
1497
+ notification_hub_status_reason: builtins.str,
1498
+ ) -> None:
1499
+ '''Provides additional information about the current ``NotificationHub`` status.
1500
+
1501
+ :param notification_hub_status: Indicates the current status of the ``NotificationHub`` .
1502
+ :param notification_hub_status_reason: An explanation for the current status.
1503
+
1504
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-notifications-notificationhub-notificationhubstatussummary.html
1505
+ :exampleMetadata: fixture=_generated
1506
+
1507
+ Example::
1508
+
1509
+ # The code below shows an example of how to instantiate this type.
1510
+ # The values are placeholders you should change.
1511
+ from aws_cdk import aws_notifications as notifications
1512
+
1513
+ notification_hub_status_summary_property = notifications.CfnNotificationHub.NotificationHubStatusSummaryProperty(
1514
+ notification_hub_status="notificationHubStatus",
1515
+ notification_hub_status_reason="notificationHubStatusReason"
1516
+ )
1517
+ '''
1518
+ if __debug__:
1519
+ type_hints = typing.get_type_hints(_typecheckingstub__8aa8a0cc3749f69e28b77cefd47fc05557b9a1869a97350b92cdcb9f3438b543)
1520
+ check_type(argname="argument notification_hub_status", value=notification_hub_status, expected_type=type_hints["notification_hub_status"])
1521
+ check_type(argname="argument notification_hub_status_reason", value=notification_hub_status_reason, expected_type=type_hints["notification_hub_status_reason"])
1522
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1523
+ "notification_hub_status": notification_hub_status,
1524
+ "notification_hub_status_reason": notification_hub_status_reason,
1525
+ }
1526
+
1527
+ @builtins.property
1528
+ def notification_hub_status(self) -> builtins.str:
1529
+ '''Indicates the current status of the ``NotificationHub`` .
1530
+
1531
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-notifications-notificationhub-notificationhubstatussummary.html#cfn-notifications-notificationhub-notificationhubstatussummary-notificationhubstatus
1532
+ '''
1533
+ result = self._values.get("notification_hub_status")
1534
+ assert result is not None, "Required property 'notification_hub_status' is missing"
1535
+ return typing.cast(builtins.str, result)
1536
+
1537
+ @builtins.property
1538
+ def notification_hub_status_reason(self) -> builtins.str:
1539
+ '''An explanation for the current status.
1540
+
1541
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-notifications-notificationhub-notificationhubstatussummary.html#cfn-notifications-notificationhub-notificationhubstatussummary-notificationhubstatusreason
1542
+ '''
1543
+ result = self._values.get("notification_hub_status_reason")
1544
+ assert result is not None, "Required property 'notification_hub_status_reason' is missing"
1545
+ return typing.cast(builtins.str, result)
1546
+
1547
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1548
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1549
+
1550
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1551
+ return not (rhs == self)
1552
+
1553
+ def __repr__(self) -> str:
1554
+ return "NotificationHubStatusSummaryProperty(%s)" % ", ".join(
1555
+ k + "=" + repr(v) for k, v in self._values.items()
1556
+ )
1557
+
1558
+
1559
+ @jsii.data_type(
1560
+ jsii_type="aws-cdk-lib.aws_notifications.CfnNotificationHubProps",
1561
+ jsii_struct_bases=[],
1562
+ name_mapping={"region": "region"},
1563
+ )
1564
+ class CfnNotificationHubProps:
1565
+ def __init__(self, *, region: builtins.str) -> None:
1566
+ '''Properties for defining a ``CfnNotificationHub``.
1567
+
1568
+ :param region: The ``NotificationHub`` Region.
1569
+
1570
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationhub.html
1571
+ :exampleMetadata: fixture=_generated
1572
+
1573
+ Example::
1574
+
1575
+ # The code below shows an example of how to instantiate this type.
1576
+ # The values are placeholders you should change.
1577
+ from aws_cdk import aws_notifications as notifications
1578
+
1579
+ cfn_notification_hub_props = notifications.CfnNotificationHubProps(
1580
+ region="region"
1581
+ )
1582
+ '''
1583
+ if __debug__:
1584
+ type_hints = typing.get_type_hints(_typecheckingstub__920924baa84f6463cdd237bcaa739a631a79dad627c4370064c68f1de8c3c630)
1585
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
1586
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1587
+ "region": region,
1588
+ }
1589
+
1590
+ @builtins.property
1591
+ def region(self) -> builtins.str:
1592
+ '''The ``NotificationHub`` Region.
1593
+
1594
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-notificationhub.html#cfn-notifications-notificationhub-region
1595
+ '''
1596
+ result = self._values.get("region")
1597
+ assert result is not None, "Required property 'region' is missing"
1598
+ return typing.cast(builtins.str, result)
1599
+
1600
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1601
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1602
+
1603
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1604
+ return not (rhs == self)
1605
+
1606
+ def __repr__(self) -> str:
1607
+ return "CfnNotificationHubProps(%s)" % ", ".join(
1608
+ k + "=" + repr(v) for k, v in self._values.items()
1609
+ )
1610
+
1611
+
1612
+ __all__ = [
1613
+ "CfnChannelAssociation",
1614
+ "CfnChannelAssociationProps",
1615
+ "CfnEventRule",
1616
+ "CfnEventRuleProps",
1617
+ "CfnManagedNotificationAccountContactAssociation",
1618
+ "CfnManagedNotificationAccountContactAssociationProps",
1619
+ "CfnManagedNotificationAdditionalChannelAssociation",
1620
+ "CfnManagedNotificationAdditionalChannelAssociationProps",
1621
+ "CfnNotificationConfiguration",
1622
+ "CfnNotificationConfigurationProps",
1623
+ "CfnNotificationHub",
1624
+ "CfnNotificationHubProps",
1625
+ ]
1626
+
1627
+ publication.publish()
1628
+
1629
+ def _typecheckingstub__96bfb9a9cbe4c6b38cb964bde4e63ccdb746cc48ac8dd61661a318886da6ba7f(
1630
+ scope: _constructs_77d1e7e8.Construct,
1631
+ id: builtins.str,
1632
+ *,
1633
+ arn: builtins.str,
1634
+ notification_configuration_arn: builtins.str,
1635
+ ) -> None:
1636
+ """Type checking stubs"""
1637
+ pass
1638
+
1639
+ def _typecheckingstub__a0ffcf7c83a3beb5a9feedb6bf40d486b1aa9bad41565ae2a782129cc7450e94(
1640
+ inspector: _TreeInspector_488e0dd5,
1641
+ ) -> None:
1642
+ """Type checking stubs"""
1643
+ pass
1644
+
1645
+ def _typecheckingstub__ad26b3aa74c912ac52ae9f4bfb186ae1996d8ffa2fff5b28d9a9dcb2f5ceffbf(
1646
+ props: typing.Mapping[builtins.str, typing.Any],
1647
+ ) -> None:
1648
+ """Type checking stubs"""
1649
+ pass
1650
+
1651
+ def _typecheckingstub__02aa05d5cab2ed92674dea9fe8bfd20781091f494e9c3e3da3e1cedb24710ade(
1652
+ value: builtins.str,
1653
+ ) -> None:
1654
+ """Type checking stubs"""
1655
+ pass
1656
+
1657
+ def _typecheckingstub__6b2d69598efa0d97ebfbcf163b7e00dfefacab9bb759efc23a009243fcbc29fc(
1658
+ value: builtins.str,
1659
+ ) -> None:
1660
+ """Type checking stubs"""
1661
+ pass
1662
+
1663
+ def _typecheckingstub__3df32ecb43a8f1e94c1f975e24a79631c45fd6739c1d7bea0e44c5c169b5137c(
1664
+ *,
1665
+ arn: builtins.str,
1666
+ notification_configuration_arn: builtins.str,
1667
+ ) -> None:
1668
+ """Type checking stubs"""
1669
+ pass
1670
+
1671
+ def _typecheckingstub__ec202e2ad7890be955535389c490f73db69e1ae4c0e2b9af79f33a0bb4e4dd47(
1672
+ scope: _constructs_77d1e7e8.Construct,
1673
+ id: builtins.str,
1674
+ *,
1675
+ event_type: builtins.str,
1676
+ notification_configuration_arn: builtins.str,
1677
+ regions: typing.Sequence[builtins.str],
1678
+ source: builtins.str,
1679
+ event_pattern: typing.Optional[builtins.str] = None,
1680
+ ) -> None:
1681
+ """Type checking stubs"""
1682
+ pass
1683
+
1684
+ def _typecheckingstub__7c5fa74e0d9c81586c85ebd06110e66abfa6f3eca8a5c7b89fcce4d070b434dd(
1685
+ inspector: _TreeInspector_488e0dd5,
1686
+ ) -> None:
1687
+ """Type checking stubs"""
1688
+ pass
1689
+
1690
+ def _typecheckingstub__ed227bd8ca507740b963532ef2c249c436e3f1a0953bcfbfccc5dd84abff63b2(
1691
+ props: typing.Mapping[builtins.str, typing.Any],
1692
+ ) -> None:
1693
+ """Type checking stubs"""
1694
+ pass
1695
+
1696
+ def _typecheckingstub__81d1b153a0905b2c5814e482bb87c0a8b11d3eff5d9c870657097be4c79e4804(
1697
+ value: builtins.str,
1698
+ ) -> None:
1699
+ """Type checking stubs"""
1700
+ pass
1701
+
1702
+ def _typecheckingstub__6f6731a75b69e9828e94cd56f13e2484ab994f7e17e1fb8ce1e0518eb23853cf(
1703
+ value: builtins.str,
1704
+ ) -> None:
1705
+ """Type checking stubs"""
1706
+ pass
1707
+
1708
+ def _typecheckingstub__89531f65574302c5ac9ea674da6b36a9b39096ba5050cb8e7e2a0da2b5d03e67(
1709
+ value: typing.List[builtins.str],
1710
+ ) -> None:
1711
+ """Type checking stubs"""
1712
+ pass
1713
+
1714
+ def _typecheckingstub__d5f84ae06950218222a75646d0393c6dc744540c903f93356dc4cc8b58b9454b(
1715
+ value: builtins.str,
1716
+ ) -> None:
1717
+ """Type checking stubs"""
1718
+ pass
1719
+
1720
+ def _typecheckingstub__9c9ba9ceb13f4bbb20d1fdcbc4db9f3bbd193000353fb7d213848faaf0dacf8d(
1721
+ value: typing.Optional[builtins.str],
1722
+ ) -> None:
1723
+ """Type checking stubs"""
1724
+ pass
1725
+
1726
+ def _typecheckingstub__0862e7de7e4f6b1de2036652d175c4ef1949f04dadc360833e7e4899191d6fea(
1727
+ *,
1728
+ reason: builtins.str,
1729
+ status: builtins.str,
1730
+ ) -> None:
1731
+ """Type checking stubs"""
1732
+ pass
1733
+
1734
+ def _typecheckingstub__9518b7cf584ffb7ba5a4fb79f7584397ea33a005b8aebaa07c3bc5e5dc33bddb(
1735
+ *,
1736
+ event_type: builtins.str,
1737
+ notification_configuration_arn: builtins.str,
1738
+ regions: typing.Sequence[builtins.str],
1739
+ source: builtins.str,
1740
+ event_pattern: typing.Optional[builtins.str] = None,
1741
+ ) -> None:
1742
+ """Type checking stubs"""
1743
+ pass
1744
+
1745
+ def _typecheckingstub__96181d9832ab883e4a967003ef3b840ed10f8d410e4b8ceaf721368c4c5a02c5(
1746
+ scope: _constructs_77d1e7e8.Construct,
1747
+ id: builtins.str,
1748
+ *,
1749
+ contact_identifier: builtins.str,
1750
+ managed_notification_configuration_arn: builtins.str,
1751
+ ) -> None:
1752
+ """Type checking stubs"""
1753
+ pass
1754
+
1755
+ def _typecheckingstub__1e73fa971227b1056e5bdcd4163fefc79baa11c9eed51c86f5d29a3bad3f50bf(
1756
+ inspector: _TreeInspector_488e0dd5,
1757
+ ) -> None:
1758
+ """Type checking stubs"""
1759
+ pass
1760
+
1761
+ def _typecheckingstub__de22b92704255b6e9b389d8f1530aceab75300d39a63f9c91fd889e615c93935(
1762
+ props: typing.Mapping[builtins.str, typing.Any],
1763
+ ) -> None:
1764
+ """Type checking stubs"""
1765
+ pass
1766
+
1767
+ def _typecheckingstub__7f2864c82adf8222b71008a7a43d8ab7d77f3e9d371a6bd3a63ef3451fafcb60(
1768
+ value: builtins.str,
1769
+ ) -> None:
1770
+ """Type checking stubs"""
1771
+ pass
1772
+
1773
+ def _typecheckingstub__723689b4f7e0ee73e180c6e8b0a172092e4905133e6f8e7994d8a793b8c63e79(
1774
+ value: builtins.str,
1775
+ ) -> None:
1776
+ """Type checking stubs"""
1777
+ pass
1778
+
1779
+ def _typecheckingstub__4ba701ff30108b1aeca6e33e95e36c02bce0446db03324798ed5b79a966800cc(
1780
+ *,
1781
+ contact_identifier: builtins.str,
1782
+ managed_notification_configuration_arn: builtins.str,
1783
+ ) -> None:
1784
+ """Type checking stubs"""
1785
+ pass
1786
+
1787
+ def _typecheckingstub__1ca734986c83660130935052d366897b8c8be9a3097eeb3e4d8a8e55d157be14(
1788
+ scope: _constructs_77d1e7e8.Construct,
1789
+ id: builtins.str,
1790
+ *,
1791
+ channel_arn: builtins.str,
1792
+ managed_notification_configuration_arn: builtins.str,
1793
+ ) -> None:
1794
+ """Type checking stubs"""
1795
+ pass
1796
+
1797
+ def _typecheckingstub__4e28e0910e1ca8649c67a2f410907337d1630631c5619cb29f1f8aea6b44f1ae(
1798
+ inspector: _TreeInspector_488e0dd5,
1799
+ ) -> None:
1800
+ """Type checking stubs"""
1801
+ pass
1802
+
1803
+ def _typecheckingstub__a2506d928b82af9fe5027dc3a3d36bec7429236e90e696056589e09d98371bdf(
1804
+ props: typing.Mapping[builtins.str, typing.Any],
1805
+ ) -> None:
1806
+ """Type checking stubs"""
1807
+ pass
1808
+
1809
+ def _typecheckingstub__ae2aafbc82a652d2ce3c5194be413585028b15cdada72b53c5ecf469375ef2a9(
1810
+ value: builtins.str,
1811
+ ) -> None:
1812
+ """Type checking stubs"""
1813
+ pass
1814
+
1815
+ def _typecheckingstub__3420dbc2928b8b5bd017053f781f8eb1c6893c1b43a27f7854a5dbeb64b60445(
1816
+ value: builtins.str,
1817
+ ) -> None:
1818
+ """Type checking stubs"""
1819
+ pass
1820
+
1821
+ def _typecheckingstub__63600091503bee10f7ba2c01f3247b370b8b2bca175e1cc3db1e6800e18fedd9(
1822
+ *,
1823
+ channel_arn: builtins.str,
1824
+ managed_notification_configuration_arn: builtins.str,
1825
+ ) -> None:
1826
+ """Type checking stubs"""
1827
+ pass
1828
+
1829
+ def _typecheckingstub__e5a1cf31f790937b5967ad78a42e8a6c98b04b21643bfcdd379cabb7f43b17f1(
1830
+ scope: _constructs_77d1e7e8.Construct,
1831
+ id: builtins.str,
1832
+ *,
1833
+ description: builtins.str,
1834
+ name: builtins.str,
1835
+ aggregation_duration: typing.Optional[builtins.str] = None,
1836
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1837
+ ) -> None:
1838
+ """Type checking stubs"""
1839
+ pass
1840
+
1841
+ def _typecheckingstub__99c4c6bcfdad64190a4b003dd211cb1c28e0aed4b082d0cef3b986b4d46b4d0d(
1842
+ inspector: _TreeInspector_488e0dd5,
1843
+ ) -> None:
1844
+ """Type checking stubs"""
1845
+ pass
1846
+
1847
+ def _typecheckingstub__ed80b7239a03619bfe17128260c1ef875a0004bef6f44982a06bac0ca7dd24dd(
1848
+ props: typing.Mapping[builtins.str, typing.Any],
1849
+ ) -> None:
1850
+ """Type checking stubs"""
1851
+ pass
1852
+
1853
+ def _typecheckingstub__3b56129db1bc5e2b088f2e953b3a5cadd65fbae6a6d2e9bff79548baba4e1c65(
1854
+ value: builtins.str,
1855
+ ) -> None:
1856
+ """Type checking stubs"""
1857
+ pass
1858
+
1859
+ def _typecheckingstub__71e66aa92e41cd8989cfdac8332aacd83371fe96d00b1cfb8e4f8f6c74bdeefc(
1860
+ value: builtins.str,
1861
+ ) -> None:
1862
+ """Type checking stubs"""
1863
+ pass
1864
+
1865
+ def _typecheckingstub__ce9aa4a245c055d6b2e72d9ea7585d89b52c50836000693cef5f09365372734c(
1866
+ value: typing.Optional[builtins.str],
1867
+ ) -> None:
1868
+ """Type checking stubs"""
1869
+ pass
1870
+
1871
+ def _typecheckingstub__d80fd02377dda29814fae801cf32c8200e2aa5b9ff4b7440916ad6d4efbeb00b(
1872
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1873
+ ) -> None:
1874
+ """Type checking stubs"""
1875
+ pass
1876
+
1877
+ def _typecheckingstub__2533f954a13ead8ba0e86dbad3d4401450ff85451a17c80b370344cb112ae478(
1878
+ *,
1879
+ description: builtins.str,
1880
+ name: builtins.str,
1881
+ aggregation_duration: typing.Optional[builtins.str] = None,
1882
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1883
+ ) -> None:
1884
+ """Type checking stubs"""
1885
+ pass
1886
+
1887
+ def _typecheckingstub__68d72929c95357a15821df7d24b28076913c2c16ae8caa651de92ab7110ee545(
1888
+ scope: _constructs_77d1e7e8.Construct,
1889
+ id: builtins.str,
1890
+ *,
1891
+ region: builtins.str,
1892
+ ) -> None:
1893
+ """Type checking stubs"""
1894
+ pass
1895
+
1896
+ def _typecheckingstub__567dd116772fd10bcdaf956ec536dc5810b4f3cc3f16ccd9a9d86db8519bb2ad(
1897
+ inspector: _TreeInspector_488e0dd5,
1898
+ ) -> None:
1899
+ """Type checking stubs"""
1900
+ pass
1901
+
1902
+ def _typecheckingstub__8cdcacace93e52a000661ec6fb6dc815044c226939c4984a920cbeabbad2c65d(
1903
+ props: typing.Mapping[builtins.str, typing.Any],
1904
+ ) -> None:
1905
+ """Type checking stubs"""
1906
+ pass
1907
+
1908
+ def _typecheckingstub__865411d5534fe323b415ed4cf0f3a74893e03d33d1ae33e8d515a71e49d41f82(
1909
+ value: builtins.str,
1910
+ ) -> None:
1911
+ """Type checking stubs"""
1912
+ pass
1913
+
1914
+ def _typecheckingstub__8aa8a0cc3749f69e28b77cefd47fc05557b9a1869a97350b92cdcb9f3438b543(
1915
+ *,
1916
+ notification_hub_status: builtins.str,
1917
+ notification_hub_status_reason: builtins.str,
1918
+ ) -> None:
1919
+ """Type checking stubs"""
1920
+ pass
1921
+
1922
+ def _typecheckingstub__920924baa84f6463cdd237bcaa739a631a79dad627c4370064c68f1de8c3c630(
1923
+ *,
1924
+ region: builtins.str,
1925
+ ) -> None:
1926
+ """Type checking stubs"""
1927
+ pass