aws-cdk-lib 2.167.1__py3-none-any.whl → 2.168.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (45) hide show
  1. aws_cdk/__init__.py +2081 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.1.jsii.tgz → aws-cdk-lib@2.168.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  5. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  6. aws_cdk/aws_applicationsignals/__init__.py +117 -0
  7. aws_cdk/aws_autoscaling/__init__.py +441 -6
  8. aws_cdk/aws_batch/__init__.py +202 -5
  9. aws_cdk/aws_bedrock/__init__.py +12 -12
  10. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  11. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  12. aws_cdk/aws_cloudfront/__init__.py +231 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  14. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  15. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  16. aws_cdk/aws_codebuild/__init__.py +668 -2
  17. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  18. aws_cdk/aws_dynamodb/__init__.py +332 -11
  19. aws_cdk/aws_ec2/__init__.py +13 -4
  20. aws_cdk/aws_ecs/__init__.py +213 -0
  21. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  22. aws_cdk/aws_fis/__init__.py +495 -0
  23. aws_cdk/aws_gamelift/__init__.py +3101 -1135
  24. aws_cdk/aws_kinesisfirehose/__init__.py +696 -5
  25. aws_cdk/aws_lambda/__init__.py +634 -259
  26. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  27. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  28. aws_cdk/aws_location/__init__.py +18 -18
  29. aws_cdk/aws_mediastore/__init__.py +22 -10
  30. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  31. aws_cdk/aws_quicksight/__init__.py +35 -19
  32. aws_cdk/aws_rds/__init__.py +51 -3
  33. aws_cdk/aws_securityhub/__init__.py +11 -14
  34. aws_cdk/aws_ses/__init__.py +58 -5
  35. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  36. aws_cdk/aws_transfer/__init__.py +0 -8
  37. aws_cdk/aws_vpclattice/__init__.py +39 -0
  38. aws_cdk/aws_wisdom/__init__.py +134 -85
  39. aws_cdk/cx_api/__init__.py +6 -6
  40. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/METADATA +1 -1
  41. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/RECORD +45 -44
  42. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/LICENSE +0 -0
  43. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/NOTICE +0 -0
  44. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/WHEEL +0 -0
  45. {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3376 @@
1
+ r'''
2
+ # AWS::ConnectCampaignsV2 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_connectcampaignsv2 as connectcampaigns
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 ConnectCampaignsV2 construct libraries](https://constructs.dev/search?q=connectcampaignsv2)
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::ConnectCampaignsV2 resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ConnectCampaignsV2.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::ConnectCampaignsV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ConnectCampaignsV2.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 CfnCampaign(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign",
87
+ ):
88
+ '''Definition of AWS::ConnectCampaignsV2::Campaign Resource Type.
89
+
90
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html
91
+ :cloudformationResource: AWS::ConnectCampaignsV2::Campaign
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_connectcampaignsv2 as connectcampaignsv2
99
+
100
+ # agentless_config: Any
101
+
102
+ cfn_campaign = connectcampaignsv2.CfnCampaign(self, "MyCfnCampaign",
103
+ channel_subtype_config=connectcampaignsv2.CfnCampaign.ChannelSubtypeConfigProperty(
104
+ email=connectcampaignsv2.CfnCampaign.EmailChannelSubtypeConfigProperty(
105
+ default_outbound_config=connectcampaignsv2.CfnCampaign.EmailOutboundConfigProperty(
106
+ connect_source_email_address="connectSourceEmailAddress",
107
+ wisdom_template_arn="wisdomTemplateArn",
108
+
109
+ # the properties below are optional
110
+ source_email_address_display_name="sourceEmailAddressDisplayName"
111
+ ),
112
+ outbound_mode=connectcampaignsv2.CfnCampaign.EmailOutboundModeProperty(
113
+ agentless_config=agentless_config
114
+ ),
115
+
116
+ # the properties below are optional
117
+ capacity=123
118
+ ),
119
+ sms=connectcampaignsv2.CfnCampaign.SmsChannelSubtypeConfigProperty(
120
+ default_outbound_config=connectcampaignsv2.CfnCampaign.SmsOutboundConfigProperty(
121
+ connect_source_phone_number_arn="connectSourcePhoneNumberArn",
122
+ wisdom_template_arn="wisdomTemplateArn"
123
+ ),
124
+ outbound_mode=connectcampaignsv2.CfnCampaign.SmsOutboundModeProperty(
125
+ agentless_config=agentless_config
126
+ ),
127
+
128
+ # the properties below are optional
129
+ capacity=123
130
+ ),
131
+ telephony=connectcampaignsv2.CfnCampaign.TelephonyChannelSubtypeConfigProperty(
132
+ default_outbound_config=connectcampaignsv2.CfnCampaign.TelephonyOutboundConfigProperty(
133
+ connect_contact_flow_id="connectContactFlowId",
134
+
135
+ # the properties below are optional
136
+ answer_machine_detection_config=connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty(
137
+ enable_answer_machine_detection=False,
138
+
139
+ # the properties below are optional
140
+ await_answer_machine_prompt=False
141
+ ),
142
+ connect_source_phone_number="connectSourcePhoneNumber"
143
+ ),
144
+ outbound_mode=connectcampaignsv2.CfnCampaign.TelephonyOutboundModeProperty(
145
+ agentless_config=agentless_config,
146
+ predictive_config=connectcampaignsv2.CfnCampaign.PredictiveConfigProperty(
147
+ bandwidth_allocation=123
148
+ ),
149
+ progressive_config=connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty(
150
+ bandwidth_allocation=123
151
+ )
152
+ ),
153
+
154
+ # the properties below are optional
155
+ capacity=123,
156
+ connect_queue_id="connectQueueId"
157
+ )
158
+ ),
159
+ connect_instance_id="connectInstanceId",
160
+ name="name",
161
+
162
+ # the properties below are optional
163
+ communication_limits_override=connectcampaignsv2.CfnCampaign.CommunicationLimitsConfigProperty(
164
+ all_channels_subtypes=connectcampaignsv2.CfnCampaign.CommunicationLimitsProperty(
165
+ communication_limit_list=[connectcampaignsv2.CfnCampaign.CommunicationLimitProperty(
166
+ frequency=123,
167
+ max_count_per_recipient=123,
168
+ unit="unit"
169
+ )]
170
+ )
171
+ ),
172
+ communication_time_config=connectcampaignsv2.CfnCampaign.CommunicationTimeConfigProperty(
173
+ local_time_zone_config=connectcampaignsv2.CfnCampaign.LocalTimeZoneConfigProperty(
174
+ default_time_zone="defaultTimeZone",
175
+ local_time_zone_detection=["localTimeZoneDetection"]
176
+ ),
177
+
178
+ # the properties below are optional
179
+ email=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
180
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
181
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
182
+ key="key",
183
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
184
+ end_time="endTime",
185
+ start_time="startTime"
186
+ )]
187
+ )]
188
+ ),
189
+
190
+ # the properties below are optional
191
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
192
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
193
+ end_date="endDate",
194
+ start_date="startDate",
195
+
196
+ # the properties below are optional
197
+ name="name"
198
+ )]
199
+ )
200
+ ),
201
+ sms=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
202
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
203
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
204
+ key="key",
205
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
206
+ end_time="endTime",
207
+ start_time="startTime"
208
+ )]
209
+ )]
210
+ ),
211
+
212
+ # the properties below are optional
213
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
214
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
215
+ end_date="endDate",
216
+ start_date="startDate",
217
+
218
+ # the properties below are optional
219
+ name="name"
220
+ )]
221
+ )
222
+ ),
223
+ telephony=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
224
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
225
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
226
+ key="key",
227
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
228
+ end_time="endTime",
229
+ start_time="startTime"
230
+ )]
231
+ )]
232
+ ),
233
+
234
+ # the properties below are optional
235
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
236
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
237
+ end_date="endDate",
238
+ start_date="startDate",
239
+
240
+ # the properties below are optional
241
+ name="name"
242
+ )]
243
+ )
244
+ )
245
+ ),
246
+ connect_campaign_flow_arn="connectCampaignFlowArn",
247
+ schedule=connectcampaignsv2.CfnCampaign.ScheduleProperty(
248
+ end_time="endTime",
249
+ start_time="startTime",
250
+
251
+ # the properties below are optional
252
+ refresh_frequency="refreshFrequency"
253
+ ),
254
+ source=connectcampaignsv2.CfnCampaign.SourceProperty(
255
+ customer_profiles_segment_arn="customerProfilesSegmentArn"
256
+ ),
257
+ tags=[CfnTag(
258
+ key="key",
259
+ value="value"
260
+ )]
261
+ )
262
+ '''
263
+
264
+ def __init__(
265
+ self,
266
+ scope: _constructs_77d1e7e8.Construct,
267
+ id: builtins.str,
268
+ *,
269
+ channel_subtype_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.ChannelSubtypeConfigProperty", typing.Dict[builtins.str, typing.Any]]],
270
+ connect_instance_id: builtins.str,
271
+ name: builtins.str,
272
+ communication_limits_override: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.CommunicationLimitsConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
273
+ communication_time_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.CommunicationTimeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
274
+ connect_campaign_flow_arn: typing.Optional[builtins.str] = None,
275
+ schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.ScheduleProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
276
+ source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.SourceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
277
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
278
+ ) -> None:
279
+ '''
280
+ :param scope: Scope in which this resource is defined.
281
+ :param id: Construct identifier for this resource (unique in its scope).
282
+ :param channel_subtype_config: The possible types of channel subtype config parameters.
283
+ :param connect_instance_id: Amazon Connect Instance Id.
284
+ :param name: Campaign name.
285
+ :param communication_limits_override: Communication limits config.
286
+ :param communication_time_config: Campaign communication time config.
287
+ :param connect_campaign_flow_arn: Arn.
288
+ :param schedule: Campaign schedule.
289
+ :param source: The possible types of channel config parameters.
290
+ :param tags: One or more tags.
291
+ '''
292
+ if __debug__:
293
+ type_hints = typing.get_type_hints(_typecheckingstub__228f2b3a0b621ad8a32effe36abeb2d513f50077bd0ad5de7f33f1ea81da26bf)
294
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
295
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
296
+ props = CfnCampaignProps(
297
+ channel_subtype_config=channel_subtype_config,
298
+ connect_instance_id=connect_instance_id,
299
+ name=name,
300
+ communication_limits_override=communication_limits_override,
301
+ communication_time_config=communication_time_config,
302
+ connect_campaign_flow_arn=connect_campaign_flow_arn,
303
+ schedule=schedule,
304
+ source=source,
305
+ tags=tags,
306
+ )
307
+
308
+ jsii.create(self.__class__, self, [scope, id, props])
309
+
310
+ @jsii.member(jsii_name="inspect")
311
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
312
+ '''Examines the CloudFormation resource and discloses attributes.
313
+
314
+ :param inspector: tree inspector to collect and process attributes.
315
+ '''
316
+ if __debug__:
317
+ type_hints = typing.get_type_hints(_typecheckingstub__7a3569f68d4e1cebb6aa0c64e1d5986831e6aae0db4d29cfdc75c914d15ffdce)
318
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
319
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
320
+
321
+ @jsii.member(jsii_name="renderProperties")
322
+ def _render_properties(
323
+ self,
324
+ props: typing.Mapping[builtins.str, typing.Any],
325
+ ) -> typing.Mapping[builtins.str, typing.Any]:
326
+ '''
327
+ :param props: -
328
+ '''
329
+ if __debug__:
330
+ type_hints = typing.get_type_hints(_typecheckingstub__c76203b12deea4c92c4180a4c58e9869df456b6f2b525019f1464142d4eec24c)
331
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
332
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
333
+
334
+ @jsii.python.classproperty
335
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
336
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
337
+ '''The CloudFormation resource type name for this resource class.'''
338
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
339
+
340
+ @builtins.property
341
+ @jsii.member(jsii_name="attrArn")
342
+ def attr_arn(self) -> builtins.str:
343
+ '''Amazon Connect Campaign Arn.
344
+
345
+ :cloudformationAttribute: Arn
346
+ '''
347
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
348
+
349
+ @builtins.property
350
+ @jsii.member(jsii_name="cdkTagManager")
351
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
352
+ '''Tag Manager which manages the tags for this resource.'''
353
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
354
+
355
+ @builtins.property
356
+ @jsii.member(jsii_name="cfnProperties")
357
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
358
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
359
+
360
+ @builtins.property
361
+ @jsii.member(jsii_name="channelSubtypeConfig")
362
+ def channel_subtype_config(
363
+ self,
364
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.ChannelSubtypeConfigProperty"]:
365
+ '''The possible types of channel subtype config parameters.'''
366
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.ChannelSubtypeConfigProperty"], jsii.get(self, "channelSubtypeConfig"))
367
+
368
+ @channel_subtype_config.setter
369
+ def channel_subtype_config(
370
+ self,
371
+ value: typing.Union[_IResolvable_da3f097b, "CfnCampaign.ChannelSubtypeConfigProperty"],
372
+ ) -> None:
373
+ if __debug__:
374
+ type_hints = typing.get_type_hints(_typecheckingstub__a5b5c43e63bf2a0bf41f238db2ecf2eed8032758072a77ebd8c459798f74fa0c)
375
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
376
+ jsii.set(self, "channelSubtypeConfig", value) # pyright: ignore[reportArgumentType]
377
+
378
+ @builtins.property
379
+ @jsii.member(jsii_name="connectInstanceId")
380
+ def connect_instance_id(self) -> builtins.str:
381
+ '''Amazon Connect Instance Id.'''
382
+ return typing.cast(builtins.str, jsii.get(self, "connectInstanceId"))
383
+
384
+ @connect_instance_id.setter
385
+ def connect_instance_id(self, value: builtins.str) -> None:
386
+ if __debug__:
387
+ type_hints = typing.get_type_hints(_typecheckingstub__dea841111eb9715b7977d34769972a35f4ff12770a8fd30c5e8756c52e2315dd)
388
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
389
+ jsii.set(self, "connectInstanceId", value) # pyright: ignore[reportArgumentType]
390
+
391
+ @builtins.property
392
+ @jsii.member(jsii_name="name")
393
+ def name(self) -> builtins.str:
394
+ '''Campaign name.'''
395
+ return typing.cast(builtins.str, jsii.get(self, "name"))
396
+
397
+ @name.setter
398
+ def name(self, value: builtins.str) -> None:
399
+ if __debug__:
400
+ type_hints = typing.get_type_hints(_typecheckingstub__8a6ee2c8ab1041b75d3fc61f47c640e057770a39c0cd0f8b43528a1df4134a14)
401
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
402
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
403
+
404
+ @builtins.property
405
+ @jsii.member(jsii_name="communicationLimitsOverride")
406
+ def communication_limits_override(
407
+ self,
408
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitsConfigProperty"]]:
409
+ '''Communication limits config.'''
410
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitsConfigProperty"]], jsii.get(self, "communicationLimitsOverride"))
411
+
412
+ @communication_limits_override.setter
413
+ def communication_limits_override(
414
+ self,
415
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitsConfigProperty"]],
416
+ ) -> None:
417
+ if __debug__:
418
+ type_hints = typing.get_type_hints(_typecheckingstub__e9a4f9850d67cc76e259c5826fc9085afbf3a202dbe3ba9f6af537bfd18c830a)
419
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
420
+ jsii.set(self, "communicationLimitsOverride", value) # pyright: ignore[reportArgumentType]
421
+
422
+ @builtins.property
423
+ @jsii.member(jsii_name="communicationTimeConfig")
424
+ def communication_time_config(
425
+ self,
426
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationTimeConfigProperty"]]:
427
+ '''Campaign communication time config.'''
428
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationTimeConfigProperty"]], jsii.get(self, "communicationTimeConfig"))
429
+
430
+ @communication_time_config.setter
431
+ def communication_time_config(
432
+ self,
433
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationTimeConfigProperty"]],
434
+ ) -> None:
435
+ if __debug__:
436
+ type_hints = typing.get_type_hints(_typecheckingstub__f04ec307144a013ae0d78d8747dea1d25d0ab7e9abc18aaab84c15553a5bb868)
437
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
438
+ jsii.set(self, "communicationTimeConfig", value) # pyright: ignore[reportArgumentType]
439
+
440
+ @builtins.property
441
+ @jsii.member(jsii_name="connectCampaignFlowArn")
442
+ def connect_campaign_flow_arn(self) -> typing.Optional[builtins.str]:
443
+ '''Arn.'''
444
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "connectCampaignFlowArn"))
445
+
446
+ @connect_campaign_flow_arn.setter
447
+ def connect_campaign_flow_arn(self, value: typing.Optional[builtins.str]) -> None:
448
+ if __debug__:
449
+ type_hints = typing.get_type_hints(_typecheckingstub__c514dbfca338965ca2462164a214264c8a79ca12e54b81685d99cc57a888b73c)
450
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
451
+ jsii.set(self, "connectCampaignFlowArn", value) # pyright: ignore[reportArgumentType]
452
+
453
+ @builtins.property
454
+ @jsii.member(jsii_name="schedule")
455
+ def schedule(
456
+ self,
457
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.ScheduleProperty"]]:
458
+ '''Campaign schedule.'''
459
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.ScheduleProperty"]], jsii.get(self, "schedule"))
460
+
461
+ @schedule.setter
462
+ def schedule(
463
+ self,
464
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.ScheduleProperty"]],
465
+ ) -> None:
466
+ if __debug__:
467
+ type_hints = typing.get_type_hints(_typecheckingstub__96d94c4ddf36f3ab10421fbfcb861afdc6852b09a0b0783e33f602560dc90a87)
468
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
469
+ jsii.set(self, "schedule", value) # pyright: ignore[reportArgumentType]
470
+
471
+ @builtins.property
472
+ @jsii.member(jsii_name="source")
473
+ def source(
474
+ self,
475
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.SourceProperty"]]:
476
+ '''The possible types of channel config parameters.'''
477
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.SourceProperty"]], jsii.get(self, "source"))
478
+
479
+ @source.setter
480
+ def source(
481
+ self,
482
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.SourceProperty"]],
483
+ ) -> None:
484
+ if __debug__:
485
+ type_hints = typing.get_type_hints(_typecheckingstub__1dd88e602a1609757680509707feb43ec965d5628d820f7eb876dc6ac055b404)
486
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
487
+ jsii.set(self, "source", value) # pyright: ignore[reportArgumentType]
488
+
489
+ @builtins.property
490
+ @jsii.member(jsii_name="tags")
491
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
492
+ '''One or more tags.'''
493
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
494
+
495
+ @tags.setter
496
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
497
+ if __debug__:
498
+ type_hints = typing.get_type_hints(_typecheckingstub__c7a5de836c29e94a66b86ab16ab9047f892319b5f0f4bb59a47dc977cdb0fb0b)
499
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
500
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
501
+
502
+ @jsii.data_type(
503
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty",
504
+ jsii_struct_bases=[],
505
+ name_mapping={
506
+ "enable_answer_machine_detection": "enableAnswerMachineDetection",
507
+ "await_answer_machine_prompt": "awaitAnswerMachinePrompt",
508
+ },
509
+ )
510
+ class AnswerMachineDetectionConfigProperty:
511
+ def __init__(
512
+ self,
513
+ *,
514
+ enable_answer_machine_detection: typing.Union[builtins.bool, _IResolvable_da3f097b],
515
+ await_answer_machine_prompt: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
516
+ ) -> None:
517
+ '''The configuration used for answering machine detection during outbound calls.
518
+
519
+ :param enable_answer_machine_detection: Flag to decided whether outbound calls should have answering machine detection enabled or not.
520
+ :param await_answer_machine_prompt: Enables detection of prompts (e.g., beep after after a voicemail greeting).
521
+
522
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-answermachinedetectionconfig.html
523
+ :exampleMetadata: fixture=_generated
524
+
525
+ Example::
526
+
527
+ # The code below shows an example of how to instantiate this type.
528
+ # The values are placeholders you should change.
529
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
530
+
531
+ answer_machine_detection_config_property = connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty(
532
+ enable_answer_machine_detection=False,
533
+
534
+ # the properties below are optional
535
+ await_answer_machine_prompt=False
536
+ )
537
+ '''
538
+ if __debug__:
539
+ type_hints = typing.get_type_hints(_typecheckingstub__cc9e20500646db1cdb84f99ed95755110a841a334cc195de359fe87f9f7051d5)
540
+ check_type(argname="argument enable_answer_machine_detection", value=enable_answer_machine_detection, expected_type=type_hints["enable_answer_machine_detection"])
541
+ check_type(argname="argument await_answer_machine_prompt", value=await_answer_machine_prompt, expected_type=type_hints["await_answer_machine_prompt"])
542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
543
+ "enable_answer_machine_detection": enable_answer_machine_detection,
544
+ }
545
+ if await_answer_machine_prompt is not None:
546
+ self._values["await_answer_machine_prompt"] = await_answer_machine_prompt
547
+
548
+ @builtins.property
549
+ def enable_answer_machine_detection(
550
+ self,
551
+ ) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
552
+ '''Flag to decided whether outbound calls should have answering machine detection enabled or not.
553
+
554
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-answermachinedetectionconfig.html#cfn-connectcampaignsv2-campaign-answermachinedetectionconfig-enableanswermachinedetection
555
+ '''
556
+ result = self._values.get("enable_answer_machine_detection")
557
+ assert result is not None, "Required property 'enable_answer_machine_detection' is missing"
558
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
559
+
560
+ @builtins.property
561
+ def await_answer_machine_prompt(
562
+ self,
563
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
564
+ '''Enables detection of prompts (e.g., beep after after a voicemail greeting).
565
+
566
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-answermachinedetectionconfig.html#cfn-connectcampaignsv2-campaign-answermachinedetectionconfig-awaitanswermachineprompt
567
+ '''
568
+ result = self._values.get("await_answer_machine_prompt")
569
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
570
+
571
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
572
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
573
+
574
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
575
+ return not (rhs == self)
576
+
577
+ def __repr__(self) -> str:
578
+ return "AnswerMachineDetectionConfigProperty(%s)" % ", ".join(
579
+ k + "=" + repr(v) for k, v in self._values.items()
580
+ )
581
+
582
+ @jsii.data_type(
583
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.ChannelSubtypeConfigProperty",
584
+ jsii_struct_bases=[],
585
+ name_mapping={"email": "email", "sms": "sms", "telephony": "telephony"},
586
+ )
587
+ class ChannelSubtypeConfigProperty:
588
+ def __init__(
589
+ self,
590
+ *,
591
+ email: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.EmailChannelSubtypeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
592
+ sms: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.SmsChannelSubtypeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
593
+ telephony: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TelephonyChannelSubtypeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
594
+ ) -> None:
595
+ '''The possible types of channel subtype config parameters.
596
+
597
+ :param email: Email Channel Subtype config.
598
+ :param sms: SMS Channel Subtype config.
599
+ :param telephony: Telephony Channel Subtype config.
600
+
601
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-channelsubtypeconfig.html
602
+ :exampleMetadata: fixture=_generated
603
+
604
+ Example::
605
+
606
+ # The code below shows an example of how to instantiate this type.
607
+ # The values are placeholders you should change.
608
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
609
+
610
+ # agentless_config: Any
611
+
612
+ channel_subtype_config_property = connectcampaignsv2.CfnCampaign.ChannelSubtypeConfigProperty(
613
+ email=connectcampaignsv2.CfnCampaign.EmailChannelSubtypeConfigProperty(
614
+ default_outbound_config=connectcampaignsv2.CfnCampaign.EmailOutboundConfigProperty(
615
+ connect_source_email_address="connectSourceEmailAddress",
616
+ wisdom_template_arn="wisdomTemplateArn",
617
+
618
+ # the properties below are optional
619
+ source_email_address_display_name="sourceEmailAddressDisplayName"
620
+ ),
621
+ outbound_mode=connectcampaignsv2.CfnCampaign.EmailOutboundModeProperty(
622
+ agentless_config=agentless_config
623
+ ),
624
+
625
+ # the properties below are optional
626
+ capacity=123
627
+ ),
628
+ sms=connectcampaignsv2.CfnCampaign.SmsChannelSubtypeConfigProperty(
629
+ default_outbound_config=connectcampaignsv2.CfnCampaign.SmsOutboundConfigProperty(
630
+ connect_source_phone_number_arn="connectSourcePhoneNumberArn",
631
+ wisdom_template_arn="wisdomTemplateArn"
632
+ ),
633
+ outbound_mode=connectcampaignsv2.CfnCampaign.SmsOutboundModeProperty(
634
+ agentless_config=agentless_config
635
+ ),
636
+
637
+ # the properties below are optional
638
+ capacity=123
639
+ ),
640
+ telephony=connectcampaignsv2.CfnCampaign.TelephonyChannelSubtypeConfigProperty(
641
+ default_outbound_config=connectcampaignsv2.CfnCampaign.TelephonyOutboundConfigProperty(
642
+ connect_contact_flow_id="connectContactFlowId",
643
+
644
+ # the properties below are optional
645
+ answer_machine_detection_config=connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty(
646
+ enable_answer_machine_detection=False,
647
+
648
+ # the properties below are optional
649
+ await_answer_machine_prompt=False
650
+ ),
651
+ connect_source_phone_number="connectSourcePhoneNumber"
652
+ ),
653
+ outbound_mode=connectcampaignsv2.CfnCampaign.TelephonyOutboundModeProperty(
654
+ agentless_config=agentless_config,
655
+ predictive_config=connectcampaignsv2.CfnCampaign.PredictiveConfigProperty(
656
+ bandwidth_allocation=123
657
+ ),
658
+ progressive_config=connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty(
659
+ bandwidth_allocation=123
660
+ )
661
+ ),
662
+
663
+ # the properties below are optional
664
+ capacity=123,
665
+ connect_queue_id="connectQueueId"
666
+ )
667
+ )
668
+ '''
669
+ if __debug__:
670
+ type_hints = typing.get_type_hints(_typecheckingstub__aae9c62c36e7d18a87df32d56bbdc6f7740c287aaac55c92832b7ca366aa6b5b)
671
+ check_type(argname="argument email", value=email, expected_type=type_hints["email"])
672
+ check_type(argname="argument sms", value=sms, expected_type=type_hints["sms"])
673
+ check_type(argname="argument telephony", value=telephony, expected_type=type_hints["telephony"])
674
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
675
+ if email is not None:
676
+ self._values["email"] = email
677
+ if sms is not None:
678
+ self._values["sms"] = sms
679
+ if telephony is not None:
680
+ self._values["telephony"] = telephony
681
+
682
+ @builtins.property
683
+ def email(
684
+ self,
685
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.EmailChannelSubtypeConfigProperty"]]:
686
+ '''Email Channel Subtype config.
687
+
688
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-channelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-channelsubtypeconfig-email
689
+ '''
690
+ result = self._values.get("email")
691
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.EmailChannelSubtypeConfigProperty"]], result)
692
+
693
+ @builtins.property
694
+ def sms(
695
+ self,
696
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.SmsChannelSubtypeConfigProperty"]]:
697
+ '''SMS Channel Subtype config.
698
+
699
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-channelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-channelsubtypeconfig-sms
700
+ '''
701
+ result = self._values.get("sms")
702
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.SmsChannelSubtypeConfigProperty"]], result)
703
+
704
+ @builtins.property
705
+ def telephony(
706
+ self,
707
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TelephonyChannelSubtypeConfigProperty"]]:
708
+ '''Telephony Channel Subtype config.
709
+
710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-channelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-channelsubtypeconfig-telephony
711
+ '''
712
+ result = self._values.get("telephony")
713
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TelephonyChannelSubtypeConfigProperty"]], result)
714
+
715
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
716
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
717
+
718
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
719
+ return not (rhs == self)
720
+
721
+ def __repr__(self) -> str:
722
+ return "ChannelSubtypeConfigProperty(%s)" % ", ".join(
723
+ k + "=" + repr(v) for k, v in self._values.items()
724
+ )
725
+
726
+ @jsii.data_type(
727
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.CommunicationLimitProperty",
728
+ jsii_struct_bases=[],
729
+ name_mapping={
730
+ "frequency": "frequency",
731
+ "max_count_per_recipient": "maxCountPerRecipient",
732
+ "unit": "unit",
733
+ },
734
+ )
735
+ class CommunicationLimitProperty:
736
+ def __init__(
737
+ self,
738
+ *,
739
+ frequency: jsii.Number,
740
+ max_count_per_recipient: jsii.Number,
741
+ unit: builtins.str,
742
+ ) -> None:
743
+ '''Communication Limit.
744
+
745
+ :param frequency:
746
+ :param max_count_per_recipient:
747
+ :param unit: The communication limit time unit.
748
+
749
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimit.html
750
+ :exampleMetadata: fixture=_generated
751
+
752
+ Example::
753
+
754
+ # The code below shows an example of how to instantiate this type.
755
+ # The values are placeholders you should change.
756
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
757
+
758
+ communication_limit_property = connectcampaignsv2.CfnCampaign.CommunicationLimitProperty(
759
+ frequency=123,
760
+ max_count_per_recipient=123,
761
+ unit="unit"
762
+ )
763
+ '''
764
+ if __debug__:
765
+ type_hints = typing.get_type_hints(_typecheckingstub__7a4b2b207bce63b0696bef9d14a808bcf3bd9ae2746f645e72a80348100b732b)
766
+ check_type(argname="argument frequency", value=frequency, expected_type=type_hints["frequency"])
767
+ check_type(argname="argument max_count_per_recipient", value=max_count_per_recipient, expected_type=type_hints["max_count_per_recipient"])
768
+ check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
769
+ self._values: typing.Dict[builtins.str, typing.Any] = {
770
+ "frequency": frequency,
771
+ "max_count_per_recipient": max_count_per_recipient,
772
+ "unit": unit,
773
+ }
774
+
775
+ @builtins.property
776
+ def frequency(self) -> jsii.Number:
777
+ '''
778
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimit.html#cfn-connectcampaignsv2-campaign-communicationlimit-frequency
779
+ '''
780
+ result = self._values.get("frequency")
781
+ assert result is not None, "Required property 'frequency' is missing"
782
+ return typing.cast(jsii.Number, result)
783
+
784
+ @builtins.property
785
+ def max_count_per_recipient(self) -> jsii.Number:
786
+ '''
787
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimit.html#cfn-connectcampaignsv2-campaign-communicationlimit-maxcountperrecipient
788
+ '''
789
+ result = self._values.get("max_count_per_recipient")
790
+ assert result is not None, "Required property 'max_count_per_recipient' is missing"
791
+ return typing.cast(jsii.Number, result)
792
+
793
+ @builtins.property
794
+ def unit(self) -> builtins.str:
795
+ '''The communication limit time unit.
796
+
797
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimit.html#cfn-connectcampaignsv2-campaign-communicationlimit-unit
798
+ '''
799
+ result = self._values.get("unit")
800
+ assert result is not None, "Required property 'unit' is missing"
801
+ return typing.cast(builtins.str, result)
802
+
803
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
804
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
805
+
806
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
807
+ return not (rhs == self)
808
+
809
+ def __repr__(self) -> str:
810
+ return "CommunicationLimitProperty(%s)" % ", ".join(
811
+ k + "=" + repr(v) for k, v in self._values.items()
812
+ )
813
+
814
+ @jsii.data_type(
815
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.CommunicationLimitsConfigProperty",
816
+ jsii_struct_bases=[],
817
+ name_mapping={"all_channels_subtypes": "allChannelsSubtypes"},
818
+ )
819
+ class CommunicationLimitsConfigProperty:
820
+ def __init__(
821
+ self,
822
+ *,
823
+ all_channels_subtypes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.CommunicationLimitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
824
+ ) -> None:
825
+ '''Communication limits config.
826
+
827
+ :param all_channels_subtypes: Communication limits.
828
+
829
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimitsconfig.html
830
+ :exampleMetadata: fixture=_generated
831
+
832
+ Example::
833
+
834
+ # The code below shows an example of how to instantiate this type.
835
+ # The values are placeholders you should change.
836
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
837
+
838
+ communication_limits_config_property = connectcampaignsv2.CfnCampaign.CommunicationLimitsConfigProperty(
839
+ all_channels_subtypes=connectcampaignsv2.CfnCampaign.CommunicationLimitsProperty(
840
+ communication_limit_list=[connectcampaignsv2.CfnCampaign.CommunicationLimitProperty(
841
+ frequency=123,
842
+ max_count_per_recipient=123,
843
+ unit="unit"
844
+ )]
845
+ )
846
+ )
847
+ '''
848
+ if __debug__:
849
+ type_hints = typing.get_type_hints(_typecheckingstub__5a5ca8627addc85a64908de980e86012a2ad9d04257fa86e81c4873e7a7d93be)
850
+ check_type(argname="argument all_channels_subtypes", value=all_channels_subtypes, expected_type=type_hints["all_channels_subtypes"])
851
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
852
+ if all_channels_subtypes is not None:
853
+ self._values["all_channels_subtypes"] = all_channels_subtypes
854
+
855
+ @builtins.property
856
+ def all_channels_subtypes(
857
+ self,
858
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitsProperty"]]:
859
+ '''Communication limits.
860
+
861
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimitsconfig.html#cfn-connectcampaignsv2-campaign-communicationlimitsconfig-allchannelssubtypes
862
+ '''
863
+ result = self._values.get("all_channels_subtypes")
864
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitsProperty"]], result)
865
+
866
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
867
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
868
+
869
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
870
+ return not (rhs == self)
871
+
872
+ def __repr__(self) -> str:
873
+ return "CommunicationLimitsConfigProperty(%s)" % ", ".join(
874
+ k + "=" + repr(v) for k, v in self._values.items()
875
+ )
876
+
877
+ @jsii.data_type(
878
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.CommunicationLimitsProperty",
879
+ jsii_struct_bases=[],
880
+ name_mapping={"communication_limit_list": "communicationLimitList"},
881
+ )
882
+ class CommunicationLimitsProperty:
883
+ def __init__(
884
+ self,
885
+ *,
886
+ communication_limit_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.CommunicationLimitProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
887
+ ) -> None:
888
+ '''Communication limits.
889
+
890
+ :param communication_limit_list: List of communication limit.
891
+
892
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimits.html
893
+ :exampleMetadata: fixture=_generated
894
+
895
+ Example::
896
+
897
+ # The code below shows an example of how to instantiate this type.
898
+ # The values are placeholders you should change.
899
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
900
+
901
+ communication_limits_property = connectcampaignsv2.CfnCampaign.CommunicationLimitsProperty(
902
+ communication_limit_list=[connectcampaignsv2.CfnCampaign.CommunicationLimitProperty(
903
+ frequency=123,
904
+ max_count_per_recipient=123,
905
+ unit="unit"
906
+ )]
907
+ )
908
+ '''
909
+ if __debug__:
910
+ type_hints = typing.get_type_hints(_typecheckingstub__063b98187bfe10fef303f184ab9d1c8b1d41a5388eb6da2529b64fee8106550c)
911
+ check_type(argname="argument communication_limit_list", value=communication_limit_list, expected_type=type_hints["communication_limit_list"])
912
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
913
+ if communication_limit_list is not None:
914
+ self._values["communication_limit_list"] = communication_limit_list
915
+
916
+ @builtins.property
917
+ def communication_limit_list(
918
+ self,
919
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitProperty"]]]]:
920
+ '''List of communication limit.
921
+
922
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationlimits.html#cfn-connectcampaignsv2-campaign-communicationlimits-communicationlimitlist
923
+ '''
924
+ result = self._values.get("communication_limit_list")
925
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.CommunicationLimitProperty"]]]], result)
926
+
927
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
928
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
929
+
930
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
931
+ return not (rhs == self)
932
+
933
+ def __repr__(self) -> str:
934
+ return "CommunicationLimitsProperty(%s)" % ", ".join(
935
+ k + "=" + repr(v) for k, v in self._values.items()
936
+ )
937
+
938
+ @jsii.data_type(
939
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.CommunicationTimeConfigProperty",
940
+ jsii_struct_bases=[],
941
+ name_mapping={
942
+ "local_time_zone_config": "localTimeZoneConfig",
943
+ "email": "email",
944
+ "sms": "sms",
945
+ "telephony": "telephony",
946
+ },
947
+ )
948
+ class CommunicationTimeConfigProperty:
949
+ def __init__(
950
+ self,
951
+ *,
952
+ local_time_zone_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.LocalTimeZoneConfigProperty", typing.Dict[builtins.str, typing.Any]]],
953
+ email: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TimeWindowProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
954
+ sms: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TimeWindowProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
955
+ telephony: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TimeWindowProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
956
+ ) -> None:
957
+ '''Campaign communication time config.
958
+
959
+ :param local_time_zone_config: Local time zone config.
960
+ :param email: Time window config.
961
+ :param sms: Time window config.
962
+ :param telephony: Time window config.
963
+
964
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationtimeconfig.html
965
+ :exampleMetadata: fixture=_generated
966
+
967
+ Example::
968
+
969
+ # The code below shows an example of how to instantiate this type.
970
+ # The values are placeholders you should change.
971
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
972
+
973
+ communication_time_config_property = connectcampaignsv2.CfnCampaign.CommunicationTimeConfigProperty(
974
+ local_time_zone_config=connectcampaignsv2.CfnCampaign.LocalTimeZoneConfigProperty(
975
+ default_time_zone="defaultTimeZone",
976
+ local_time_zone_detection=["localTimeZoneDetection"]
977
+ ),
978
+
979
+ # the properties below are optional
980
+ email=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
981
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
982
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
983
+ key="key",
984
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
985
+ end_time="endTime",
986
+ start_time="startTime"
987
+ )]
988
+ )]
989
+ ),
990
+
991
+ # the properties below are optional
992
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
993
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
994
+ end_date="endDate",
995
+ start_date="startDate",
996
+
997
+ # the properties below are optional
998
+ name="name"
999
+ )]
1000
+ )
1001
+ ),
1002
+ sms=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
1003
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
1004
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
1005
+ key="key",
1006
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
1007
+ end_time="endTime",
1008
+ start_time="startTime"
1009
+ )]
1010
+ )]
1011
+ ),
1012
+
1013
+ # the properties below are optional
1014
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
1015
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
1016
+ end_date="endDate",
1017
+ start_date="startDate",
1018
+
1019
+ # the properties below are optional
1020
+ name="name"
1021
+ )]
1022
+ )
1023
+ ),
1024
+ telephony=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
1025
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
1026
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
1027
+ key="key",
1028
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
1029
+ end_time="endTime",
1030
+ start_time="startTime"
1031
+ )]
1032
+ )]
1033
+ ),
1034
+
1035
+ # the properties below are optional
1036
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
1037
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
1038
+ end_date="endDate",
1039
+ start_date="startDate",
1040
+
1041
+ # the properties below are optional
1042
+ name="name"
1043
+ )]
1044
+ )
1045
+ )
1046
+ )
1047
+ '''
1048
+ if __debug__:
1049
+ type_hints = typing.get_type_hints(_typecheckingstub__e3f2f2fbfc83eeac20d115af03889d47eb55561494e8fc488eeec30eb2e47752)
1050
+ check_type(argname="argument local_time_zone_config", value=local_time_zone_config, expected_type=type_hints["local_time_zone_config"])
1051
+ check_type(argname="argument email", value=email, expected_type=type_hints["email"])
1052
+ check_type(argname="argument sms", value=sms, expected_type=type_hints["sms"])
1053
+ check_type(argname="argument telephony", value=telephony, expected_type=type_hints["telephony"])
1054
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1055
+ "local_time_zone_config": local_time_zone_config,
1056
+ }
1057
+ if email is not None:
1058
+ self._values["email"] = email
1059
+ if sms is not None:
1060
+ self._values["sms"] = sms
1061
+ if telephony is not None:
1062
+ self._values["telephony"] = telephony
1063
+
1064
+ @builtins.property
1065
+ def local_time_zone_config(
1066
+ self,
1067
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.LocalTimeZoneConfigProperty"]:
1068
+ '''Local time zone config.
1069
+
1070
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationtimeconfig.html#cfn-connectcampaignsv2-campaign-communicationtimeconfig-localtimezoneconfig
1071
+ '''
1072
+ result = self._values.get("local_time_zone_config")
1073
+ assert result is not None, "Required property 'local_time_zone_config' is missing"
1074
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.LocalTimeZoneConfigProperty"], result)
1075
+
1076
+ @builtins.property
1077
+ def email(
1078
+ self,
1079
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeWindowProperty"]]:
1080
+ '''Time window config.
1081
+
1082
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationtimeconfig.html#cfn-connectcampaignsv2-campaign-communicationtimeconfig-email
1083
+ '''
1084
+ result = self._values.get("email")
1085
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeWindowProperty"]], result)
1086
+
1087
+ @builtins.property
1088
+ def sms(
1089
+ self,
1090
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeWindowProperty"]]:
1091
+ '''Time window config.
1092
+
1093
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationtimeconfig.html#cfn-connectcampaignsv2-campaign-communicationtimeconfig-sms
1094
+ '''
1095
+ result = self._values.get("sms")
1096
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeWindowProperty"]], result)
1097
+
1098
+ @builtins.property
1099
+ def telephony(
1100
+ self,
1101
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeWindowProperty"]]:
1102
+ '''Time window config.
1103
+
1104
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-communicationtimeconfig.html#cfn-connectcampaignsv2-campaign-communicationtimeconfig-telephony
1105
+ '''
1106
+ result = self._values.get("telephony")
1107
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeWindowProperty"]], result)
1108
+
1109
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1110
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1111
+
1112
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1113
+ return not (rhs == self)
1114
+
1115
+ def __repr__(self) -> str:
1116
+ return "CommunicationTimeConfigProperty(%s)" % ", ".join(
1117
+ k + "=" + repr(v) for k, v in self._values.items()
1118
+ )
1119
+
1120
+ @jsii.data_type(
1121
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.DailyHourProperty",
1122
+ jsii_struct_bases=[],
1123
+ name_mapping={"key": "key", "value": "value"},
1124
+ )
1125
+ class DailyHourProperty:
1126
+ def __init__(
1127
+ self,
1128
+ *,
1129
+ key: typing.Optional[builtins.str] = None,
1130
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TimeRangeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1131
+ ) -> None:
1132
+ '''Daily Hour.
1133
+
1134
+ :param key: Day of week.
1135
+ :param value: List of time range.
1136
+
1137
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-dailyhour.html
1138
+ :exampleMetadata: fixture=_generated
1139
+
1140
+ Example::
1141
+
1142
+ # The code below shows an example of how to instantiate this type.
1143
+ # The values are placeholders you should change.
1144
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1145
+
1146
+ daily_hour_property = connectcampaignsv2.CfnCampaign.DailyHourProperty(
1147
+ key="key",
1148
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
1149
+ end_time="endTime",
1150
+ start_time="startTime"
1151
+ )]
1152
+ )
1153
+ '''
1154
+ if __debug__:
1155
+ type_hints = typing.get_type_hints(_typecheckingstub__35e6acb6b0c0424f51f610f7f0a2abd4c482306c13db09f191eae079682c9f5c)
1156
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
1157
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1158
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1159
+ if key is not None:
1160
+ self._values["key"] = key
1161
+ if value is not None:
1162
+ self._values["value"] = value
1163
+
1164
+ @builtins.property
1165
+ def key(self) -> typing.Optional[builtins.str]:
1166
+ '''Day of week.
1167
+
1168
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-dailyhour.html#cfn-connectcampaignsv2-campaign-dailyhour-key
1169
+ '''
1170
+ result = self._values.get("key")
1171
+ return typing.cast(typing.Optional[builtins.str], result)
1172
+
1173
+ @builtins.property
1174
+ def value(
1175
+ self,
1176
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeRangeProperty"]]]]:
1177
+ '''List of time range.
1178
+
1179
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-dailyhour.html#cfn-connectcampaignsv2-campaign-dailyhour-value
1180
+ '''
1181
+ result = self._values.get("value")
1182
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.TimeRangeProperty"]]]], result)
1183
+
1184
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1185
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1186
+
1187
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1188
+ return not (rhs == self)
1189
+
1190
+ def __repr__(self) -> str:
1191
+ return "DailyHourProperty(%s)" % ", ".join(
1192
+ k + "=" + repr(v) for k, v in self._values.items()
1193
+ )
1194
+
1195
+ @jsii.data_type(
1196
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.EmailChannelSubtypeConfigProperty",
1197
+ jsii_struct_bases=[],
1198
+ name_mapping={
1199
+ "default_outbound_config": "defaultOutboundConfig",
1200
+ "outbound_mode": "outboundMode",
1201
+ "capacity": "capacity",
1202
+ },
1203
+ )
1204
+ class EmailChannelSubtypeConfigProperty:
1205
+ def __init__(
1206
+ self,
1207
+ *,
1208
+ default_outbound_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.EmailOutboundConfigProperty", typing.Dict[builtins.str, typing.Any]]],
1209
+ outbound_mode: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.EmailOutboundModeProperty", typing.Dict[builtins.str, typing.Any]]],
1210
+ capacity: typing.Optional[jsii.Number] = None,
1211
+ ) -> None:
1212
+ '''Email Channel Subtype config.
1213
+
1214
+ :param default_outbound_config: Default SMS outbound config.
1215
+ :param outbound_mode: Email Outbound Mode.
1216
+ :param capacity: Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns.
1217
+
1218
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailchannelsubtypeconfig.html
1219
+ :exampleMetadata: fixture=_generated
1220
+
1221
+ Example::
1222
+
1223
+ # The code below shows an example of how to instantiate this type.
1224
+ # The values are placeholders you should change.
1225
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1226
+
1227
+ # agentless_config: Any
1228
+
1229
+ email_channel_subtype_config_property = connectcampaignsv2.CfnCampaign.EmailChannelSubtypeConfigProperty(
1230
+ default_outbound_config=connectcampaignsv2.CfnCampaign.EmailOutboundConfigProperty(
1231
+ connect_source_email_address="connectSourceEmailAddress",
1232
+ wisdom_template_arn="wisdomTemplateArn",
1233
+
1234
+ # the properties below are optional
1235
+ source_email_address_display_name="sourceEmailAddressDisplayName"
1236
+ ),
1237
+ outbound_mode=connectcampaignsv2.CfnCampaign.EmailOutboundModeProperty(
1238
+ agentless_config=agentless_config
1239
+ ),
1240
+
1241
+ # the properties below are optional
1242
+ capacity=123
1243
+ )
1244
+ '''
1245
+ if __debug__:
1246
+ type_hints = typing.get_type_hints(_typecheckingstub__ff9274643abefe2ecd29ff0322f3b49479b574757b18fe4f15225f01a19ef7ea)
1247
+ check_type(argname="argument default_outbound_config", value=default_outbound_config, expected_type=type_hints["default_outbound_config"])
1248
+ check_type(argname="argument outbound_mode", value=outbound_mode, expected_type=type_hints["outbound_mode"])
1249
+ check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
1250
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1251
+ "default_outbound_config": default_outbound_config,
1252
+ "outbound_mode": outbound_mode,
1253
+ }
1254
+ if capacity is not None:
1255
+ self._values["capacity"] = capacity
1256
+
1257
+ @builtins.property
1258
+ def default_outbound_config(
1259
+ self,
1260
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.EmailOutboundConfigProperty"]:
1261
+ '''Default SMS outbound config.
1262
+
1263
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailchannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-emailchannelsubtypeconfig-defaultoutboundconfig
1264
+ '''
1265
+ result = self._values.get("default_outbound_config")
1266
+ assert result is not None, "Required property 'default_outbound_config' is missing"
1267
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.EmailOutboundConfigProperty"], result)
1268
+
1269
+ @builtins.property
1270
+ def outbound_mode(
1271
+ self,
1272
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.EmailOutboundModeProperty"]:
1273
+ '''Email Outbound Mode.
1274
+
1275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailchannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-emailchannelsubtypeconfig-outboundmode
1276
+ '''
1277
+ result = self._values.get("outbound_mode")
1278
+ assert result is not None, "Required property 'outbound_mode' is missing"
1279
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.EmailOutboundModeProperty"], result)
1280
+
1281
+ @builtins.property
1282
+ def capacity(self) -> typing.Optional[jsii.Number]:
1283
+ '''Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns.
1284
+
1285
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailchannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-emailchannelsubtypeconfig-capacity
1286
+ '''
1287
+ result = self._values.get("capacity")
1288
+ return typing.cast(typing.Optional[jsii.Number], result)
1289
+
1290
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1291
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1292
+
1293
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1294
+ return not (rhs == self)
1295
+
1296
+ def __repr__(self) -> str:
1297
+ return "EmailChannelSubtypeConfigProperty(%s)" % ", ".join(
1298
+ k + "=" + repr(v) for k, v in self._values.items()
1299
+ )
1300
+
1301
+ @jsii.data_type(
1302
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.EmailOutboundConfigProperty",
1303
+ jsii_struct_bases=[],
1304
+ name_mapping={
1305
+ "connect_source_email_address": "connectSourceEmailAddress",
1306
+ "wisdom_template_arn": "wisdomTemplateArn",
1307
+ "source_email_address_display_name": "sourceEmailAddressDisplayName",
1308
+ },
1309
+ )
1310
+ class EmailOutboundConfigProperty:
1311
+ def __init__(
1312
+ self,
1313
+ *,
1314
+ connect_source_email_address: builtins.str,
1315
+ wisdom_template_arn: builtins.str,
1316
+ source_email_address_display_name: typing.Optional[builtins.str] = None,
1317
+ ) -> None:
1318
+ '''Default SMS outbound config.
1319
+
1320
+ :param connect_source_email_address: Email address used for Email messages.
1321
+ :param wisdom_template_arn: Arn.
1322
+ :param source_email_address_display_name: The name of the source email address display name.
1323
+
1324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailoutboundconfig.html
1325
+ :exampleMetadata: fixture=_generated
1326
+
1327
+ Example::
1328
+
1329
+ # The code below shows an example of how to instantiate this type.
1330
+ # The values are placeholders you should change.
1331
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1332
+
1333
+ email_outbound_config_property = connectcampaignsv2.CfnCampaign.EmailOutboundConfigProperty(
1334
+ connect_source_email_address="connectSourceEmailAddress",
1335
+ wisdom_template_arn="wisdomTemplateArn",
1336
+
1337
+ # the properties below are optional
1338
+ source_email_address_display_name="sourceEmailAddressDisplayName"
1339
+ )
1340
+ '''
1341
+ if __debug__:
1342
+ type_hints = typing.get_type_hints(_typecheckingstub__7b2c45c48dd3f984623dbcc344a83d9c26e929cd6947cc9f868ffe1b4d0341d1)
1343
+ check_type(argname="argument connect_source_email_address", value=connect_source_email_address, expected_type=type_hints["connect_source_email_address"])
1344
+ check_type(argname="argument wisdom_template_arn", value=wisdom_template_arn, expected_type=type_hints["wisdom_template_arn"])
1345
+ check_type(argname="argument source_email_address_display_name", value=source_email_address_display_name, expected_type=type_hints["source_email_address_display_name"])
1346
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1347
+ "connect_source_email_address": connect_source_email_address,
1348
+ "wisdom_template_arn": wisdom_template_arn,
1349
+ }
1350
+ if source_email_address_display_name is not None:
1351
+ self._values["source_email_address_display_name"] = source_email_address_display_name
1352
+
1353
+ @builtins.property
1354
+ def connect_source_email_address(self) -> builtins.str:
1355
+ '''Email address used for Email messages.
1356
+
1357
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailoutboundconfig.html#cfn-connectcampaignsv2-campaign-emailoutboundconfig-connectsourceemailaddress
1358
+ '''
1359
+ result = self._values.get("connect_source_email_address")
1360
+ assert result is not None, "Required property 'connect_source_email_address' is missing"
1361
+ return typing.cast(builtins.str, result)
1362
+
1363
+ @builtins.property
1364
+ def wisdom_template_arn(self) -> builtins.str:
1365
+ '''Arn.
1366
+
1367
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailoutboundconfig.html#cfn-connectcampaignsv2-campaign-emailoutboundconfig-wisdomtemplatearn
1368
+ '''
1369
+ result = self._values.get("wisdom_template_arn")
1370
+ assert result is not None, "Required property 'wisdom_template_arn' is missing"
1371
+ return typing.cast(builtins.str, result)
1372
+
1373
+ @builtins.property
1374
+ def source_email_address_display_name(self) -> typing.Optional[builtins.str]:
1375
+ '''The name of the source email address display name.
1376
+
1377
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailoutboundconfig.html#cfn-connectcampaignsv2-campaign-emailoutboundconfig-sourceemailaddressdisplayname
1378
+ '''
1379
+ result = self._values.get("source_email_address_display_name")
1380
+ return typing.cast(typing.Optional[builtins.str], result)
1381
+
1382
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1383
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1384
+
1385
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1386
+ return not (rhs == self)
1387
+
1388
+ def __repr__(self) -> str:
1389
+ return "EmailOutboundConfigProperty(%s)" % ", ".join(
1390
+ k + "=" + repr(v) for k, v in self._values.items()
1391
+ )
1392
+
1393
+ @jsii.data_type(
1394
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.EmailOutboundModeProperty",
1395
+ jsii_struct_bases=[],
1396
+ name_mapping={"agentless_config": "agentlessConfig"},
1397
+ )
1398
+ class EmailOutboundModeProperty:
1399
+ def __init__(self, *, agentless_config: typing.Any = None) -> None:
1400
+ '''Email Outbound Mode.
1401
+
1402
+ :param agentless_config: Agentless config.
1403
+
1404
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailoutboundmode.html
1405
+ :exampleMetadata: fixture=_generated
1406
+
1407
+ Example::
1408
+
1409
+ # The code below shows an example of how to instantiate this type.
1410
+ # The values are placeholders you should change.
1411
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1412
+
1413
+ # agentless_config: Any
1414
+
1415
+ email_outbound_mode_property = connectcampaignsv2.CfnCampaign.EmailOutboundModeProperty(
1416
+ agentless_config=agentless_config
1417
+ )
1418
+ '''
1419
+ if __debug__:
1420
+ type_hints = typing.get_type_hints(_typecheckingstub__016ccd411110b9f8510f586be6901ef480857575d80a38ed7c7e81cae2ad5e94)
1421
+ check_type(argname="argument agentless_config", value=agentless_config, expected_type=type_hints["agentless_config"])
1422
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1423
+ if agentless_config is not None:
1424
+ self._values["agentless_config"] = agentless_config
1425
+
1426
+ @builtins.property
1427
+ def agentless_config(self) -> typing.Any:
1428
+ '''Agentless config.
1429
+
1430
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-emailoutboundmode.html#cfn-connectcampaignsv2-campaign-emailoutboundmode-agentlessconfig
1431
+ '''
1432
+ result = self._values.get("agentless_config")
1433
+ return typing.cast(typing.Any, result)
1434
+
1435
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1436
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1437
+
1438
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1439
+ return not (rhs == self)
1440
+
1441
+ def __repr__(self) -> str:
1442
+ return "EmailOutboundModeProperty(%s)" % ", ".join(
1443
+ k + "=" + repr(v) for k, v in self._values.items()
1444
+ )
1445
+
1446
+ @jsii.data_type(
1447
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.LocalTimeZoneConfigProperty",
1448
+ jsii_struct_bases=[],
1449
+ name_mapping={
1450
+ "default_time_zone": "defaultTimeZone",
1451
+ "local_time_zone_detection": "localTimeZoneDetection",
1452
+ },
1453
+ )
1454
+ class LocalTimeZoneConfigProperty:
1455
+ def __init__(
1456
+ self,
1457
+ *,
1458
+ default_time_zone: typing.Optional[builtins.str] = None,
1459
+ local_time_zone_detection: typing.Optional[typing.Sequence[builtins.str]] = None,
1460
+ ) -> None:
1461
+ '''Local time zone config.
1462
+
1463
+ :param default_time_zone: Time Zone Id in the IANA format.
1464
+ :param local_time_zone_detection: Local TimeZone Detection method list.
1465
+
1466
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-localtimezoneconfig.html
1467
+ :exampleMetadata: fixture=_generated
1468
+
1469
+ Example::
1470
+
1471
+ # The code below shows an example of how to instantiate this type.
1472
+ # The values are placeholders you should change.
1473
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1474
+
1475
+ local_time_zone_config_property = connectcampaignsv2.CfnCampaign.LocalTimeZoneConfigProperty(
1476
+ default_time_zone="defaultTimeZone",
1477
+ local_time_zone_detection=["localTimeZoneDetection"]
1478
+ )
1479
+ '''
1480
+ if __debug__:
1481
+ type_hints = typing.get_type_hints(_typecheckingstub__c03234f264094d68479c6e1cf3801d50627e839a73b2f0cbeb95c82522f9a66e)
1482
+ check_type(argname="argument default_time_zone", value=default_time_zone, expected_type=type_hints["default_time_zone"])
1483
+ check_type(argname="argument local_time_zone_detection", value=local_time_zone_detection, expected_type=type_hints["local_time_zone_detection"])
1484
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1485
+ if default_time_zone is not None:
1486
+ self._values["default_time_zone"] = default_time_zone
1487
+ if local_time_zone_detection is not None:
1488
+ self._values["local_time_zone_detection"] = local_time_zone_detection
1489
+
1490
+ @builtins.property
1491
+ def default_time_zone(self) -> typing.Optional[builtins.str]:
1492
+ '''Time Zone Id in the IANA format.
1493
+
1494
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-localtimezoneconfig.html#cfn-connectcampaignsv2-campaign-localtimezoneconfig-defaulttimezone
1495
+ '''
1496
+ result = self._values.get("default_time_zone")
1497
+ return typing.cast(typing.Optional[builtins.str], result)
1498
+
1499
+ @builtins.property
1500
+ def local_time_zone_detection(
1501
+ self,
1502
+ ) -> typing.Optional[typing.List[builtins.str]]:
1503
+ '''Local TimeZone Detection method list.
1504
+
1505
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-localtimezoneconfig.html#cfn-connectcampaignsv2-campaign-localtimezoneconfig-localtimezonedetection
1506
+ '''
1507
+ result = self._values.get("local_time_zone_detection")
1508
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1509
+
1510
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1511
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1512
+
1513
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1514
+ return not (rhs == self)
1515
+
1516
+ def __repr__(self) -> str:
1517
+ return "LocalTimeZoneConfigProperty(%s)" % ", ".join(
1518
+ k + "=" + repr(v) for k, v in self._values.items()
1519
+ )
1520
+
1521
+ @jsii.data_type(
1522
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.OpenHoursProperty",
1523
+ jsii_struct_bases=[],
1524
+ name_mapping={"daily_hours": "dailyHours"},
1525
+ )
1526
+ class OpenHoursProperty:
1527
+ def __init__(
1528
+ self,
1529
+ *,
1530
+ daily_hours: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.DailyHourProperty", typing.Dict[builtins.str, typing.Any]]]]],
1531
+ ) -> None:
1532
+ '''Open Hours config.
1533
+
1534
+ :param daily_hours: Daily Hours map.
1535
+
1536
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-openhours.html
1537
+ :exampleMetadata: fixture=_generated
1538
+
1539
+ Example::
1540
+
1541
+ # The code below shows an example of how to instantiate this type.
1542
+ # The values are placeholders you should change.
1543
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1544
+
1545
+ open_hours_property = connectcampaignsv2.CfnCampaign.OpenHoursProperty(
1546
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
1547
+ key="key",
1548
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
1549
+ end_time="endTime",
1550
+ start_time="startTime"
1551
+ )]
1552
+ )]
1553
+ )
1554
+ '''
1555
+ if __debug__:
1556
+ type_hints = typing.get_type_hints(_typecheckingstub__9a34ace5bfcc35c52d69e6dd7ef3c38abf4d254290d5470f5104e49f2d115b39)
1557
+ check_type(argname="argument daily_hours", value=daily_hours, expected_type=type_hints["daily_hours"])
1558
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1559
+ "daily_hours": daily_hours,
1560
+ }
1561
+
1562
+ @builtins.property
1563
+ def daily_hours(
1564
+ self,
1565
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.DailyHourProperty"]]]:
1566
+ '''Daily Hours map.
1567
+
1568
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-openhours.html#cfn-connectcampaignsv2-campaign-openhours-dailyhours
1569
+ '''
1570
+ result = self._values.get("daily_hours")
1571
+ assert result is not None, "Required property 'daily_hours' is missing"
1572
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.DailyHourProperty"]]], result)
1573
+
1574
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1575
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1576
+
1577
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1578
+ return not (rhs == self)
1579
+
1580
+ def __repr__(self) -> str:
1581
+ return "OpenHoursProperty(%s)" % ", ".join(
1582
+ k + "=" + repr(v) for k, v in self._values.items()
1583
+ )
1584
+
1585
+ @jsii.data_type(
1586
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.PredictiveConfigProperty",
1587
+ jsii_struct_bases=[],
1588
+ name_mapping={"bandwidth_allocation": "bandwidthAllocation"},
1589
+ )
1590
+ class PredictiveConfigProperty:
1591
+ def __init__(self, *, bandwidth_allocation: jsii.Number) -> None:
1592
+ '''Predictive config.
1593
+
1594
+ :param bandwidth_allocation: The bandwidth allocation of a queue resource.
1595
+
1596
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-predictiveconfig.html
1597
+ :exampleMetadata: fixture=_generated
1598
+
1599
+ Example::
1600
+
1601
+ # The code below shows an example of how to instantiate this type.
1602
+ # The values are placeholders you should change.
1603
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1604
+
1605
+ predictive_config_property = connectcampaignsv2.CfnCampaign.PredictiveConfigProperty(
1606
+ bandwidth_allocation=123
1607
+ )
1608
+ '''
1609
+ if __debug__:
1610
+ type_hints = typing.get_type_hints(_typecheckingstub__a27014c548ec13c6446b07f461be7ed43556a2cb77433713ef38f272a14459fd)
1611
+ check_type(argname="argument bandwidth_allocation", value=bandwidth_allocation, expected_type=type_hints["bandwidth_allocation"])
1612
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1613
+ "bandwidth_allocation": bandwidth_allocation,
1614
+ }
1615
+
1616
+ @builtins.property
1617
+ def bandwidth_allocation(self) -> jsii.Number:
1618
+ '''The bandwidth allocation of a queue resource.
1619
+
1620
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-predictiveconfig.html#cfn-connectcampaignsv2-campaign-predictiveconfig-bandwidthallocation
1621
+ '''
1622
+ result = self._values.get("bandwidth_allocation")
1623
+ assert result is not None, "Required property 'bandwidth_allocation' is missing"
1624
+ return typing.cast(jsii.Number, result)
1625
+
1626
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1627
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1628
+
1629
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1630
+ return not (rhs == self)
1631
+
1632
+ def __repr__(self) -> str:
1633
+ return "PredictiveConfigProperty(%s)" % ", ".join(
1634
+ k + "=" + repr(v) for k, v in self._values.items()
1635
+ )
1636
+
1637
+ @jsii.data_type(
1638
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty",
1639
+ jsii_struct_bases=[],
1640
+ name_mapping={"bandwidth_allocation": "bandwidthAllocation"},
1641
+ )
1642
+ class ProgressiveConfigProperty:
1643
+ def __init__(self, *, bandwidth_allocation: jsii.Number) -> None:
1644
+ '''Progressive config.
1645
+
1646
+ :param bandwidth_allocation: The bandwidth allocation of a queue resource.
1647
+
1648
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-progressiveconfig.html
1649
+ :exampleMetadata: fixture=_generated
1650
+
1651
+ Example::
1652
+
1653
+ # The code below shows an example of how to instantiate this type.
1654
+ # The values are placeholders you should change.
1655
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1656
+
1657
+ progressive_config_property = connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty(
1658
+ bandwidth_allocation=123
1659
+ )
1660
+ '''
1661
+ if __debug__:
1662
+ type_hints = typing.get_type_hints(_typecheckingstub__6504302e8d20b62038efca8c5dfe9bbddfc485cc88de44f995d599a39017ddbe)
1663
+ check_type(argname="argument bandwidth_allocation", value=bandwidth_allocation, expected_type=type_hints["bandwidth_allocation"])
1664
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1665
+ "bandwidth_allocation": bandwidth_allocation,
1666
+ }
1667
+
1668
+ @builtins.property
1669
+ def bandwidth_allocation(self) -> jsii.Number:
1670
+ '''The bandwidth allocation of a queue resource.
1671
+
1672
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-progressiveconfig.html#cfn-connectcampaignsv2-campaign-progressiveconfig-bandwidthallocation
1673
+ '''
1674
+ result = self._values.get("bandwidth_allocation")
1675
+ assert result is not None, "Required property 'bandwidth_allocation' is missing"
1676
+ return typing.cast(jsii.Number, result)
1677
+
1678
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1679
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1680
+
1681
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1682
+ return not (rhs == self)
1683
+
1684
+ def __repr__(self) -> str:
1685
+ return "ProgressiveConfigProperty(%s)" % ", ".join(
1686
+ k + "=" + repr(v) for k, v in self._values.items()
1687
+ )
1688
+
1689
+ @jsii.data_type(
1690
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty",
1691
+ jsii_struct_bases=[],
1692
+ name_mapping={
1693
+ "end_date": "endDate",
1694
+ "start_date": "startDate",
1695
+ "name": "name",
1696
+ },
1697
+ )
1698
+ class RestrictedPeriodProperty:
1699
+ def __init__(
1700
+ self,
1701
+ *,
1702
+ end_date: builtins.str,
1703
+ start_date: builtins.str,
1704
+ name: typing.Optional[builtins.str] = None,
1705
+ ) -> None:
1706
+ '''Restricted period.
1707
+
1708
+ :param end_date: Date in ISO 8601 format, e.g. 2024-01-01.
1709
+ :param start_date: Date in ISO 8601 format, e.g. 2024-01-01.
1710
+ :param name: The name of a restricted period.
1711
+
1712
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-restrictedperiod.html
1713
+ :exampleMetadata: fixture=_generated
1714
+
1715
+ Example::
1716
+
1717
+ # The code below shows an example of how to instantiate this type.
1718
+ # The values are placeholders you should change.
1719
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1720
+
1721
+ restricted_period_property = connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
1722
+ end_date="endDate",
1723
+ start_date="startDate",
1724
+
1725
+ # the properties below are optional
1726
+ name="name"
1727
+ )
1728
+ '''
1729
+ if __debug__:
1730
+ type_hints = typing.get_type_hints(_typecheckingstub__4f2a36f6fa12d741457cf955ef79fa845b855e1b170b7ea44a157f8f120f9b67)
1731
+ check_type(argname="argument end_date", value=end_date, expected_type=type_hints["end_date"])
1732
+ check_type(argname="argument start_date", value=start_date, expected_type=type_hints["start_date"])
1733
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1734
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1735
+ "end_date": end_date,
1736
+ "start_date": start_date,
1737
+ }
1738
+ if name is not None:
1739
+ self._values["name"] = name
1740
+
1741
+ @builtins.property
1742
+ def end_date(self) -> builtins.str:
1743
+ '''Date in ISO 8601 format, e.g. 2024-01-01.
1744
+
1745
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-restrictedperiod.html#cfn-connectcampaignsv2-campaign-restrictedperiod-enddate
1746
+ '''
1747
+ result = self._values.get("end_date")
1748
+ assert result is not None, "Required property 'end_date' is missing"
1749
+ return typing.cast(builtins.str, result)
1750
+
1751
+ @builtins.property
1752
+ def start_date(self) -> builtins.str:
1753
+ '''Date in ISO 8601 format, e.g. 2024-01-01.
1754
+
1755
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-restrictedperiod.html#cfn-connectcampaignsv2-campaign-restrictedperiod-startdate
1756
+ '''
1757
+ result = self._values.get("start_date")
1758
+ assert result is not None, "Required property 'start_date' is missing"
1759
+ return typing.cast(builtins.str, result)
1760
+
1761
+ @builtins.property
1762
+ def name(self) -> typing.Optional[builtins.str]:
1763
+ '''The name of a restricted period.
1764
+
1765
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-restrictedperiod.html#cfn-connectcampaignsv2-campaign-restrictedperiod-name
1766
+ '''
1767
+ result = self._values.get("name")
1768
+ return typing.cast(typing.Optional[builtins.str], result)
1769
+
1770
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1771
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1772
+
1773
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1774
+ return not (rhs == self)
1775
+
1776
+ def __repr__(self) -> str:
1777
+ return "RestrictedPeriodProperty(%s)" % ", ".join(
1778
+ k + "=" + repr(v) for k, v in self._values.items()
1779
+ )
1780
+
1781
+ @jsii.data_type(
1782
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty",
1783
+ jsii_struct_bases=[],
1784
+ name_mapping={"restricted_period_list": "restrictedPeriodList"},
1785
+ )
1786
+ class RestrictedPeriodsProperty:
1787
+ def __init__(
1788
+ self,
1789
+ *,
1790
+ restricted_period_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.RestrictedPeriodProperty", typing.Dict[builtins.str, typing.Any]]]]],
1791
+ ) -> None:
1792
+ '''Restricted period config.
1793
+
1794
+ :param restricted_period_list: List of restricted period.
1795
+
1796
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-restrictedperiods.html
1797
+ :exampleMetadata: fixture=_generated
1798
+
1799
+ Example::
1800
+
1801
+ # The code below shows an example of how to instantiate this type.
1802
+ # The values are placeholders you should change.
1803
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1804
+
1805
+ restricted_periods_property = connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
1806
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
1807
+ end_date="endDate",
1808
+ start_date="startDate",
1809
+
1810
+ # the properties below are optional
1811
+ name="name"
1812
+ )]
1813
+ )
1814
+ '''
1815
+ if __debug__:
1816
+ type_hints = typing.get_type_hints(_typecheckingstub__f30a61789fda85a4bb2aa71fc64566047bab737aa5220ee60d91e1e08d9a84dd)
1817
+ check_type(argname="argument restricted_period_list", value=restricted_period_list, expected_type=type_hints["restricted_period_list"])
1818
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1819
+ "restricted_period_list": restricted_period_list,
1820
+ }
1821
+
1822
+ @builtins.property
1823
+ def restricted_period_list(
1824
+ self,
1825
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.RestrictedPeriodProperty"]]]:
1826
+ '''List of restricted period.
1827
+
1828
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-restrictedperiods.html#cfn-connectcampaignsv2-campaign-restrictedperiods-restrictedperiodlist
1829
+ '''
1830
+ result = self._values.get("restricted_period_list")
1831
+ assert result is not None, "Required property 'restricted_period_list' is missing"
1832
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCampaign.RestrictedPeriodProperty"]]], result)
1833
+
1834
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1835
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1836
+
1837
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1838
+ return not (rhs == self)
1839
+
1840
+ def __repr__(self) -> str:
1841
+ return "RestrictedPeriodsProperty(%s)" % ", ".join(
1842
+ k + "=" + repr(v) for k, v in self._values.items()
1843
+ )
1844
+
1845
+ @jsii.data_type(
1846
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.ScheduleProperty",
1847
+ jsii_struct_bases=[],
1848
+ name_mapping={
1849
+ "end_time": "endTime",
1850
+ "start_time": "startTime",
1851
+ "refresh_frequency": "refreshFrequency",
1852
+ },
1853
+ )
1854
+ class ScheduleProperty:
1855
+ def __init__(
1856
+ self,
1857
+ *,
1858
+ end_time: builtins.str,
1859
+ start_time: builtins.str,
1860
+ refresh_frequency: typing.Optional[builtins.str] = None,
1861
+ ) -> None:
1862
+ '''Campaign schedule.
1863
+
1864
+ :param end_time: Timestamp with no UTC offset or timezone.
1865
+ :param start_time: Timestamp with no UTC offset or timezone.
1866
+ :param refresh_frequency: Time duration in ISO 8601 format.
1867
+
1868
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-schedule.html
1869
+ :exampleMetadata: fixture=_generated
1870
+
1871
+ Example::
1872
+
1873
+ # The code below shows an example of how to instantiate this type.
1874
+ # The values are placeholders you should change.
1875
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1876
+
1877
+ schedule_property = connectcampaignsv2.CfnCampaign.ScheduleProperty(
1878
+ end_time="endTime",
1879
+ start_time="startTime",
1880
+
1881
+ # the properties below are optional
1882
+ refresh_frequency="refreshFrequency"
1883
+ )
1884
+ '''
1885
+ if __debug__:
1886
+ type_hints = typing.get_type_hints(_typecheckingstub__8b6a4567c8e5f09b06087beafe0e729f0ae431ebcefbe37d716e547d333cb24b)
1887
+ check_type(argname="argument end_time", value=end_time, expected_type=type_hints["end_time"])
1888
+ check_type(argname="argument start_time", value=start_time, expected_type=type_hints["start_time"])
1889
+ check_type(argname="argument refresh_frequency", value=refresh_frequency, expected_type=type_hints["refresh_frequency"])
1890
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1891
+ "end_time": end_time,
1892
+ "start_time": start_time,
1893
+ }
1894
+ if refresh_frequency is not None:
1895
+ self._values["refresh_frequency"] = refresh_frequency
1896
+
1897
+ @builtins.property
1898
+ def end_time(self) -> builtins.str:
1899
+ '''Timestamp with no UTC offset or timezone.
1900
+
1901
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-schedule.html#cfn-connectcampaignsv2-campaign-schedule-endtime
1902
+ '''
1903
+ result = self._values.get("end_time")
1904
+ assert result is not None, "Required property 'end_time' is missing"
1905
+ return typing.cast(builtins.str, result)
1906
+
1907
+ @builtins.property
1908
+ def start_time(self) -> builtins.str:
1909
+ '''Timestamp with no UTC offset or timezone.
1910
+
1911
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-schedule.html#cfn-connectcampaignsv2-campaign-schedule-starttime
1912
+ '''
1913
+ result = self._values.get("start_time")
1914
+ assert result is not None, "Required property 'start_time' is missing"
1915
+ return typing.cast(builtins.str, result)
1916
+
1917
+ @builtins.property
1918
+ def refresh_frequency(self) -> typing.Optional[builtins.str]:
1919
+ '''Time duration in ISO 8601 format.
1920
+
1921
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-schedule.html#cfn-connectcampaignsv2-campaign-schedule-refreshfrequency
1922
+ '''
1923
+ result = self._values.get("refresh_frequency")
1924
+ return typing.cast(typing.Optional[builtins.str], result)
1925
+
1926
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1927
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1928
+
1929
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1930
+ return not (rhs == self)
1931
+
1932
+ def __repr__(self) -> str:
1933
+ return "ScheduleProperty(%s)" % ", ".join(
1934
+ k + "=" + repr(v) for k, v in self._values.items()
1935
+ )
1936
+
1937
+ @jsii.data_type(
1938
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.SmsChannelSubtypeConfigProperty",
1939
+ jsii_struct_bases=[],
1940
+ name_mapping={
1941
+ "default_outbound_config": "defaultOutboundConfig",
1942
+ "outbound_mode": "outboundMode",
1943
+ "capacity": "capacity",
1944
+ },
1945
+ )
1946
+ class SmsChannelSubtypeConfigProperty:
1947
+ def __init__(
1948
+ self,
1949
+ *,
1950
+ default_outbound_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.SmsOutboundConfigProperty", typing.Dict[builtins.str, typing.Any]]],
1951
+ outbound_mode: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.SmsOutboundModeProperty", typing.Dict[builtins.str, typing.Any]]],
1952
+ capacity: typing.Optional[jsii.Number] = None,
1953
+ ) -> None:
1954
+ '''SMS Channel Subtype config.
1955
+
1956
+ :param default_outbound_config: Default SMS outbound config.
1957
+ :param outbound_mode: SMS Outbound Mode.
1958
+ :param capacity: Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns.
1959
+
1960
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smschannelsubtypeconfig.html
1961
+ :exampleMetadata: fixture=_generated
1962
+
1963
+ Example::
1964
+
1965
+ # The code below shows an example of how to instantiate this type.
1966
+ # The values are placeholders you should change.
1967
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
1968
+
1969
+ # agentless_config: Any
1970
+
1971
+ sms_channel_subtype_config_property = connectcampaignsv2.CfnCampaign.SmsChannelSubtypeConfigProperty(
1972
+ default_outbound_config=connectcampaignsv2.CfnCampaign.SmsOutboundConfigProperty(
1973
+ connect_source_phone_number_arn="connectSourcePhoneNumberArn",
1974
+ wisdom_template_arn="wisdomTemplateArn"
1975
+ ),
1976
+ outbound_mode=connectcampaignsv2.CfnCampaign.SmsOutboundModeProperty(
1977
+ agentless_config=agentless_config
1978
+ ),
1979
+
1980
+ # the properties below are optional
1981
+ capacity=123
1982
+ )
1983
+ '''
1984
+ if __debug__:
1985
+ type_hints = typing.get_type_hints(_typecheckingstub__b0d42ae0232d954af9167d51954642098f71dd226d554f1b2fab39b2c46726ee)
1986
+ check_type(argname="argument default_outbound_config", value=default_outbound_config, expected_type=type_hints["default_outbound_config"])
1987
+ check_type(argname="argument outbound_mode", value=outbound_mode, expected_type=type_hints["outbound_mode"])
1988
+ check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
1989
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1990
+ "default_outbound_config": default_outbound_config,
1991
+ "outbound_mode": outbound_mode,
1992
+ }
1993
+ if capacity is not None:
1994
+ self._values["capacity"] = capacity
1995
+
1996
+ @builtins.property
1997
+ def default_outbound_config(
1998
+ self,
1999
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.SmsOutboundConfigProperty"]:
2000
+ '''Default SMS outbound config.
2001
+
2002
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smschannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-smschannelsubtypeconfig-defaultoutboundconfig
2003
+ '''
2004
+ result = self._values.get("default_outbound_config")
2005
+ assert result is not None, "Required property 'default_outbound_config' is missing"
2006
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.SmsOutboundConfigProperty"], result)
2007
+
2008
+ @builtins.property
2009
+ def outbound_mode(
2010
+ self,
2011
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.SmsOutboundModeProperty"]:
2012
+ '''SMS Outbound Mode.
2013
+
2014
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smschannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-smschannelsubtypeconfig-outboundmode
2015
+ '''
2016
+ result = self._values.get("outbound_mode")
2017
+ assert result is not None, "Required property 'outbound_mode' is missing"
2018
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.SmsOutboundModeProperty"], result)
2019
+
2020
+ @builtins.property
2021
+ def capacity(self) -> typing.Optional[jsii.Number]:
2022
+ '''Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns.
2023
+
2024
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smschannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-smschannelsubtypeconfig-capacity
2025
+ '''
2026
+ result = self._values.get("capacity")
2027
+ return typing.cast(typing.Optional[jsii.Number], result)
2028
+
2029
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2030
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2031
+
2032
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2033
+ return not (rhs == self)
2034
+
2035
+ def __repr__(self) -> str:
2036
+ return "SmsChannelSubtypeConfigProperty(%s)" % ", ".join(
2037
+ k + "=" + repr(v) for k, v in self._values.items()
2038
+ )
2039
+
2040
+ @jsii.data_type(
2041
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.SmsOutboundConfigProperty",
2042
+ jsii_struct_bases=[],
2043
+ name_mapping={
2044
+ "connect_source_phone_number_arn": "connectSourcePhoneNumberArn",
2045
+ "wisdom_template_arn": "wisdomTemplateArn",
2046
+ },
2047
+ )
2048
+ class SmsOutboundConfigProperty:
2049
+ def __init__(
2050
+ self,
2051
+ *,
2052
+ connect_source_phone_number_arn: builtins.str,
2053
+ wisdom_template_arn: builtins.str,
2054
+ ) -> None:
2055
+ '''Default SMS outbound config.
2056
+
2057
+ :param connect_source_phone_number_arn: Arn.
2058
+ :param wisdom_template_arn: Arn.
2059
+
2060
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundconfig.html
2061
+ :exampleMetadata: fixture=_generated
2062
+
2063
+ Example::
2064
+
2065
+ # The code below shows an example of how to instantiate this type.
2066
+ # The values are placeholders you should change.
2067
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2068
+
2069
+ sms_outbound_config_property = connectcampaignsv2.CfnCampaign.SmsOutboundConfigProperty(
2070
+ connect_source_phone_number_arn="connectSourcePhoneNumberArn",
2071
+ wisdom_template_arn="wisdomTemplateArn"
2072
+ )
2073
+ '''
2074
+ if __debug__:
2075
+ type_hints = typing.get_type_hints(_typecheckingstub__874dedca8982d2204aa531b3a554ca0a994b9ce64825e83b31a7a7563d08f262)
2076
+ check_type(argname="argument connect_source_phone_number_arn", value=connect_source_phone_number_arn, expected_type=type_hints["connect_source_phone_number_arn"])
2077
+ check_type(argname="argument wisdom_template_arn", value=wisdom_template_arn, expected_type=type_hints["wisdom_template_arn"])
2078
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2079
+ "connect_source_phone_number_arn": connect_source_phone_number_arn,
2080
+ "wisdom_template_arn": wisdom_template_arn,
2081
+ }
2082
+
2083
+ @builtins.property
2084
+ def connect_source_phone_number_arn(self) -> builtins.str:
2085
+ '''Arn.
2086
+
2087
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundconfig.html#cfn-connectcampaignsv2-campaign-smsoutboundconfig-connectsourcephonenumberarn
2088
+ '''
2089
+ result = self._values.get("connect_source_phone_number_arn")
2090
+ assert result is not None, "Required property 'connect_source_phone_number_arn' is missing"
2091
+ return typing.cast(builtins.str, result)
2092
+
2093
+ @builtins.property
2094
+ def wisdom_template_arn(self) -> builtins.str:
2095
+ '''Arn.
2096
+
2097
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundconfig.html#cfn-connectcampaignsv2-campaign-smsoutboundconfig-wisdomtemplatearn
2098
+ '''
2099
+ result = self._values.get("wisdom_template_arn")
2100
+ assert result is not None, "Required property 'wisdom_template_arn' is missing"
2101
+ return typing.cast(builtins.str, result)
2102
+
2103
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2104
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2105
+
2106
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2107
+ return not (rhs == self)
2108
+
2109
+ def __repr__(self) -> str:
2110
+ return "SmsOutboundConfigProperty(%s)" % ", ".join(
2111
+ k + "=" + repr(v) for k, v in self._values.items()
2112
+ )
2113
+
2114
+ @jsii.data_type(
2115
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.SmsOutboundModeProperty",
2116
+ jsii_struct_bases=[],
2117
+ name_mapping={"agentless_config": "agentlessConfig"},
2118
+ )
2119
+ class SmsOutboundModeProperty:
2120
+ def __init__(self, *, agentless_config: typing.Any = None) -> None:
2121
+ '''SMS Outbound Mode.
2122
+
2123
+ :param agentless_config: Agentless config.
2124
+
2125
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundmode.html
2126
+ :exampleMetadata: fixture=_generated
2127
+
2128
+ Example::
2129
+
2130
+ # The code below shows an example of how to instantiate this type.
2131
+ # The values are placeholders you should change.
2132
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2133
+
2134
+ # agentless_config: Any
2135
+
2136
+ sms_outbound_mode_property = connectcampaignsv2.CfnCampaign.SmsOutboundModeProperty(
2137
+ agentless_config=agentless_config
2138
+ )
2139
+ '''
2140
+ if __debug__:
2141
+ type_hints = typing.get_type_hints(_typecheckingstub__67957d238e403659f29fa8bf2db2164d694d327a14b84df3d61c10b2b3afd954)
2142
+ check_type(argname="argument agentless_config", value=agentless_config, expected_type=type_hints["agentless_config"])
2143
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2144
+ if agentless_config is not None:
2145
+ self._values["agentless_config"] = agentless_config
2146
+
2147
+ @builtins.property
2148
+ def agentless_config(self) -> typing.Any:
2149
+ '''Agentless config.
2150
+
2151
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundmode.html#cfn-connectcampaignsv2-campaign-smsoutboundmode-agentlessconfig
2152
+ '''
2153
+ result = self._values.get("agentless_config")
2154
+ return typing.cast(typing.Any, result)
2155
+
2156
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2157
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2158
+
2159
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2160
+ return not (rhs == self)
2161
+
2162
+ def __repr__(self) -> str:
2163
+ return "SmsOutboundModeProperty(%s)" % ", ".join(
2164
+ k + "=" + repr(v) for k, v in self._values.items()
2165
+ )
2166
+
2167
+ @jsii.data_type(
2168
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.SourceProperty",
2169
+ jsii_struct_bases=[],
2170
+ name_mapping={"customer_profiles_segment_arn": "customerProfilesSegmentArn"},
2171
+ )
2172
+ class SourceProperty:
2173
+ def __init__(self, *, customer_profiles_segment_arn: builtins.str) -> None:
2174
+ '''The possible types of channel config parameters.
2175
+
2176
+ :param customer_profiles_segment_arn: Arn.
2177
+
2178
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-source.html
2179
+ :exampleMetadata: fixture=_generated
2180
+
2181
+ Example::
2182
+
2183
+ # The code below shows an example of how to instantiate this type.
2184
+ # The values are placeholders you should change.
2185
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2186
+
2187
+ source_property = connectcampaignsv2.CfnCampaign.SourceProperty(
2188
+ customer_profiles_segment_arn="customerProfilesSegmentArn"
2189
+ )
2190
+ '''
2191
+ if __debug__:
2192
+ type_hints = typing.get_type_hints(_typecheckingstub__48dbe2dd9c0147e5b2bea173aba4c056f8a83ba308e89c654331a4a77f46636d)
2193
+ check_type(argname="argument customer_profiles_segment_arn", value=customer_profiles_segment_arn, expected_type=type_hints["customer_profiles_segment_arn"])
2194
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2195
+ "customer_profiles_segment_arn": customer_profiles_segment_arn,
2196
+ }
2197
+
2198
+ @builtins.property
2199
+ def customer_profiles_segment_arn(self) -> builtins.str:
2200
+ '''Arn.
2201
+
2202
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-source.html#cfn-connectcampaignsv2-campaign-source-customerprofilessegmentarn
2203
+ '''
2204
+ result = self._values.get("customer_profiles_segment_arn")
2205
+ assert result is not None, "Required property 'customer_profiles_segment_arn' is missing"
2206
+ return typing.cast(builtins.str, result)
2207
+
2208
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2209
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2210
+
2211
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2212
+ return not (rhs == self)
2213
+
2214
+ def __repr__(self) -> str:
2215
+ return "SourceProperty(%s)" % ", ".join(
2216
+ k + "=" + repr(v) for k, v in self._values.items()
2217
+ )
2218
+
2219
+ @jsii.data_type(
2220
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.TelephonyChannelSubtypeConfigProperty",
2221
+ jsii_struct_bases=[],
2222
+ name_mapping={
2223
+ "default_outbound_config": "defaultOutboundConfig",
2224
+ "outbound_mode": "outboundMode",
2225
+ "capacity": "capacity",
2226
+ "connect_queue_id": "connectQueueId",
2227
+ },
2228
+ )
2229
+ class TelephonyChannelSubtypeConfigProperty:
2230
+ def __init__(
2231
+ self,
2232
+ *,
2233
+ default_outbound_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TelephonyOutboundConfigProperty", typing.Dict[builtins.str, typing.Any]]],
2234
+ outbound_mode: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.TelephonyOutboundModeProperty", typing.Dict[builtins.str, typing.Any]]],
2235
+ capacity: typing.Optional[jsii.Number] = None,
2236
+ connect_queue_id: typing.Optional[builtins.str] = None,
2237
+ ) -> None:
2238
+ '''Telephony Channel Subtype config.
2239
+
2240
+ :param default_outbound_config: Default Telephone Outbound config.
2241
+ :param outbound_mode: Telephony Outbound Mode.
2242
+ :param capacity: Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns.
2243
+ :param connect_queue_id: The queue for the call.
2244
+
2245
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonychannelsubtypeconfig.html
2246
+ :exampleMetadata: fixture=_generated
2247
+
2248
+ Example::
2249
+
2250
+ # The code below shows an example of how to instantiate this type.
2251
+ # The values are placeholders you should change.
2252
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2253
+
2254
+ # agentless_config: Any
2255
+
2256
+ telephony_channel_subtype_config_property = connectcampaignsv2.CfnCampaign.TelephonyChannelSubtypeConfigProperty(
2257
+ default_outbound_config=connectcampaignsv2.CfnCampaign.TelephonyOutboundConfigProperty(
2258
+ connect_contact_flow_id="connectContactFlowId",
2259
+
2260
+ # the properties below are optional
2261
+ answer_machine_detection_config=connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty(
2262
+ enable_answer_machine_detection=False,
2263
+
2264
+ # the properties below are optional
2265
+ await_answer_machine_prompt=False
2266
+ ),
2267
+ connect_source_phone_number="connectSourcePhoneNumber"
2268
+ ),
2269
+ outbound_mode=connectcampaignsv2.CfnCampaign.TelephonyOutboundModeProperty(
2270
+ agentless_config=agentless_config,
2271
+ predictive_config=connectcampaignsv2.CfnCampaign.PredictiveConfigProperty(
2272
+ bandwidth_allocation=123
2273
+ ),
2274
+ progressive_config=connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty(
2275
+ bandwidth_allocation=123
2276
+ )
2277
+ ),
2278
+
2279
+ # the properties below are optional
2280
+ capacity=123,
2281
+ connect_queue_id="connectQueueId"
2282
+ )
2283
+ '''
2284
+ if __debug__:
2285
+ type_hints = typing.get_type_hints(_typecheckingstub__19c776b12e28122b49a867e83503b94bf286d46879c32085c60a17f0213dc948)
2286
+ check_type(argname="argument default_outbound_config", value=default_outbound_config, expected_type=type_hints["default_outbound_config"])
2287
+ check_type(argname="argument outbound_mode", value=outbound_mode, expected_type=type_hints["outbound_mode"])
2288
+ check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
2289
+ check_type(argname="argument connect_queue_id", value=connect_queue_id, expected_type=type_hints["connect_queue_id"])
2290
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2291
+ "default_outbound_config": default_outbound_config,
2292
+ "outbound_mode": outbound_mode,
2293
+ }
2294
+ if capacity is not None:
2295
+ self._values["capacity"] = capacity
2296
+ if connect_queue_id is not None:
2297
+ self._values["connect_queue_id"] = connect_queue_id
2298
+
2299
+ @builtins.property
2300
+ def default_outbound_config(
2301
+ self,
2302
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.TelephonyOutboundConfigProperty"]:
2303
+ '''Default Telephone Outbound config.
2304
+
2305
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonychannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-telephonychannelsubtypeconfig-defaultoutboundconfig
2306
+ '''
2307
+ result = self._values.get("default_outbound_config")
2308
+ assert result is not None, "Required property 'default_outbound_config' is missing"
2309
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.TelephonyOutboundConfigProperty"], result)
2310
+
2311
+ @builtins.property
2312
+ def outbound_mode(
2313
+ self,
2314
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.TelephonyOutboundModeProperty"]:
2315
+ '''Telephony Outbound Mode.
2316
+
2317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonychannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-telephonychannelsubtypeconfig-outboundmode
2318
+ '''
2319
+ result = self._values.get("outbound_mode")
2320
+ assert result is not None, "Required property 'outbound_mode' is missing"
2321
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.TelephonyOutboundModeProperty"], result)
2322
+
2323
+ @builtins.property
2324
+ def capacity(self) -> typing.Optional[jsii.Number]:
2325
+ '''Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns.
2326
+
2327
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonychannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-telephonychannelsubtypeconfig-capacity
2328
+ '''
2329
+ result = self._values.get("capacity")
2330
+ return typing.cast(typing.Optional[jsii.Number], result)
2331
+
2332
+ @builtins.property
2333
+ def connect_queue_id(self) -> typing.Optional[builtins.str]:
2334
+ '''The queue for the call.
2335
+
2336
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonychannelsubtypeconfig.html#cfn-connectcampaignsv2-campaign-telephonychannelsubtypeconfig-connectqueueid
2337
+ '''
2338
+ result = self._values.get("connect_queue_id")
2339
+ return typing.cast(typing.Optional[builtins.str], result)
2340
+
2341
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2342
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2343
+
2344
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2345
+ return not (rhs == self)
2346
+
2347
+ def __repr__(self) -> str:
2348
+ return "TelephonyChannelSubtypeConfigProperty(%s)" % ", ".join(
2349
+ k + "=" + repr(v) for k, v in self._values.items()
2350
+ )
2351
+
2352
+ @jsii.data_type(
2353
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.TelephonyOutboundConfigProperty",
2354
+ jsii_struct_bases=[],
2355
+ name_mapping={
2356
+ "connect_contact_flow_id": "connectContactFlowId",
2357
+ "answer_machine_detection_config": "answerMachineDetectionConfig",
2358
+ "connect_source_phone_number": "connectSourcePhoneNumber",
2359
+ },
2360
+ )
2361
+ class TelephonyOutboundConfigProperty:
2362
+ def __init__(
2363
+ self,
2364
+ *,
2365
+ connect_contact_flow_id: builtins.str,
2366
+ answer_machine_detection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.AnswerMachineDetectionConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2367
+ connect_source_phone_number: typing.Optional[builtins.str] = None,
2368
+ ) -> None:
2369
+ '''Default Telephone Outbound config.
2370
+
2371
+ :param connect_contact_flow_id: The identifier of the contact flow for the outbound call.
2372
+ :param answer_machine_detection_config: The configuration used for answering machine detection during outbound calls.
2373
+ :param connect_source_phone_number: The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
2374
+
2375
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundconfig.html
2376
+ :exampleMetadata: fixture=_generated
2377
+
2378
+ Example::
2379
+
2380
+ # The code below shows an example of how to instantiate this type.
2381
+ # The values are placeholders you should change.
2382
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2383
+
2384
+ telephony_outbound_config_property = connectcampaignsv2.CfnCampaign.TelephonyOutboundConfigProperty(
2385
+ connect_contact_flow_id="connectContactFlowId",
2386
+
2387
+ # the properties below are optional
2388
+ answer_machine_detection_config=connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty(
2389
+ enable_answer_machine_detection=False,
2390
+
2391
+ # the properties below are optional
2392
+ await_answer_machine_prompt=False
2393
+ ),
2394
+ connect_source_phone_number="connectSourcePhoneNumber"
2395
+ )
2396
+ '''
2397
+ if __debug__:
2398
+ type_hints = typing.get_type_hints(_typecheckingstub__2751a1c01ea2bfaf5fe6806fe1a585daea66baf82d5fe0a4cec77a9b592d901a)
2399
+ check_type(argname="argument connect_contact_flow_id", value=connect_contact_flow_id, expected_type=type_hints["connect_contact_flow_id"])
2400
+ check_type(argname="argument answer_machine_detection_config", value=answer_machine_detection_config, expected_type=type_hints["answer_machine_detection_config"])
2401
+ check_type(argname="argument connect_source_phone_number", value=connect_source_phone_number, expected_type=type_hints["connect_source_phone_number"])
2402
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2403
+ "connect_contact_flow_id": connect_contact_flow_id,
2404
+ }
2405
+ if answer_machine_detection_config is not None:
2406
+ self._values["answer_machine_detection_config"] = answer_machine_detection_config
2407
+ if connect_source_phone_number is not None:
2408
+ self._values["connect_source_phone_number"] = connect_source_phone_number
2409
+
2410
+ @builtins.property
2411
+ def connect_contact_flow_id(self) -> builtins.str:
2412
+ '''The identifier of the contact flow for the outbound call.
2413
+
2414
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundconfig.html#cfn-connectcampaignsv2-campaign-telephonyoutboundconfig-connectcontactflowid
2415
+ '''
2416
+ result = self._values.get("connect_contact_flow_id")
2417
+ assert result is not None, "Required property 'connect_contact_flow_id' is missing"
2418
+ return typing.cast(builtins.str, result)
2419
+
2420
+ @builtins.property
2421
+ def answer_machine_detection_config(
2422
+ self,
2423
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.AnswerMachineDetectionConfigProperty"]]:
2424
+ '''The configuration used for answering machine detection during outbound calls.
2425
+
2426
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundconfig.html#cfn-connectcampaignsv2-campaign-telephonyoutboundconfig-answermachinedetectionconfig
2427
+ '''
2428
+ result = self._values.get("answer_machine_detection_config")
2429
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.AnswerMachineDetectionConfigProperty"]], result)
2430
+
2431
+ @builtins.property
2432
+ def connect_source_phone_number(self) -> typing.Optional[builtins.str]:
2433
+ '''The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
2434
+
2435
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundconfig.html#cfn-connectcampaignsv2-campaign-telephonyoutboundconfig-connectsourcephonenumber
2436
+ '''
2437
+ result = self._values.get("connect_source_phone_number")
2438
+ return typing.cast(typing.Optional[builtins.str], result)
2439
+
2440
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2441
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2442
+
2443
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2444
+ return not (rhs == self)
2445
+
2446
+ def __repr__(self) -> str:
2447
+ return "TelephonyOutboundConfigProperty(%s)" % ", ".join(
2448
+ k + "=" + repr(v) for k, v in self._values.items()
2449
+ )
2450
+
2451
+ @jsii.data_type(
2452
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.TelephonyOutboundModeProperty",
2453
+ jsii_struct_bases=[],
2454
+ name_mapping={
2455
+ "agentless_config": "agentlessConfig",
2456
+ "predictive_config": "predictiveConfig",
2457
+ "progressive_config": "progressiveConfig",
2458
+ },
2459
+ )
2460
+ class TelephonyOutboundModeProperty:
2461
+ def __init__(
2462
+ self,
2463
+ *,
2464
+ agentless_config: typing.Any = None,
2465
+ predictive_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.PredictiveConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2466
+ progressive_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.ProgressiveConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2467
+ ) -> None:
2468
+ '''Telephony Outbound Mode.
2469
+
2470
+ :param agentless_config: Agentless config.
2471
+ :param predictive_config: Predictive config.
2472
+ :param progressive_config: Progressive config.
2473
+
2474
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundmode.html
2475
+ :exampleMetadata: fixture=_generated
2476
+
2477
+ Example::
2478
+
2479
+ # The code below shows an example of how to instantiate this type.
2480
+ # The values are placeholders you should change.
2481
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2482
+
2483
+ # agentless_config: Any
2484
+
2485
+ telephony_outbound_mode_property = connectcampaignsv2.CfnCampaign.TelephonyOutboundModeProperty(
2486
+ agentless_config=agentless_config,
2487
+ predictive_config=connectcampaignsv2.CfnCampaign.PredictiveConfigProperty(
2488
+ bandwidth_allocation=123
2489
+ ),
2490
+ progressive_config=connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty(
2491
+ bandwidth_allocation=123
2492
+ )
2493
+ )
2494
+ '''
2495
+ if __debug__:
2496
+ type_hints = typing.get_type_hints(_typecheckingstub__7582ea451819f82369b8beb09bc8c872c5424040d69392d7bc3ab56ee8813053)
2497
+ check_type(argname="argument agentless_config", value=agentless_config, expected_type=type_hints["agentless_config"])
2498
+ check_type(argname="argument predictive_config", value=predictive_config, expected_type=type_hints["predictive_config"])
2499
+ check_type(argname="argument progressive_config", value=progressive_config, expected_type=type_hints["progressive_config"])
2500
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2501
+ if agentless_config is not None:
2502
+ self._values["agentless_config"] = agentless_config
2503
+ if predictive_config is not None:
2504
+ self._values["predictive_config"] = predictive_config
2505
+ if progressive_config is not None:
2506
+ self._values["progressive_config"] = progressive_config
2507
+
2508
+ @builtins.property
2509
+ def agentless_config(self) -> typing.Any:
2510
+ '''Agentless config.
2511
+
2512
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundmode.html#cfn-connectcampaignsv2-campaign-telephonyoutboundmode-agentlessconfig
2513
+ '''
2514
+ result = self._values.get("agentless_config")
2515
+ return typing.cast(typing.Any, result)
2516
+
2517
+ @builtins.property
2518
+ def predictive_config(
2519
+ self,
2520
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.PredictiveConfigProperty"]]:
2521
+ '''Predictive config.
2522
+
2523
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundmode.html#cfn-connectcampaignsv2-campaign-telephonyoutboundmode-predictiveconfig
2524
+ '''
2525
+ result = self._values.get("predictive_config")
2526
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.PredictiveConfigProperty"]], result)
2527
+
2528
+ @builtins.property
2529
+ def progressive_config(
2530
+ self,
2531
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.ProgressiveConfigProperty"]]:
2532
+ '''Progressive config.
2533
+
2534
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-telephonyoutboundmode.html#cfn-connectcampaignsv2-campaign-telephonyoutboundmode-progressiveconfig
2535
+ '''
2536
+ result = self._values.get("progressive_config")
2537
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.ProgressiveConfigProperty"]], result)
2538
+
2539
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2540
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2541
+
2542
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2543
+ return not (rhs == self)
2544
+
2545
+ def __repr__(self) -> str:
2546
+ return "TelephonyOutboundModeProperty(%s)" % ", ".join(
2547
+ k + "=" + repr(v) for k, v in self._values.items()
2548
+ )
2549
+
2550
+ @jsii.data_type(
2551
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.TimeRangeProperty",
2552
+ jsii_struct_bases=[],
2553
+ name_mapping={"end_time": "endTime", "start_time": "startTime"},
2554
+ )
2555
+ class TimeRangeProperty:
2556
+ def __init__(self, *, end_time: builtins.str, start_time: builtins.str) -> None:
2557
+ '''Time range in 24 hour format.
2558
+
2559
+ :param end_time: Time in ISO 8601 format, e.g. T23:11.
2560
+ :param start_time: Time in ISO 8601 format, e.g. T23:11.
2561
+
2562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-timerange.html
2563
+ :exampleMetadata: fixture=_generated
2564
+
2565
+ Example::
2566
+
2567
+ # The code below shows an example of how to instantiate this type.
2568
+ # The values are placeholders you should change.
2569
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2570
+
2571
+ time_range_property = connectcampaignsv2.CfnCampaign.TimeRangeProperty(
2572
+ end_time="endTime",
2573
+ start_time="startTime"
2574
+ )
2575
+ '''
2576
+ if __debug__:
2577
+ type_hints = typing.get_type_hints(_typecheckingstub__fbaac78f440293f26b08d1c7d41436b21833649d5569bb99f4e6c2bda8bd9a4e)
2578
+ check_type(argname="argument end_time", value=end_time, expected_type=type_hints["end_time"])
2579
+ check_type(argname="argument start_time", value=start_time, expected_type=type_hints["start_time"])
2580
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2581
+ "end_time": end_time,
2582
+ "start_time": start_time,
2583
+ }
2584
+
2585
+ @builtins.property
2586
+ def end_time(self) -> builtins.str:
2587
+ '''Time in ISO 8601 format, e.g. T23:11.
2588
+
2589
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-timerange.html#cfn-connectcampaignsv2-campaign-timerange-endtime
2590
+ '''
2591
+ result = self._values.get("end_time")
2592
+ assert result is not None, "Required property 'end_time' is missing"
2593
+ return typing.cast(builtins.str, result)
2594
+
2595
+ @builtins.property
2596
+ def start_time(self) -> builtins.str:
2597
+ '''Time in ISO 8601 format, e.g. T23:11.
2598
+
2599
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-timerange.html#cfn-connectcampaignsv2-campaign-timerange-starttime
2600
+ '''
2601
+ result = self._values.get("start_time")
2602
+ assert result is not None, "Required property 'start_time' is missing"
2603
+ return typing.cast(builtins.str, result)
2604
+
2605
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2606
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2607
+
2608
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2609
+ return not (rhs == self)
2610
+
2611
+ def __repr__(self) -> str:
2612
+ return "TimeRangeProperty(%s)" % ", ".join(
2613
+ k + "=" + repr(v) for k, v in self._values.items()
2614
+ )
2615
+
2616
+ @jsii.data_type(
2617
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign.TimeWindowProperty",
2618
+ jsii_struct_bases=[],
2619
+ name_mapping={
2620
+ "open_hours": "openHours",
2621
+ "restricted_periods": "restrictedPeriods",
2622
+ },
2623
+ )
2624
+ class TimeWindowProperty:
2625
+ def __init__(
2626
+ self,
2627
+ *,
2628
+ open_hours: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.OpenHoursProperty", typing.Dict[builtins.str, typing.Any]]],
2629
+ restricted_periods: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCampaign.RestrictedPeriodsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2630
+ ) -> None:
2631
+ '''Time window config.
2632
+
2633
+ :param open_hours: Open Hours config.
2634
+ :param restricted_periods: Restricted period config.
2635
+
2636
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-timewindow.html
2637
+ :exampleMetadata: fixture=_generated
2638
+
2639
+ Example::
2640
+
2641
+ # The code below shows an example of how to instantiate this type.
2642
+ # The values are placeholders you should change.
2643
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2644
+
2645
+ time_window_property = connectcampaignsv2.CfnCampaign.TimeWindowProperty(
2646
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
2647
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
2648
+ key="key",
2649
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
2650
+ end_time="endTime",
2651
+ start_time="startTime"
2652
+ )]
2653
+ )]
2654
+ ),
2655
+
2656
+ # the properties below are optional
2657
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
2658
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
2659
+ end_date="endDate",
2660
+ start_date="startDate",
2661
+
2662
+ # the properties below are optional
2663
+ name="name"
2664
+ )]
2665
+ )
2666
+ )
2667
+ '''
2668
+ if __debug__:
2669
+ type_hints = typing.get_type_hints(_typecheckingstub__738a8f46b804533de9d82348af38a0b7f7c37f641c9240bef005d4c22b396f09)
2670
+ check_type(argname="argument open_hours", value=open_hours, expected_type=type_hints["open_hours"])
2671
+ check_type(argname="argument restricted_periods", value=restricted_periods, expected_type=type_hints["restricted_periods"])
2672
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2673
+ "open_hours": open_hours,
2674
+ }
2675
+ if restricted_periods is not None:
2676
+ self._values["restricted_periods"] = restricted_periods
2677
+
2678
+ @builtins.property
2679
+ def open_hours(
2680
+ self,
2681
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnCampaign.OpenHoursProperty"]:
2682
+ '''Open Hours config.
2683
+
2684
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-timewindow.html#cfn-connectcampaignsv2-campaign-timewindow-openhours
2685
+ '''
2686
+ result = self._values.get("open_hours")
2687
+ assert result is not None, "Required property 'open_hours' is missing"
2688
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCampaign.OpenHoursProperty"], result)
2689
+
2690
+ @builtins.property
2691
+ def restricted_periods(
2692
+ self,
2693
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.RestrictedPeriodsProperty"]]:
2694
+ '''Restricted period config.
2695
+
2696
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-timewindow.html#cfn-connectcampaignsv2-campaign-timewindow-restrictedperiods
2697
+ '''
2698
+ result = self._values.get("restricted_periods")
2699
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCampaign.RestrictedPeriodsProperty"]], result)
2700
+
2701
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2702
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2703
+
2704
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2705
+ return not (rhs == self)
2706
+
2707
+ def __repr__(self) -> str:
2708
+ return "TimeWindowProperty(%s)" % ", ".join(
2709
+ k + "=" + repr(v) for k, v in self._values.items()
2710
+ )
2711
+
2712
+
2713
+ @jsii.data_type(
2714
+ jsii_type="aws-cdk-lib.aws_connectcampaignsv2.CfnCampaignProps",
2715
+ jsii_struct_bases=[],
2716
+ name_mapping={
2717
+ "channel_subtype_config": "channelSubtypeConfig",
2718
+ "connect_instance_id": "connectInstanceId",
2719
+ "name": "name",
2720
+ "communication_limits_override": "communicationLimitsOverride",
2721
+ "communication_time_config": "communicationTimeConfig",
2722
+ "connect_campaign_flow_arn": "connectCampaignFlowArn",
2723
+ "schedule": "schedule",
2724
+ "source": "source",
2725
+ "tags": "tags",
2726
+ },
2727
+ )
2728
+ class CfnCampaignProps:
2729
+ def __init__(
2730
+ self,
2731
+ *,
2732
+ channel_subtype_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ChannelSubtypeConfigProperty, typing.Dict[builtins.str, typing.Any]]],
2733
+ connect_instance_id: builtins.str,
2734
+ name: builtins.str,
2735
+ communication_limits_override: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationLimitsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2736
+ communication_time_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationTimeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2737
+ connect_campaign_flow_arn: typing.Optional[builtins.str] = None,
2738
+ schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2739
+ source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.SourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2740
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2741
+ ) -> None:
2742
+ '''Properties for defining a ``CfnCampaign``.
2743
+
2744
+ :param channel_subtype_config: The possible types of channel subtype config parameters.
2745
+ :param connect_instance_id: Amazon Connect Instance Id.
2746
+ :param name: Campaign name.
2747
+ :param communication_limits_override: Communication limits config.
2748
+ :param communication_time_config: Campaign communication time config.
2749
+ :param connect_campaign_flow_arn: Arn.
2750
+ :param schedule: Campaign schedule.
2751
+ :param source: The possible types of channel config parameters.
2752
+ :param tags: One or more tags.
2753
+
2754
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html
2755
+ :exampleMetadata: fixture=_generated
2756
+
2757
+ Example::
2758
+
2759
+ # The code below shows an example of how to instantiate this type.
2760
+ # The values are placeholders you should change.
2761
+ from aws_cdk import aws_connectcampaignsv2 as connectcampaignsv2
2762
+
2763
+ # agentless_config: Any
2764
+
2765
+ cfn_campaign_props = connectcampaignsv2.CfnCampaignProps(
2766
+ channel_subtype_config=connectcampaignsv2.CfnCampaign.ChannelSubtypeConfigProperty(
2767
+ email=connectcampaignsv2.CfnCampaign.EmailChannelSubtypeConfigProperty(
2768
+ default_outbound_config=connectcampaignsv2.CfnCampaign.EmailOutboundConfigProperty(
2769
+ connect_source_email_address="connectSourceEmailAddress",
2770
+ wisdom_template_arn="wisdomTemplateArn",
2771
+
2772
+ # the properties below are optional
2773
+ source_email_address_display_name="sourceEmailAddressDisplayName"
2774
+ ),
2775
+ outbound_mode=connectcampaignsv2.CfnCampaign.EmailOutboundModeProperty(
2776
+ agentless_config=agentless_config
2777
+ ),
2778
+
2779
+ # the properties below are optional
2780
+ capacity=123
2781
+ ),
2782
+ sms=connectcampaignsv2.CfnCampaign.SmsChannelSubtypeConfigProperty(
2783
+ default_outbound_config=connectcampaignsv2.CfnCampaign.SmsOutboundConfigProperty(
2784
+ connect_source_phone_number_arn="connectSourcePhoneNumberArn",
2785
+ wisdom_template_arn="wisdomTemplateArn"
2786
+ ),
2787
+ outbound_mode=connectcampaignsv2.CfnCampaign.SmsOutboundModeProperty(
2788
+ agentless_config=agentless_config
2789
+ ),
2790
+
2791
+ # the properties below are optional
2792
+ capacity=123
2793
+ ),
2794
+ telephony=connectcampaignsv2.CfnCampaign.TelephonyChannelSubtypeConfigProperty(
2795
+ default_outbound_config=connectcampaignsv2.CfnCampaign.TelephonyOutboundConfigProperty(
2796
+ connect_contact_flow_id="connectContactFlowId",
2797
+
2798
+ # the properties below are optional
2799
+ answer_machine_detection_config=connectcampaignsv2.CfnCampaign.AnswerMachineDetectionConfigProperty(
2800
+ enable_answer_machine_detection=False,
2801
+
2802
+ # the properties below are optional
2803
+ await_answer_machine_prompt=False
2804
+ ),
2805
+ connect_source_phone_number="connectSourcePhoneNumber"
2806
+ ),
2807
+ outbound_mode=connectcampaignsv2.CfnCampaign.TelephonyOutboundModeProperty(
2808
+ agentless_config=agentless_config,
2809
+ predictive_config=connectcampaignsv2.CfnCampaign.PredictiveConfigProperty(
2810
+ bandwidth_allocation=123
2811
+ ),
2812
+ progressive_config=connectcampaignsv2.CfnCampaign.ProgressiveConfigProperty(
2813
+ bandwidth_allocation=123
2814
+ )
2815
+ ),
2816
+
2817
+ # the properties below are optional
2818
+ capacity=123,
2819
+ connect_queue_id="connectQueueId"
2820
+ )
2821
+ ),
2822
+ connect_instance_id="connectInstanceId",
2823
+ name="name",
2824
+
2825
+ # the properties below are optional
2826
+ communication_limits_override=connectcampaignsv2.CfnCampaign.CommunicationLimitsConfigProperty(
2827
+ all_channels_subtypes=connectcampaignsv2.CfnCampaign.CommunicationLimitsProperty(
2828
+ communication_limit_list=[connectcampaignsv2.CfnCampaign.CommunicationLimitProperty(
2829
+ frequency=123,
2830
+ max_count_per_recipient=123,
2831
+ unit="unit"
2832
+ )]
2833
+ )
2834
+ ),
2835
+ communication_time_config=connectcampaignsv2.CfnCampaign.CommunicationTimeConfigProperty(
2836
+ local_time_zone_config=connectcampaignsv2.CfnCampaign.LocalTimeZoneConfigProperty(
2837
+ default_time_zone="defaultTimeZone",
2838
+ local_time_zone_detection=["localTimeZoneDetection"]
2839
+ ),
2840
+
2841
+ # the properties below are optional
2842
+ email=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
2843
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
2844
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
2845
+ key="key",
2846
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
2847
+ end_time="endTime",
2848
+ start_time="startTime"
2849
+ )]
2850
+ )]
2851
+ ),
2852
+
2853
+ # the properties below are optional
2854
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
2855
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
2856
+ end_date="endDate",
2857
+ start_date="startDate",
2858
+
2859
+ # the properties below are optional
2860
+ name="name"
2861
+ )]
2862
+ )
2863
+ ),
2864
+ sms=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
2865
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
2866
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
2867
+ key="key",
2868
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
2869
+ end_time="endTime",
2870
+ start_time="startTime"
2871
+ )]
2872
+ )]
2873
+ ),
2874
+
2875
+ # the properties below are optional
2876
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
2877
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
2878
+ end_date="endDate",
2879
+ start_date="startDate",
2880
+
2881
+ # the properties below are optional
2882
+ name="name"
2883
+ )]
2884
+ )
2885
+ ),
2886
+ telephony=connectcampaignsv2.CfnCampaign.TimeWindowProperty(
2887
+ open_hours=connectcampaignsv2.CfnCampaign.OpenHoursProperty(
2888
+ daily_hours=[connectcampaignsv2.CfnCampaign.DailyHourProperty(
2889
+ key="key",
2890
+ value=[connectcampaignsv2.CfnCampaign.TimeRangeProperty(
2891
+ end_time="endTime",
2892
+ start_time="startTime"
2893
+ )]
2894
+ )]
2895
+ ),
2896
+
2897
+ # the properties below are optional
2898
+ restricted_periods=connectcampaignsv2.CfnCampaign.RestrictedPeriodsProperty(
2899
+ restricted_period_list=[connectcampaignsv2.CfnCampaign.RestrictedPeriodProperty(
2900
+ end_date="endDate",
2901
+ start_date="startDate",
2902
+
2903
+ # the properties below are optional
2904
+ name="name"
2905
+ )]
2906
+ )
2907
+ )
2908
+ ),
2909
+ connect_campaign_flow_arn="connectCampaignFlowArn",
2910
+ schedule=connectcampaignsv2.CfnCampaign.ScheduleProperty(
2911
+ end_time="endTime",
2912
+ start_time="startTime",
2913
+
2914
+ # the properties below are optional
2915
+ refresh_frequency="refreshFrequency"
2916
+ ),
2917
+ source=connectcampaignsv2.CfnCampaign.SourceProperty(
2918
+ customer_profiles_segment_arn="customerProfilesSegmentArn"
2919
+ ),
2920
+ tags=[CfnTag(
2921
+ key="key",
2922
+ value="value"
2923
+ )]
2924
+ )
2925
+ '''
2926
+ if __debug__:
2927
+ type_hints = typing.get_type_hints(_typecheckingstub__3c58eb40b443fce35feb659905089795642547d367bd583cc8addd65c75034e8)
2928
+ check_type(argname="argument channel_subtype_config", value=channel_subtype_config, expected_type=type_hints["channel_subtype_config"])
2929
+ check_type(argname="argument connect_instance_id", value=connect_instance_id, expected_type=type_hints["connect_instance_id"])
2930
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2931
+ check_type(argname="argument communication_limits_override", value=communication_limits_override, expected_type=type_hints["communication_limits_override"])
2932
+ check_type(argname="argument communication_time_config", value=communication_time_config, expected_type=type_hints["communication_time_config"])
2933
+ check_type(argname="argument connect_campaign_flow_arn", value=connect_campaign_flow_arn, expected_type=type_hints["connect_campaign_flow_arn"])
2934
+ check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
2935
+ check_type(argname="argument source", value=source, expected_type=type_hints["source"])
2936
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2937
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2938
+ "channel_subtype_config": channel_subtype_config,
2939
+ "connect_instance_id": connect_instance_id,
2940
+ "name": name,
2941
+ }
2942
+ if communication_limits_override is not None:
2943
+ self._values["communication_limits_override"] = communication_limits_override
2944
+ if communication_time_config is not None:
2945
+ self._values["communication_time_config"] = communication_time_config
2946
+ if connect_campaign_flow_arn is not None:
2947
+ self._values["connect_campaign_flow_arn"] = connect_campaign_flow_arn
2948
+ if schedule is not None:
2949
+ self._values["schedule"] = schedule
2950
+ if source is not None:
2951
+ self._values["source"] = source
2952
+ if tags is not None:
2953
+ self._values["tags"] = tags
2954
+
2955
+ @builtins.property
2956
+ def channel_subtype_config(
2957
+ self,
2958
+ ) -> typing.Union[_IResolvable_da3f097b, CfnCampaign.ChannelSubtypeConfigProperty]:
2959
+ '''The possible types of channel subtype config parameters.
2960
+
2961
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-channelsubtypeconfig
2962
+ '''
2963
+ result = self._values.get("channel_subtype_config")
2964
+ assert result is not None, "Required property 'channel_subtype_config' is missing"
2965
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnCampaign.ChannelSubtypeConfigProperty], result)
2966
+
2967
+ @builtins.property
2968
+ def connect_instance_id(self) -> builtins.str:
2969
+ '''Amazon Connect Instance Id.
2970
+
2971
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-connectinstanceid
2972
+ '''
2973
+ result = self._values.get("connect_instance_id")
2974
+ assert result is not None, "Required property 'connect_instance_id' is missing"
2975
+ return typing.cast(builtins.str, result)
2976
+
2977
+ @builtins.property
2978
+ def name(self) -> builtins.str:
2979
+ '''Campaign name.
2980
+
2981
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-name
2982
+ '''
2983
+ result = self._values.get("name")
2984
+ assert result is not None, "Required property 'name' is missing"
2985
+ return typing.cast(builtins.str, result)
2986
+
2987
+ @builtins.property
2988
+ def communication_limits_override(
2989
+ self,
2990
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.CommunicationLimitsConfigProperty]]:
2991
+ '''Communication limits config.
2992
+
2993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-communicationlimitsoverride
2994
+ '''
2995
+ result = self._values.get("communication_limits_override")
2996
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.CommunicationLimitsConfigProperty]], result)
2997
+
2998
+ @builtins.property
2999
+ def communication_time_config(
3000
+ self,
3001
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.CommunicationTimeConfigProperty]]:
3002
+ '''Campaign communication time config.
3003
+
3004
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-communicationtimeconfig
3005
+ '''
3006
+ result = self._values.get("communication_time_config")
3007
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.CommunicationTimeConfigProperty]], result)
3008
+
3009
+ @builtins.property
3010
+ def connect_campaign_flow_arn(self) -> typing.Optional[builtins.str]:
3011
+ '''Arn.
3012
+
3013
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-connectcampaignflowarn
3014
+ '''
3015
+ result = self._values.get("connect_campaign_flow_arn")
3016
+ return typing.cast(typing.Optional[builtins.str], result)
3017
+
3018
+ @builtins.property
3019
+ def schedule(
3020
+ self,
3021
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.ScheduleProperty]]:
3022
+ '''Campaign schedule.
3023
+
3024
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-schedule
3025
+ '''
3026
+ result = self._values.get("schedule")
3027
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.ScheduleProperty]], result)
3028
+
3029
+ @builtins.property
3030
+ def source(
3031
+ self,
3032
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.SourceProperty]]:
3033
+ '''The possible types of channel config parameters.
3034
+
3035
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-source
3036
+ '''
3037
+ result = self._values.get("source")
3038
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.SourceProperty]], result)
3039
+
3040
+ @builtins.property
3041
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3042
+ '''One or more tags.
3043
+
3044
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html#cfn-connectcampaignsv2-campaign-tags
3045
+ '''
3046
+ result = self._values.get("tags")
3047
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3048
+
3049
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3050
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3051
+
3052
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3053
+ return not (rhs == self)
3054
+
3055
+ def __repr__(self) -> str:
3056
+ return "CfnCampaignProps(%s)" % ", ".join(
3057
+ k + "=" + repr(v) for k, v in self._values.items()
3058
+ )
3059
+
3060
+
3061
+ __all__ = [
3062
+ "CfnCampaign",
3063
+ "CfnCampaignProps",
3064
+ ]
3065
+
3066
+ publication.publish()
3067
+
3068
+ def _typecheckingstub__228f2b3a0b621ad8a32effe36abeb2d513f50077bd0ad5de7f33f1ea81da26bf(
3069
+ scope: _constructs_77d1e7e8.Construct,
3070
+ id: builtins.str,
3071
+ *,
3072
+ channel_subtype_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ChannelSubtypeConfigProperty, typing.Dict[builtins.str, typing.Any]]],
3073
+ connect_instance_id: builtins.str,
3074
+ name: builtins.str,
3075
+ communication_limits_override: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationLimitsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3076
+ communication_time_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationTimeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3077
+ connect_campaign_flow_arn: typing.Optional[builtins.str] = None,
3078
+ schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3079
+ source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.SourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3080
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3081
+ ) -> None:
3082
+ """Type checking stubs"""
3083
+ pass
3084
+
3085
+ def _typecheckingstub__7a3569f68d4e1cebb6aa0c64e1d5986831e6aae0db4d29cfdc75c914d15ffdce(
3086
+ inspector: _TreeInspector_488e0dd5,
3087
+ ) -> None:
3088
+ """Type checking stubs"""
3089
+ pass
3090
+
3091
+ def _typecheckingstub__c76203b12deea4c92c4180a4c58e9869df456b6f2b525019f1464142d4eec24c(
3092
+ props: typing.Mapping[builtins.str, typing.Any],
3093
+ ) -> None:
3094
+ """Type checking stubs"""
3095
+ pass
3096
+
3097
+ def _typecheckingstub__a5b5c43e63bf2a0bf41f238db2ecf2eed8032758072a77ebd8c459798f74fa0c(
3098
+ value: typing.Union[_IResolvable_da3f097b, CfnCampaign.ChannelSubtypeConfigProperty],
3099
+ ) -> None:
3100
+ """Type checking stubs"""
3101
+ pass
3102
+
3103
+ def _typecheckingstub__dea841111eb9715b7977d34769972a35f4ff12770a8fd30c5e8756c52e2315dd(
3104
+ value: builtins.str,
3105
+ ) -> None:
3106
+ """Type checking stubs"""
3107
+ pass
3108
+
3109
+ def _typecheckingstub__8a6ee2c8ab1041b75d3fc61f47c640e057770a39c0cd0f8b43528a1df4134a14(
3110
+ value: builtins.str,
3111
+ ) -> None:
3112
+ """Type checking stubs"""
3113
+ pass
3114
+
3115
+ def _typecheckingstub__e9a4f9850d67cc76e259c5826fc9085afbf3a202dbe3ba9f6af537bfd18c830a(
3116
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.CommunicationLimitsConfigProperty]],
3117
+ ) -> None:
3118
+ """Type checking stubs"""
3119
+ pass
3120
+
3121
+ def _typecheckingstub__f04ec307144a013ae0d78d8747dea1d25d0ab7e9abc18aaab84c15553a5bb868(
3122
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.CommunicationTimeConfigProperty]],
3123
+ ) -> None:
3124
+ """Type checking stubs"""
3125
+ pass
3126
+
3127
+ def _typecheckingstub__c514dbfca338965ca2462164a214264c8a79ca12e54b81685d99cc57a888b73c(
3128
+ value: typing.Optional[builtins.str],
3129
+ ) -> None:
3130
+ """Type checking stubs"""
3131
+ pass
3132
+
3133
+ def _typecheckingstub__96d94c4ddf36f3ab10421fbfcb861afdc6852b09a0b0783e33f602560dc90a87(
3134
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.ScheduleProperty]],
3135
+ ) -> None:
3136
+ """Type checking stubs"""
3137
+ pass
3138
+
3139
+ def _typecheckingstub__1dd88e602a1609757680509707feb43ec965d5628d820f7eb876dc6ac055b404(
3140
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCampaign.SourceProperty]],
3141
+ ) -> None:
3142
+ """Type checking stubs"""
3143
+ pass
3144
+
3145
+ def _typecheckingstub__c7a5de836c29e94a66b86ab16ab9047f892319b5f0f4bb59a47dc977cdb0fb0b(
3146
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3147
+ ) -> None:
3148
+ """Type checking stubs"""
3149
+ pass
3150
+
3151
+ def _typecheckingstub__cc9e20500646db1cdb84f99ed95755110a841a334cc195de359fe87f9f7051d5(
3152
+ *,
3153
+ enable_answer_machine_detection: typing.Union[builtins.bool, _IResolvable_da3f097b],
3154
+ await_answer_machine_prompt: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3155
+ ) -> None:
3156
+ """Type checking stubs"""
3157
+ pass
3158
+
3159
+ def _typecheckingstub__aae9c62c36e7d18a87df32d56bbdc6f7740c287aaac55c92832b7ca366aa6b5b(
3160
+ *,
3161
+ email: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.EmailChannelSubtypeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3162
+ sms: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.SmsChannelSubtypeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3163
+ telephony: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TelephonyChannelSubtypeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3164
+ ) -> None:
3165
+ """Type checking stubs"""
3166
+ pass
3167
+
3168
+ def _typecheckingstub__7a4b2b207bce63b0696bef9d14a808bcf3bd9ae2746f645e72a80348100b732b(
3169
+ *,
3170
+ frequency: jsii.Number,
3171
+ max_count_per_recipient: jsii.Number,
3172
+ unit: builtins.str,
3173
+ ) -> None:
3174
+ """Type checking stubs"""
3175
+ pass
3176
+
3177
+ def _typecheckingstub__5a5ca8627addc85a64908de980e86012a2ad9d04257fa86e81c4873e7a7d93be(
3178
+ *,
3179
+ all_channels_subtypes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationLimitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3180
+ ) -> None:
3181
+ """Type checking stubs"""
3182
+ pass
3183
+
3184
+ def _typecheckingstub__063b98187bfe10fef303f184ab9d1c8b1d41a5388eb6da2529b64fee8106550c(
3185
+ *,
3186
+ communication_limit_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationLimitProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3187
+ ) -> None:
3188
+ """Type checking stubs"""
3189
+ pass
3190
+
3191
+ def _typecheckingstub__e3f2f2fbfc83eeac20d115af03889d47eb55561494e8fc488eeec30eb2e47752(
3192
+ *,
3193
+ local_time_zone_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.LocalTimeZoneConfigProperty, typing.Dict[builtins.str, typing.Any]]],
3194
+ email: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TimeWindowProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3195
+ sms: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TimeWindowProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3196
+ telephony: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TimeWindowProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3197
+ ) -> None:
3198
+ """Type checking stubs"""
3199
+ pass
3200
+
3201
+ def _typecheckingstub__35e6acb6b0c0424f51f610f7f0a2abd4c482306c13db09f191eae079682c9f5c(
3202
+ *,
3203
+ key: typing.Optional[builtins.str] = None,
3204
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TimeRangeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3205
+ ) -> None:
3206
+ """Type checking stubs"""
3207
+ pass
3208
+
3209
+ def _typecheckingstub__ff9274643abefe2ecd29ff0322f3b49479b574757b18fe4f15225f01a19ef7ea(
3210
+ *,
3211
+ default_outbound_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.EmailOutboundConfigProperty, typing.Dict[builtins.str, typing.Any]]],
3212
+ outbound_mode: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.EmailOutboundModeProperty, typing.Dict[builtins.str, typing.Any]]],
3213
+ capacity: typing.Optional[jsii.Number] = None,
3214
+ ) -> None:
3215
+ """Type checking stubs"""
3216
+ pass
3217
+
3218
+ def _typecheckingstub__7b2c45c48dd3f984623dbcc344a83d9c26e929cd6947cc9f868ffe1b4d0341d1(
3219
+ *,
3220
+ connect_source_email_address: builtins.str,
3221
+ wisdom_template_arn: builtins.str,
3222
+ source_email_address_display_name: typing.Optional[builtins.str] = None,
3223
+ ) -> None:
3224
+ """Type checking stubs"""
3225
+ pass
3226
+
3227
+ def _typecheckingstub__016ccd411110b9f8510f586be6901ef480857575d80a38ed7c7e81cae2ad5e94(
3228
+ *,
3229
+ agentless_config: typing.Any = None,
3230
+ ) -> None:
3231
+ """Type checking stubs"""
3232
+ pass
3233
+
3234
+ def _typecheckingstub__c03234f264094d68479c6e1cf3801d50627e839a73b2f0cbeb95c82522f9a66e(
3235
+ *,
3236
+ default_time_zone: typing.Optional[builtins.str] = None,
3237
+ local_time_zone_detection: typing.Optional[typing.Sequence[builtins.str]] = None,
3238
+ ) -> None:
3239
+ """Type checking stubs"""
3240
+ pass
3241
+
3242
+ def _typecheckingstub__9a34ace5bfcc35c52d69e6dd7ef3c38abf4d254290d5470f5104e49f2d115b39(
3243
+ *,
3244
+ daily_hours: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.DailyHourProperty, typing.Dict[builtins.str, typing.Any]]]]],
3245
+ ) -> None:
3246
+ """Type checking stubs"""
3247
+ pass
3248
+
3249
+ def _typecheckingstub__a27014c548ec13c6446b07f461be7ed43556a2cb77433713ef38f272a14459fd(
3250
+ *,
3251
+ bandwidth_allocation: jsii.Number,
3252
+ ) -> None:
3253
+ """Type checking stubs"""
3254
+ pass
3255
+
3256
+ def _typecheckingstub__6504302e8d20b62038efca8c5dfe9bbddfc485cc88de44f995d599a39017ddbe(
3257
+ *,
3258
+ bandwidth_allocation: jsii.Number,
3259
+ ) -> None:
3260
+ """Type checking stubs"""
3261
+ pass
3262
+
3263
+ def _typecheckingstub__4f2a36f6fa12d741457cf955ef79fa845b855e1b170b7ea44a157f8f120f9b67(
3264
+ *,
3265
+ end_date: builtins.str,
3266
+ start_date: builtins.str,
3267
+ name: typing.Optional[builtins.str] = None,
3268
+ ) -> None:
3269
+ """Type checking stubs"""
3270
+ pass
3271
+
3272
+ def _typecheckingstub__f30a61789fda85a4bb2aa71fc64566047bab737aa5220ee60d91e1e08d9a84dd(
3273
+ *,
3274
+ restricted_period_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.RestrictedPeriodProperty, typing.Dict[builtins.str, typing.Any]]]]],
3275
+ ) -> None:
3276
+ """Type checking stubs"""
3277
+ pass
3278
+
3279
+ def _typecheckingstub__8b6a4567c8e5f09b06087beafe0e729f0ae431ebcefbe37d716e547d333cb24b(
3280
+ *,
3281
+ end_time: builtins.str,
3282
+ start_time: builtins.str,
3283
+ refresh_frequency: typing.Optional[builtins.str] = None,
3284
+ ) -> None:
3285
+ """Type checking stubs"""
3286
+ pass
3287
+
3288
+ def _typecheckingstub__b0d42ae0232d954af9167d51954642098f71dd226d554f1b2fab39b2c46726ee(
3289
+ *,
3290
+ default_outbound_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.SmsOutboundConfigProperty, typing.Dict[builtins.str, typing.Any]]],
3291
+ outbound_mode: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.SmsOutboundModeProperty, typing.Dict[builtins.str, typing.Any]]],
3292
+ capacity: typing.Optional[jsii.Number] = None,
3293
+ ) -> None:
3294
+ """Type checking stubs"""
3295
+ pass
3296
+
3297
+ def _typecheckingstub__874dedca8982d2204aa531b3a554ca0a994b9ce64825e83b31a7a7563d08f262(
3298
+ *,
3299
+ connect_source_phone_number_arn: builtins.str,
3300
+ wisdom_template_arn: builtins.str,
3301
+ ) -> None:
3302
+ """Type checking stubs"""
3303
+ pass
3304
+
3305
+ def _typecheckingstub__67957d238e403659f29fa8bf2db2164d694d327a14b84df3d61c10b2b3afd954(
3306
+ *,
3307
+ agentless_config: typing.Any = None,
3308
+ ) -> None:
3309
+ """Type checking stubs"""
3310
+ pass
3311
+
3312
+ def _typecheckingstub__48dbe2dd9c0147e5b2bea173aba4c056f8a83ba308e89c654331a4a77f46636d(
3313
+ *,
3314
+ customer_profiles_segment_arn: builtins.str,
3315
+ ) -> None:
3316
+ """Type checking stubs"""
3317
+ pass
3318
+
3319
+ def _typecheckingstub__19c776b12e28122b49a867e83503b94bf286d46879c32085c60a17f0213dc948(
3320
+ *,
3321
+ default_outbound_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TelephonyOutboundConfigProperty, typing.Dict[builtins.str, typing.Any]]],
3322
+ outbound_mode: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.TelephonyOutboundModeProperty, typing.Dict[builtins.str, typing.Any]]],
3323
+ capacity: typing.Optional[jsii.Number] = None,
3324
+ connect_queue_id: typing.Optional[builtins.str] = None,
3325
+ ) -> None:
3326
+ """Type checking stubs"""
3327
+ pass
3328
+
3329
+ def _typecheckingstub__2751a1c01ea2bfaf5fe6806fe1a585daea66baf82d5fe0a4cec77a9b592d901a(
3330
+ *,
3331
+ connect_contact_flow_id: builtins.str,
3332
+ answer_machine_detection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.AnswerMachineDetectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3333
+ connect_source_phone_number: typing.Optional[builtins.str] = None,
3334
+ ) -> None:
3335
+ """Type checking stubs"""
3336
+ pass
3337
+
3338
+ def _typecheckingstub__7582ea451819f82369b8beb09bc8c872c5424040d69392d7bc3ab56ee8813053(
3339
+ *,
3340
+ agentless_config: typing.Any = None,
3341
+ predictive_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.PredictiveConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3342
+ progressive_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ProgressiveConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3343
+ ) -> None:
3344
+ """Type checking stubs"""
3345
+ pass
3346
+
3347
+ def _typecheckingstub__fbaac78f440293f26b08d1c7d41436b21833649d5569bb99f4e6c2bda8bd9a4e(
3348
+ *,
3349
+ end_time: builtins.str,
3350
+ start_time: builtins.str,
3351
+ ) -> None:
3352
+ """Type checking stubs"""
3353
+ pass
3354
+
3355
+ def _typecheckingstub__738a8f46b804533de9d82348af38a0b7f7c37f641c9240bef005d4c22b396f09(
3356
+ *,
3357
+ open_hours: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.OpenHoursProperty, typing.Dict[builtins.str, typing.Any]]],
3358
+ restricted_periods: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.RestrictedPeriodsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3359
+ ) -> None:
3360
+ """Type checking stubs"""
3361
+ pass
3362
+
3363
+ def _typecheckingstub__3c58eb40b443fce35feb659905089795642547d367bd583cc8addd65c75034e8(
3364
+ *,
3365
+ channel_subtype_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ChannelSubtypeConfigProperty, typing.Dict[builtins.str, typing.Any]]],
3366
+ connect_instance_id: builtins.str,
3367
+ name: builtins.str,
3368
+ communication_limits_override: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationLimitsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3369
+ communication_time_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.CommunicationTimeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3370
+ connect_campaign_flow_arn: typing.Optional[builtins.str] = None,
3371
+ schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3372
+ source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCampaign.SourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3373
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3374
+ ) -> None:
3375
+ """Type checking stubs"""
3376
+ pass