aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -134,6 +134,625 @@ from ..aws_logs import (
134
134
  from ..aws_sns import ITopic as _ITopic_9eca4852
135
135
 
136
136
 
137
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
138
+ class CfnCustomAction(
139
+ _CfnResource_9df397a6,
140
+ metaclass=jsii.JSIIMeta,
141
+ jsii_type="aws-cdk-lib.aws_chatbot.CfnCustomAction",
142
+ ):
143
+ '''The ``AWS::Chatbot::CustomAction`` resource creates a custom action that can be invoked as an alias or as a button on a notification.
144
+
145
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html
146
+ :cloudformationResource: AWS::Chatbot::CustomAction
147
+ :exampleMetadata: fixture=_generated
148
+
149
+ Example::
150
+
151
+ # The code below shows an example of how to instantiate this type.
152
+ # The values are placeholders you should change.
153
+ from aws_cdk import aws_chatbot as chatbot
154
+
155
+ cfn_custom_action = chatbot.CfnCustomAction(self, "MyCfnCustomAction",
156
+ action_name="actionName",
157
+ definition=chatbot.CfnCustomAction.CustomActionDefinitionProperty(
158
+ command_text="commandText"
159
+ ),
160
+
161
+ # the properties below are optional
162
+ alias_name="aliasName",
163
+ attachments=[chatbot.CfnCustomAction.CustomActionAttachmentProperty(
164
+ button_text="buttonText",
165
+ criteria=[chatbot.CfnCustomAction.CustomActionAttachmentCriteriaProperty(
166
+ operator="operator",
167
+ variable_name="variableName",
168
+
169
+ # the properties below are optional
170
+ value="value"
171
+ )],
172
+ notification_type="notificationType",
173
+ variables={
174
+ "variables_key": "variables"
175
+ }
176
+ )],
177
+ tags=[CfnTag(
178
+ key="key",
179
+ value="value"
180
+ )]
181
+ )
182
+ '''
183
+
184
+ def __init__(
185
+ self,
186
+ scope: _constructs_77d1e7e8.Construct,
187
+ id: builtins.str,
188
+ *,
189
+ action_name: builtins.str,
190
+ definition: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCustomAction.CustomActionDefinitionProperty", typing.Dict[builtins.str, typing.Any]]],
191
+ alias_name: typing.Optional[builtins.str] = None,
192
+ attachments: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCustomAction.CustomActionAttachmentProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
193
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
194
+ ) -> None:
195
+ '''
196
+ :param scope: Scope in which this resource is defined.
197
+ :param id: Construct identifier for this resource (unique in its scope).
198
+ :param action_name: The name of the custom action. This name is included in the Amazon Resource Name (ARN).
199
+ :param definition: The definition of the command to run when invoked as an alias or as an action button.
200
+ :param alias_name: The name used to invoke this action in a chat channel. For example, ``@aws run my-alias`` .
201
+ :param attachments: Defines when this custom action button should be attached to a notification.
202
+ :param tags: The tags to add to the configuration.
203
+ '''
204
+ if __debug__:
205
+ type_hints = typing.get_type_hints(_typecheckingstub__4840384b6e4d8bb56afed06983751f4092ececfe9720ea514abb1728770b507a)
206
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
207
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
208
+ props = CfnCustomActionProps(
209
+ action_name=action_name,
210
+ definition=definition,
211
+ alias_name=alias_name,
212
+ attachments=attachments,
213
+ tags=tags,
214
+ )
215
+
216
+ jsii.create(self.__class__, self, [scope, id, props])
217
+
218
+ @jsii.member(jsii_name="inspect")
219
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
220
+ '''Examines the CloudFormation resource and discloses attributes.
221
+
222
+ :param inspector: tree inspector to collect and process attributes.
223
+ '''
224
+ if __debug__:
225
+ type_hints = typing.get_type_hints(_typecheckingstub__44267bc9ce7cc2f3773138acc4718fe9e74ff7aacb67eedf1ef50ff399714ce2)
226
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
227
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
228
+
229
+ @jsii.member(jsii_name="renderProperties")
230
+ def _render_properties(
231
+ self,
232
+ props: typing.Mapping[builtins.str, typing.Any],
233
+ ) -> typing.Mapping[builtins.str, typing.Any]:
234
+ '''
235
+ :param props: -
236
+ '''
237
+ if __debug__:
238
+ type_hints = typing.get_type_hints(_typecheckingstub__9a0419a3f98385f838d84777f3b3e06cd478e179f352ab493b9b5dc51f9ab196)
239
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
240
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
241
+
242
+ @jsii.python.classproperty
243
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
244
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
245
+ '''The CloudFormation resource type name for this resource class.'''
246
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
247
+
248
+ @builtins.property
249
+ @jsii.member(jsii_name="attrCustomActionArn")
250
+ def attr_custom_action_arn(self) -> builtins.str:
251
+ '''The fully defined ARN of the custom action.
252
+
253
+ :cloudformationAttribute: CustomActionArn
254
+ '''
255
+ return typing.cast(builtins.str, jsii.get(self, "attrCustomActionArn"))
256
+
257
+ @builtins.property
258
+ @jsii.member(jsii_name="cdkTagManager")
259
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
260
+ '''Tag Manager which manages the tags for this resource.'''
261
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
262
+
263
+ @builtins.property
264
+ @jsii.member(jsii_name="cfnProperties")
265
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
266
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
267
+
268
+ @builtins.property
269
+ @jsii.member(jsii_name="actionName")
270
+ def action_name(self) -> builtins.str:
271
+ '''The name of the custom action.'''
272
+ return typing.cast(builtins.str, jsii.get(self, "actionName"))
273
+
274
+ @action_name.setter
275
+ def action_name(self, value: builtins.str) -> None:
276
+ if __debug__:
277
+ type_hints = typing.get_type_hints(_typecheckingstub__971c2cee7a293449df3b3419302728ec27df82ae1516daa5cb2c681996802476)
278
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
279
+ jsii.set(self, "actionName", value) # pyright: ignore[reportArgumentType]
280
+
281
+ @builtins.property
282
+ @jsii.member(jsii_name="definition")
283
+ def definition(
284
+ self,
285
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionDefinitionProperty"]:
286
+ '''The definition of the command to run when invoked as an alias or as an action button.'''
287
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionDefinitionProperty"], jsii.get(self, "definition"))
288
+
289
+ @definition.setter
290
+ def definition(
291
+ self,
292
+ value: typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionDefinitionProperty"],
293
+ ) -> None:
294
+ if __debug__:
295
+ type_hints = typing.get_type_hints(_typecheckingstub__41389535b5493837a09f1517d05c57d5124e60def0c6ed02cfa3bcacf50f356a)
296
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
297
+ jsii.set(self, "definition", value) # pyright: ignore[reportArgumentType]
298
+
299
+ @builtins.property
300
+ @jsii.member(jsii_name="aliasName")
301
+ def alias_name(self) -> typing.Optional[builtins.str]:
302
+ '''The name used to invoke this action in a chat channel.'''
303
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "aliasName"))
304
+
305
+ @alias_name.setter
306
+ def alias_name(self, value: typing.Optional[builtins.str]) -> None:
307
+ if __debug__:
308
+ type_hints = typing.get_type_hints(_typecheckingstub__41def85ca04f9b6e2f09a7a4a94dcbf48f41f3f42b20008ab0c8375fde71a577)
309
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
310
+ jsii.set(self, "aliasName", value) # pyright: ignore[reportArgumentType]
311
+
312
+ @builtins.property
313
+ @jsii.member(jsii_name="attachments")
314
+ def attachments(
315
+ self,
316
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionAttachmentProperty"]]]]:
317
+ '''Defines when this custom action button should be attached to a notification.'''
318
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionAttachmentProperty"]]]], jsii.get(self, "attachments"))
319
+
320
+ @attachments.setter
321
+ def attachments(
322
+ self,
323
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionAttachmentProperty"]]]],
324
+ ) -> None:
325
+ if __debug__:
326
+ type_hints = typing.get_type_hints(_typecheckingstub__25bc30f27dad9105e157414d8573ef4725c2cbb4c8f636ccff8d8cd488d751ad)
327
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
328
+ jsii.set(self, "attachments", value) # pyright: ignore[reportArgumentType]
329
+
330
+ @builtins.property
331
+ @jsii.member(jsii_name="tags")
332
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
333
+ '''The tags to add to the configuration.'''
334
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
335
+
336
+ @tags.setter
337
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
338
+ if __debug__:
339
+ type_hints = typing.get_type_hints(_typecheckingstub__072e325a0c2ec8c68fa22d9b8fcacb74cdefc302e246f675cb7d82f02d9c1ad8)
340
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
341
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
342
+
343
+ @jsii.data_type(
344
+ jsii_type="aws-cdk-lib.aws_chatbot.CfnCustomAction.CustomActionAttachmentCriteriaProperty",
345
+ jsii_struct_bases=[],
346
+ name_mapping={
347
+ "operator": "operator",
348
+ "variable_name": "variableName",
349
+ "value": "value",
350
+ },
351
+ )
352
+ class CustomActionAttachmentCriteriaProperty:
353
+ def __init__(
354
+ self,
355
+ *,
356
+ operator: builtins.str,
357
+ variable_name: builtins.str,
358
+ value: typing.Optional[builtins.str] = None,
359
+ ) -> None:
360
+ '''A criteria for when a button should be shown based on values in the notification.
361
+
362
+ :param operator: The operation to perform on the named variable.
363
+ :param variable_name: The name of the variable to operate on.
364
+ :param value: A value that is compared with the actual value of the variable based on the behavior of the operator.
365
+
366
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html
367
+ :exampleMetadata: fixture=_generated
368
+
369
+ Example::
370
+
371
+ # The code below shows an example of how to instantiate this type.
372
+ # The values are placeholders you should change.
373
+ from aws_cdk import aws_chatbot as chatbot
374
+
375
+ custom_action_attachment_criteria_property = chatbot.CfnCustomAction.CustomActionAttachmentCriteriaProperty(
376
+ operator="operator",
377
+ variable_name="variableName",
378
+
379
+ # the properties below are optional
380
+ value="value"
381
+ )
382
+ '''
383
+ if __debug__:
384
+ type_hints = typing.get_type_hints(_typecheckingstub__17b54705e9e5c87338c9cd62b14232db30553ead6d15838b291a8bfefa82cd2a)
385
+ check_type(argname="argument operator", value=operator, expected_type=type_hints["operator"])
386
+ check_type(argname="argument variable_name", value=variable_name, expected_type=type_hints["variable_name"])
387
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
388
+ self._values: typing.Dict[builtins.str, typing.Any] = {
389
+ "operator": operator,
390
+ "variable_name": variable_name,
391
+ }
392
+ if value is not None:
393
+ self._values["value"] = value
394
+
395
+ @builtins.property
396
+ def operator(self) -> builtins.str:
397
+ '''The operation to perform on the named variable.
398
+
399
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html#cfn-chatbot-customaction-customactionattachmentcriteria-operator
400
+ '''
401
+ result = self._values.get("operator")
402
+ assert result is not None, "Required property 'operator' is missing"
403
+ return typing.cast(builtins.str, result)
404
+
405
+ @builtins.property
406
+ def variable_name(self) -> builtins.str:
407
+ '''The name of the variable to operate on.
408
+
409
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html#cfn-chatbot-customaction-customactionattachmentcriteria-variablename
410
+ '''
411
+ result = self._values.get("variable_name")
412
+ assert result is not None, "Required property 'variable_name' is missing"
413
+ return typing.cast(builtins.str, result)
414
+
415
+ @builtins.property
416
+ def value(self) -> typing.Optional[builtins.str]:
417
+ '''A value that is compared with the actual value of the variable based on the behavior of the operator.
418
+
419
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html#cfn-chatbot-customaction-customactionattachmentcriteria-value
420
+ '''
421
+ result = self._values.get("value")
422
+ return typing.cast(typing.Optional[builtins.str], result)
423
+
424
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
425
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
426
+
427
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
428
+ return not (rhs == self)
429
+
430
+ def __repr__(self) -> str:
431
+ return "CustomActionAttachmentCriteriaProperty(%s)" % ", ".join(
432
+ k + "=" + repr(v) for k, v in self._values.items()
433
+ )
434
+
435
+ @jsii.data_type(
436
+ jsii_type="aws-cdk-lib.aws_chatbot.CfnCustomAction.CustomActionAttachmentProperty",
437
+ jsii_struct_bases=[],
438
+ name_mapping={
439
+ "button_text": "buttonText",
440
+ "criteria": "criteria",
441
+ "notification_type": "notificationType",
442
+ "variables": "variables",
443
+ },
444
+ )
445
+ class CustomActionAttachmentProperty:
446
+ def __init__(
447
+ self,
448
+ *,
449
+ button_text: typing.Optional[builtins.str] = None,
450
+ criteria: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCustomAction.CustomActionAttachmentCriteriaProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
451
+ notification_type: typing.Optional[builtins.str] = None,
452
+ variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
453
+ ) -> None:
454
+ '''Defines when a custom action button should be attached to a notification.
455
+
456
+ :param button_text: The text of the button that appears on the notification.
457
+ :param criteria: The criteria for when a button should be shown based on values in the notification.
458
+ :param notification_type: The type of notification that the custom action should be attached to.
459
+ :param variables: The variables to extract from the notification.
460
+
461
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html
462
+ :exampleMetadata: fixture=_generated
463
+
464
+ Example::
465
+
466
+ # The code below shows an example of how to instantiate this type.
467
+ # The values are placeholders you should change.
468
+ from aws_cdk import aws_chatbot as chatbot
469
+
470
+ custom_action_attachment_property = chatbot.CfnCustomAction.CustomActionAttachmentProperty(
471
+ button_text="buttonText",
472
+ criteria=[chatbot.CfnCustomAction.CustomActionAttachmentCriteriaProperty(
473
+ operator="operator",
474
+ variable_name="variableName",
475
+
476
+ # the properties below are optional
477
+ value="value"
478
+ )],
479
+ notification_type="notificationType",
480
+ variables={
481
+ "variables_key": "variables"
482
+ }
483
+ )
484
+ '''
485
+ if __debug__:
486
+ type_hints = typing.get_type_hints(_typecheckingstub__bdfcc4d3117af4232f6317084ca1888fc93a1fa63045afd0834da2fec394ccdf)
487
+ check_type(argname="argument button_text", value=button_text, expected_type=type_hints["button_text"])
488
+ check_type(argname="argument criteria", value=criteria, expected_type=type_hints["criteria"])
489
+ check_type(argname="argument notification_type", value=notification_type, expected_type=type_hints["notification_type"])
490
+ check_type(argname="argument variables", value=variables, expected_type=type_hints["variables"])
491
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
492
+ if button_text is not None:
493
+ self._values["button_text"] = button_text
494
+ if criteria is not None:
495
+ self._values["criteria"] = criteria
496
+ if notification_type is not None:
497
+ self._values["notification_type"] = notification_type
498
+ if variables is not None:
499
+ self._values["variables"] = variables
500
+
501
+ @builtins.property
502
+ def button_text(self) -> typing.Optional[builtins.str]:
503
+ '''The text of the button that appears on the notification.
504
+
505
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-buttontext
506
+ '''
507
+ result = self._values.get("button_text")
508
+ return typing.cast(typing.Optional[builtins.str], result)
509
+
510
+ @builtins.property
511
+ def criteria(
512
+ self,
513
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionAttachmentCriteriaProperty"]]]]:
514
+ '''The criteria for when a button should be shown based on values in the notification.
515
+
516
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-criteria
517
+ '''
518
+ result = self._values.get("criteria")
519
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCustomAction.CustomActionAttachmentCriteriaProperty"]]]], result)
520
+
521
+ @builtins.property
522
+ def notification_type(self) -> typing.Optional[builtins.str]:
523
+ '''The type of notification that the custom action should be attached to.
524
+
525
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-notificationtype
526
+ '''
527
+ result = self._values.get("notification_type")
528
+ return typing.cast(typing.Optional[builtins.str], result)
529
+
530
+ @builtins.property
531
+ def variables(
532
+ self,
533
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
534
+ '''The variables to extract from the notification.
535
+
536
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-variables
537
+ '''
538
+ result = self._values.get("variables")
539
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
540
+
541
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
542
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
543
+
544
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
545
+ return not (rhs == self)
546
+
547
+ def __repr__(self) -> str:
548
+ return "CustomActionAttachmentProperty(%s)" % ", ".join(
549
+ k + "=" + repr(v) for k, v in self._values.items()
550
+ )
551
+
552
+ @jsii.data_type(
553
+ jsii_type="aws-cdk-lib.aws_chatbot.CfnCustomAction.CustomActionDefinitionProperty",
554
+ jsii_struct_bases=[],
555
+ name_mapping={"command_text": "commandText"},
556
+ )
557
+ class CustomActionDefinitionProperty:
558
+ def __init__(self, *, command_text: builtins.str) -> None:
559
+ '''The definition of the command to run when invoked as an alias or as an action button.
560
+
561
+ :param command_text: The command string to run which may include variables by prefixing with a dollar sign ($).
562
+
563
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactiondefinition.html
564
+ :exampleMetadata: fixture=_generated
565
+
566
+ Example::
567
+
568
+ # The code below shows an example of how to instantiate this type.
569
+ # The values are placeholders you should change.
570
+ from aws_cdk import aws_chatbot as chatbot
571
+
572
+ custom_action_definition_property = chatbot.CfnCustomAction.CustomActionDefinitionProperty(
573
+ command_text="commandText"
574
+ )
575
+ '''
576
+ if __debug__:
577
+ type_hints = typing.get_type_hints(_typecheckingstub__66cde35b29d23cf11cd686434f577e4de7a67224bbebe46b5c31d744e321be5f)
578
+ check_type(argname="argument command_text", value=command_text, expected_type=type_hints["command_text"])
579
+ self._values: typing.Dict[builtins.str, typing.Any] = {
580
+ "command_text": command_text,
581
+ }
582
+
583
+ @builtins.property
584
+ def command_text(self) -> builtins.str:
585
+ '''The command string to run which may include variables by prefixing with a dollar sign ($).
586
+
587
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactiondefinition.html#cfn-chatbot-customaction-customactiondefinition-commandtext
588
+ '''
589
+ result = self._values.get("command_text")
590
+ assert result is not None, "Required property 'command_text' is missing"
591
+ return typing.cast(builtins.str, result)
592
+
593
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
594
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
595
+
596
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
597
+ return not (rhs == self)
598
+
599
+ def __repr__(self) -> str:
600
+ return "CustomActionDefinitionProperty(%s)" % ", ".join(
601
+ k + "=" + repr(v) for k, v in self._values.items()
602
+ )
603
+
604
+
605
+ @jsii.data_type(
606
+ jsii_type="aws-cdk-lib.aws_chatbot.CfnCustomActionProps",
607
+ jsii_struct_bases=[],
608
+ name_mapping={
609
+ "action_name": "actionName",
610
+ "definition": "definition",
611
+ "alias_name": "aliasName",
612
+ "attachments": "attachments",
613
+ "tags": "tags",
614
+ },
615
+ )
616
+ class CfnCustomActionProps:
617
+ def __init__(
618
+ self,
619
+ *,
620
+ action_name: builtins.str,
621
+ definition: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionDefinitionProperty, typing.Dict[builtins.str, typing.Any]]],
622
+ alias_name: typing.Optional[builtins.str] = None,
623
+ attachments: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionAttachmentProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
624
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
625
+ ) -> None:
626
+ '''Properties for defining a ``CfnCustomAction``.
627
+
628
+ :param action_name: The name of the custom action. This name is included in the Amazon Resource Name (ARN).
629
+ :param definition: The definition of the command to run when invoked as an alias or as an action button.
630
+ :param alias_name: The name used to invoke this action in a chat channel. For example, ``@aws run my-alias`` .
631
+ :param attachments: Defines when this custom action button should be attached to a notification.
632
+ :param tags: The tags to add to the configuration.
633
+
634
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html
635
+ :exampleMetadata: fixture=_generated
636
+
637
+ Example::
638
+
639
+ # The code below shows an example of how to instantiate this type.
640
+ # The values are placeholders you should change.
641
+ from aws_cdk import aws_chatbot as chatbot
642
+
643
+ cfn_custom_action_props = chatbot.CfnCustomActionProps(
644
+ action_name="actionName",
645
+ definition=chatbot.CfnCustomAction.CustomActionDefinitionProperty(
646
+ command_text="commandText"
647
+ ),
648
+
649
+ # the properties below are optional
650
+ alias_name="aliasName",
651
+ attachments=[chatbot.CfnCustomAction.CustomActionAttachmentProperty(
652
+ button_text="buttonText",
653
+ criteria=[chatbot.CfnCustomAction.CustomActionAttachmentCriteriaProperty(
654
+ operator="operator",
655
+ variable_name="variableName",
656
+
657
+ # the properties below are optional
658
+ value="value"
659
+ )],
660
+ notification_type="notificationType",
661
+ variables={
662
+ "variables_key": "variables"
663
+ }
664
+ )],
665
+ tags=[CfnTag(
666
+ key="key",
667
+ value="value"
668
+ )]
669
+ )
670
+ '''
671
+ if __debug__:
672
+ type_hints = typing.get_type_hints(_typecheckingstub__a095b5f2109b264f6833c68a2c4a07e415cda11bd116b007cb26fff0c148d24d)
673
+ check_type(argname="argument action_name", value=action_name, expected_type=type_hints["action_name"])
674
+ check_type(argname="argument definition", value=definition, expected_type=type_hints["definition"])
675
+ check_type(argname="argument alias_name", value=alias_name, expected_type=type_hints["alias_name"])
676
+ check_type(argname="argument attachments", value=attachments, expected_type=type_hints["attachments"])
677
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
678
+ self._values: typing.Dict[builtins.str, typing.Any] = {
679
+ "action_name": action_name,
680
+ "definition": definition,
681
+ }
682
+ if alias_name is not None:
683
+ self._values["alias_name"] = alias_name
684
+ if attachments is not None:
685
+ self._values["attachments"] = attachments
686
+ if tags is not None:
687
+ self._values["tags"] = tags
688
+
689
+ @builtins.property
690
+ def action_name(self) -> builtins.str:
691
+ '''The name of the custom action.
692
+
693
+ This name is included in the Amazon Resource Name (ARN).
694
+
695
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-actionname
696
+ '''
697
+ result = self._values.get("action_name")
698
+ assert result is not None, "Required property 'action_name' is missing"
699
+ return typing.cast(builtins.str, result)
700
+
701
+ @builtins.property
702
+ def definition(
703
+ self,
704
+ ) -> typing.Union[_IResolvable_da3f097b, CfnCustomAction.CustomActionDefinitionProperty]:
705
+ '''The definition of the command to run when invoked as an alias or as an action button.
706
+
707
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-definition
708
+ '''
709
+ result = self._values.get("definition")
710
+ assert result is not None, "Required property 'definition' is missing"
711
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnCustomAction.CustomActionDefinitionProperty], result)
712
+
713
+ @builtins.property
714
+ def alias_name(self) -> typing.Optional[builtins.str]:
715
+ '''The name used to invoke this action in a chat channel.
716
+
717
+ For example, ``@aws run my-alias`` .
718
+
719
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-aliasname
720
+ '''
721
+ result = self._values.get("alias_name")
722
+ return typing.cast(typing.Optional[builtins.str], result)
723
+
724
+ @builtins.property
725
+ def attachments(
726
+ self,
727
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCustomAction.CustomActionAttachmentProperty]]]]:
728
+ '''Defines when this custom action button should be attached to a notification.
729
+
730
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-attachments
731
+ '''
732
+ result = self._values.get("attachments")
733
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCustomAction.CustomActionAttachmentProperty]]]], result)
734
+
735
+ @builtins.property
736
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
737
+ '''The tags to add to the configuration.
738
+
739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-tags
740
+ '''
741
+ result = self._values.get("tags")
742
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
743
+
744
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
745
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
746
+
747
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
748
+ return not (rhs == self)
749
+
750
+ def __repr__(self) -> str:
751
+ return "CfnCustomActionProps(%s)" % ", ".join(
752
+ k + "=" + repr(v) for k, v in self._values.items()
753
+ )
754
+
755
+
137
756
  @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
138
757
  class CfnMicrosoftTeamsChannelConfiguration(
139
758
  _CfnResource_9df397a6,
@@ -162,6 +781,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
162
781
  teams_tenant_id="teamsTenantId",
163
782
 
164
783
  # the properties below are optional
784
+ customization_resource_arns=["customizationResourceArns"],
165
785
  guardrail_policies=["guardrailPolicies"],
166
786
  logging_level="loggingLevel",
167
787
  sns_topic_arns=["snsTopicArns"],
@@ -183,6 +803,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
183
803
  team_id: builtins.str,
184
804
  teams_channel_id: builtins.str,
185
805
  teams_tenant_id: builtins.str,
806
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
186
807
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
187
808
  logging_level: typing.Optional[builtins.str] = None,
188
809
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -197,6 +818,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
197
818
  :param team_id: The ID of the Microsoft Team authorized with AWS Chatbot . To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-3 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
198
819
  :param teams_channel_id: The ID of the Microsoft Teams channel. To get the channel ID, open Microsoft Teams, right click on the channel name in the left pane, then choose Copy. An example of the channel ID syntax is: ``19%3ab6ef35dc342d56ba5654e6fc6d25a071%40thread.tacv2`` .
199
820
  :param teams_tenant_id: The ID of the Microsoft Teams tenant. To get the tenant ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the tenant ID from the console. For more details, see steps 1-4 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
821
+ :param customization_resource_arns: Links a list of resource ARNs (for example, custom action ARNs) to a Miscrosoft Teams channel configuration for AWS Chatbot .
200
822
  :param guardrail_policies: The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.
201
823
  :param logging_level: Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs. Logging levels include ``ERROR`` , ``INFO`` , or ``NONE`` . Default: - "NONE"
202
824
  :param sns_topic_arns: The ARNs of the SNS topics that deliver notifications to AWS Chatbot .
@@ -213,6 +835,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
213
835
  team_id=team_id,
214
836
  teams_channel_id=teams_channel_id,
215
837
  teams_tenant_id=teams_tenant_id,
838
+ customization_resource_arns=customization_resource_arns,
216
839
  guardrail_policies=guardrail_policies,
217
840
  logging_level=logging_level,
218
841
  sns_topic_arns=sns_topic_arns,
@@ -255,7 +878,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
255
878
  @builtins.property
256
879
  @jsii.member(jsii_name="attrArn")
257
880
  def attr_arn(self) -> builtins.str:
258
- '''Amazon Resource Name (ARN) of the configuration.
881
+ '''The ARN of the resource.
259
882
 
260
883
  :cloudformationAttribute: Arn
261
884
  '''
@@ -337,6 +960,22 @@ class CfnMicrosoftTeamsChannelConfiguration(
337
960
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
338
961
  jsii.set(self, "teamsTenantId", value) # pyright: ignore[reportArgumentType]
339
962
 
963
+ @builtins.property
964
+ @jsii.member(jsii_name="customizationResourceArns")
965
+ def customization_resource_arns(self) -> typing.Optional[typing.List[builtins.str]]:
966
+ '''Links a list of resource ARNs (for example, custom action ARNs) to a Miscrosoft Teams channel configuration for AWS Chatbot .'''
967
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "customizationResourceArns"))
968
+
969
+ @customization_resource_arns.setter
970
+ def customization_resource_arns(
971
+ self,
972
+ value: typing.Optional[typing.List[builtins.str]],
973
+ ) -> None:
974
+ if __debug__:
975
+ type_hints = typing.get_type_hints(_typecheckingstub__11efc1f4b5699a2254663cde691669f1d0c162272e0d5627190665ef98affc89)
976
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
977
+ jsii.set(self, "customizationResourceArns", value) # pyright: ignore[reportArgumentType]
978
+
340
979
  @builtins.property
341
980
  @jsii.member(jsii_name="guardrailPolicies")
342
981
  def guardrail_policies(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -423,6 +1062,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
423
1062
  "team_id": "teamId",
424
1063
  "teams_channel_id": "teamsChannelId",
425
1064
  "teams_tenant_id": "teamsTenantId",
1065
+ "customization_resource_arns": "customizationResourceArns",
426
1066
  "guardrail_policies": "guardrailPolicies",
427
1067
  "logging_level": "loggingLevel",
428
1068
  "sns_topic_arns": "snsTopicArns",
@@ -439,6 +1079,7 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
439
1079
  team_id: builtins.str,
440
1080
  teams_channel_id: builtins.str,
441
1081
  teams_tenant_id: builtins.str,
1082
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
442
1083
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
443
1084
  logging_level: typing.Optional[builtins.str] = None,
444
1085
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -452,6 +1093,7 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
452
1093
  :param team_id: The ID of the Microsoft Team authorized with AWS Chatbot . To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-3 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
453
1094
  :param teams_channel_id: The ID of the Microsoft Teams channel. To get the channel ID, open Microsoft Teams, right click on the channel name in the left pane, then choose Copy. An example of the channel ID syntax is: ``19%3ab6ef35dc342d56ba5654e6fc6d25a071%40thread.tacv2`` .
454
1095
  :param teams_tenant_id: The ID of the Microsoft Teams tenant. To get the tenant ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the tenant ID from the console. For more details, see steps 1-4 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
1096
+ :param customization_resource_arns: Links a list of resource ARNs (for example, custom action ARNs) to a Miscrosoft Teams channel configuration for AWS Chatbot .
455
1097
  :param guardrail_policies: The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.
456
1098
  :param logging_level: Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs. Logging levels include ``ERROR`` , ``INFO`` , or ``NONE`` . Default: - "NONE"
457
1099
  :param sns_topic_arns: The ARNs of the SNS topics that deliver notifications to AWS Chatbot .
@@ -475,6 +1117,7 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
475
1117
  teams_tenant_id="teamsTenantId",
476
1118
 
477
1119
  # the properties below are optional
1120
+ customization_resource_arns=["customizationResourceArns"],
478
1121
  guardrail_policies=["guardrailPolicies"],
479
1122
  logging_level="loggingLevel",
480
1123
  sns_topic_arns=["snsTopicArns"],
@@ -492,6 +1135,7 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
492
1135
  check_type(argname="argument team_id", value=team_id, expected_type=type_hints["team_id"])
493
1136
  check_type(argname="argument teams_channel_id", value=teams_channel_id, expected_type=type_hints["teams_channel_id"])
494
1137
  check_type(argname="argument teams_tenant_id", value=teams_tenant_id, expected_type=type_hints["teams_tenant_id"])
1138
+ check_type(argname="argument customization_resource_arns", value=customization_resource_arns, expected_type=type_hints["customization_resource_arns"])
495
1139
  check_type(argname="argument guardrail_policies", value=guardrail_policies, expected_type=type_hints["guardrail_policies"])
496
1140
  check_type(argname="argument logging_level", value=logging_level, expected_type=type_hints["logging_level"])
497
1141
  check_type(argname="argument sns_topic_arns", value=sns_topic_arns, expected_type=type_hints["sns_topic_arns"])
@@ -504,6 +1148,8 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
504
1148
  "teams_channel_id": teams_channel_id,
505
1149
  "teams_tenant_id": teams_tenant_id,
506
1150
  }
1151
+ if customization_resource_arns is not None:
1152
+ self._values["customization_resource_arns"] = customization_resource_arns
507
1153
  if guardrail_policies is not None:
508
1154
  self._values["guardrail_policies"] = guardrail_policies
509
1155
  if logging_level is not None:
@@ -573,6 +1219,15 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
573
1219
  assert result is not None, "Required property 'teams_tenant_id' is missing"
574
1220
  return typing.cast(builtins.str, result)
575
1221
 
1222
+ @builtins.property
1223
+ def customization_resource_arns(self) -> typing.Optional[typing.List[builtins.str]]:
1224
+ '''Links a list of resource ARNs (for example, custom action ARNs) to a Miscrosoft Teams channel configuration for AWS Chatbot .
1225
+
1226
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-customizationresourcearns
1227
+ '''
1228
+ result = self._values.get("customization_resource_arns")
1229
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1230
+
576
1231
  @builtins.property
577
1232
  def guardrail_policies(self) -> typing.Optional[typing.List[builtins.str]]:
578
1233
  '''The list of IAM policy ARNs that are applied as channel guardrails.
@@ -667,6 +1322,7 @@ class CfnSlackChannelConfiguration(
667
1322
  slack_workspace_id="slackWorkspaceId",
668
1323
 
669
1324
  # the properties below are optional
1325
+ customization_resource_arns=["customizationResourceArns"],
670
1326
  guardrail_policies=["guardrailPolicies"],
671
1327
  logging_level="loggingLevel",
672
1328
  sns_topic_arns=["snsTopicArns"],
@@ -687,6 +1343,7 @@ class CfnSlackChannelConfiguration(
687
1343
  iam_role_arn: builtins.str,
688
1344
  slack_channel_id: builtins.str,
689
1345
  slack_workspace_id: builtins.str,
1346
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
690
1347
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
691
1348
  logging_level: typing.Optional[builtins.str] = None,
692
1349
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -700,6 +1357,7 @@ class CfnSlackChannelConfiguration(
700
1357
  :param iam_role_arn: The ARN of the IAM role that defines the permissions for AWS Chatbot . This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see `IAM Policies for AWS Chatbot <https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.html>`_ .
701
1358
  :param slack_channel_id: The ID of the Slack channel. To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the character string at the end of the URL. For example, ``ABCBBLZZZ`` .
702
1359
  :param slack_workspace_id: The ID of the Slack workspace authorized with AWS Chatbot . To get the workspace ID, you must perform the initial authorization flow with Slack in the AWS Chatbot console. Then you can copy and paste the workspace ID from the console. For more details, see steps 1-3 in `Tutorial: Get started with Slack <https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html>`_ in the *AWS Chatbot User Guide* .
1360
+ :param customization_resource_arns: Links a list of resource ARNs (for example, custom action ARNs) to a Slack channel configuration for AWS Chatbot .
703
1361
  :param guardrail_policies: The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.
704
1362
  :param logging_level: Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs. Logging levels include ``ERROR`` , ``INFO`` , or ``NONE`` . Default: - "NONE"
705
1363
  :param sns_topic_arns: The ARNs of the SNS topics that deliver notifications to AWS Chatbot .
@@ -715,6 +1373,7 @@ class CfnSlackChannelConfiguration(
715
1373
  iam_role_arn=iam_role_arn,
716
1374
  slack_channel_id=slack_channel_id,
717
1375
  slack_workspace_id=slack_workspace_id,
1376
+ customization_resource_arns=customization_resource_arns,
718
1377
  guardrail_policies=guardrail_policies,
719
1378
  logging_level=logging_level,
720
1379
  sns_topic_arns=sns_topic_arns,
@@ -757,7 +1416,7 @@ class CfnSlackChannelConfiguration(
757
1416
  @builtins.property
758
1417
  @jsii.member(jsii_name="attrArn")
759
1418
  def attr_arn(self) -> builtins.str:
760
- '''Amazon Resource Name (ARN) of the configuration.
1419
+ '''The ARN of the resource.
761
1420
 
762
1421
  :cloudformationAttribute: Arn
763
1422
  '''
@@ -826,6 +1485,22 @@ class CfnSlackChannelConfiguration(
826
1485
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
827
1486
  jsii.set(self, "slackWorkspaceId", value) # pyright: ignore[reportArgumentType]
828
1487
 
1488
+ @builtins.property
1489
+ @jsii.member(jsii_name="customizationResourceArns")
1490
+ def customization_resource_arns(self) -> typing.Optional[typing.List[builtins.str]]:
1491
+ '''Links a list of resource ARNs (for example, custom action ARNs) to a Slack channel configuration for AWS Chatbot .'''
1492
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "customizationResourceArns"))
1493
+
1494
+ @customization_resource_arns.setter
1495
+ def customization_resource_arns(
1496
+ self,
1497
+ value: typing.Optional[typing.List[builtins.str]],
1498
+ ) -> None:
1499
+ if __debug__:
1500
+ type_hints = typing.get_type_hints(_typecheckingstub__d0d0439ef3a58ce5c9660cc070abad2db1860848733177ed530f90e5b2c5aa14)
1501
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1502
+ jsii.set(self, "customizationResourceArns", value) # pyright: ignore[reportArgumentType]
1503
+
829
1504
  @builtins.property
830
1505
  @jsii.member(jsii_name="guardrailPolicies")
831
1506
  def guardrail_policies(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -911,6 +1586,7 @@ class CfnSlackChannelConfiguration(
911
1586
  "iam_role_arn": "iamRoleArn",
912
1587
  "slack_channel_id": "slackChannelId",
913
1588
  "slack_workspace_id": "slackWorkspaceId",
1589
+ "customization_resource_arns": "customizationResourceArns",
914
1590
  "guardrail_policies": "guardrailPolicies",
915
1591
  "logging_level": "loggingLevel",
916
1592
  "sns_topic_arns": "snsTopicArns",
@@ -926,6 +1602,7 @@ class CfnSlackChannelConfigurationProps:
926
1602
  iam_role_arn: builtins.str,
927
1603
  slack_channel_id: builtins.str,
928
1604
  slack_workspace_id: builtins.str,
1605
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
929
1606
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
930
1607
  logging_level: typing.Optional[builtins.str] = None,
931
1608
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -938,6 +1615,7 @@ class CfnSlackChannelConfigurationProps:
938
1615
  :param iam_role_arn: The ARN of the IAM role that defines the permissions for AWS Chatbot . This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see `IAM Policies for AWS Chatbot <https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.html>`_ .
939
1616
  :param slack_channel_id: The ID of the Slack channel. To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the character string at the end of the URL. For example, ``ABCBBLZZZ`` .
940
1617
  :param slack_workspace_id: The ID of the Slack workspace authorized with AWS Chatbot . To get the workspace ID, you must perform the initial authorization flow with Slack in the AWS Chatbot console. Then you can copy and paste the workspace ID from the console. For more details, see steps 1-3 in `Tutorial: Get started with Slack <https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html>`_ in the *AWS Chatbot User Guide* .
1618
+ :param customization_resource_arns: Links a list of resource ARNs (for example, custom action ARNs) to a Slack channel configuration for AWS Chatbot .
941
1619
  :param guardrail_policies: The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.
942
1620
  :param logging_level: Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs. Logging levels include ``ERROR`` , ``INFO`` , or ``NONE`` . Default: - "NONE"
943
1621
  :param sns_topic_arns: The ARNs of the SNS topics that deliver notifications to AWS Chatbot .
@@ -960,6 +1638,7 @@ class CfnSlackChannelConfigurationProps:
960
1638
  slack_workspace_id="slackWorkspaceId",
961
1639
 
962
1640
  # the properties below are optional
1641
+ customization_resource_arns=["customizationResourceArns"],
963
1642
  guardrail_policies=["guardrailPolicies"],
964
1643
  logging_level="loggingLevel",
965
1644
  sns_topic_arns=["snsTopicArns"],
@@ -976,6 +1655,7 @@ class CfnSlackChannelConfigurationProps:
976
1655
  check_type(argname="argument iam_role_arn", value=iam_role_arn, expected_type=type_hints["iam_role_arn"])
977
1656
  check_type(argname="argument slack_channel_id", value=slack_channel_id, expected_type=type_hints["slack_channel_id"])
978
1657
  check_type(argname="argument slack_workspace_id", value=slack_workspace_id, expected_type=type_hints["slack_workspace_id"])
1658
+ check_type(argname="argument customization_resource_arns", value=customization_resource_arns, expected_type=type_hints["customization_resource_arns"])
979
1659
  check_type(argname="argument guardrail_policies", value=guardrail_policies, expected_type=type_hints["guardrail_policies"])
980
1660
  check_type(argname="argument logging_level", value=logging_level, expected_type=type_hints["logging_level"])
981
1661
  check_type(argname="argument sns_topic_arns", value=sns_topic_arns, expected_type=type_hints["sns_topic_arns"])
@@ -987,6 +1667,8 @@ class CfnSlackChannelConfigurationProps:
987
1667
  "slack_channel_id": slack_channel_id,
988
1668
  "slack_workspace_id": slack_workspace_id,
989
1669
  }
1670
+ if customization_resource_arns is not None:
1671
+ self._values["customization_resource_arns"] = customization_resource_arns
990
1672
  if guardrail_policies is not None:
991
1673
  self._values["guardrail_policies"] = guardrail_policies
992
1674
  if logging_level is not None:
@@ -1044,6 +1726,15 @@ class CfnSlackChannelConfigurationProps:
1044
1726
  assert result is not None, "Required property 'slack_workspace_id' is missing"
1045
1727
  return typing.cast(builtins.str, result)
1046
1728
 
1729
+ @builtins.property
1730
+ def customization_resource_arns(self) -> typing.Optional[typing.List[builtins.str]]:
1731
+ '''Links a list of resource ARNs (for example, custom action ARNs) to a Slack channel configuration for AWS Chatbot .
1732
+
1733
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-customizationresourcearns
1734
+ '''
1735
+ result = self._values.get("customization_resource_arns")
1736
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1737
+
1047
1738
  @builtins.property
1048
1739
  def guardrail_policies(self) -> typing.Optional[typing.List[builtins.str]]:
1049
1740
  '''The list of IAM policy ARNs that are applied as channel guardrails.
@@ -1770,6 +2461,8 @@ class SlackChannelConfigurationProps:
1770
2461
 
1771
2462
 
1772
2463
  __all__ = [
2464
+ "CfnCustomAction",
2465
+ "CfnCustomActionProps",
1773
2466
  "CfnMicrosoftTeamsChannelConfiguration",
1774
2467
  "CfnMicrosoftTeamsChannelConfigurationProps",
1775
2468
  "CfnSlackChannelConfiguration",
@@ -1782,6 +2475,98 @@ __all__ = [
1782
2475
 
1783
2476
  publication.publish()
1784
2477
 
2478
+ def _typecheckingstub__4840384b6e4d8bb56afed06983751f4092ececfe9720ea514abb1728770b507a(
2479
+ scope: _constructs_77d1e7e8.Construct,
2480
+ id: builtins.str,
2481
+ *,
2482
+ action_name: builtins.str,
2483
+ definition: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionDefinitionProperty, typing.Dict[builtins.str, typing.Any]]],
2484
+ alias_name: typing.Optional[builtins.str] = None,
2485
+ attachments: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionAttachmentProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2486
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2487
+ ) -> None:
2488
+ """Type checking stubs"""
2489
+ pass
2490
+
2491
+ def _typecheckingstub__44267bc9ce7cc2f3773138acc4718fe9e74ff7aacb67eedf1ef50ff399714ce2(
2492
+ inspector: _TreeInspector_488e0dd5,
2493
+ ) -> None:
2494
+ """Type checking stubs"""
2495
+ pass
2496
+
2497
+ def _typecheckingstub__9a0419a3f98385f838d84777f3b3e06cd478e179f352ab493b9b5dc51f9ab196(
2498
+ props: typing.Mapping[builtins.str, typing.Any],
2499
+ ) -> None:
2500
+ """Type checking stubs"""
2501
+ pass
2502
+
2503
+ def _typecheckingstub__971c2cee7a293449df3b3419302728ec27df82ae1516daa5cb2c681996802476(
2504
+ value: builtins.str,
2505
+ ) -> None:
2506
+ """Type checking stubs"""
2507
+ pass
2508
+
2509
+ def _typecheckingstub__41389535b5493837a09f1517d05c57d5124e60def0c6ed02cfa3bcacf50f356a(
2510
+ value: typing.Union[_IResolvable_da3f097b, CfnCustomAction.CustomActionDefinitionProperty],
2511
+ ) -> None:
2512
+ """Type checking stubs"""
2513
+ pass
2514
+
2515
+ def _typecheckingstub__41def85ca04f9b6e2f09a7a4a94dcbf48f41f3f42b20008ab0c8375fde71a577(
2516
+ value: typing.Optional[builtins.str],
2517
+ ) -> None:
2518
+ """Type checking stubs"""
2519
+ pass
2520
+
2521
+ def _typecheckingstub__25bc30f27dad9105e157414d8573ef4725c2cbb4c8f636ccff8d8cd488d751ad(
2522
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCustomAction.CustomActionAttachmentProperty]]]],
2523
+ ) -> None:
2524
+ """Type checking stubs"""
2525
+ pass
2526
+
2527
+ def _typecheckingstub__072e325a0c2ec8c68fa22d9b8fcacb74cdefc302e246f675cb7d82f02d9c1ad8(
2528
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2529
+ ) -> None:
2530
+ """Type checking stubs"""
2531
+ pass
2532
+
2533
+ def _typecheckingstub__17b54705e9e5c87338c9cd62b14232db30553ead6d15838b291a8bfefa82cd2a(
2534
+ *,
2535
+ operator: builtins.str,
2536
+ variable_name: builtins.str,
2537
+ value: typing.Optional[builtins.str] = None,
2538
+ ) -> None:
2539
+ """Type checking stubs"""
2540
+ pass
2541
+
2542
+ def _typecheckingstub__bdfcc4d3117af4232f6317084ca1888fc93a1fa63045afd0834da2fec394ccdf(
2543
+ *,
2544
+ button_text: typing.Optional[builtins.str] = None,
2545
+ criteria: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionAttachmentCriteriaProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2546
+ notification_type: typing.Optional[builtins.str] = None,
2547
+ variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2548
+ ) -> None:
2549
+ """Type checking stubs"""
2550
+ pass
2551
+
2552
+ def _typecheckingstub__66cde35b29d23cf11cd686434f577e4de7a67224bbebe46b5c31d744e321be5f(
2553
+ *,
2554
+ command_text: builtins.str,
2555
+ ) -> None:
2556
+ """Type checking stubs"""
2557
+ pass
2558
+
2559
+ def _typecheckingstub__a095b5f2109b264f6833c68a2c4a07e415cda11bd116b007cb26fff0c148d24d(
2560
+ *,
2561
+ action_name: builtins.str,
2562
+ definition: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionDefinitionProperty, typing.Dict[builtins.str, typing.Any]]],
2563
+ alias_name: typing.Optional[builtins.str] = None,
2564
+ attachments: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomAction.CustomActionAttachmentProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2565
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2566
+ ) -> None:
2567
+ """Type checking stubs"""
2568
+ pass
2569
+
1785
2570
  def _typecheckingstub__62f6b943071fca79376376fd20660d7b707a1026a9039a0c12c88895d7f39b05(
1786
2571
  scope: _constructs_77d1e7e8.Construct,
1787
2572
  id: builtins.str,
@@ -1791,6 +2576,7 @@ def _typecheckingstub__62f6b943071fca79376376fd20660d7b707a1026a9039a0c12c88895d
1791
2576
  team_id: builtins.str,
1792
2577
  teams_channel_id: builtins.str,
1793
2578
  teams_tenant_id: builtins.str,
2579
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
1794
2580
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
1795
2581
  logging_level: typing.Optional[builtins.str] = None,
1796
2582
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -1842,6 +2628,12 @@ def _typecheckingstub__150448116265d03ce90265c34fc82985640b935241cdd8bab0f49cc5e
1842
2628
  """Type checking stubs"""
1843
2629
  pass
1844
2630
 
2631
+ def _typecheckingstub__11efc1f4b5699a2254663cde691669f1d0c162272e0d5627190665ef98affc89(
2632
+ value: typing.Optional[typing.List[builtins.str]],
2633
+ ) -> None:
2634
+ """Type checking stubs"""
2635
+ pass
2636
+
1845
2637
  def _typecheckingstub__8a369a2e8b97e0da168bc82e338319cde3d1784e8fcc291e9f4bf92f07c0bcea(
1846
2638
  value: typing.Optional[typing.List[builtins.str]],
1847
2639
  ) -> None:
@@ -1879,6 +2671,7 @@ def _typecheckingstub__2750e06a244ed0f59003e9954924d4cdea272b2fc67dda92574fc40bd
1879
2671
  team_id: builtins.str,
1880
2672
  teams_channel_id: builtins.str,
1881
2673
  teams_tenant_id: builtins.str,
2674
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
1882
2675
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
1883
2676
  logging_level: typing.Optional[builtins.str] = None,
1884
2677
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -1896,6 +2689,7 @@ def _typecheckingstub__1cb3844509a8f0685c3dc0d26d5014fa028976d66c5d0a8984e8284bb
1896
2689
  iam_role_arn: builtins.str,
1897
2690
  slack_channel_id: builtins.str,
1898
2691
  slack_workspace_id: builtins.str,
2692
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
1899
2693
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
1900
2694
  logging_level: typing.Optional[builtins.str] = None,
1901
2695
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -1941,6 +2735,12 @@ def _typecheckingstub__bcd6c259891d90515113fab2b366a0fa3fe65279fa991dfb0c55094b8
1941
2735
  """Type checking stubs"""
1942
2736
  pass
1943
2737
 
2738
+ def _typecheckingstub__d0d0439ef3a58ce5c9660cc070abad2db1860848733177ed530f90e5b2c5aa14(
2739
+ value: typing.Optional[typing.List[builtins.str]],
2740
+ ) -> None:
2741
+ """Type checking stubs"""
2742
+ pass
2743
+
1944
2744
  def _typecheckingstub__501b5577e7827d442d9391d6001230a41ff67452706a19ec7b9752f0f819226a(
1945
2745
  value: typing.Optional[typing.List[builtins.str]],
1946
2746
  ) -> None:
@@ -1977,6 +2777,7 @@ def _typecheckingstub__277f742a3921d9599de6f4a85fd399fb4b6654557393ff7889e5e52f5
1977
2777
  iam_role_arn: builtins.str,
1978
2778
  slack_channel_id: builtins.str,
1979
2779
  slack_workspace_id: builtins.str,
2780
+ customization_resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
1980
2781
  guardrail_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
1981
2782
  logging_level: typing.Optional[builtins.str] = None,
1982
2783
  sns_topic_arns: typing.Optional[typing.Sequence[builtins.str]] = None,