aws-cdk-lib 2.90.0__py3-none-any.whl → 2.92.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 (55) hide show
  1. aws_cdk/__init__.py +22 -4
  2. aws_cdk/_jsii/__init__.py +2 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.90.0.jsii.tgz → aws-cdk-lib@2.92.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appstream/__init__.py +3 -3
  5. aws_cdk/aws_batch/__init__.py +39 -18
  6. aws_cdk/aws_billingconductor/__init__.py +44 -13
  7. aws_cdk/aws_cleanrooms/__init__.py +2 -4
  8. aws_cdk/aws_cloudtrail/__init__.py +35 -10
  9. aws_cdk/aws_cloudwatch/__init__.py +3 -3
  10. aws_cdk/aws_codebuild/__init__.py +7 -7
  11. aws_cdk/aws_cognito/__init__.py +8 -8
  12. aws_cdk/aws_config/__init__.py +220 -0
  13. aws_cdk/aws_datasync/__init__.py +22 -35
  14. aws_cdk/aws_dms/__init__.py +909 -4
  15. aws_cdk/aws_dynamodb/__init__.py +0 -1
  16. aws_cdk/aws_ec2/__init__.py +59 -21
  17. aws_cdk/aws_ecs/__init__.py +45 -21
  18. aws_cdk/aws_evidently/__init__.py +3 -3
  19. aws_cdk/aws_fsx/__init__.py +6 -5
  20. aws_cdk/aws_glue/__init__.py +438 -10
  21. aws_cdk/aws_guardduty/__init__.py +60 -17
  22. aws_cdk/aws_iam/__init__.py +8 -9
  23. aws_cdk/aws_iot/__init__.py +5 -1
  24. aws_cdk/aws_kms/__init__.py +95 -47
  25. aws_cdk/aws_lambda/__init__.py +4 -2
  26. aws_cdk/aws_lambda_nodejs/__init__.py +3 -3
  27. aws_cdk/aws_mediatailor/__init__.py +2902 -892
  28. aws_cdk/aws_mwaa/__init__.py +13 -8
  29. aws_cdk/aws_neptune/__init__.py +50 -2
  30. aws_cdk/aws_omics/__init__.py +80 -0
  31. aws_cdk/aws_opensearchserverless/__init__.py +3 -3
  32. aws_cdk/aws_opensearchservice/__init__.py +247 -14
  33. aws_cdk/aws_organizations/__init__.py +17 -17
  34. aws_cdk/aws_personalize/__init__.py +41 -25
  35. aws_cdk/aws_rds/__init__.py +24 -10
  36. aws_cdk/aws_resiliencehub/__init__.py +22 -22
  37. aws_cdk/aws_rolesanywhere/__init__.py +58 -74
  38. aws_cdk/aws_route53/__init__.py +3 -1
  39. aws_cdk/aws_s3/__init__.py +17 -7
  40. aws_cdk/aws_sagemaker/__init__.py +396 -5
  41. aws_cdk/aws_sns/__init__.py +8 -8
  42. aws_cdk/aws_sqs/__init__.py +231 -4
  43. aws_cdk/aws_ssm/__init__.py +6 -28
  44. aws_cdk/aws_stepfunctions/__init__.py +7 -7
  45. aws_cdk/aws_timestream/__init__.py +243 -0
  46. aws_cdk/aws_transfer/__init__.py +250 -52
  47. aws_cdk/aws_vpclattice/__init__.py +10 -6
  48. aws_cdk/aws_wafv2/__init__.py +7517 -5036
  49. aws_cdk/custom_resources/__init__.py +18 -30
  50. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/METADATA +8 -8
  51. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/RECORD +55 -55
  52. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/WHEEL +1 -1
  53. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/LICENSE +0 -0
  54. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/NOTICE +0 -0
  55. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/top_level.txt +0 -0
@@ -4217,7 +4217,7 @@ class CfnEndpoint(
4217
4217
  :param heartbeat_enable: The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps ``restart_lsn`` moving and prevents storage full scenarios.
4218
4218
  :param heartbeat_frequency: Sets the WAL heartbeat frequency (in minutes).
4219
4219
  :param heartbeat_schema: Sets the schema in which the heartbeat artifacts are created.
4220
- :param map_boolean_as_boolean:
4220
+ :param map_boolean_as_boolean: When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as ``varchar(5)`` . You must set this setting on both the source and target endpoints for it to take effect.
4221
4221
  :param max_file_size: Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. Example: ``maxFileSize=512``
4222
4222
  :param plugin_name: Specifies the plugin to use to create a replication slot.
4223
4223
  :param secrets_manager_access_role_arn: The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in ``SecretsManagerSecret`` . The role must allow the ``iam:PassRole`` action. ``SecretsManagerSecret`` has the value of the AWS Secrets Manager secret that allows access to the PostgreSQL endpoint. .. epigraph:: You can specify one of two sets of values for these permissions. You can specify the values for this setting and ``SecretsManagerSecretId`` . Or you can specify clear-text values for ``UserName`` , ``Password`` , ``ServerName`` , and ``Port`` . You can't specify both. For more information on creating this ``SecretsManagerSecret`` , the corresponding ``SecretsManagerAccessRoleArn`` , and the ``SecretsManagerSecretId`` that is required to access it, see `Using secrets to access AWS Database Migration Service resources <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager>`_ in the *AWS Database Migration Service User Guide* .
@@ -4392,7 +4392,10 @@ class CfnEndpoint(
4392
4392
  def map_boolean_as_boolean(
4393
4393
  self,
4394
4394
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4395
- '''
4395
+ '''When true, lets PostgreSQL migrate the boolean type as boolean.
4396
+
4397
+ By default, PostgreSQL migrates booleans as ``varchar(5)`` . You must set this setting on both the source and target endpoints for it to take effect.
4398
+
4396
4399
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html#cfn-dms-endpoint-postgresqlsettings-mapbooleanasboolean
4397
4400
  '''
4398
4401
  result = self._values.get("map_boolean_as_boolean")
@@ -4708,7 +4711,7 @@ class CfnEndpoint(
4708
4711
  :param explicit_ids: This setting is only valid for a full-load migration task. Set ``ExplicitIds`` to ``true`` to have tables with ``IDENTITY`` columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is ``false`` .
4709
4712
  :param file_transfer_upload_streams: The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10. The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more information, see `Multipart upload overview <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html>`_ . ``FileTransferUploadStreams`` accepts a value from 1 through 64. It defaults to 10.
4710
4713
  :param load_timeout: The amount of time to wait (in milliseconds) before timing out of operations performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.
4711
- :param map_boolean_as_boolean:
4714
+ :param map_boolean_as_boolean: When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as ``varchar(1)`` . You must set this setting on both the source and target endpoints for it to take effect.
4712
4715
  :param max_file_size: The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).
4713
4716
  :param remove_quotes: A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose ``true`` to remove quotation marks. The default is ``false`` .
4714
4717
  :param replace_chars: A value that specifies to replaces the invalid characters specified in ``ReplaceInvalidChars`` , substituting the specified characters instead. The default is ``"?"`` .
@@ -5008,7 +5011,10 @@ class CfnEndpoint(
5008
5011
  def map_boolean_as_boolean(
5009
5012
  self,
5010
5013
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5011
- '''
5014
+ '''When true, lets Redshift migrate the boolean type as boolean.
5015
+
5016
+ By default, Redshift migrates booleans as ``varchar(1)`` . You must set this setting on both the source and target endpoints for it to take effect.
5017
+
5012
5018
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-mapbooleanasboolean
5013
5019
  '''
5014
5020
  result = self._values.get("map_boolean_as_boolean")
@@ -7352,6 +7358,774 @@ class CfnEventSubscriptionProps:
7352
7358
  )
7353
7359
 
7354
7360
 
7361
+ @jsii.implements(_IInspectable_c2943556)
7362
+ class CfnReplicationConfig(
7363
+ _CfnResource_9df397a6,
7364
+ metaclass=jsii.JSIIMeta,
7365
+ jsii_type="aws-cdk-lib.aws_dms.CfnReplicationConfig",
7366
+ ):
7367
+ '''A replication configuration that you later provide to configure and start a AWS DMS Serverless replication.
7368
+
7369
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html
7370
+ :exampleMetadata: fixture=_generated
7371
+
7372
+ Example::
7373
+
7374
+ # The code below shows an example of how to instantiate this type.
7375
+ # The values are placeholders you should change.
7376
+ from aws_cdk import aws_dms as dms
7377
+
7378
+ # replication_settings: Any
7379
+ # supplemental_settings: Any
7380
+ # table_mappings: Any
7381
+
7382
+ cfn_replication_config = dms.CfnReplicationConfig(self, "MyCfnReplicationConfig",
7383
+ compute_config=dms.CfnReplicationConfig.ComputeConfigProperty(
7384
+ max_capacity_units=123,
7385
+
7386
+ # the properties below are optional
7387
+ availability_zone="availabilityZone",
7388
+ dns_name_servers="dnsNameServers",
7389
+ kms_key_id="kmsKeyId",
7390
+ min_capacity_units=123,
7391
+ multi_az=False,
7392
+ preferred_maintenance_window="preferredMaintenanceWindow",
7393
+ replication_subnet_group_id="replicationSubnetGroupId",
7394
+ vpc_security_group_ids=["vpcSecurityGroupIds"]
7395
+ ),
7396
+ replication_config_arn="replicationConfigArn",
7397
+ replication_config_identifier="replicationConfigIdentifier",
7398
+ replication_settings=replication_settings,
7399
+ replication_type="replicationType",
7400
+ resource_identifier="resourceIdentifier",
7401
+ source_endpoint_arn="sourceEndpointArn",
7402
+ supplemental_settings=supplemental_settings,
7403
+ table_mappings=table_mappings,
7404
+ tags=[CfnTag(
7405
+ key="key",
7406
+ value="value"
7407
+ )],
7408
+ target_endpoint_arn="targetEndpointArn"
7409
+ )
7410
+ '''
7411
+
7412
+ def __init__(
7413
+ self,
7414
+ scope: _constructs_77d1e7e8.Construct,
7415
+ id: builtins.str,
7416
+ *,
7417
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReplicationConfig.ComputeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7418
+ replication_config_arn: typing.Optional[builtins.str] = None,
7419
+ replication_config_identifier: typing.Optional[builtins.str] = None,
7420
+ replication_settings: typing.Any = None,
7421
+ replication_type: typing.Optional[builtins.str] = None,
7422
+ resource_identifier: typing.Optional[builtins.str] = None,
7423
+ source_endpoint_arn: typing.Optional[builtins.str] = None,
7424
+ supplemental_settings: typing.Any = None,
7425
+ table_mappings: typing.Any = None,
7426
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7427
+ target_endpoint_arn: typing.Optional[builtins.str] = None,
7428
+ ) -> None:
7429
+ '''
7430
+ :param scope: Scope in which this resource is defined.
7431
+ :param id: Construct identifier for this resource (unique in its scope).
7432
+ :param compute_config: Configuration parameters for provisioning an AWS DMS Serverless replication.
7433
+ :param replication_config_arn: The Amazon Resource Name (ARN) of this AWS DMS Serverless replication configuration.
7434
+ :param replication_config_identifier: A unique identifier that you want to use to create a ``ReplicationConfigArn`` that is returned as part of the output from this action. You can then pass this output ``ReplicationConfigArn`` as the value of the ``ReplicationConfigArn`` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.
7435
+ :param replication_settings: Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration. For example, see `Change processing tuning settings <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html>`_ .
7436
+ :param replication_type: The type of AWS DMS Serverless replication to provision using this replication configuration. Possible values: - ``"full-load"`` - ``"cdc"`` - ``"full-load-and-cdc"``
7437
+ :param resource_identifier: Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see `Fine-grained access control using resource names and tags <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess>`_ .
7438
+ :param source_endpoint_arn: The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.
7439
+ :param supplemental_settings: Optional JSON settings for specifying supplemental data. For more information, see `Specifying supplemental data for task settings <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html>`_ .
7440
+ :param table_mappings: JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration. For more information, see `Specifying table selection and transformations rules using JSON <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html>`_ .
7441
+ :param tags: One or more optional tags associated with resources used by the AWS DMS Serverless replication. For more information, see `Tagging resources in AWS Database Migration Service <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html>`_ .
7442
+ :param target_endpoint_arn: The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.
7443
+ '''
7444
+ if __debug__:
7445
+ type_hints = typing.get_type_hints(_typecheckingstub__94680f790d4726b7c801a80c1413457134b08ba7f03ece13365f54d8fea28dbb)
7446
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7447
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7448
+ props = CfnReplicationConfigProps(
7449
+ compute_config=compute_config,
7450
+ replication_config_arn=replication_config_arn,
7451
+ replication_config_identifier=replication_config_identifier,
7452
+ replication_settings=replication_settings,
7453
+ replication_type=replication_type,
7454
+ resource_identifier=resource_identifier,
7455
+ source_endpoint_arn=source_endpoint_arn,
7456
+ supplemental_settings=supplemental_settings,
7457
+ table_mappings=table_mappings,
7458
+ tags=tags,
7459
+ target_endpoint_arn=target_endpoint_arn,
7460
+ )
7461
+
7462
+ jsii.create(self.__class__, self, [scope, id, props])
7463
+
7464
+ @jsii.member(jsii_name="inspect")
7465
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
7466
+ '''Examines the CloudFormation resource and discloses attributes.
7467
+
7468
+ :param inspector: tree inspector to collect and process attributes.
7469
+ '''
7470
+ if __debug__:
7471
+ type_hints = typing.get_type_hints(_typecheckingstub__18c39ba6b69d789f0a54c566e579c12f70e70d71e39a03a41e5e74f96e5e064f)
7472
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
7473
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
7474
+
7475
+ @jsii.member(jsii_name="renderProperties")
7476
+ def _render_properties(
7477
+ self,
7478
+ props: typing.Mapping[builtins.str, typing.Any],
7479
+ ) -> typing.Mapping[builtins.str, typing.Any]:
7480
+ '''
7481
+ :param props: -
7482
+ '''
7483
+ if __debug__:
7484
+ type_hints = typing.get_type_hints(_typecheckingstub__60c2c81b84c37c69f1a05883a3f08b5bac388736e426b8395fe01e4f20bd30af)
7485
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
7486
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
7487
+
7488
+ @jsii.python.classproperty
7489
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
7490
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
7491
+ '''The CloudFormation resource type name for this resource class.'''
7492
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
7493
+
7494
+ @builtins.property
7495
+ @jsii.member(jsii_name="attrReplicationConfigArn")
7496
+ def attr_replication_config_arn(self) -> builtins.str:
7497
+ '''The Amazon Resource Name (ARN) of the Replication Config.
7498
+
7499
+ :cloudformationAttribute: ReplicationConfigArn
7500
+ '''
7501
+ return typing.cast(builtins.str, jsii.get(self, "attrReplicationConfigArn"))
7502
+
7503
+ @builtins.property
7504
+ @jsii.member(jsii_name="cfnProperties")
7505
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7506
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7507
+
7508
+ @builtins.property
7509
+ @jsii.member(jsii_name="computeConfig")
7510
+ def compute_config(
7511
+ self,
7512
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReplicationConfig.ComputeConfigProperty"]]:
7513
+ '''Configuration parameters for provisioning an AWS DMS Serverless replication.'''
7514
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReplicationConfig.ComputeConfigProperty"]], jsii.get(self, "computeConfig"))
7515
+
7516
+ @compute_config.setter
7517
+ def compute_config(
7518
+ self,
7519
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReplicationConfig.ComputeConfigProperty"]],
7520
+ ) -> None:
7521
+ if __debug__:
7522
+ type_hints = typing.get_type_hints(_typecheckingstub__32966575e9a17251f77f3c3fd9f0bb4f54a2ab6b20a6253bb2e3f97654887c8e)
7523
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7524
+ jsii.set(self, "computeConfig", value)
7525
+
7526
+ @builtins.property
7527
+ @jsii.member(jsii_name="replicationConfigArn")
7528
+ def replication_config_arn(self) -> typing.Optional[builtins.str]:
7529
+ '''The Amazon Resource Name (ARN) of this AWS DMS Serverless replication configuration.'''
7530
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "replicationConfigArn"))
7531
+
7532
+ @replication_config_arn.setter
7533
+ def replication_config_arn(self, value: typing.Optional[builtins.str]) -> None:
7534
+ if __debug__:
7535
+ type_hints = typing.get_type_hints(_typecheckingstub__cf6b3e41f9fd96a34e556ca24cc0cb760b1e1f325bbf222c125f7df74a2b0f2a)
7536
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7537
+ jsii.set(self, "replicationConfigArn", value)
7538
+
7539
+ @builtins.property
7540
+ @jsii.member(jsii_name="replicationConfigIdentifier")
7541
+ def replication_config_identifier(self) -> typing.Optional[builtins.str]:
7542
+ '''A unique identifier that you want to use to create a ``ReplicationConfigArn`` that is returned as part of the output from this action.'''
7543
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "replicationConfigIdentifier"))
7544
+
7545
+ @replication_config_identifier.setter
7546
+ def replication_config_identifier(
7547
+ self,
7548
+ value: typing.Optional[builtins.str],
7549
+ ) -> None:
7550
+ if __debug__:
7551
+ type_hints = typing.get_type_hints(_typecheckingstub__b0eda6e7fe61fa165d7afb96aba6536d12a18d3c374115a7c447ed9d37c61998)
7552
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7553
+ jsii.set(self, "replicationConfigIdentifier", value)
7554
+
7555
+ @builtins.property
7556
+ @jsii.member(jsii_name="replicationSettings")
7557
+ def replication_settings(self) -> typing.Any:
7558
+ '''Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration.'''
7559
+ return typing.cast(typing.Any, jsii.get(self, "replicationSettings"))
7560
+
7561
+ @replication_settings.setter
7562
+ def replication_settings(self, value: typing.Any) -> None:
7563
+ if __debug__:
7564
+ type_hints = typing.get_type_hints(_typecheckingstub__13c1acc7a82f208546609dcf4d8a9e2a00dabcf1c361d10d0f4f3604035d01cc)
7565
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7566
+ jsii.set(self, "replicationSettings", value)
7567
+
7568
+ @builtins.property
7569
+ @jsii.member(jsii_name="replicationType")
7570
+ def replication_type(self) -> typing.Optional[builtins.str]:
7571
+ '''The type of AWS DMS Serverless replication to provision using this replication configuration.'''
7572
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "replicationType"))
7573
+
7574
+ @replication_type.setter
7575
+ def replication_type(self, value: typing.Optional[builtins.str]) -> None:
7576
+ if __debug__:
7577
+ type_hints = typing.get_type_hints(_typecheckingstub__805ebea2610d6a01f26aed0eb893129ec908af9d73cbb47689f5d6c727f01381)
7578
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7579
+ jsii.set(self, "replicationType", value)
7580
+
7581
+ @builtins.property
7582
+ @jsii.member(jsii_name="resourceIdentifier")
7583
+ def resource_identifier(self) -> typing.Optional[builtins.str]:
7584
+ '''Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource.'''
7585
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "resourceIdentifier"))
7586
+
7587
+ @resource_identifier.setter
7588
+ def resource_identifier(self, value: typing.Optional[builtins.str]) -> None:
7589
+ if __debug__:
7590
+ type_hints = typing.get_type_hints(_typecheckingstub__9dfbba127aff370430ba7dccb2539bc163a4dc67c556711d3450abbd5c937247)
7591
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7592
+ jsii.set(self, "resourceIdentifier", value)
7593
+
7594
+ @builtins.property
7595
+ @jsii.member(jsii_name="sourceEndpointArn")
7596
+ def source_endpoint_arn(self) -> typing.Optional[builtins.str]:
7597
+ '''The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.'''
7598
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceEndpointArn"))
7599
+
7600
+ @source_endpoint_arn.setter
7601
+ def source_endpoint_arn(self, value: typing.Optional[builtins.str]) -> None:
7602
+ if __debug__:
7603
+ type_hints = typing.get_type_hints(_typecheckingstub__c60be257dd07e3947c2b6c272e0798fe76f69b66051d6c2dfca413c2d616b936)
7604
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7605
+ jsii.set(self, "sourceEndpointArn", value)
7606
+
7607
+ @builtins.property
7608
+ @jsii.member(jsii_name="supplementalSettings")
7609
+ def supplemental_settings(self) -> typing.Any:
7610
+ '''Optional JSON settings for specifying supplemental data.'''
7611
+ return typing.cast(typing.Any, jsii.get(self, "supplementalSettings"))
7612
+
7613
+ @supplemental_settings.setter
7614
+ def supplemental_settings(self, value: typing.Any) -> None:
7615
+ if __debug__:
7616
+ type_hints = typing.get_type_hints(_typecheckingstub__0bcc39fb53e8639c570621f12a090b2b213567d85d495108a6b12db7f7442ee8)
7617
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7618
+ jsii.set(self, "supplementalSettings", value)
7619
+
7620
+ @builtins.property
7621
+ @jsii.member(jsii_name="tableMappings")
7622
+ def table_mappings(self) -> typing.Any:
7623
+ '''JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration.'''
7624
+ return typing.cast(typing.Any, jsii.get(self, "tableMappings"))
7625
+
7626
+ @table_mappings.setter
7627
+ def table_mappings(self, value: typing.Any) -> None:
7628
+ if __debug__:
7629
+ type_hints = typing.get_type_hints(_typecheckingstub__727026dd4d118a926dedb1245c81eb2e5065bead645e182231e1258e77153d2b)
7630
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7631
+ jsii.set(self, "tableMappings", value)
7632
+
7633
+ @builtins.property
7634
+ @jsii.member(jsii_name="tags")
7635
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7636
+ '''One or more optional tags associated with resources used by the AWS DMS Serverless replication.'''
7637
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
7638
+
7639
+ @tags.setter
7640
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
7641
+ if __debug__:
7642
+ type_hints = typing.get_type_hints(_typecheckingstub__2f7a00e90f9a69724097ed67b1c9d994575c88df02b8ab67e96b098dd2bb1aea)
7643
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7644
+ jsii.set(self, "tags", value)
7645
+
7646
+ @builtins.property
7647
+ @jsii.member(jsii_name="targetEndpointArn")
7648
+ def target_endpoint_arn(self) -> typing.Optional[builtins.str]:
7649
+ '''The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.'''
7650
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "targetEndpointArn"))
7651
+
7652
+ @target_endpoint_arn.setter
7653
+ def target_endpoint_arn(self, value: typing.Optional[builtins.str]) -> None:
7654
+ if __debug__:
7655
+ type_hints = typing.get_type_hints(_typecheckingstub__4ca6e7b9ff71eb3a98317ab9f9de43b76c48b035eddf3add1e2ff840fa9af02b)
7656
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7657
+ jsii.set(self, "targetEndpointArn", value)
7658
+
7659
+ @jsii.data_type(
7660
+ jsii_type="aws-cdk-lib.aws_dms.CfnReplicationConfig.ComputeConfigProperty",
7661
+ jsii_struct_bases=[],
7662
+ name_mapping={
7663
+ "max_capacity_units": "maxCapacityUnits",
7664
+ "availability_zone": "availabilityZone",
7665
+ "dns_name_servers": "dnsNameServers",
7666
+ "kms_key_id": "kmsKeyId",
7667
+ "min_capacity_units": "minCapacityUnits",
7668
+ "multi_az": "multiAz",
7669
+ "preferred_maintenance_window": "preferredMaintenanceWindow",
7670
+ "replication_subnet_group_id": "replicationSubnetGroupId",
7671
+ "vpc_security_group_ids": "vpcSecurityGroupIds",
7672
+ },
7673
+ )
7674
+ class ComputeConfigProperty:
7675
+ def __init__(
7676
+ self,
7677
+ *,
7678
+ max_capacity_units: jsii.Number,
7679
+ availability_zone: typing.Optional[builtins.str] = None,
7680
+ dns_name_servers: typing.Optional[builtins.str] = None,
7681
+ kms_key_id: typing.Optional[builtins.str] = None,
7682
+ min_capacity_units: typing.Optional[jsii.Number] = None,
7683
+ multi_az: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7684
+ preferred_maintenance_window: typing.Optional[builtins.str] = None,
7685
+ replication_subnet_group_id: typing.Optional[builtins.str] = None,
7686
+ vpc_security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
7687
+ ) -> None:
7688
+ '''Configuration parameters for provisioning an AWS DMS Serverless replication.
7689
+
7690
+ :param max_capacity_units: Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The ``MaxCapacityUnits`` parameter is the only DCU parameter you are required to specify.
7691
+ :param availability_zone: The Availability Zone where the AWS DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, ``"us-west-2"`` . You can't set this parameter if the ``MultiAZ`` parameter is set to ``true`` .
7692
+ :param dns_name_servers: A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the AWS DMS Serverless replication. You can specify a comma-separated list of internet addresses for up to four DNS name servers. For example: ``"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"``
7693
+ :param kms_key_id: An AWS Key Management Service ( AWS KMS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication. If you don't specify a value for the ``KmsKeyId`` parameter, AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .
7694
+ :param min_capacity_units: Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. You don't have to specify a value for the ``MinCapacityUnits`` parameter. If you don't set this value, AWS DMS scans the current activity of available source tables to identify an optimum setting for this parameter. If there is no current source activity or AWS DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum DCU value allowed, 1.
7695
+ :param multi_az: Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to ``true`` .
7696
+ :param preferred_maintenance_window: The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC). The format is ``ddd:hh24:mi-ddd:hh24:mi`` . The default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include ``Mon`` , ``Tue`` , ``Wed`` , ``Thu`` , ``Fri`` , ``Sat`` , and ``Sun`` . Constraints include a minimum 30-minute window.
7697
+ :param replication_subnet_group_id: Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.
7698
+ :param vpc_security_group_ids: Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication. The VPC security group must work with the VPC containing the replication.
7699
+
7700
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html
7701
+ :exampleMetadata: fixture=_generated
7702
+
7703
+ Example::
7704
+
7705
+ # The code below shows an example of how to instantiate this type.
7706
+ # The values are placeholders you should change.
7707
+ from aws_cdk import aws_dms as dms
7708
+
7709
+ compute_config_property = dms.CfnReplicationConfig.ComputeConfigProperty(
7710
+ max_capacity_units=123,
7711
+
7712
+ # the properties below are optional
7713
+ availability_zone="availabilityZone",
7714
+ dns_name_servers="dnsNameServers",
7715
+ kms_key_id="kmsKeyId",
7716
+ min_capacity_units=123,
7717
+ multi_az=False,
7718
+ preferred_maintenance_window="preferredMaintenanceWindow",
7719
+ replication_subnet_group_id="replicationSubnetGroupId",
7720
+ vpc_security_group_ids=["vpcSecurityGroupIds"]
7721
+ )
7722
+ '''
7723
+ if __debug__:
7724
+ type_hints = typing.get_type_hints(_typecheckingstub__cccd397fe05dc0de656d261a2e429c3413c0e550cfcb56b8936f9090bd7184f2)
7725
+ check_type(argname="argument max_capacity_units", value=max_capacity_units, expected_type=type_hints["max_capacity_units"])
7726
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
7727
+ check_type(argname="argument dns_name_servers", value=dns_name_servers, expected_type=type_hints["dns_name_servers"])
7728
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
7729
+ check_type(argname="argument min_capacity_units", value=min_capacity_units, expected_type=type_hints["min_capacity_units"])
7730
+ check_type(argname="argument multi_az", value=multi_az, expected_type=type_hints["multi_az"])
7731
+ check_type(argname="argument preferred_maintenance_window", value=preferred_maintenance_window, expected_type=type_hints["preferred_maintenance_window"])
7732
+ check_type(argname="argument replication_subnet_group_id", value=replication_subnet_group_id, expected_type=type_hints["replication_subnet_group_id"])
7733
+ check_type(argname="argument vpc_security_group_ids", value=vpc_security_group_ids, expected_type=type_hints["vpc_security_group_ids"])
7734
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7735
+ "max_capacity_units": max_capacity_units,
7736
+ }
7737
+ if availability_zone is not None:
7738
+ self._values["availability_zone"] = availability_zone
7739
+ if dns_name_servers is not None:
7740
+ self._values["dns_name_servers"] = dns_name_servers
7741
+ if kms_key_id is not None:
7742
+ self._values["kms_key_id"] = kms_key_id
7743
+ if min_capacity_units is not None:
7744
+ self._values["min_capacity_units"] = min_capacity_units
7745
+ if multi_az is not None:
7746
+ self._values["multi_az"] = multi_az
7747
+ if preferred_maintenance_window is not None:
7748
+ self._values["preferred_maintenance_window"] = preferred_maintenance_window
7749
+ if replication_subnet_group_id is not None:
7750
+ self._values["replication_subnet_group_id"] = replication_subnet_group_id
7751
+ if vpc_security_group_ids is not None:
7752
+ self._values["vpc_security_group_ids"] = vpc_security_group_ids
7753
+
7754
+ @builtins.property
7755
+ def max_capacity_units(self) -> jsii.Number:
7756
+ '''Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned.
7757
+
7758
+ A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The ``MaxCapacityUnits`` parameter is the only DCU parameter you are required to specify.
7759
+
7760
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-maxcapacityunits
7761
+ '''
7762
+ result = self._values.get("max_capacity_units")
7763
+ assert result is not None, "Required property 'max_capacity_units' is missing"
7764
+ return typing.cast(jsii.Number, result)
7765
+
7766
+ @builtins.property
7767
+ def availability_zone(self) -> typing.Optional[builtins.str]:
7768
+ '''The Availability Zone where the AWS DMS Serverless replication using this configuration will run.
7769
+
7770
+ The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, ``"us-west-2"`` . You can't set this parameter if the ``MultiAZ`` parameter is set to ``true`` .
7771
+
7772
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-availabilityzone
7773
+ '''
7774
+ result = self._values.get("availability_zone")
7775
+ return typing.cast(typing.Optional[builtins.str], result)
7776
+
7777
+ @builtins.property
7778
+ def dns_name_servers(self) -> typing.Optional[builtins.str]:
7779
+ '''A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database.
7780
+
7781
+ This list overrides the default name servers supported by the AWS DMS Serverless replication. You can specify a comma-separated list of internet addresses for up to four DNS name servers. For example: ``"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"``
7782
+
7783
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-dnsnameservers
7784
+ '''
7785
+ result = self._values.get("dns_name_servers")
7786
+ return typing.cast(typing.Optional[builtins.str], result)
7787
+
7788
+ @builtins.property
7789
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
7790
+ '''An AWS Key Management Service ( AWS KMS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.
7791
+
7792
+ If you don't specify a value for the ``KmsKeyId`` parameter, AWS DMS uses your default encryption key.
7793
+
7794
+ AWS KMS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .
7795
+
7796
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-kmskeyid
7797
+ '''
7798
+ result = self._values.get("kms_key_id")
7799
+ return typing.cast(typing.Optional[builtins.str], result)
7800
+
7801
+ @builtins.property
7802
+ def min_capacity_units(self) -> typing.Optional[jsii.Number]:
7803
+ '''Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned.
7804
+
7805
+ A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. You don't have to specify a value for the ``MinCapacityUnits`` parameter. If you don't set this value, AWS DMS scans the current activity of available source tables to identify an optimum setting for this parameter. If there is no current source activity or AWS DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum DCU value allowed, 1.
7806
+
7807
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-mincapacityunits
7808
+ '''
7809
+ result = self._values.get("min_capacity_units")
7810
+ return typing.cast(typing.Optional[jsii.Number], result)
7811
+
7812
+ @builtins.property
7813
+ def multi_az(
7814
+ self,
7815
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7816
+ '''Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment.
7817
+
7818
+ You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to ``true`` .
7819
+
7820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-multiaz
7821
+ '''
7822
+ result = self._values.get("multi_az")
7823
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
7824
+
7825
+ @builtins.property
7826
+ def preferred_maintenance_window(self) -> typing.Optional[builtins.str]:
7827
+ '''The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC).
7828
+
7829
+ The format is ``ddd:hh24:mi-ddd:hh24:mi`` .
7830
+
7831
+ The default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include ``Mon`` , ``Tue`` , ``Wed`` , ``Thu`` , ``Fri`` , ``Sat`` , and ``Sun`` .
7832
+
7833
+ Constraints include a minimum 30-minute window.
7834
+
7835
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-preferredmaintenancewindow
7836
+ '''
7837
+ result = self._values.get("preferred_maintenance_window")
7838
+ return typing.cast(typing.Optional[builtins.str], result)
7839
+
7840
+ @builtins.property
7841
+ def replication_subnet_group_id(self) -> typing.Optional[builtins.str]:
7842
+ '''Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.
7843
+
7844
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-replicationsubnetgroupid
7845
+ '''
7846
+ result = self._values.get("replication_subnet_group_id")
7847
+ return typing.cast(typing.Optional[builtins.str], result)
7848
+
7849
+ @builtins.property
7850
+ def vpc_security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]:
7851
+ '''Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication.
7852
+
7853
+ The VPC security group must work with the VPC containing the replication.
7854
+
7855
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-vpcsecuritygroupids
7856
+ '''
7857
+ result = self._values.get("vpc_security_group_ids")
7858
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
7859
+
7860
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7861
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7862
+
7863
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7864
+ return not (rhs == self)
7865
+
7866
+ def __repr__(self) -> str:
7867
+ return "ComputeConfigProperty(%s)" % ", ".join(
7868
+ k + "=" + repr(v) for k, v in self._values.items()
7869
+ )
7870
+
7871
+
7872
+ @jsii.data_type(
7873
+ jsii_type="aws-cdk-lib.aws_dms.CfnReplicationConfigProps",
7874
+ jsii_struct_bases=[],
7875
+ name_mapping={
7876
+ "compute_config": "computeConfig",
7877
+ "replication_config_arn": "replicationConfigArn",
7878
+ "replication_config_identifier": "replicationConfigIdentifier",
7879
+ "replication_settings": "replicationSettings",
7880
+ "replication_type": "replicationType",
7881
+ "resource_identifier": "resourceIdentifier",
7882
+ "source_endpoint_arn": "sourceEndpointArn",
7883
+ "supplemental_settings": "supplementalSettings",
7884
+ "table_mappings": "tableMappings",
7885
+ "tags": "tags",
7886
+ "target_endpoint_arn": "targetEndpointArn",
7887
+ },
7888
+ )
7889
+ class CfnReplicationConfigProps:
7890
+ def __init__(
7891
+ self,
7892
+ *,
7893
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReplicationConfig.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7894
+ replication_config_arn: typing.Optional[builtins.str] = None,
7895
+ replication_config_identifier: typing.Optional[builtins.str] = None,
7896
+ replication_settings: typing.Any = None,
7897
+ replication_type: typing.Optional[builtins.str] = None,
7898
+ resource_identifier: typing.Optional[builtins.str] = None,
7899
+ source_endpoint_arn: typing.Optional[builtins.str] = None,
7900
+ supplemental_settings: typing.Any = None,
7901
+ table_mappings: typing.Any = None,
7902
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7903
+ target_endpoint_arn: typing.Optional[builtins.str] = None,
7904
+ ) -> None:
7905
+ '''Properties for defining a ``CfnReplicationConfig``.
7906
+
7907
+ :param compute_config: Configuration parameters for provisioning an AWS DMS Serverless replication.
7908
+ :param replication_config_arn: The Amazon Resource Name (ARN) of this AWS DMS Serverless replication configuration.
7909
+ :param replication_config_identifier: A unique identifier that you want to use to create a ``ReplicationConfigArn`` that is returned as part of the output from this action. You can then pass this output ``ReplicationConfigArn`` as the value of the ``ReplicationConfigArn`` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.
7910
+ :param replication_settings: Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration. For example, see `Change processing tuning settings <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html>`_ .
7911
+ :param replication_type: The type of AWS DMS Serverless replication to provision using this replication configuration. Possible values: - ``"full-load"`` - ``"cdc"`` - ``"full-load-and-cdc"``
7912
+ :param resource_identifier: Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see `Fine-grained access control using resource names and tags <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess>`_ .
7913
+ :param source_endpoint_arn: The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.
7914
+ :param supplemental_settings: Optional JSON settings for specifying supplemental data. For more information, see `Specifying supplemental data for task settings <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html>`_ .
7915
+ :param table_mappings: JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration. For more information, see `Specifying table selection and transformations rules using JSON <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html>`_ .
7916
+ :param tags: One or more optional tags associated with resources used by the AWS DMS Serverless replication. For more information, see `Tagging resources in AWS Database Migration Service <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html>`_ .
7917
+ :param target_endpoint_arn: The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.
7918
+
7919
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html
7920
+ :exampleMetadata: fixture=_generated
7921
+
7922
+ Example::
7923
+
7924
+ # The code below shows an example of how to instantiate this type.
7925
+ # The values are placeholders you should change.
7926
+ from aws_cdk import aws_dms as dms
7927
+
7928
+ # replication_settings: Any
7929
+ # supplemental_settings: Any
7930
+ # table_mappings: Any
7931
+
7932
+ cfn_replication_config_props = dms.CfnReplicationConfigProps(
7933
+ compute_config=dms.CfnReplicationConfig.ComputeConfigProperty(
7934
+ max_capacity_units=123,
7935
+
7936
+ # the properties below are optional
7937
+ availability_zone="availabilityZone",
7938
+ dns_name_servers="dnsNameServers",
7939
+ kms_key_id="kmsKeyId",
7940
+ min_capacity_units=123,
7941
+ multi_az=False,
7942
+ preferred_maintenance_window="preferredMaintenanceWindow",
7943
+ replication_subnet_group_id="replicationSubnetGroupId",
7944
+ vpc_security_group_ids=["vpcSecurityGroupIds"]
7945
+ ),
7946
+ replication_config_arn="replicationConfigArn",
7947
+ replication_config_identifier="replicationConfigIdentifier",
7948
+ replication_settings=replication_settings,
7949
+ replication_type="replicationType",
7950
+ resource_identifier="resourceIdentifier",
7951
+ source_endpoint_arn="sourceEndpointArn",
7952
+ supplemental_settings=supplemental_settings,
7953
+ table_mappings=table_mappings,
7954
+ tags=[CfnTag(
7955
+ key="key",
7956
+ value="value"
7957
+ )],
7958
+ target_endpoint_arn="targetEndpointArn"
7959
+ )
7960
+ '''
7961
+ if __debug__:
7962
+ type_hints = typing.get_type_hints(_typecheckingstub__ae045521aeb34847358ce5837e2233ae9d158bb9756b046af6dbf7b3db07a492)
7963
+ check_type(argname="argument compute_config", value=compute_config, expected_type=type_hints["compute_config"])
7964
+ check_type(argname="argument replication_config_arn", value=replication_config_arn, expected_type=type_hints["replication_config_arn"])
7965
+ check_type(argname="argument replication_config_identifier", value=replication_config_identifier, expected_type=type_hints["replication_config_identifier"])
7966
+ check_type(argname="argument replication_settings", value=replication_settings, expected_type=type_hints["replication_settings"])
7967
+ check_type(argname="argument replication_type", value=replication_type, expected_type=type_hints["replication_type"])
7968
+ check_type(argname="argument resource_identifier", value=resource_identifier, expected_type=type_hints["resource_identifier"])
7969
+ check_type(argname="argument source_endpoint_arn", value=source_endpoint_arn, expected_type=type_hints["source_endpoint_arn"])
7970
+ check_type(argname="argument supplemental_settings", value=supplemental_settings, expected_type=type_hints["supplemental_settings"])
7971
+ check_type(argname="argument table_mappings", value=table_mappings, expected_type=type_hints["table_mappings"])
7972
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7973
+ check_type(argname="argument target_endpoint_arn", value=target_endpoint_arn, expected_type=type_hints["target_endpoint_arn"])
7974
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
7975
+ if compute_config is not None:
7976
+ self._values["compute_config"] = compute_config
7977
+ if replication_config_arn is not None:
7978
+ self._values["replication_config_arn"] = replication_config_arn
7979
+ if replication_config_identifier is not None:
7980
+ self._values["replication_config_identifier"] = replication_config_identifier
7981
+ if replication_settings is not None:
7982
+ self._values["replication_settings"] = replication_settings
7983
+ if replication_type is not None:
7984
+ self._values["replication_type"] = replication_type
7985
+ if resource_identifier is not None:
7986
+ self._values["resource_identifier"] = resource_identifier
7987
+ if source_endpoint_arn is not None:
7988
+ self._values["source_endpoint_arn"] = source_endpoint_arn
7989
+ if supplemental_settings is not None:
7990
+ self._values["supplemental_settings"] = supplemental_settings
7991
+ if table_mappings is not None:
7992
+ self._values["table_mappings"] = table_mappings
7993
+ if tags is not None:
7994
+ self._values["tags"] = tags
7995
+ if target_endpoint_arn is not None:
7996
+ self._values["target_endpoint_arn"] = target_endpoint_arn
7997
+
7998
+ @builtins.property
7999
+ def compute_config(
8000
+ self,
8001
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnReplicationConfig.ComputeConfigProperty]]:
8002
+ '''Configuration parameters for provisioning an AWS DMS Serverless replication.
8003
+
8004
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-computeconfig
8005
+ '''
8006
+ result = self._values.get("compute_config")
8007
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnReplicationConfig.ComputeConfigProperty]], result)
8008
+
8009
+ @builtins.property
8010
+ def replication_config_arn(self) -> typing.Optional[builtins.str]:
8011
+ '''The Amazon Resource Name (ARN) of this AWS DMS Serverless replication configuration.
8012
+
8013
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationconfigarn
8014
+ '''
8015
+ result = self._values.get("replication_config_arn")
8016
+ return typing.cast(typing.Optional[builtins.str], result)
8017
+
8018
+ @builtins.property
8019
+ def replication_config_identifier(self) -> typing.Optional[builtins.str]:
8020
+ '''A unique identifier that you want to use to create a ``ReplicationConfigArn`` that is returned as part of the output from this action.
8021
+
8022
+ You can then pass this output ``ReplicationConfigArn`` as the value of the ``ReplicationConfigArn`` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.
8023
+
8024
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationconfigidentifier
8025
+ '''
8026
+ result = self._values.get("replication_config_identifier")
8027
+ return typing.cast(typing.Optional[builtins.str], result)
8028
+
8029
+ @builtins.property
8030
+ def replication_settings(self) -> typing.Any:
8031
+ '''Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration.
8032
+
8033
+ For example, see `Change processing tuning settings <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html>`_ .
8034
+
8035
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationsettings
8036
+ '''
8037
+ result = self._values.get("replication_settings")
8038
+ return typing.cast(typing.Any, result)
8039
+
8040
+ @builtins.property
8041
+ def replication_type(self) -> typing.Optional[builtins.str]:
8042
+ '''The type of AWS DMS Serverless replication to provision using this replication configuration.
8043
+
8044
+ Possible values:
8045
+
8046
+ - ``"full-load"``
8047
+ - ``"cdc"``
8048
+ - ``"full-load-and-cdc"``
8049
+
8050
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationtype
8051
+ '''
8052
+ result = self._values.get("replication_type")
8053
+ return typing.cast(typing.Optional[builtins.str], result)
8054
+
8055
+ @builtins.property
8056
+ def resource_identifier(self) -> typing.Optional[builtins.str]:
8057
+ '''Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource.
8058
+
8059
+ For more information, see `Fine-grained access control using resource names and tags <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess>`_ .
8060
+
8061
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-resourceidentifier
8062
+ '''
8063
+ result = self._values.get("resource_identifier")
8064
+ return typing.cast(typing.Optional[builtins.str], result)
8065
+
8066
+ @builtins.property
8067
+ def source_endpoint_arn(self) -> typing.Optional[builtins.str]:
8068
+ '''The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.
8069
+
8070
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-sourceendpointarn
8071
+ '''
8072
+ result = self._values.get("source_endpoint_arn")
8073
+ return typing.cast(typing.Optional[builtins.str], result)
8074
+
8075
+ @builtins.property
8076
+ def supplemental_settings(self) -> typing.Any:
8077
+ '''Optional JSON settings for specifying supplemental data.
8078
+
8079
+ For more information, see `Specifying supplemental data for task settings <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html>`_ .
8080
+
8081
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-supplementalsettings
8082
+ '''
8083
+ result = self._values.get("supplemental_settings")
8084
+ return typing.cast(typing.Any, result)
8085
+
8086
+ @builtins.property
8087
+ def table_mappings(self) -> typing.Any:
8088
+ '''JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration.
8089
+
8090
+ For more information, see `Specifying table selection and transformations rules using JSON <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html>`_ .
8091
+
8092
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-tablemappings
8093
+ '''
8094
+ result = self._values.get("table_mappings")
8095
+ return typing.cast(typing.Any, result)
8096
+
8097
+ @builtins.property
8098
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8099
+ '''One or more optional tags associated with resources used by the AWS DMS Serverless replication.
8100
+
8101
+ For more information, see `Tagging resources in AWS Database Migration Service <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html>`_ .
8102
+
8103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-tags
8104
+ '''
8105
+ result = self._values.get("tags")
8106
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
8107
+
8108
+ @builtins.property
8109
+ def target_endpoint_arn(self) -> typing.Optional[builtins.str]:
8110
+ '''The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.
8111
+
8112
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-targetendpointarn
8113
+ '''
8114
+ result = self._values.get("target_endpoint_arn")
8115
+ return typing.cast(typing.Optional[builtins.str], result)
8116
+
8117
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8118
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8119
+
8120
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8121
+ return not (rhs == self)
8122
+
8123
+ def __repr__(self) -> str:
8124
+ return "CfnReplicationConfigProps(%s)" % ", ".join(
8125
+ k + "=" + repr(v) for k, v in self._values.items()
8126
+ )
8127
+
8128
+
7355
8129
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
7356
8130
  class CfnReplicationInstance(
7357
8131
  _CfnResource_9df397a6,
@@ -8992,6 +9766,8 @@ __all__ = [
8992
9766
  "CfnEndpointProps",
8993
9767
  "CfnEventSubscription",
8994
9768
  "CfnEventSubscriptionProps",
9769
+ "CfnReplicationConfig",
9770
+ "CfnReplicationConfigProps",
8995
9771
  "CfnReplicationInstance",
8996
9772
  "CfnReplicationInstanceProps",
8997
9773
  "CfnReplicationSubnetGroup",
@@ -9726,6 +10502,135 @@ def _typecheckingstub__1555cbc21ca1acdd6ec0e2aad881e8c61105a38d2f194a09e644f8765
9726
10502
  """Type checking stubs"""
9727
10503
  pass
9728
10504
 
10505
+ def _typecheckingstub__94680f790d4726b7c801a80c1413457134b08ba7f03ece13365f54d8fea28dbb(
10506
+ scope: _constructs_77d1e7e8.Construct,
10507
+ id: builtins.str,
10508
+ *,
10509
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReplicationConfig.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10510
+ replication_config_arn: typing.Optional[builtins.str] = None,
10511
+ replication_config_identifier: typing.Optional[builtins.str] = None,
10512
+ replication_settings: typing.Any = None,
10513
+ replication_type: typing.Optional[builtins.str] = None,
10514
+ resource_identifier: typing.Optional[builtins.str] = None,
10515
+ source_endpoint_arn: typing.Optional[builtins.str] = None,
10516
+ supplemental_settings: typing.Any = None,
10517
+ table_mappings: typing.Any = None,
10518
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10519
+ target_endpoint_arn: typing.Optional[builtins.str] = None,
10520
+ ) -> None:
10521
+ """Type checking stubs"""
10522
+ pass
10523
+
10524
+ def _typecheckingstub__18c39ba6b69d789f0a54c566e579c12f70e70d71e39a03a41e5e74f96e5e064f(
10525
+ inspector: _TreeInspector_488e0dd5,
10526
+ ) -> None:
10527
+ """Type checking stubs"""
10528
+ pass
10529
+
10530
+ def _typecheckingstub__60c2c81b84c37c69f1a05883a3f08b5bac388736e426b8395fe01e4f20bd30af(
10531
+ props: typing.Mapping[builtins.str, typing.Any],
10532
+ ) -> None:
10533
+ """Type checking stubs"""
10534
+ pass
10535
+
10536
+ def _typecheckingstub__32966575e9a17251f77f3c3fd9f0bb4f54a2ab6b20a6253bb2e3f97654887c8e(
10537
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnReplicationConfig.ComputeConfigProperty]],
10538
+ ) -> None:
10539
+ """Type checking stubs"""
10540
+ pass
10541
+
10542
+ def _typecheckingstub__cf6b3e41f9fd96a34e556ca24cc0cb760b1e1f325bbf222c125f7df74a2b0f2a(
10543
+ value: typing.Optional[builtins.str],
10544
+ ) -> None:
10545
+ """Type checking stubs"""
10546
+ pass
10547
+
10548
+ def _typecheckingstub__b0eda6e7fe61fa165d7afb96aba6536d12a18d3c374115a7c447ed9d37c61998(
10549
+ value: typing.Optional[builtins.str],
10550
+ ) -> None:
10551
+ """Type checking stubs"""
10552
+ pass
10553
+
10554
+ def _typecheckingstub__13c1acc7a82f208546609dcf4d8a9e2a00dabcf1c361d10d0f4f3604035d01cc(
10555
+ value: typing.Any,
10556
+ ) -> None:
10557
+ """Type checking stubs"""
10558
+ pass
10559
+
10560
+ def _typecheckingstub__805ebea2610d6a01f26aed0eb893129ec908af9d73cbb47689f5d6c727f01381(
10561
+ value: typing.Optional[builtins.str],
10562
+ ) -> None:
10563
+ """Type checking stubs"""
10564
+ pass
10565
+
10566
+ def _typecheckingstub__9dfbba127aff370430ba7dccb2539bc163a4dc67c556711d3450abbd5c937247(
10567
+ value: typing.Optional[builtins.str],
10568
+ ) -> None:
10569
+ """Type checking stubs"""
10570
+ pass
10571
+
10572
+ def _typecheckingstub__c60be257dd07e3947c2b6c272e0798fe76f69b66051d6c2dfca413c2d616b936(
10573
+ value: typing.Optional[builtins.str],
10574
+ ) -> None:
10575
+ """Type checking stubs"""
10576
+ pass
10577
+
10578
+ def _typecheckingstub__0bcc39fb53e8639c570621f12a090b2b213567d85d495108a6b12db7f7442ee8(
10579
+ value: typing.Any,
10580
+ ) -> None:
10581
+ """Type checking stubs"""
10582
+ pass
10583
+
10584
+ def _typecheckingstub__727026dd4d118a926dedb1245c81eb2e5065bead645e182231e1258e77153d2b(
10585
+ value: typing.Any,
10586
+ ) -> None:
10587
+ """Type checking stubs"""
10588
+ pass
10589
+
10590
+ def _typecheckingstub__2f7a00e90f9a69724097ed67b1c9d994575c88df02b8ab67e96b098dd2bb1aea(
10591
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
10592
+ ) -> None:
10593
+ """Type checking stubs"""
10594
+ pass
10595
+
10596
+ def _typecheckingstub__4ca6e7b9ff71eb3a98317ab9f9de43b76c48b035eddf3add1e2ff840fa9af02b(
10597
+ value: typing.Optional[builtins.str],
10598
+ ) -> None:
10599
+ """Type checking stubs"""
10600
+ pass
10601
+
10602
+ def _typecheckingstub__cccd397fe05dc0de656d261a2e429c3413c0e550cfcb56b8936f9090bd7184f2(
10603
+ *,
10604
+ max_capacity_units: jsii.Number,
10605
+ availability_zone: typing.Optional[builtins.str] = None,
10606
+ dns_name_servers: typing.Optional[builtins.str] = None,
10607
+ kms_key_id: typing.Optional[builtins.str] = None,
10608
+ min_capacity_units: typing.Optional[jsii.Number] = None,
10609
+ multi_az: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10610
+ preferred_maintenance_window: typing.Optional[builtins.str] = None,
10611
+ replication_subnet_group_id: typing.Optional[builtins.str] = None,
10612
+ vpc_security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
10613
+ ) -> None:
10614
+ """Type checking stubs"""
10615
+ pass
10616
+
10617
+ def _typecheckingstub__ae045521aeb34847358ce5837e2233ae9d158bb9756b046af6dbf7b3db07a492(
10618
+ *,
10619
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReplicationConfig.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10620
+ replication_config_arn: typing.Optional[builtins.str] = None,
10621
+ replication_config_identifier: typing.Optional[builtins.str] = None,
10622
+ replication_settings: typing.Any = None,
10623
+ replication_type: typing.Optional[builtins.str] = None,
10624
+ resource_identifier: typing.Optional[builtins.str] = None,
10625
+ source_endpoint_arn: typing.Optional[builtins.str] = None,
10626
+ supplemental_settings: typing.Any = None,
10627
+ table_mappings: typing.Any = None,
10628
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10629
+ target_endpoint_arn: typing.Optional[builtins.str] = None,
10630
+ ) -> None:
10631
+ """Type checking stubs"""
10632
+ pass
10633
+
9729
10634
  def _typecheckingstub__77ad0bed39c8ffa41b7998189a1d03defd3bc9e64d11468a83ada78f35f96476(
9730
10635
  scope: _constructs_77d1e7e8.Construct,
9731
10636
  id: builtins.str,