aws-cdk-lib 2.200.2__py3-none-any.whl → 2.202.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (62) hide show
  1. aws_cdk/__init__.py +129 -37
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +227 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +38 -38
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  16. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  18. aws_cdk/aws_connect/__init__.py +5 -5
  19. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  20. aws_cdk/aws_datasync/__init__.py +189 -160
  21. aws_cdk/aws_datazone/__init__.py +512 -170
  22. aws_cdk/aws_deadline/__init__.py +32 -4
  23. aws_cdk/aws_dsql/__init__.py +150 -10
  24. aws_cdk/aws_ec2/__init__.py +1191 -304
  25. aws_cdk/aws_ecs/__init__.py +94 -11
  26. aws_cdk/aws_efs/__init__.py +103 -12
  27. aws_cdk/aws_eks/__init__.py +337 -168
  28. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  29. aws_cdk/aws_emr/__init__.py +10 -4
  30. aws_cdk/aws_entityresolution/__init__.py +25 -10
  31. aws_cdk/aws_evs/__init__.py +2204 -0
  32. aws_cdk/aws_fsx/__init__.py +7 -7
  33. aws_cdk/aws_glue/__init__.py +58 -24
  34. aws_cdk/aws_iam/__init__.py +3 -3
  35. aws_cdk/aws_kms/__init__.py +10 -4
  36. aws_cdk/aws_lambda/__init__.py +1167 -55
  37. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  38. aws_cdk/aws_lightsail/__init__.py +17 -13
  39. aws_cdk/aws_logs/__init__.py +1 -0
  40. aws_cdk/aws_msk/__init__.py +21 -2
  41. aws_cdk/aws_mwaa/__init__.py +45 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  44. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  45. aws_cdk/aws_rds/__init__.py +287 -87
  46. aws_cdk/aws_s3/__init__.py +39 -15
  47. aws_cdk/aws_sagemaker/__init__.py +223 -3
  48. aws_cdk/aws_securityhub/__init__.py +18 -34
  49. aws_cdk/aws_ssm/__init__.py +83 -1
  50. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  51. aws_cdk/aws_synthetics/__init__.py +74 -0
  52. aws_cdk/aws_transfer/__init__.py +3 -3
  53. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  54. aws_cdk/aws_wafv2/__init__.py +770 -7
  55. aws_cdk/cx_api/__init__.py +14 -0
  56. aws_cdk/pipelines/__init__.py +147 -38
  57. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
@@ -505,7 +505,10 @@ class CfnFleet(
505
505
  ),
506
506
  instance_market_options=deadline.CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty(
507
507
  type="type"
508
- )
508
+ ),
509
+
510
+ # the properties below are optional
511
+ storage_profile_id="storageProfileId"
509
512
  )
510
513
  ),
511
514
  display_name="displayName",
@@ -1967,7 +1970,10 @@ class CfnFleet(
1967
1970
  ),
1968
1971
  instance_market_options=deadline.CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty(
1969
1972
  type="type"
1970
- )
1973
+ ),
1974
+
1975
+ # the properties below are optional
1976
+ storage_profile_id="storageProfileId"
1971
1977
  )
1972
1978
  )
1973
1979
  '''
@@ -2187,6 +2193,7 @@ class CfnFleet(
2187
2193
  name_mapping={
2188
2194
  "instance_capabilities": "instanceCapabilities",
2189
2195
  "instance_market_options": "instanceMarketOptions",
2196
+ "storage_profile_id": "storageProfileId",
2190
2197
  },
2191
2198
  )
2192
2199
  class ServiceManagedEc2FleetConfigurationProperty:
@@ -2195,11 +2202,13 @@ class CfnFleet(
2195
2202
  *,
2196
2203
  instance_capabilities: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ServiceManagedEc2InstanceCapabilitiesProperty", typing.Dict[builtins.str, typing.Any]]],
2197
2204
  instance_market_options: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty", typing.Dict[builtins.str, typing.Any]]],
2205
+ storage_profile_id: typing.Optional[builtins.str] = None,
2198
2206
  ) -> None:
2199
2207
  '''The configuration details for a service managed Amazon EC2 fleet.
2200
2208
 
2201
2209
  :param instance_capabilities: The Amazon EC2 instance capabilities.
2202
2210
  :param instance_market_options: The Amazon EC2 market type.
2211
+ :param storage_profile_id: The storage profile ID.
2203
2212
 
2204
2213
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html
2205
2214
  :exampleMetadata: fixture=_generated
@@ -2265,17 +2274,23 @@ class CfnFleet(
2265
2274
  ),
2266
2275
  instance_market_options=deadline.CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty(
2267
2276
  type="type"
2268
- )
2277
+ ),
2278
+
2279
+ # the properties below are optional
2280
+ storage_profile_id="storageProfileId"
2269
2281
  )
2270
2282
  '''
2271
2283
  if __debug__:
2272
2284
  type_hints = typing.get_type_hints(_typecheckingstub__a24a660b503191048581077a517891d27502b69620643c509073603283a2cb39)
2273
2285
  check_type(argname="argument instance_capabilities", value=instance_capabilities, expected_type=type_hints["instance_capabilities"])
2274
2286
  check_type(argname="argument instance_market_options", value=instance_market_options, expected_type=type_hints["instance_market_options"])
2287
+ check_type(argname="argument storage_profile_id", value=storage_profile_id, expected_type=type_hints["storage_profile_id"])
2275
2288
  self._values: typing.Dict[builtins.str, typing.Any] = {
2276
2289
  "instance_capabilities": instance_capabilities,
2277
2290
  "instance_market_options": instance_market_options,
2278
2291
  }
2292
+ if storage_profile_id is not None:
2293
+ self._values["storage_profile_id"] = storage_profile_id
2279
2294
 
2280
2295
  @builtins.property
2281
2296
  def instance_capabilities(
@@ -2301,6 +2316,15 @@ class CfnFleet(
2301
2316
  assert result is not None, "Required property 'instance_market_options' is missing"
2302
2317
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty"], result)
2303
2318
 
2319
+ @builtins.property
2320
+ def storage_profile_id(self) -> typing.Optional[builtins.str]:
2321
+ '''The storage profile ID.
2322
+
2323
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-storageprofileid
2324
+ '''
2325
+ result = self._values.get("storage_profile_id")
2326
+ return typing.cast(typing.Optional[builtins.str], result)
2327
+
2304
2328
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2305
2329
  return isinstance(rhs, self.__class__) and rhs._values == self._values
2306
2330
 
@@ -2848,7 +2872,10 @@ class CfnFleetProps:
2848
2872
  ),
2849
2873
  instance_market_options=deadline.CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty(
2850
2874
  type="type"
2851
- )
2875
+ ),
2876
+
2877
+ # the properties below are optional
2878
+ storage_profile_id="storageProfileId"
2852
2879
  )
2853
2880
  ),
2854
2881
  display_name="displayName",
@@ -6428,6 +6455,7 @@ def _typecheckingstub__a24a660b503191048581077a517891d27502b69620643c50907360328
6428
6455
  *,
6429
6456
  instance_capabilities: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ServiceManagedEc2InstanceCapabilitiesProperty, typing.Dict[builtins.str, typing.Any]]],
6430
6457
  instance_market_options: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ServiceManagedEc2InstanceMarketOptionsProperty, typing.Dict[builtins.str, typing.Any]]],
6458
+ storage_profile_id: typing.Optional[builtins.str] = None,
6431
6459
  ) -> None:
6432
6460
  """Type checking stubs"""
6433
6461
  pass
@@ -85,12 +85,12 @@ class CfnCluster(
85
85
  metaclass=jsii.JSIIMeta,
86
86
  jsii_type="aws-cdk-lib.aws_dsql.CfnCluster",
87
87
  ):
88
- '''The CreateCluster API allows you to create both single-region clusters and multi-Region clusters.
88
+ '''The ``AWS::DSQL::Cluster`` resource specifies an cluster. You can use this resource to create, modify, and manage clusters.
89
89
 
90
- With the addition of the *multiRegionProperties* parameter, you can create a cluster with witness Region support and establish peer relationships with clusters in other Regions during creation.
90
+ This resource supports both single-Region clusters and multi-Region clusters through the ``MultiRegionProperties`` parameter.
91
91
  .. epigraph::
92
92
 
93
- Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters, as detailed in the *Required permissions* section below.
93
+ Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters. > - The witness Region specified in ``multiRegionProperties.witnessRegion`` cannot be the same as the cluster's Region.
94
94
 
95
95
  *Required permissions*
96
96
 
@@ -102,7 +102,7 @@ class CfnCluster(
102
102
 
103
103
  Resources: ``arn:aws:dsql:region:account-id:cluster/*``
104
104
 
105
- - **dsql:PutMultiRegionProperties** - Permission to configure multi-region properties for a cluster.
105
+ - **dsql:PutMultiRegionProperties** - Permission to configure multi-Region properties for a cluster.
106
106
 
107
107
  Resources: ``arn:aws:dsql:region:account-id:cluster/*``
108
108
 
@@ -117,9 +117,6 @@ class CfnCluster(
117
117
  Resources: ``arn:aws:dsql:region:account-id:cluster/*``
118
118
 
119
119
  Condition Keys: ``dsql:WitnessRegion`` (matching the specified witness region)
120
- .. epigraph::
121
-
122
- - The witness Region specified in ``multiRegionProperties.witnessRegion`` cannot be the same as the cluster's Region.
123
120
 
124
121
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html
125
122
  :cloudformationResource: AWS::DSQL::Cluster
@@ -133,6 +130,10 @@ class CfnCluster(
133
130
 
134
131
  cfn_cluster = dsql.CfnCluster(self, "MyCfnCluster",
135
132
  deletion_protection_enabled=False,
133
+ multi_region_properties=dsql.CfnCluster.MultiRegionPropertiesProperty(
134
+ clusters=["clusters"],
135
+ witness_region="witnessRegion"
136
+ ),
136
137
  tags=[CfnTag(
137
138
  key="key",
138
139
  value="value"
@@ -146,12 +147,14 @@ class CfnCluster(
146
147
  id: builtins.str,
147
148
  *,
148
149
  deletion_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
150
+ multi_region_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.MultiRegionPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
149
151
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
150
152
  ) -> None:
151
153
  '''
152
154
  :param scope: Scope in which this resource is defined.
153
155
  :param id: Construct identifier for this resource (unique in its scope).
154
156
  :param deletion_protection_enabled: Whether deletion protection is enabled on this cluster.
157
+ :param multi_region_properties: Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.
155
158
  :param tags: A map of key and value pairs this cluster is tagged with.
156
159
  '''
157
160
  if __debug__:
@@ -159,7 +162,9 @@ class CfnCluster(
159
162
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
160
163
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
161
164
  props = CfnClusterProps(
162
- deletion_protection_enabled=deletion_protection_enabled, tags=tags
165
+ deletion_protection_enabled=deletion_protection_enabled,
166
+ multi_region_properties=multi_region_properties,
167
+ tags=tags,
163
168
  )
164
169
 
165
170
  jsii.create(self.__class__, self, [scope, id, props])
@@ -226,9 +231,15 @@ class CfnCluster(
226
231
  @builtins.property
227
232
  @jsii.member(jsii_name="attrStatus")
228
233
  def attr_status(self) -> builtins.str:
229
- '''The current status of the cluster.
234
+ '''The current status of the cluster. Possible values include: CREATING, ACTIVE, DELETING, FAILED.
235
+
236
+ The cluster can have two additional status values when working with multi-Region clusters:
237
+
238
+ ``PENDING_SETUP`` —Indicates the cluster is being configured
230
239
 
231
- Possible values include: CREATING, ACTIVE, DELETING, FAILED.
240
+ ``PENDING_DELETE`` —Indicates the cluster is being deleted
241
+
242
+ *Note:* These status values only appear for multi-Region cluster operations.
232
243
 
233
244
  :cloudformationAttribute: Status
234
245
  '''
@@ -274,6 +285,24 @@ class CfnCluster(
274
285
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
275
286
  jsii.set(self, "deletionProtectionEnabled", value) # pyright: ignore[reportArgumentType]
276
287
 
288
+ @builtins.property
289
+ @jsii.member(jsii_name="multiRegionProperties")
290
+ def multi_region_properties(
291
+ self,
292
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.MultiRegionPropertiesProperty"]]:
293
+ '''Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.'''
294
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.MultiRegionPropertiesProperty"]], jsii.get(self, "multiRegionProperties"))
295
+
296
+ @multi_region_properties.setter
297
+ def multi_region_properties(
298
+ self,
299
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.MultiRegionPropertiesProperty"]],
300
+ ) -> None:
301
+ if __debug__:
302
+ type_hints = typing.get_type_hints(_typecheckingstub__d1cd42de6387e3057eda85830c6674c4cac74a5be160e21869cc4c1b3274381c)
303
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
304
+ jsii.set(self, "multiRegionProperties", value) # pyright: ignore[reportArgumentType]
305
+
277
306
  @builtins.property
278
307
  @jsii.member(jsii_name="tags")
279
308
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -287,12 +316,87 @@ class CfnCluster(
287
316
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
288
317
  jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
289
318
 
319
+ @jsii.data_type(
320
+ jsii_type="aws-cdk-lib.aws_dsql.CfnCluster.MultiRegionPropertiesProperty",
321
+ jsii_struct_bases=[],
322
+ name_mapping={"clusters": "clusters", "witness_region": "witnessRegion"},
323
+ )
324
+ class MultiRegionPropertiesProperty:
325
+ def __init__(
326
+ self,
327
+ *,
328
+ clusters: typing.Optional[typing.Sequence[builtins.str]] = None,
329
+ witness_region: typing.Optional[builtins.str] = None,
330
+ ) -> None:
331
+ '''Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.
332
+
333
+ :param clusters: The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region.
334
+ :param witness_region: The Region that serves as the witness Region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum.
335
+
336
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dsql-cluster-multiregionproperties.html
337
+ :exampleMetadata: fixture=_generated
338
+
339
+ Example::
340
+
341
+ # The code below shows an example of how to instantiate this type.
342
+ # The values are placeholders you should change.
343
+ from aws_cdk import aws_dsql as dsql
344
+
345
+ multi_region_properties_property = dsql.CfnCluster.MultiRegionPropertiesProperty(
346
+ clusters=["clusters"],
347
+ witness_region="witnessRegion"
348
+ )
349
+ '''
350
+ if __debug__:
351
+ type_hints = typing.get_type_hints(_typecheckingstub__b9a11b947e8fa036630c80e949e1619ff609036ee5de58658c8157988d8c212f)
352
+ check_type(argname="argument clusters", value=clusters, expected_type=type_hints["clusters"])
353
+ check_type(argname="argument witness_region", value=witness_region, expected_type=type_hints["witness_region"])
354
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
355
+ if clusters is not None:
356
+ self._values["clusters"] = clusters
357
+ if witness_region is not None:
358
+ self._values["witness_region"] = witness_region
359
+
360
+ @builtins.property
361
+ def clusters(self) -> typing.Optional[typing.List[builtins.str]]:
362
+ '''The set of peered clusters that form the multi-Region cluster configuration.
363
+
364
+ Each peered cluster represents a database instance in a different Region.
365
+
366
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dsql-cluster-multiregionproperties.html#cfn-dsql-cluster-multiregionproperties-clusters
367
+ '''
368
+ result = self._values.get("clusters")
369
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
370
+
371
+ @builtins.property
372
+ def witness_region(self) -> typing.Optional[builtins.str]:
373
+ '''The Region that serves as the witness Region for a multi-Region cluster.
374
+
375
+ The witness Region helps maintain cluster consistency and quorum.
376
+
377
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dsql-cluster-multiregionproperties.html#cfn-dsql-cluster-multiregionproperties-witnessregion
378
+ '''
379
+ result = self._values.get("witness_region")
380
+ return typing.cast(typing.Optional[builtins.str], result)
381
+
382
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
383
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
384
+
385
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
386
+ return not (rhs == self)
387
+
388
+ def __repr__(self) -> str:
389
+ return "MultiRegionPropertiesProperty(%s)" % ", ".join(
390
+ k + "=" + repr(v) for k, v in self._values.items()
391
+ )
392
+
290
393
 
291
394
  @jsii.data_type(
292
395
  jsii_type="aws-cdk-lib.aws_dsql.CfnClusterProps",
293
396
  jsii_struct_bases=[],
294
397
  name_mapping={
295
398
  "deletion_protection_enabled": "deletionProtectionEnabled",
399
+ "multi_region_properties": "multiRegionProperties",
296
400
  "tags": "tags",
297
401
  },
298
402
  )
@@ -301,11 +405,13 @@ class CfnClusterProps:
301
405
  self,
302
406
  *,
303
407
  deletion_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
408
+ multi_region_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.MultiRegionPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
304
409
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
305
410
  ) -> None:
306
411
  '''Properties for defining a ``CfnCluster``.
307
412
 
308
413
  :param deletion_protection_enabled: Whether deletion protection is enabled on this cluster.
414
+ :param multi_region_properties: Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.
309
415
  :param tags: A map of key and value pairs this cluster is tagged with.
310
416
 
311
417
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html
@@ -319,6 +425,10 @@ class CfnClusterProps:
319
425
 
320
426
  cfn_cluster_props = dsql.CfnClusterProps(
321
427
  deletion_protection_enabled=False,
428
+ multi_region_properties=dsql.CfnCluster.MultiRegionPropertiesProperty(
429
+ clusters=["clusters"],
430
+ witness_region="witnessRegion"
431
+ ),
322
432
  tags=[CfnTag(
323
433
  key="key",
324
434
  value="value"
@@ -328,10 +438,13 @@ class CfnClusterProps:
328
438
  if __debug__:
329
439
  type_hints = typing.get_type_hints(_typecheckingstub__c99b78beafe41f2e25cbcc0b8a8aff58ff66a77464bef06dbf9128ff75ebd08c)
330
440
  check_type(argname="argument deletion_protection_enabled", value=deletion_protection_enabled, expected_type=type_hints["deletion_protection_enabled"])
441
+ check_type(argname="argument multi_region_properties", value=multi_region_properties, expected_type=type_hints["multi_region_properties"])
331
442
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
332
443
  self._values: typing.Dict[builtins.str, typing.Any] = {}
333
444
  if deletion_protection_enabled is not None:
334
445
  self._values["deletion_protection_enabled"] = deletion_protection_enabled
446
+ if multi_region_properties is not None:
447
+ self._values["multi_region_properties"] = multi_region_properties
335
448
  if tags is not None:
336
449
  self._values["tags"] = tags
337
450
 
@@ -346,6 +459,17 @@ class CfnClusterProps:
346
459
  result = self._values.get("deletion_protection_enabled")
347
460
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
348
461
 
462
+ @builtins.property
463
+ def multi_region_properties(
464
+ self,
465
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.MultiRegionPropertiesProperty]]:
466
+ '''Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.
467
+
468
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html#cfn-dsql-cluster-multiregionproperties
469
+ '''
470
+ result = self._values.get("multi_region_properties")
471
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.MultiRegionPropertiesProperty]], result)
472
+
349
473
  @builtins.property
350
474
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
351
475
  '''A map of key and value pairs this cluster is tagged with.
@@ -379,6 +503,7 @@ def _typecheckingstub__b82b76673b1942e60f823768c857e13a61b0491cdd1ca21c1f2a574e9
379
503
  id: builtins.str,
380
504
  *,
381
505
  deletion_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
506
+ multi_region_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.MultiRegionPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
382
507
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
383
508
  ) -> None:
384
509
  """Type checking stubs"""
@@ -402,15 +527,30 @@ def _typecheckingstub__393f500a888707295be5db6ececab65a69f1c1889e02c7043d1d8ad0e
402
527
  """Type checking stubs"""
403
528
  pass
404
529
 
530
+ def _typecheckingstub__d1cd42de6387e3057eda85830c6674c4cac74a5be160e21869cc4c1b3274381c(
531
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.MultiRegionPropertiesProperty]],
532
+ ) -> None:
533
+ """Type checking stubs"""
534
+ pass
535
+
405
536
  def _typecheckingstub__c9eb2f89b2e4104fba43d8d14808715e2f3435951317df69258fecf9b606d598(
406
537
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
407
538
  ) -> None:
408
539
  """Type checking stubs"""
409
540
  pass
410
541
 
542
+ def _typecheckingstub__b9a11b947e8fa036630c80e949e1619ff609036ee5de58658c8157988d8c212f(
543
+ *,
544
+ clusters: typing.Optional[typing.Sequence[builtins.str]] = None,
545
+ witness_region: typing.Optional[builtins.str] = None,
546
+ ) -> None:
547
+ """Type checking stubs"""
548
+ pass
549
+
411
550
  def _typecheckingstub__c99b78beafe41f2e25cbcc0b8a8aff58ff66a77464bef06dbf9128ff75ebd08c(
412
551
  *,
413
552
  deletion_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
553
+ multi_region_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.MultiRegionPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
414
554
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
415
555
  ) -> None:
416
556
  """Type checking stubs"""