aws-cdk-lib 2.202.0__py3-none-any.whl → 2.203.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 (62) hide show
  1. aws_cdk/__init__.py +46 -47
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.202.0.jsii.tgz → aws-cdk-lib@2.203.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +310 -4
  5. aws_cdk/aws_aiops/__init__.py +964 -0
  6. aws_cdk/aws_amplify/__init__.py +127 -0
  7. aws_cdk/aws_arczonalshift/__init__.py +8 -8
  8. aws_cdk/aws_b2bi/__init__.py +782 -3
  9. aws_cdk/aws_backup/__init__.py +22 -0
  10. aws_cdk/aws_batch/__init__.py +53 -1
  11. aws_cdk/aws_bedrock/__init__.py +123 -9
  12. aws_cdk/aws_cleanrooms/__init__.py +157 -154
  13. aws_cdk/aws_cloudformation/__init__.py +28 -28
  14. aws_cdk/aws_cloudfront/__init__.py +61 -18
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +37 -3
  16. aws_cdk/aws_cloudwatch/__init__.py +228 -2
  17. aws_cdk/aws_connect/__init__.py +120 -8
  18. aws_cdk/aws_connectcampaignsv2/__init__.py +25 -4
  19. aws_cdk/aws_customerprofiles/__init__.py +140 -20
  20. aws_cdk/aws_datazone/__init__.py +23 -4
  21. aws_cdk/aws_deadline/__init__.py +4 -4
  22. aws_cdk/aws_dsql/__init__.py +148 -0
  23. aws_cdk/aws_ec2/__init__.py +159 -7
  24. aws_cdk/aws_ecr/__init__.py +3 -3
  25. aws_cdk/aws_ecs/__init__.py +48 -13
  26. aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -2
  27. aws_cdk/aws_emrserverless/__init__.py +118 -0
  28. aws_cdk/aws_fsx/__init__.py +891 -0
  29. aws_cdk/aws_iam/__init__.py +8 -8
  30. aws_cdk/aws_inspectorv2/__init__.py +442 -3
  31. aws_cdk/aws_kendra/__init__.py +10 -5
  32. aws_cdk/aws_kms/__init__.py +14 -8
  33. aws_cdk/aws_lambda/__init__.py +191 -24
  34. aws_cdk/aws_lambda_nodejs/__init__.py +37 -3
  35. aws_cdk/aws_lex/__init__.py +703 -0
  36. aws_cdk/aws_logs/__init__.py +144 -0
  37. aws_cdk/aws_mediatailor/__init__.py +399 -0
  38. aws_cdk/aws_mpa/__init__.py +1475 -0
  39. aws_cdk/aws_networkfirewall/__init__.py +4 -2
  40. aws_cdk/aws_networkmanager/__init__.py +51 -3
  41. aws_cdk/aws_opsworkscm/__init__.py +44 -2
  42. aws_cdk/aws_rds/__init__.py +171 -41
  43. aws_cdk/aws_redshiftserverless/__init__.py +632 -0
  44. aws_cdk/aws_route53resolver/__init__.py +58 -10
  45. aws_cdk/aws_s3/__init__.py +3 -1
  46. aws_cdk/aws_s3tables/__init__.py +230 -0
  47. aws_cdk/aws_sagemaker/__init__.py +6 -2
  48. aws_cdk/aws_securityhub/__init__.py +2887 -56
  49. aws_cdk/aws_synthetics/__init__.py +21 -0
  50. aws_cdk/aws_vpclattice/__init__.py +6 -4
  51. aws_cdk/aws_wafv2/__init__.py +156 -51
  52. aws_cdk/aws_workspacesinstances/__init__.py +3243 -0
  53. aws_cdk/cloud_assembly_schema/__init__.py +200 -4
  54. aws_cdk/cx_api/__init__.py +15 -14
  55. aws_cdk/pipelines/__init__.py +31 -3
  56. aws_cdk/triggers/__init__.py +41 -4
  57. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/RECORD +62 -59
  59. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,964 @@
1
+ r'''
2
+ # AWS::AIOps 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_aiops as aiops
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 AIOps construct libraries](https://constructs.dev/search?q=aiops)
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::AIOps resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AIOps.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::AIOps](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AIOps.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, _ITaggableV2_4e6798f8)
83
+ class CfnInvestigationGroup(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_aiops.CfnInvestigationGroup",
87
+ ):
88
+ '''Definition of AWS::AIOps::InvestigationGroup Resource Type.
89
+
90
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html
91
+ :cloudformationResource: AWS::AIOps::InvestigationGroup
92
+ :exampleMetadata: fixture=_generated
93
+
94
+ Example::
95
+
96
+ # The code below shows an example of how to instantiate this type.
97
+ # The values are placeholders you should change.
98
+ from aws_cdk import aws_aiops as aiops
99
+
100
+ cfn_investigation_group = aiops.CfnInvestigationGroup(self, "MyCfnInvestigationGroup",
101
+ name="name",
102
+
103
+ # the properties below are optional
104
+ chatbot_notification_channels=[aiops.CfnInvestigationGroup.ChatbotNotificationChannelProperty(
105
+ chat_configuration_arns=["chatConfigurationArns"],
106
+ sns_topic_arn="snsTopicArn"
107
+ )],
108
+ cross_account_configurations=[aiops.CfnInvestigationGroup.CrossAccountConfigurationProperty(
109
+ source_role_arn="sourceRoleArn"
110
+ )],
111
+ encryption_config=aiops.CfnInvestigationGroup.EncryptionConfigMapProperty(
112
+ encryption_configuration_type="encryptionConfigurationType",
113
+ kms_key_id="kmsKeyId"
114
+ ),
115
+ investigation_group_policy="investigationGroupPolicy",
116
+ is_cloud_trail_event_history_enabled=False,
117
+ retention_in_days=123,
118
+ role_arn="roleArn",
119
+ tag_key_boundaries=["tagKeyBoundaries"],
120
+ tags=[CfnTag(
121
+ key="key",
122
+ value="value"
123
+ )]
124
+ )
125
+ '''
126
+
127
+ def __init__(
128
+ self,
129
+ scope: _constructs_77d1e7e8.Construct,
130
+ id: builtins.str,
131
+ *,
132
+ name: builtins.str,
133
+ chatbot_notification_channels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInvestigationGroup.ChatbotNotificationChannelProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
134
+ cross_account_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInvestigationGroup.CrossAccountConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
135
+ encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInvestigationGroup.EncryptionConfigMapProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
136
+ investigation_group_policy: typing.Optional[builtins.str] = None,
137
+ is_cloud_trail_event_history_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
138
+ retention_in_days: typing.Optional[jsii.Number] = None,
139
+ role_arn: typing.Optional[builtins.str] = None,
140
+ tag_key_boundaries: typing.Optional[typing.Sequence[builtins.str]] = None,
141
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
142
+ ) -> None:
143
+ '''
144
+ :param scope: Scope in which this resource is defined.
145
+ :param id: Construct identifier for this resource (unique in its scope).
146
+ :param name: User friendly name for resources.
147
+ :param chatbot_notification_channels: An array of key-value pairs of notification channels to apply to this resource.
148
+ :param cross_account_configurations: An array of cross account configurations.
149
+ :param encryption_config:
150
+ :param investigation_group_policy: Investigation Group policy.
151
+ :param is_cloud_trail_event_history_enabled: Flag to enable cloud trail history.
152
+ :param retention_in_days: The number of days to retain the investigation group.
153
+ :param role_arn: The Investigation Role's ARN.
154
+ :param tag_key_boundaries:
155
+ :param tags: An array of key-value pairs to apply to this resource.
156
+ '''
157
+ if __debug__:
158
+ type_hints = typing.get_type_hints(_typecheckingstub__f390e65acdf4efe0289b1b8e5f17c031f7a88a13963effed34b7d4944b31dd7e)
159
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
160
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
161
+ props = CfnInvestigationGroupProps(
162
+ name=name,
163
+ chatbot_notification_channels=chatbot_notification_channels,
164
+ cross_account_configurations=cross_account_configurations,
165
+ encryption_config=encryption_config,
166
+ investigation_group_policy=investigation_group_policy,
167
+ is_cloud_trail_event_history_enabled=is_cloud_trail_event_history_enabled,
168
+ retention_in_days=retention_in_days,
169
+ role_arn=role_arn,
170
+ tag_key_boundaries=tag_key_boundaries,
171
+ tags=tags,
172
+ )
173
+
174
+ jsii.create(self.__class__, self, [scope, id, props])
175
+
176
+ @jsii.member(jsii_name="inspect")
177
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
178
+ '''Examines the CloudFormation resource and discloses attributes.
179
+
180
+ :param inspector: tree inspector to collect and process attributes.
181
+ '''
182
+ if __debug__:
183
+ type_hints = typing.get_type_hints(_typecheckingstub__a532233685b19239d88980a7d9b4a8384450db2dc5593ebca70b4c1bca8faf14)
184
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
185
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
186
+
187
+ @jsii.member(jsii_name="renderProperties")
188
+ def _render_properties(
189
+ self,
190
+ props: typing.Mapping[builtins.str, typing.Any],
191
+ ) -> typing.Mapping[builtins.str, typing.Any]:
192
+ '''
193
+ :param props: -
194
+ '''
195
+ if __debug__:
196
+ type_hints = typing.get_type_hints(_typecheckingstub__ada159a27791012fd3d77245257dddda16f3719a8e4bd5e53e293ff27dceacb7)
197
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
198
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
199
+
200
+ @jsii.python.classproperty
201
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
202
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
203
+ '''The CloudFormation resource type name for this resource class.'''
204
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
205
+
206
+ @builtins.property
207
+ @jsii.member(jsii_name="attrArn")
208
+ def attr_arn(self) -> builtins.str:
209
+ '''The Investigation Group's ARN.
210
+
211
+ :cloudformationAttribute: Arn
212
+ '''
213
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
214
+
215
+ @builtins.property
216
+ @jsii.member(jsii_name="attrCreatedAt")
217
+ def attr_created_at(self) -> builtins.str:
218
+ '''The timestamp value.
219
+
220
+ :cloudformationAttribute: CreatedAt
221
+ '''
222
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
223
+
224
+ @builtins.property
225
+ @jsii.member(jsii_name="attrCreatedBy")
226
+ def attr_created_by(self) -> builtins.str:
227
+ '''User friendly name for resources.
228
+
229
+ :cloudformationAttribute: CreatedBy
230
+ '''
231
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedBy"))
232
+
233
+ @builtins.property
234
+ @jsii.member(jsii_name="attrLastModifiedAt")
235
+ def attr_last_modified_at(self) -> builtins.str:
236
+ '''User friendly name for resources.
237
+
238
+ :cloudformationAttribute: LastModifiedAt
239
+ '''
240
+ return typing.cast(builtins.str, jsii.get(self, "attrLastModifiedAt"))
241
+
242
+ @builtins.property
243
+ @jsii.member(jsii_name="attrLastModifiedBy")
244
+ def attr_last_modified_by(self) -> builtins.str:
245
+ '''User friendly name for resources.
246
+
247
+ :cloudformationAttribute: LastModifiedBy
248
+ '''
249
+ return typing.cast(builtins.str, jsii.get(self, "attrLastModifiedBy"))
250
+
251
+ @builtins.property
252
+ @jsii.member(jsii_name="cdkTagManager")
253
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
254
+ '''Tag Manager which manages the tags for this resource.'''
255
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
256
+
257
+ @builtins.property
258
+ @jsii.member(jsii_name="cfnProperties")
259
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
260
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
261
+
262
+ @builtins.property
263
+ @jsii.member(jsii_name="name")
264
+ def name(self) -> builtins.str:
265
+ '''User friendly name for resources.'''
266
+ return typing.cast(builtins.str, jsii.get(self, "name"))
267
+
268
+ @name.setter
269
+ def name(self, value: builtins.str) -> None:
270
+ if __debug__:
271
+ type_hints = typing.get_type_hints(_typecheckingstub__68d7a3472d5ddc810dbc073636686c470b0fe6568b144fc7473b578e828715b5)
272
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
273
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
274
+
275
+ @builtins.property
276
+ @jsii.member(jsii_name="chatbotNotificationChannels")
277
+ def chatbot_notification_channels(
278
+ self,
279
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.ChatbotNotificationChannelProperty"]]]]:
280
+ '''An array of key-value pairs of notification channels to apply to this resource.'''
281
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.ChatbotNotificationChannelProperty"]]]], jsii.get(self, "chatbotNotificationChannels"))
282
+
283
+ @chatbot_notification_channels.setter
284
+ def chatbot_notification_channels(
285
+ self,
286
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.ChatbotNotificationChannelProperty"]]]],
287
+ ) -> None:
288
+ if __debug__:
289
+ type_hints = typing.get_type_hints(_typecheckingstub__5db4331534a87e764a8534aad930983f78144efc39dc99f450b39b9adabfe898)
290
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
291
+ jsii.set(self, "chatbotNotificationChannels", value) # pyright: ignore[reportArgumentType]
292
+
293
+ @builtins.property
294
+ @jsii.member(jsii_name="crossAccountConfigurations")
295
+ def cross_account_configurations(
296
+ self,
297
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.CrossAccountConfigurationProperty"]]]]:
298
+ '''An array of cross account configurations.'''
299
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.CrossAccountConfigurationProperty"]]]], jsii.get(self, "crossAccountConfigurations"))
300
+
301
+ @cross_account_configurations.setter
302
+ def cross_account_configurations(
303
+ self,
304
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.CrossAccountConfigurationProperty"]]]],
305
+ ) -> None:
306
+ if __debug__:
307
+ type_hints = typing.get_type_hints(_typecheckingstub__cab3f68c7637d356559913c4b9be139738c64bd676003ea2810dd4ddafef47e5)
308
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
309
+ jsii.set(self, "crossAccountConfigurations", value) # pyright: ignore[reportArgumentType]
310
+
311
+ @builtins.property
312
+ @jsii.member(jsii_name="encryptionConfig")
313
+ def encryption_config(
314
+ self,
315
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.EncryptionConfigMapProperty"]]:
316
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.EncryptionConfigMapProperty"]], jsii.get(self, "encryptionConfig"))
317
+
318
+ @encryption_config.setter
319
+ def encryption_config(
320
+ self,
321
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInvestigationGroup.EncryptionConfigMapProperty"]],
322
+ ) -> None:
323
+ if __debug__:
324
+ type_hints = typing.get_type_hints(_typecheckingstub__7f51c34e4f09d967ae3c411a2743d3d857ce2c925f1d1b67c9152dd736522694)
325
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
326
+ jsii.set(self, "encryptionConfig", value) # pyright: ignore[reportArgumentType]
327
+
328
+ @builtins.property
329
+ @jsii.member(jsii_name="investigationGroupPolicy")
330
+ def investigation_group_policy(self) -> typing.Optional[builtins.str]:
331
+ '''Investigation Group policy.'''
332
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "investigationGroupPolicy"))
333
+
334
+ @investigation_group_policy.setter
335
+ def investigation_group_policy(self, value: typing.Optional[builtins.str]) -> None:
336
+ if __debug__:
337
+ type_hints = typing.get_type_hints(_typecheckingstub__a878340860e2c35de4d03b82df1e97245d5f40120fa110076a32f436fd31ddaf)
338
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
339
+ jsii.set(self, "investigationGroupPolicy", value) # pyright: ignore[reportArgumentType]
340
+
341
+ @builtins.property
342
+ @jsii.member(jsii_name="isCloudTrailEventHistoryEnabled")
343
+ def is_cloud_trail_event_history_enabled(
344
+ self,
345
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
346
+ '''Flag to enable cloud trail history.'''
347
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "isCloudTrailEventHistoryEnabled"))
348
+
349
+ @is_cloud_trail_event_history_enabled.setter
350
+ def is_cloud_trail_event_history_enabled(
351
+ self,
352
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
353
+ ) -> None:
354
+ if __debug__:
355
+ type_hints = typing.get_type_hints(_typecheckingstub__8fc3a119f870dceec4d1a3ba5b4f84971973ad9c990d3aa7c5bb5e2ff0005cba)
356
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
357
+ jsii.set(self, "isCloudTrailEventHistoryEnabled", value) # pyright: ignore[reportArgumentType]
358
+
359
+ @builtins.property
360
+ @jsii.member(jsii_name="retentionInDays")
361
+ def retention_in_days(self) -> typing.Optional[jsii.Number]:
362
+ '''The number of days to retain the investigation group.'''
363
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "retentionInDays"))
364
+
365
+ @retention_in_days.setter
366
+ def retention_in_days(self, value: typing.Optional[jsii.Number]) -> None:
367
+ if __debug__:
368
+ type_hints = typing.get_type_hints(_typecheckingstub__fb70ecd162c324b07d0ae455e2881185c11d02912ce9513cd8fd61e7de3c054c)
369
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
370
+ jsii.set(self, "retentionInDays", value) # pyright: ignore[reportArgumentType]
371
+
372
+ @builtins.property
373
+ @jsii.member(jsii_name="roleArn")
374
+ def role_arn(self) -> typing.Optional[builtins.str]:
375
+ '''The Investigation Role's ARN.'''
376
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "roleArn"))
377
+
378
+ @role_arn.setter
379
+ def role_arn(self, value: typing.Optional[builtins.str]) -> None:
380
+ if __debug__:
381
+ type_hints = typing.get_type_hints(_typecheckingstub__c3eb82bc9999595315778658f89b708e57ad701088d012c3391ce1a4e6721195)
382
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
383
+ jsii.set(self, "roleArn", value) # pyright: ignore[reportArgumentType]
384
+
385
+ @builtins.property
386
+ @jsii.member(jsii_name="tagKeyBoundaries")
387
+ def tag_key_boundaries(self) -> typing.Optional[typing.List[builtins.str]]:
388
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "tagKeyBoundaries"))
389
+
390
+ @tag_key_boundaries.setter
391
+ def tag_key_boundaries(
392
+ self,
393
+ value: typing.Optional[typing.List[builtins.str]],
394
+ ) -> None:
395
+ if __debug__:
396
+ type_hints = typing.get_type_hints(_typecheckingstub__847e58d896c672f6db334949abc5da531a40f943b791ff6c76da0751ee7be4ea)
397
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
398
+ jsii.set(self, "tagKeyBoundaries", value) # pyright: ignore[reportArgumentType]
399
+
400
+ @builtins.property
401
+ @jsii.member(jsii_name="tags")
402
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
403
+ '''An array of key-value pairs to apply to this resource.'''
404
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
405
+
406
+ @tags.setter
407
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
408
+ if __debug__:
409
+ type_hints = typing.get_type_hints(_typecheckingstub__58e4b2d8c71fc2670bc24a5f274e0134fae9ffd7aeca95db0fed9e2d974499f7)
410
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
411
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
412
+
413
+ @jsii.data_type(
414
+ jsii_type="aws-cdk-lib.aws_aiops.CfnInvestigationGroup.ChatbotNotificationChannelProperty",
415
+ jsii_struct_bases=[],
416
+ name_mapping={
417
+ "chat_configuration_arns": "chatConfigurationArns",
418
+ "sns_topic_arn": "snsTopicArn",
419
+ },
420
+ )
421
+ class ChatbotNotificationChannelProperty:
422
+ def __init__(
423
+ self,
424
+ *,
425
+ chat_configuration_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
426
+ sns_topic_arn: typing.Optional[builtins.str] = None,
427
+ ) -> None:
428
+ '''
429
+ :param chat_configuration_arns:
430
+ :param sns_topic_arn:
431
+
432
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-chatbotnotificationchannel.html
433
+ :exampleMetadata: fixture=_generated
434
+
435
+ Example::
436
+
437
+ # The code below shows an example of how to instantiate this type.
438
+ # The values are placeholders you should change.
439
+ from aws_cdk import aws_aiops as aiops
440
+
441
+ chatbot_notification_channel_property = aiops.CfnInvestigationGroup.ChatbotNotificationChannelProperty(
442
+ chat_configuration_arns=["chatConfigurationArns"],
443
+ sns_topic_arn="snsTopicArn"
444
+ )
445
+ '''
446
+ if __debug__:
447
+ type_hints = typing.get_type_hints(_typecheckingstub__d67ba65a7634fe2bf96859c6a05258a6565faf2372426edac2b3d876dc0b9a61)
448
+ check_type(argname="argument chat_configuration_arns", value=chat_configuration_arns, expected_type=type_hints["chat_configuration_arns"])
449
+ check_type(argname="argument sns_topic_arn", value=sns_topic_arn, expected_type=type_hints["sns_topic_arn"])
450
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
451
+ if chat_configuration_arns is not None:
452
+ self._values["chat_configuration_arns"] = chat_configuration_arns
453
+ if sns_topic_arn is not None:
454
+ self._values["sns_topic_arn"] = sns_topic_arn
455
+
456
+ @builtins.property
457
+ def chat_configuration_arns(self) -> typing.Optional[typing.List[builtins.str]]:
458
+ '''
459
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-chatbotnotificationchannel.html#cfn-aiops-investigationgroup-chatbotnotificationchannel-chatconfigurationarns
460
+ '''
461
+ result = self._values.get("chat_configuration_arns")
462
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
463
+
464
+ @builtins.property
465
+ def sns_topic_arn(self) -> typing.Optional[builtins.str]:
466
+ '''
467
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-chatbotnotificationchannel.html#cfn-aiops-investigationgroup-chatbotnotificationchannel-snstopicarn
468
+ '''
469
+ result = self._values.get("sns_topic_arn")
470
+ return typing.cast(typing.Optional[builtins.str], result)
471
+
472
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
473
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
474
+
475
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
476
+ return not (rhs == self)
477
+
478
+ def __repr__(self) -> str:
479
+ return "ChatbotNotificationChannelProperty(%s)" % ", ".join(
480
+ k + "=" + repr(v) for k, v in self._values.items()
481
+ )
482
+
483
+ @jsii.data_type(
484
+ jsii_type="aws-cdk-lib.aws_aiops.CfnInvestigationGroup.CrossAccountConfigurationProperty",
485
+ jsii_struct_bases=[],
486
+ name_mapping={"source_role_arn": "sourceRoleArn"},
487
+ )
488
+ class CrossAccountConfigurationProperty:
489
+ def __init__(
490
+ self,
491
+ *,
492
+ source_role_arn: typing.Optional[builtins.str] = None,
493
+ ) -> None:
494
+ '''
495
+ :param source_role_arn: The Investigation Role's ARN.
496
+
497
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-crossaccountconfiguration.html
498
+ :exampleMetadata: fixture=_generated
499
+
500
+ Example::
501
+
502
+ # The code below shows an example of how to instantiate this type.
503
+ # The values are placeholders you should change.
504
+ from aws_cdk import aws_aiops as aiops
505
+
506
+ cross_account_configuration_property = aiops.CfnInvestigationGroup.CrossAccountConfigurationProperty(
507
+ source_role_arn="sourceRoleArn"
508
+ )
509
+ '''
510
+ if __debug__:
511
+ type_hints = typing.get_type_hints(_typecheckingstub__686ab8dd38f6db168aebbeef0e137fd1f90381f42a12046db10e4ba4ac3a3e3f)
512
+ check_type(argname="argument source_role_arn", value=source_role_arn, expected_type=type_hints["source_role_arn"])
513
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
514
+ if source_role_arn is not None:
515
+ self._values["source_role_arn"] = source_role_arn
516
+
517
+ @builtins.property
518
+ def source_role_arn(self) -> typing.Optional[builtins.str]:
519
+ '''The Investigation Role's ARN.
520
+
521
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-crossaccountconfiguration.html#cfn-aiops-investigationgroup-crossaccountconfiguration-sourcerolearn
522
+ '''
523
+ result = self._values.get("source_role_arn")
524
+ return typing.cast(typing.Optional[builtins.str], result)
525
+
526
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
527
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
528
+
529
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
530
+ return not (rhs == self)
531
+
532
+ def __repr__(self) -> str:
533
+ return "CrossAccountConfigurationProperty(%s)" % ", ".join(
534
+ k + "=" + repr(v) for k, v in self._values.items()
535
+ )
536
+
537
+ @jsii.data_type(
538
+ jsii_type="aws-cdk-lib.aws_aiops.CfnInvestigationGroup.EncryptionConfigMapProperty",
539
+ jsii_struct_bases=[],
540
+ name_mapping={
541
+ "encryption_configuration_type": "encryptionConfigurationType",
542
+ "kms_key_id": "kmsKeyId",
543
+ },
544
+ )
545
+ class EncryptionConfigMapProperty:
546
+ def __init__(
547
+ self,
548
+ *,
549
+ encryption_configuration_type: typing.Optional[builtins.str] = None,
550
+ kms_key_id: typing.Optional[builtins.str] = None,
551
+ ) -> None:
552
+ '''
553
+ :param encryption_configuration_type:
554
+ :param kms_key_id:
555
+
556
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-encryptionconfigmap.html
557
+ :exampleMetadata: fixture=_generated
558
+
559
+ Example::
560
+
561
+ # The code below shows an example of how to instantiate this type.
562
+ # The values are placeholders you should change.
563
+ from aws_cdk import aws_aiops as aiops
564
+
565
+ encryption_config_map_property = aiops.CfnInvestigationGroup.EncryptionConfigMapProperty(
566
+ encryption_configuration_type="encryptionConfigurationType",
567
+ kms_key_id="kmsKeyId"
568
+ )
569
+ '''
570
+ if __debug__:
571
+ type_hints = typing.get_type_hints(_typecheckingstub__822047880bb03db9129836b4da0b735fe316364e02aa10f8c042ba4d22f3c20f)
572
+ check_type(argname="argument encryption_configuration_type", value=encryption_configuration_type, expected_type=type_hints["encryption_configuration_type"])
573
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
574
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
575
+ if encryption_configuration_type is not None:
576
+ self._values["encryption_configuration_type"] = encryption_configuration_type
577
+ if kms_key_id is not None:
578
+ self._values["kms_key_id"] = kms_key_id
579
+
580
+ @builtins.property
581
+ def encryption_configuration_type(self) -> typing.Optional[builtins.str]:
582
+ '''
583
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-encryptionconfigmap.html#cfn-aiops-investigationgroup-encryptionconfigmap-encryptionconfigurationtype
584
+ '''
585
+ result = self._values.get("encryption_configuration_type")
586
+ return typing.cast(typing.Optional[builtins.str], result)
587
+
588
+ @builtins.property
589
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
590
+ '''
591
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-encryptionconfigmap.html#cfn-aiops-investigationgroup-encryptionconfigmap-kmskeyid
592
+ '''
593
+ result = self._values.get("kms_key_id")
594
+ return typing.cast(typing.Optional[builtins.str], result)
595
+
596
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
597
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
598
+
599
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
600
+ return not (rhs == self)
601
+
602
+ def __repr__(self) -> str:
603
+ return "EncryptionConfigMapProperty(%s)" % ", ".join(
604
+ k + "=" + repr(v) for k, v in self._values.items()
605
+ )
606
+
607
+
608
+ @jsii.data_type(
609
+ jsii_type="aws-cdk-lib.aws_aiops.CfnInvestigationGroupProps",
610
+ jsii_struct_bases=[],
611
+ name_mapping={
612
+ "name": "name",
613
+ "chatbot_notification_channels": "chatbotNotificationChannels",
614
+ "cross_account_configurations": "crossAccountConfigurations",
615
+ "encryption_config": "encryptionConfig",
616
+ "investigation_group_policy": "investigationGroupPolicy",
617
+ "is_cloud_trail_event_history_enabled": "isCloudTrailEventHistoryEnabled",
618
+ "retention_in_days": "retentionInDays",
619
+ "role_arn": "roleArn",
620
+ "tag_key_boundaries": "tagKeyBoundaries",
621
+ "tags": "tags",
622
+ },
623
+ )
624
+ class CfnInvestigationGroupProps:
625
+ def __init__(
626
+ self,
627
+ *,
628
+ name: builtins.str,
629
+ chatbot_notification_channels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.ChatbotNotificationChannelProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
630
+ cross_account_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.CrossAccountConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
631
+ encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.EncryptionConfigMapProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
632
+ investigation_group_policy: typing.Optional[builtins.str] = None,
633
+ is_cloud_trail_event_history_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
634
+ retention_in_days: typing.Optional[jsii.Number] = None,
635
+ role_arn: typing.Optional[builtins.str] = None,
636
+ tag_key_boundaries: typing.Optional[typing.Sequence[builtins.str]] = None,
637
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
638
+ ) -> None:
639
+ '''Properties for defining a ``CfnInvestigationGroup``.
640
+
641
+ :param name: User friendly name for resources.
642
+ :param chatbot_notification_channels: An array of key-value pairs of notification channels to apply to this resource.
643
+ :param cross_account_configurations: An array of cross account configurations.
644
+ :param encryption_config:
645
+ :param investigation_group_policy: Investigation Group policy.
646
+ :param is_cloud_trail_event_history_enabled: Flag to enable cloud trail history.
647
+ :param retention_in_days: The number of days to retain the investigation group.
648
+ :param role_arn: The Investigation Role's ARN.
649
+ :param tag_key_boundaries:
650
+ :param tags: An array of key-value pairs to apply to this resource.
651
+
652
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html
653
+ :exampleMetadata: fixture=_generated
654
+
655
+ Example::
656
+
657
+ # The code below shows an example of how to instantiate this type.
658
+ # The values are placeholders you should change.
659
+ from aws_cdk import aws_aiops as aiops
660
+
661
+ cfn_investigation_group_props = aiops.CfnInvestigationGroupProps(
662
+ name="name",
663
+
664
+ # the properties below are optional
665
+ chatbot_notification_channels=[aiops.CfnInvestigationGroup.ChatbotNotificationChannelProperty(
666
+ chat_configuration_arns=["chatConfigurationArns"],
667
+ sns_topic_arn="snsTopicArn"
668
+ )],
669
+ cross_account_configurations=[aiops.CfnInvestigationGroup.CrossAccountConfigurationProperty(
670
+ source_role_arn="sourceRoleArn"
671
+ )],
672
+ encryption_config=aiops.CfnInvestigationGroup.EncryptionConfigMapProperty(
673
+ encryption_configuration_type="encryptionConfigurationType",
674
+ kms_key_id="kmsKeyId"
675
+ ),
676
+ investigation_group_policy="investigationGroupPolicy",
677
+ is_cloud_trail_event_history_enabled=False,
678
+ retention_in_days=123,
679
+ role_arn="roleArn",
680
+ tag_key_boundaries=["tagKeyBoundaries"],
681
+ tags=[CfnTag(
682
+ key="key",
683
+ value="value"
684
+ )]
685
+ )
686
+ '''
687
+ if __debug__:
688
+ type_hints = typing.get_type_hints(_typecheckingstub__2d8bd4c8e0b3c95e52387aa0647c4f184b5f07925a09f1e74881b8a0738d25a8)
689
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
690
+ check_type(argname="argument chatbot_notification_channels", value=chatbot_notification_channels, expected_type=type_hints["chatbot_notification_channels"])
691
+ check_type(argname="argument cross_account_configurations", value=cross_account_configurations, expected_type=type_hints["cross_account_configurations"])
692
+ check_type(argname="argument encryption_config", value=encryption_config, expected_type=type_hints["encryption_config"])
693
+ check_type(argname="argument investigation_group_policy", value=investigation_group_policy, expected_type=type_hints["investigation_group_policy"])
694
+ check_type(argname="argument is_cloud_trail_event_history_enabled", value=is_cloud_trail_event_history_enabled, expected_type=type_hints["is_cloud_trail_event_history_enabled"])
695
+ check_type(argname="argument retention_in_days", value=retention_in_days, expected_type=type_hints["retention_in_days"])
696
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
697
+ check_type(argname="argument tag_key_boundaries", value=tag_key_boundaries, expected_type=type_hints["tag_key_boundaries"])
698
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
699
+ self._values: typing.Dict[builtins.str, typing.Any] = {
700
+ "name": name,
701
+ }
702
+ if chatbot_notification_channels is not None:
703
+ self._values["chatbot_notification_channels"] = chatbot_notification_channels
704
+ if cross_account_configurations is not None:
705
+ self._values["cross_account_configurations"] = cross_account_configurations
706
+ if encryption_config is not None:
707
+ self._values["encryption_config"] = encryption_config
708
+ if investigation_group_policy is not None:
709
+ self._values["investigation_group_policy"] = investigation_group_policy
710
+ if is_cloud_trail_event_history_enabled is not None:
711
+ self._values["is_cloud_trail_event_history_enabled"] = is_cloud_trail_event_history_enabled
712
+ if retention_in_days is not None:
713
+ self._values["retention_in_days"] = retention_in_days
714
+ if role_arn is not None:
715
+ self._values["role_arn"] = role_arn
716
+ if tag_key_boundaries is not None:
717
+ self._values["tag_key_boundaries"] = tag_key_boundaries
718
+ if tags is not None:
719
+ self._values["tags"] = tags
720
+
721
+ @builtins.property
722
+ def name(self) -> builtins.str:
723
+ '''User friendly name for resources.
724
+
725
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-name
726
+ '''
727
+ result = self._values.get("name")
728
+ assert result is not None, "Required property 'name' is missing"
729
+ return typing.cast(builtins.str, result)
730
+
731
+ @builtins.property
732
+ def chatbot_notification_channels(
733
+ self,
734
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.ChatbotNotificationChannelProperty]]]]:
735
+ '''An array of key-value pairs of notification channels to apply to this resource.
736
+
737
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-chatbotnotificationchannels
738
+ '''
739
+ result = self._values.get("chatbot_notification_channels")
740
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.ChatbotNotificationChannelProperty]]]], result)
741
+
742
+ @builtins.property
743
+ def cross_account_configurations(
744
+ self,
745
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.CrossAccountConfigurationProperty]]]]:
746
+ '''An array of cross account configurations.
747
+
748
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-crossaccountconfigurations
749
+ '''
750
+ result = self._values.get("cross_account_configurations")
751
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.CrossAccountConfigurationProperty]]]], result)
752
+
753
+ @builtins.property
754
+ def encryption_config(
755
+ self,
756
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.EncryptionConfigMapProperty]]:
757
+ '''
758
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-encryptionconfig
759
+ '''
760
+ result = self._values.get("encryption_config")
761
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.EncryptionConfigMapProperty]], result)
762
+
763
+ @builtins.property
764
+ def investigation_group_policy(self) -> typing.Optional[builtins.str]:
765
+ '''Investigation Group policy.
766
+
767
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-investigationgrouppolicy
768
+ '''
769
+ result = self._values.get("investigation_group_policy")
770
+ return typing.cast(typing.Optional[builtins.str], result)
771
+
772
+ @builtins.property
773
+ def is_cloud_trail_event_history_enabled(
774
+ self,
775
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
776
+ '''Flag to enable cloud trail history.
777
+
778
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-iscloudtraileventhistoryenabled
779
+ '''
780
+ result = self._values.get("is_cloud_trail_event_history_enabled")
781
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
782
+
783
+ @builtins.property
784
+ def retention_in_days(self) -> typing.Optional[jsii.Number]:
785
+ '''The number of days to retain the investigation group.
786
+
787
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-retentionindays
788
+ '''
789
+ result = self._values.get("retention_in_days")
790
+ return typing.cast(typing.Optional[jsii.Number], result)
791
+
792
+ @builtins.property
793
+ def role_arn(self) -> typing.Optional[builtins.str]:
794
+ '''The Investigation Role's ARN.
795
+
796
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-rolearn
797
+ '''
798
+ result = self._values.get("role_arn")
799
+ return typing.cast(typing.Optional[builtins.str], result)
800
+
801
+ @builtins.property
802
+ def tag_key_boundaries(self) -> typing.Optional[typing.List[builtins.str]]:
803
+ '''
804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-tagkeyboundaries
805
+ '''
806
+ result = self._values.get("tag_key_boundaries")
807
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
808
+
809
+ @builtins.property
810
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
811
+ '''An array of key-value pairs to apply to this resource.
812
+
813
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-tags
814
+ '''
815
+ result = self._values.get("tags")
816
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
817
+
818
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
819
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
820
+
821
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
822
+ return not (rhs == self)
823
+
824
+ def __repr__(self) -> str:
825
+ return "CfnInvestigationGroupProps(%s)" % ", ".join(
826
+ k + "=" + repr(v) for k, v in self._values.items()
827
+ )
828
+
829
+
830
+ __all__ = [
831
+ "CfnInvestigationGroup",
832
+ "CfnInvestigationGroupProps",
833
+ ]
834
+
835
+ publication.publish()
836
+
837
+ def _typecheckingstub__f390e65acdf4efe0289b1b8e5f17c031f7a88a13963effed34b7d4944b31dd7e(
838
+ scope: _constructs_77d1e7e8.Construct,
839
+ id: builtins.str,
840
+ *,
841
+ name: builtins.str,
842
+ chatbot_notification_channels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.ChatbotNotificationChannelProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
843
+ cross_account_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.CrossAccountConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
844
+ encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.EncryptionConfigMapProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
845
+ investigation_group_policy: typing.Optional[builtins.str] = None,
846
+ is_cloud_trail_event_history_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
847
+ retention_in_days: typing.Optional[jsii.Number] = None,
848
+ role_arn: typing.Optional[builtins.str] = None,
849
+ tag_key_boundaries: typing.Optional[typing.Sequence[builtins.str]] = None,
850
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
851
+ ) -> None:
852
+ """Type checking stubs"""
853
+ pass
854
+
855
+ def _typecheckingstub__a532233685b19239d88980a7d9b4a8384450db2dc5593ebca70b4c1bca8faf14(
856
+ inspector: _TreeInspector_488e0dd5,
857
+ ) -> None:
858
+ """Type checking stubs"""
859
+ pass
860
+
861
+ def _typecheckingstub__ada159a27791012fd3d77245257dddda16f3719a8e4bd5e53e293ff27dceacb7(
862
+ props: typing.Mapping[builtins.str, typing.Any],
863
+ ) -> None:
864
+ """Type checking stubs"""
865
+ pass
866
+
867
+ def _typecheckingstub__68d7a3472d5ddc810dbc073636686c470b0fe6568b144fc7473b578e828715b5(
868
+ value: builtins.str,
869
+ ) -> None:
870
+ """Type checking stubs"""
871
+ pass
872
+
873
+ def _typecheckingstub__5db4331534a87e764a8534aad930983f78144efc39dc99f450b39b9adabfe898(
874
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.ChatbotNotificationChannelProperty]]]],
875
+ ) -> None:
876
+ """Type checking stubs"""
877
+ pass
878
+
879
+ def _typecheckingstub__cab3f68c7637d356559913c4b9be139738c64bd676003ea2810dd4ddafef47e5(
880
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.CrossAccountConfigurationProperty]]]],
881
+ ) -> None:
882
+ """Type checking stubs"""
883
+ pass
884
+
885
+ def _typecheckingstub__7f51c34e4f09d967ae3c411a2743d3d857ce2c925f1d1b67c9152dd736522694(
886
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInvestigationGroup.EncryptionConfigMapProperty]],
887
+ ) -> None:
888
+ """Type checking stubs"""
889
+ pass
890
+
891
+ def _typecheckingstub__a878340860e2c35de4d03b82df1e97245d5f40120fa110076a32f436fd31ddaf(
892
+ value: typing.Optional[builtins.str],
893
+ ) -> None:
894
+ """Type checking stubs"""
895
+ pass
896
+
897
+ def _typecheckingstub__8fc3a119f870dceec4d1a3ba5b4f84971973ad9c990d3aa7c5bb5e2ff0005cba(
898
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
899
+ ) -> None:
900
+ """Type checking stubs"""
901
+ pass
902
+
903
+ def _typecheckingstub__fb70ecd162c324b07d0ae455e2881185c11d02912ce9513cd8fd61e7de3c054c(
904
+ value: typing.Optional[jsii.Number],
905
+ ) -> None:
906
+ """Type checking stubs"""
907
+ pass
908
+
909
+ def _typecheckingstub__c3eb82bc9999595315778658f89b708e57ad701088d012c3391ce1a4e6721195(
910
+ value: typing.Optional[builtins.str],
911
+ ) -> None:
912
+ """Type checking stubs"""
913
+ pass
914
+
915
+ def _typecheckingstub__847e58d896c672f6db334949abc5da531a40f943b791ff6c76da0751ee7be4ea(
916
+ value: typing.Optional[typing.List[builtins.str]],
917
+ ) -> None:
918
+ """Type checking stubs"""
919
+ pass
920
+
921
+ def _typecheckingstub__58e4b2d8c71fc2670bc24a5f274e0134fae9ffd7aeca95db0fed9e2d974499f7(
922
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
923
+ ) -> None:
924
+ """Type checking stubs"""
925
+ pass
926
+
927
+ def _typecheckingstub__d67ba65a7634fe2bf96859c6a05258a6565faf2372426edac2b3d876dc0b9a61(
928
+ *,
929
+ chat_configuration_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
930
+ sns_topic_arn: typing.Optional[builtins.str] = None,
931
+ ) -> None:
932
+ """Type checking stubs"""
933
+ pass
934
+
935
+ def _typecheckingstub__686ab8dd38f6db168aebbeef0e137fd1f90381f42a12046db10e4ba4ac3a3e3f(
936
+ *,
937
+ source_role_arn: typing.Optional[builtins.str] = None,
938
+ ) -> None:
939
+ """Type checking stubs"""
940
+ pass
941
+
942
+ def _typecheckingstub__822047880bb03db9129836b4da0b735fe316364e02aa10f8c042ba4d22f3c20f(
943
+ *,
944
+ encryption_configuration_type: typing.Optional[builtins.str] = None,
945
+ kms_key_id: typing.Optional[builtins.str] = None,
946
+ ) -> None:
947
+ """Type checking stubs"""
948
+ pass
949
+
950
+ def _typecheckingstub__2d8bd4c8e0b3c95e52387aa0647c4f184b5f07925a09f1e74881b8a0738d25a8(
951
+ *,
952
+ name: builtins.str,
953
+ chatbot_notification_channels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.ChatbotNotificationChannelProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
954
+ cross_account_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.CrossAccountConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
955
+ encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInvestigationGroup.EncryptionConfigMapProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
956
+ investigation_group_policy: typing.Optional[builtins.str] = None,
957
+ is_cloud_trail_event_history_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
958
+ retention_in_days: typing.Optional[jsii.Number] = None,
959
+ role_arn: typing.Optional[builtins.str] = None,
960
+ tag_key_boundaries: typing.Optional[typing.Sequence[builtins.str]] = None,
961
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
962
+ ) -> None:
963
+ """Type checking stubs"""
964
+ pass