aws-cdk-lib 2.159.1__py3-none-any.whl → 2.161.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 (58) hide show
  1. aws_cdk/__init__.py +281 -33
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.159.1.jsii.tgz → aws-cdk-lib@2.161.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +13 -14
  5. aws_cdk/aws_autoscaling/__init__.py +2 -2
  6. aws_cdk/aws_b2bi/__init__.py +2283 -672
  7. aws_cdk/aws_batch/__init__.py +9 -5
  8. aws_cdk/aws_bedrock/__init__.py +52 -20
  9. aws_cdk/aws_cloudformation/__init__.py +9 -9
  10. aws_cdk/aws_cloudtrail/__init__.py +97 -183
  11. aws_cdk/aws_cloudwatch/__init__.py +38 -42
  12. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  13. aws_cdk/aws_cognito/__init__.py +18 -0
  14. aws_cdk/aws_datasync/__init__.py +1 -1
  15. aws_cdk/aws_dynamodb/__init__.py +4 -4
  16. aws_cdk/aws_ec2/__init__.py +138 -12
  17. aws_cdk/aws_ecs/__init__.py +517 -6
  18. aws_cdk/aws_eks/__init__.py +118 -2
  19. aws_cdk/aws_elasticloadbalancingv2/__init__.py +5 -3
  20. aws_cdk/aws_glue/__init__.py +386 -0
  21. aws_cdk/aws_iotfleetwise/__init__.py +49 -49
  22. aws_cdk/aws_iottwinmaker/__init__.py +4 -4
  23. aws_cdk/aws_iotwireless/__init__.py +2 -1
  24. aws_cdk/aws_kinesisfirehose/__init__.py +52 -76
  25. aws_cdk/aws_kms/__init__.py +4 -4
  26. aws_cdk/aws_lambda/__init__.py +385 -244
  27. aws_cdk/aws_logs/__init__.py +455 -24
  28. aws_cdk/aws_mediaconnect/__init__.py +6 -4
  29. aws_cdk/aws_medialive/__init__.py +36 -0
  30. aws_cdk/aws_organizations/__init__.py +4 -3
  31. aws_cdk/aws_pipes/__init__.py +2 -2
  32. aws_cdk/aws_quicksight/__init__.py +1086 -6
  33. aws_cdk/aws_rds/__init__.py +182 -3
  34. aws_cdk/aws_route53resolver/__init__.py +3 -17
  35. aws_cdk/aws_s3/__init__.py +24 -15
  36. aws_cdk/aws_s3_deployment/__init__.py +45 -0
  37. aws_cdk/aws_s3express/__init__.py +314 -4
  38. aws_cdk/aws_sagemaker/__init__.py +44 -4
  39. aws_cdk/aws_secretsmanager/__init__.py +14 -7
  40. aws_cdk/aws_securityhub/__init__.py +16 -14
  41. aws_cdk/aws_ses/__init__.py +52 -18
  42. aws_cdk/aws_sqs/__init__.py +16 -14
  43. aws_cdk/aws_ssm/__init__.py +6 -2
  44. aws_cdk/aws_stepfunctions/__init__.py +412 -32
  45. aws_cdk/aws_synthetics/__init__.py +46 -0
  46. aws_cdk/aws_waf/__init__.py +33 -22
  47. aws_cdk/aws_wafregional/__init__.py +36 -24
  48. aws_cdk/aws_workspacesweb/__init__.py +54 -3
  49. aws_cdk/cloud_assembly_schema/__init__.py +1304 -417
  50. aws_cdk/cloudformation_include/__init__.py +28 -0
  51. aws_cdk/cx_api/__init__.py +129 -0
  52. aws_cdk/pipelines/__init__.py +4 -4
  53. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/METADATA +4 -4
  54. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/RECORD +58 -58
  55. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/LICENSE +0 -0
  56. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/NOTICE +0 -0
  57. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/WHEEL +0 -0
  58. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/top_level.txt +0 -0
@@ -85,6 +85,28 @@ cluster = rds.DatabaseCluster(self, "Database",
85
85
 
86
86
  For more information about dual-stack mode, see [Working with a DB cluster in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html).
87
87
 
88
+ If you want to issue read/write transactions directly on an Aurora Replica, you can use [local write forwarding](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html).
89
+ Local write forwarding allows read replicas to accept write transactions and forward them to the writer DB instance to be committed.
90
+
91
+ To enable local write forwarding, set the `enableLocalWriteForwarding` property to `true`:
92
+
93
+ ```python
94
+ # vpc: ec2.IVpc
95
+
96
+
97
+ rds.DatabaseCluster(self, "DatabaseCluster",
98
+ engine=rds.DatabaseClusterEngine.aurora_mysql(version=rds.AuroraMysqlEngineVersion.VER_3_07_0),
99
+ writer=rds.ClusterInstance.serverless_v2("writerInstance"),
100
+ readers=[
101
+ rds.ClusterInstance.serverless_v2("readerInstance1")
102
+ ],
103
+ vpc=vpc,
104
+ enable_local_write_forwarding=True
105
+ )
106
+ ```
107
+
108
+ **Note**: Local write forwarding is only supported for Aurora MySQL 3.04 and higher.
109
+
88
110
  Use `DatabaseClusterFromSnapshot` to create a cluster from a snapshot:
89
111
 
90
112
  ```python
@@ -3341,6 +3363,12 @@ class AuroraPostgresEngineVersion(
3341
3363
  '''Version "12.19".'''
3342
3364
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_12_19"))
3343
3365
 
3366
+ @jsii.python.classproperty
3367
+ @jsii.member(jsii_name="VER_12_20")
3368
+ def VER_12_20(cls) -> "AuroraPostgresEngineVersion":
3369
+ '''Version "12.20".'''
3370
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_12_20"))
3371
+
3344
3372
  @jsii.python.classproperty
3345
3373
  @jsii.member(jsii_name="VER_12_4")
3346
3374
  def VER_12_4(cls) -> "AuroraPostgresEngineVersion":
@@ -3427,6 +3455,12 @@ class AuroraPostgresEngineVersion(
3427
3455
  '''Version "13.15".'''
3428
3456
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_13_15"))
3429
3457
 
3458
+ @jsii.python.classproperty
3459
+ @jsii.member(jsii_name="VER_13_16")
3460
+ def VER_13_16(cls) -> "AuroraPostgresEngineVersion":
3461
+ '''Version "13.16".'''
3462
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_13_16"))
3463
+
3430
3464
  @jsii.python.classproperty
3431
3465
  @jsii.member(jsii_name="VER_13_3")
3432
3466
  def VER_13_3(cls) -> "AuroraPostgresEngineVersion":
@@ -3507,6 +3541,12 @@ class AuroraPostgresEngineVersion(
3507
3541
  '''Version "14.12".'''
3508
3542
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_14_12"))
3509
3543
 
3544
+ @jsii.python.classproperty
3545
+ @jsii.member(jsii_name="VER_14_13")
3546
+ def VER_14_13(cls) -> "AuroraPostgresEngineVersion":
3547
+ '''Version "14.13".'''
3548
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_14_13"))
3549
+
3510
3550
  @jsii.python.classproperty
3511
3551
  @jsii.member(jsii_name="VER_14_3")
3512
3552
  def VER_14_3(cls) -> "AuroraPostgresEngineVersion":
@@ -3585,6 +3625,12 @@ class AuroraPostgresEngineVersion(
3585
3625
  '''Version "15.7".'''
3586
3626
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_15_7"))
3587
3627
 
3628
+ @jsii.python.classproperty
3629
+ @jsii.member(jsii_name="VER_15_8")
3630
+ def VER_15_8(cls) -> "AuroraPostgresEngineVersion":
3631
+ '''Version "15.8".'''
3632
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_15_8"))
3633
+
3588
3634
  @jsii.python.classproperty
3589
3635
  @jsii.member(jsii_name="VER_16_0")
3590
3636
  def VER_16_0(cls) -> "AuroraPostgresEngineVersion":
@@ -3614,6 +3660,12 @@ class AuroraPostgresEngineVersion(
3614
3660
  '''Version "16.3".'''
3615
3661
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_16_3"))
3616
3662
 
3663
+ @jsii.python.classproperty
3664
+ @jsii.member(jsii_name="VER_16_4")
3665
+ def VER_16_4(cls) -> "AuroraPostgresEngineVersion":
3666
+ '''Version "16.4".'''
3667
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_16_4"))
3668
+
3617
3669
  @jsii.python.classproperty
3618
3670
  @jsii.member(jsii_name="VER_9_6_11")
3619
3671
  def VER_9_6_11(cls) -> "AuroraPostgresEngineVersion":
@@ -15948,7 +16000,7 @@ class CfnEventSubscriptionProps:
15948
16000
  )
15949
16001
 
15950
16002
 
15951
- @jsii.implements(_IInspectable_c2943556)
16003
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
15952
16004
  class CfnGlobalCluster(
15953
16005
  _CfnResource_9df397a6,
15954
16006
  metaclass=jsii.JSIIMeta,
@@ -15979,7 +16031,11 @@ class CfnGlobalCluster(
15979
16031
  engine_version="engineVersion",
15980
16032
  global_cluster_identifier="globalClusterIdentifier",
15981
16033
  source_db_cluster_identifier="sourceDbClusterIdentifier",
15982
- storage_encrypted=False
16034
+ storage_encrypted=False,
16035
+ tags=[CfnTag(
16036
+ key="key",
16037
+ value="value"
16038
+ )]
15983
16039
  )
15984
16040
  '''
15985
16041
 
@@ -15995,6 +16051,7 @@ class CfnGlobalCluster(
15995
16051
  global_cluster_identifier: typing.Optional[builtins.str] = None,
15996
16052
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
15997
16053
  storage_encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
16054
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
15998
16055
  ) -> None:
15999
16056
  '''
16000
16057
  :param scope: Scope in which this resource is defined.
@@ -16006,6 +16063,7 @@ class CfnGlobalCluster(
16006
16063
  :param global_cluster_identifier: The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.
16007
16064
  :param source_db_cluster_identifier: The Amazon Resource Name (ARN) to use as the primary cluster of the global database. If you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster: - ``DatabaseName`` - ``Engine`` - ``EngineVersion`` - ``StorageEncrypted``
16008
16065
  :param storage_encrypted: Specifies whether to enable storage encryption for the new global database cluster. Constraints: - Can't be specified if ``SourceDBClusterIdentifier`` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.
16066
+ :param tags: An array of key-value pairs to apply to this resource.
16009
16067
  '''
16010
16068
  if __debug__:
16011
16069
  type_hints = typing.get_type_hints(_typecheckingstub__1611fa62b935d4f304c9fd8befd7c639fa3cc4898c7c6d9f86feb2d669b72e80)
@@ -16019,6 +16077,7 @@ class CfnGlobalCluster(
16019
16077
  global_cluster_identifier=global_cluster_identifier,
16020
16078
  source_db_cluster_identifier=source_db_cluster_identifier,
16021
16079
  storage_encrypted=storage_encrypted,
16080
+ tags=tags,
16022
16081
  )
16023
16082
 
16024
16083
  jsii.create(self.__class__, self, [scope, id, props])
@@ -16053,6 +16112,12 @@ class CfnGlobalCluster(
16053
16112
  '''The CloudFormation resource type name for this resource class.'''
16054
16113
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
16055
16114
 
16115
+ @builtins.property
16116
+ @jsii.member(jsii_name="cdkTagManager")
16117
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
16118
+ '''Tag Manager which manages the tags for this resource.'''
16119
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
16120
+
16056
16121
  @builtins.property
16057
16122
  @jsii.member(jsii_name="cfnProperties")
16058
16123
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -16162,6 +16227,19 @@ class CfnGlobalCluster(
16162
16227
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
16163
16228
  jsii.set(self, "storageEncrypted", value) # pyright: ignore[reportArgumentType]
16164
16229
 
16230
+ @builtins.property
16231
+ @jsii.member(jsii_name="tags")
16232
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
16233
+ '''An array of key-value pairs to apply to this resource.'''
16234
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
16235
+
16236
+ @tags.setter
16237
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
16238
+ if __debug__:
16239
+ type_hints = typing.get_type_hints(_typecheckingstub__353dbc811b6418119794dea977794a47fb1500897063d3e8fdf280f56575e579)
16240
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
16241
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
16242
+
16165
16243
 
16166
16244
  @jsii.data_type(
16167
16245
  jsii_type="aws-cdk-lib.aws_rds.CfnGlobalClusterProps",
@@ -16174,6 +16252,7 @@ class CfnGlobalCluster(
16174
16252
  "global_cluster_identifier": "globalClusterIdentifier",
16175
16253
  "source_db_cluster_identifier": "sourceDbClusterIdentifier",
16176
16254
  "storage_encrypted": "storageEncrypted",
16255
+ "tags": "tags",
16177
16256
  },
16178
16257
  )
16179
16258
  class CfnGlobalClusterProps:
@@ -16187,6 +16266,7 @@ class CfnGlobalClusterProps:
16187
16266
  global_cluster_identifier: typing.Optional[builtins.str] = None,
16188
16267
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
16189
16268
  storage_encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
16269
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
16190
16270
  ) -> None:
16191
16271
  '''Properties for defining a ``CfnGlobalCluster``.
16192
16272
 
@@ -16197,6 +16277,7 @@ class CfnGlobalClusterProps:
16197
16277
  :param global_cluster_identifier: The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.
16198
16278
  :param source_db_cluster_identifier: The Amazon Resource Name (ARN) to use as the primary cluster of the global database. If you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster: - ``DatabaseName`` - ``Engine`` - ``EngineVersion`` - ``StorageEncrypted``
16199
16279
  :param storage_encrypted: Specifies whether to enable storage encryption for the new global database cluster. Constraints: - Can't be specified if ``SourceDBClusterIdentifier`` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.
16280
+ :param tags: An array of key-value pairs to apply to this resource.
16200
16281
 
16201
16282
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html
16202
16283
  :exampleMetadata: fixture=_generated
@@ -16214,7 +16295,11 @@ class CfnGlobalClusterProps:
16214
16295
  engine_version="engineVersion",
16215
16296
  global_cluster_identifier="globalClusterIdentifier",
16216
16297
  source_db_cluster_identifier="sourceDbClusterIdentifier",
16217
- storage_encrypted=False
16298
+ storage_encrypted=False,
16299
+ tags=[CfnTag(
16300
+ key="key",
16301
+ value="value"
16302
+ )]
16218
16303
  )
16219
16304
  '''
16220
16305
  if __debug__:
@@ -16226,6 +16311,7 @@ class CfnGlobalClusterProps:
16226
16311
  check_type(argname="argument global_cluster_identifier", value=global_cluster_identifier, expected_type=type_hints["global_cluster_identifier"])
16227
16312
  check_type(argname="argument source_db_cluster_identifier", value=source_db_cluster_identifier, expected_type=type_hints["source_db_cluster_identifier"])
16228
16313
  check_type(argname="argument storage_encrypted", value=storage_encrypted, expected_type=type_hints["storage_encrypted"])
16314
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
16229
16315
  self._values: typing.Dict[builtins.str, typing.Any] = {}
16230
16316
  if deletion_protection is not None:
16231
16317
  self._values["deletion_protection"] = deletion_protection
@@ -16241,6 +16327,8 @@ class CfnGlobalClusterProps:
16241
16327
  self._values["source_db_cluster_identifier"] = source_db_cluster_identifier
16242
16328
  if storage_encrypted is not None:
16243
16329
  self._values["storage_encrypted"] = storage_encrypted
16330
+ if tags is not None:
16331
+ self._values["tags"] = tags
16244
16332
 
16245
16333
  @builtins.property
16246
16334
  def deletion_protection(
@@ -16346,6 +16434,15 @@ class CfnGlobalClusterProps:
16346
16434
  result = self._values.get("storage_encrypted")
16347
16435
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
16348
16436
 
16437
+ @builtins.property
16438
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
16439
+ '''An array of key-value pairs to apply to this resource.
16440
+
16441
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-tags
16442
+ '''
16443
+ result = self._values.get("tags")
16444
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
16445
+
16349
16446
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
16350
16447
  return isinstance(rhs, self.__class__) and rhs._values == self._values
16351
16448
 
@@ -19680,6 +19777,7 @@ class DatabaseClusterEngine(
19680
19777
  "domain": "domain",
19681
19778
  "domain_role": "domainRole",
19682
19779
  "enable_data_api": "enableDataApi",
19780
+ "enable_local_write_forwarding": "enableLocalWriteForwarding",
19683
19781
  "iam_authentication": "iamAuthentication",
19684
19782
  "instance_identifier_base": "instanceIdentifierBase",
19685
19783
  "instance_props": "instanceProps",
@@ -19730,6 +19828,7 @@ class DatabaseClusterFromSnapshotProps:
19730
19828
  domain: typing.Optional[builtins.str] = None,
19731
19829
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
19732
19830
  enable_data_api: typing.Optional[builtins.bool] = None,
19831
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
19733
19832
  iam_authentication: typing.Optional[builtins.bool] = None,
19734
19833
  instance_identifier_base: typing.Optional[builtins.str] = None,
19735
19834
  instance_props: typing.Optional[typing.Union["InstanceProps", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -19777,6 +19876,7 @@ class DatabaseClusterFromSnapshotProps:
19777
19876
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
19778
19877
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
19779
19878
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
19879
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
19780
19880
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
19781
19881
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
19782
19882
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -19843,6 +19943,7 @@ class DatabaseClusterFromSnapshotProps:
19843
19943
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
19844
19944
  check_type(argname="argument domain_role", value=domain_role, expected_type=type_hints["domain_role"])
19845
19945
  check_type(argname="argument enable_data_api", value=enable_data_api, expected_type=type_hints["enable_data_api"])
19946
+ check_type(argname="argument enable_local_write_forwarding", value=enable_local_write_forwarding, expected_type=type_hints["enable_local_write_forwarding"])
19846
19947
  check_type(argname="argument iam_authentication", value=iam_authentication, expected_type=type_hints["iam_authentication"])
19847
19948
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
19848
19949
  check_type(argname="argument instance_props", value=instance_props, expected_type=type_hints["instance_props"])
@@ -19902,6 +20003,8 @@ class DatabaseClusterFromSnapshotProps:
19902
20003
  self._values["domain_role"] = domain_role
19903
20004
  if enable_data_api is not None:
19904
20005
  self._values["enable_data_api"] = enable_data_api
20006
+ if enable_local_write_forwarding is not None:
20007
+ self._values["enable_local_write_forwarding"] = enable_local_write_forwarding
19905
20008
  if iam_authentication is not None:
19906
20009
  self._values["iam_authentication"] = iam_authentication
19907
20010
  if instance_identifier_base is not None:
@@ -20132,6 +20235,19 @@ class DatabaseClusterFromSnapshotProps:
20132
20235
  result = self._values.get("enable_data_api")
20133
20236
  return typing.cast(typing.Optional[builtins.bool], result)
20134
20237
 
20238
+ @builtins.property
20239
+ def enable_local_write_forwarding(self) -> typing.Optional[builtins.bool]:
20240
+ '''Whether read replicas can forward write operations to the writer DB instance in the DB cluster.
20241
+
20242
+ This setting can only be enabled for Aurora MySQL 3.04 and higher clusters.
20243
+
20244
+ :default: false
20245
+
20246
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html
20247
+ '''
20248
+ result = self._values.get("enable_local_write_forwarding")
20249
+ return typing.cast(typing.Optional[builtins.bool], result)
20250
+
20135
20251
  @builtins.property
20136
20252
  def iam_authentication(self) -> typing.Optional[builtins.bool]:
20137
20253
  '''Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
@@ -20491,6 +20607,7 @@ class DatabaseClusterFromSnapshotProps:
20491
20607
  "domain": "domain",
20492
20608
  "domain_role": "domainRole",
20493
20609
  "enable_data_api": "enableDataApi",
20610
+ "enable_local_write_forwarding": "enableLocalWriteForwarding",
20494
20611
  "iam_authentication": "iamAuthentication",
20495
20612
  "instance_identifier_base": "instanceIdentifierBase",
20496
20613
  "instance_props": "instanceProps",
@@ -20539,6 +20656,7 @@ class DatabaseClusterProps:
20539
20656
  domain: typing.Optional[builtins.str] = None,
20540
20657
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
20541
20658
  enable_data_api: typing.Optional[builtins.bool] = None,
20659
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
20542
20660
  iam_authentication: typing.Optional[builtins.bool] = None,
20543
20661
  instance_identifier_base: typing.Optional[builtins.str] = None,
20544
20662
  instance_props: typing.Optional[typing.Union["InstanceProps", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -20584,6 +20702,7 @@ class DatabaseClusterProps:
20584
20702
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
20585
20703
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
20586
20704
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
20705
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
20587
20706
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
20588
20707
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
20589
20708
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -20657,6 +20776,7 @@ class DatabaseClusterProps:
20657
20776
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
20658
20777
  check_type(argname="argument domain_role", value=domain_role, expected_type=type_hints["domain_role"])
20659
20778
  check_type(argname="argument enable_data_api", value=enable_data_api, expected_type=type_hints["enable_data_api"])
20779
+ check_type(argname="argument enable_local_write_forwarding", value=enable_local_write_forwarding, expected_type=type_hints["enable_local_write_forwarding"])
20660
20780
  check_type(argname="argument iam_authentication", value=iam_authentication, expected_type=type_hints["iam_authentication"])
20661
20781
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
20662
20782
  check_type(argname="argument instance_props", value=instance_props, expected_type=type_hints["instance_props"])
@@ -20714,6 +20834,8 @@ class DatabaseClusterProps:
20714
20834
  self._values["domain_role"] = domain_role
20715
20835
  if enable_data_api is not None:
20716
20836
  self._values["enable_data_api"] = enable_data_api
20837
+ if enable_local_write_forwarding is not None:
20838
+ self._values["enable_local_write_forwarding"] = enable_local_write_forwarding
20717
20839
  if iam_authentication is not None:
20718
20840
  self._values["iam_authentication"] = iam_authentication
20719
20841
  if instance_identifier_base is not None:
@@ -20919,6 +21041,19 @@ class DatabaseClusterProps:
20919
21041
  result = self._values.get("enable_data_api")
20920
21042
  return typing.cast(typing.Optional[builtins.bool], result)
20921
21043
 
21044
+ @builtins.property
21045
+ def enable_local_write_forwarding(self) -> typing.Optional[builtins.bool]:
21046
+ '''Whether read replicas can forward write operations to the writer DB instance in the DB cluster.
21047
+
21048
+ This setting can only be enabled for Aurora MySQL 3.04 and higher clusters.
21049
+
21050
+ :default: false
21051
+
21052
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html
21053
+ '''
21054
+ result = self._values.get("enable_local_write_forwarding")
21055
+ return typing.cast(typing.Optional[builtins.bool], result)
21056
+
20922
21057
  @builtins.property
20923
21058
  def iam_authentication(self) -> typing.Optional[builtins.bool]:
20924
21059
  '''Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
@@ -37520,6 +37655,12 @@ class SqlServerEngineVersion(
37520
37655
  '''Version "13.00.6441.1.v1".'''
37521
37656
  return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_13_00_6441_1_V1"))
37522
37657
 
37658
+ @jsii.python.classproperty
37659
+ @jsii.member(jsii_name="VER_13_00_6445_1_V1")
37660
+ def VER_13_00_6445_1_V1(cls) -> "SqlServerEngineVersion":
37661
+ '''Version "13.00.6445.1.v1".'''
37662
+ return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_13_00_6445_1_V1"))
37663
+
37523
37664
  @jsii.python.classproperty
37524
37665
  @jsii.member(jsii_name="VER_14")
37525
37666
  def VER_14(cls) -> "SqlServerEngineVersion":
@@ -37652,6 +37793,12 @@ class SqlServerEngineVersion(
37652
37793
  '''Version "14.00.3471.2.v1 ".'''
37653
37794
  return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_14_00_3471_2_V1"))
37654
37795
 
37796
+ @jsii.python.classproperty
37797
+ @jsii.member(jsii_name="VER_14_00_3475_1_V1")
37798
+ def VER_14_00_3475_1_V1(cls) -> "SqlServerEngineVersion":
37799
+ '''Version "14.00.3475.1.v1 ".'''
37800
+ return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_14_00_3475_1_V1"))
37801
+
37655
37802
  @jsii.python.classproperty
37656
37803
  @jsii.member(jsii_name="VER_15")
37657
37804
  def VER_15(cls) -> "SqlServerEngineVersion":
@@ -37748,6 +37895,12 @@ class SqlServerEngineVersion(
37748
37895
  '''Version "15.00.4385.2.v1".'''
37749
37896
  return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_15_00_4385_2_V1"))
37750
37897
 
37898
+ @jsii.python.classproperty
37899
+ @jsii.member(jsii_name="VER_15_00_4390_2_V1")
37900
+ def VER_15_00_4390_2_V1(cls) -> "SqlServerEngineVersion":
37901
+ '''Version "15.00.4390.2.v1".'''
37902
+ return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_15_00_4390_2_V1"))
37903
+
37751
37904
  @jsii.python.classproperty
37752
37905
  @jsii.member(jsii_name="VER_16")
37753
37906
  def VER_16(cls) -> "SqlServerEngineVersion":
@@ -37802,6 +37955,12 @@ class SqlServerEngineVersion(
37802
37955
  '''Version "16.00.4135.4.v1".'''
37803
37956
  return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_16_00_4135_4_V1"))
37804
37957
 
37958
+ @jsii.python.classproperty
37959
+ @jsii.member(jsii_name="VER_16_00_4140_3_V1")
37960
+ def VER_16_00_4140_3_V1(cls) -> "SqlServerEngineVersion":
37961
+ '''Version "16.00.4140.3.v1".'''
37962
+ return typing.cast("SqlServerEngineVersion", jsii.sget(cls, "VER_16_00_4140_3_V1"))
37963
+
37805
37964
  @builtins.property
37806
37965
  @jsii.member(jsii_name="sqlServerFullVersion")
37807
37966
  def sql_server_full_version(self) -> builtins.str:
@@ -39446,6 +39605,7 @@ class DatabaseClusterFromSnapshot(
39446
39605
  domain: typing.Optional[builtins.str] = None,
39447
39606
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
39448
39607
  enable_data_api: typing.Optional[builtins.bool] = None,
39608
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
39449
39609
  iam_authentication: typing.Optional[builtins.bool] = None,
39450
39610
  instance_identifier_base: typing.Optional[builtins.str] = None,
39451
39611
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -39494,6 +39654,7 @@ class DatabaseClusterFromSnapshot(
39494
39654
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
39495
39655
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
39496
39656
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
39657
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
39497
39658
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
39498
39659
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
39499
39660
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -39544,6 +39705,7 @@ class DatabaseClusterFromSnapshot(
39544
39705
  domain=domain,
39545
39706
  domain_role=domain_role,
39546
39707
  enable_data_api=enable_data_api,
39708
+ enable_local_write_forwarding=enable_local_write_forwarding,
39547
39709
  iam_authentication=iam_authentication,
39548
39710
  instance_identifier_base=instance_identifier_base,
39549
39711
  instance_props=instance_props,
@@ -43066,6 +43228,8 @@ class DatabaseInstanceReadReplica(
43066
43228
  '''The AWS Region-unique, immutable identifier for the DB instance.
43067
43229
 
43068
43230
  This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.
43231
+
43232
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values
43069
43233
  '''
43070
43234
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "instanceResourceId"))
43071
43235
 
@@ -43443,6 +43607,7 @@ class DatabaseCluster(
43443
43607
  domain: typing.Optional[builtins.str] = None,
43444
43608
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
43445
43609
  enable_data_api: typing.Optional[builtins.bool] = None,
43610
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
43446
43611
  iam_authentication: typing.Optional[builtins.bool] = None,
43447
43612
  instance_identifier_base: typing.Optional[builtins.str] = None,
43448
43613
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -43489,6 +43654,7 @@ class DatabaseCluster(
43489
43654
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
43490
43655
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
43491
43656
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
43657
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
43492
43658
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
43493
43659
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
43494
43660
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -43537,6 +43703,7 @@ class DatabaseCluster(
43537
43703
  domain=domain,
43538
43704
  domain_role=domain_role,
43539
43705
  enable_data_api=enable_data_api,
43706
+ enable_local_write_forwarding=enable_local_write_forwarding,
43540
43707
  iam_authentication=iam_authentication,
43541
43708
  instance_identifier_base=instance_identifier_base,
43542
43709
  instance_props=instance_props,
@@ -46593,6 +46760,7 @@ def _typecheckingstub__1611fa62b935d4f304c9fd8befd7c639fa3cc4898c7c6d9f86feb2d66
46593
46760
  global_cluster_identifier: typing.Optional[builtins.str] = None,
46594
46761
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
46595
46762
  storage_encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
46763
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
46596
46764
  ) -> None:
46597
46765
  """Type checking stubs"""
46598
46766
  pass
@@ -46651,6 +46819,12 @@ def _typecheckingstub__f760cdb237d4844bc219ed58856db0d37bc81d9e590f5413f4b7b4f0c
46651
46819
  """Type checking stubs"""
46652
46820
  pass
46653
46821
 
46822
+ def _typecheckingstub__353dbc811b6418119794dea977794a47fb1500897063d3e8fdf280f56575e579(
46823
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
46824
+ ) -> None:
46825
+ """Type checking stubs"""
46826
+ pass
46827
+
46654
46828
  def _typecheckingstub__ef2e57f0cb9427badb90bc7e1248f0f26bc8de21a104bb924da9733667030430(
46655
46829
  *,
46656
46830
  deletion_protection: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -46660,6 +46834,7 @@ def _typecheckingstub__ef2e57f0cb9427badb90bc7e1248f0f26bc8de21a104bb924da973366
46660
46834
  global_cluster_identifier: typing.Optional[builtins.str] = None,
46661
46835
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
46662
46836
  storage_encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
46837
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
46663
46838
  ) -> None:
46664
46839
  """Type checking stubs"""
46665
46840
  pass
@@ -47039,6 +47214,7 @@ def _typecheckingstub__1e44b5aef872ca17869a17181382f06cd0166bdbe07e2c33701d3bf1e
47039
47214
  domain: typing.Optional[builtins.str] = None,
47040
47215
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
47041
47216
  enable_data_api: typing.Optional[builtins.bool] = None,
47217
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
47042
47218
  iam_authentication: typing.Optional[builtins.bool] = None,
47043
47219
  instance_identifier_base: typing.Optional[builtins.str] = None,
47044
47220
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -47088,6 +47264,7 @@ def _typecheckingstub__a32e21c90ab65d3cfdb3b7ef2a0d741ba1528ec8824cd1817d1e485b4
47088
47264
  domain: typing.Optional[builtins.str] = None,
47089
47265
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
47090
47266
  enable_data_api: typing.Optional[builtins.bool] = None,
47267
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
47091
47268
  iam_authentication: typing.Optional[builtins.bool] = None,
47092
47269
  instance_identifier_base: typing.Optional[builtins.str] = None,
47093
47270
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -48289,6 +48466,7 @@ def _typecheckingstub__d1a2e259091e12a41b0f5818df495769518e049ebcc89ed340ffc7ba4
48289
48466
  domain: typing.Optional[builtins.str] = None,
48290
48467
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
48291
48468
  enable_data_api: typing.Optional[builtins.bool] = None,
48469
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
48292
48470
  iam_authentication: typing.Optional[builtins.bool] = None,
48293
48471
  instance_identifier_base: typing.Optional[builtins.str] = None,
48294
48472
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -48771,6 +48949,7 @@ def _typecheckingstub__c6184cbbefaa372690b9776dafecbf5857cf9bfbab91d1666aad22c56
48771
48949
  domain: typing.Optional[builtins.str] = None,
48772
48950
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
48773
48951
  enable_data_api: typing.Optional[builtins.bool] = None,
48952
+ enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
48774
48953
  iam_authentication: typing.Optional[builtins.bool] = None,
48775
48954
  instance_identifier_base: typing.Optional[builtins.str] = None,
48776
48955
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3650,7 +3650,7 @@ class CfnResolverRule(
3650
3650
  :param ip: One IPv4 address that you want to forward DNS queries to.
3651
3651
  :param ipv6: One IPv6 address that you want to forward DNS queries to.
3652
3652
  :param port: The port at ``Ip`` that you want to forward DNS queries to.
3653
- :param protocol: The protocols for the Resolver endpoints. DoH-FIPS is applicable for inbound endpoints only. For an inbound endpoint you can apply the protocols as follows: - Do53 and DoH in combination. - Do53 and DoH-FIPS in combination. - Do53 alone. - DoH alone. - DoH-FIPS alone. - None, which is treated as Do53. For an outbound endpoint you can apply the protocols as follows: - Do53 and DoH in combination. - Do53 alone. - DoH alone. - None, which is treated as Do53.
3653
+ :param protocol: The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.
3654
3654
 
3655
3655
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html
3656
3656
  :exampleMetadata: fixture=_generated
@@ -3713,23 +3713,9 @@ class CfnResolverRule(
3713
3713
 
3714
3714
  @builtins.property
3715
3715
  def protocol(self) -> typing.Optional[builtins.str]:
3716
- '''The protocols for the Resolver endpoints. DoH-FIPS is applicable for inbound endpoints only.
3716
+ '''The protocols for the target address.
3717
3717
 
3718
- For an inbound endpoint you can apply the protocols as follows:
3719
-
3720
- - Do53 and DoH in combination.
3721
- - Do53 and DoH-FIPS in combination.
3722
- - Do53 alone.
3723
- - DoH alone.
3724
- - DoH-FIPS alone.
3725
- - None, which is treated as Do53.
3726
-
3727
- For an outbound endpoint you can apply the protocols as follows:
3728
-
3729
- - Do53 and DoH in combination.
3730
- - Do53 alone.
3731
- - DoH alone.
3732
- - None, which is treated as Do53.
3718
+ The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.
3733
3719
 
3734
3720
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-protocol
3735
3721
  '''