:doc:`DatabaseMigrationService <../../dms>` / Client / create_replication_config

*************************
create_replication_config
*************************



.. py:method:: DatabaseMigrationService.Client.create_replication_config(**kwargs)

  

  Creates a configuration that you can later provide to configure and start an DMS Serverless replication. You can also provide options to validate the configuration inputs before you start the replication.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationConfig>`_  


  **Request Syntax**
  ::

    response = client.create_replication_config(
        ReplicationConfigIdentifier='string',
        SourceEndpointArn='string',
        TargetEndpointArn='string',
        ComputeConfig={
            'AvailabilityZone': 'string',
            'DnsNameServers': 'string',
            'KmsKeyId': 'string',
            'MaxCapacityUnits': 123,
            'MinCapacityUnits': 123,
            'MultiAZ': True|False,
            'PreferredMaintenanceWindow': 'string',
            'ReplicationSubnetGroupId': 'string',
            'VpcSecurityGroupIds': [
                'string',
            ]
        },
        ReplicationType='full-load'|'cdc'|'full-load-and-cdc',
        TableMappings='string',
        ReplicationSettings='string',
        SupplementalSettings='string',
        ResourceIdentifier='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string',
                'ResourceArn': 'string'
            },
        ]
    )
    
  :type ReplicationConfigIdentifier: string
  :param ReplicationConfigIdentifier: **[REQUIRED]** 

    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 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.

    

  
  :type SourceEndpointArn: string
  :param SourceEndpointArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.

    

  
  :type TargetEndpointArn: string
  :param TargetEndpointArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.

    

  
  :type ComputeConfig: dict
  :param ComputeConfig: **[REQUIRED]** 

    Configuration parameters for provisioning an DMS Serverless replication.

    

  
    - **AvailabilityZone** *(string) --* 

      The Availability Zone where the DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, for example, ``"us-west-2"``. You can't set this parameter if the ``MultiAZ`` parameter is set to ``true``.

      

    
    - **DnsNameServers** *(string) --* 

      A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the 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"``

      

    
    - **KmsKeyId** *(string) --* 

      An Key Management Service (KMS) key Amazon Resource Name (ARN) that is used to encrypt the data during DMS Serverless replication.

       

      If you don't specify a value for the ``KmsKeyId`` parameter, DMS uses your default encryption key.

       

      KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

      

    
    - **MaxCapacityUnits** *(integer) --* 

      Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU 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 DMS Serverless is 384. The ``MaxCapacityUnits`` parameter is the only DCU parameter you are required to specify.

      

    
    - **MinCapacityUnits** *(integer) --* 

      Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU 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 DMS Serverless is 1. If you don't set this value, DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, DMS scales down your replication until it reaches the value specified in ``MinCapacityUnits``.

      

    
    - **MultiAZ** *(boolean) --* 

      Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to ``true``.

      

    
    - **PreferredMaintenanceWindow** *(string) --* 

      The weekly time range during which system maintenance can occur for the 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 Amazon Web Services 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.

      

    
    - **ReplicationSubnetGroupId** *(string) --* 

      Specifies a subnet group identifier to associate with the DMS Serverless replication.

      

    
    - **VpcSecurityGroupIds** *(list) --* 

      Specifies the virtual private cloud (VPC) security group to use with the DMS Serverless replication. The VPC security group must work with the VPC containing the replication.

      

    
      - *(string) --* 

      
  
  
  :type ReplicationType: string
  :param ReplicationType: **[REQUIRED]** 

    The type of DMS Serverless replication to provision using this replication configuration.

     

    Possible values:

     

    
    * ``"full-load"``
     
    * ``"cdc"``
     
    * ``"full-load-and-cdc"``
    

    

  
  :type TableMappings: string
  :param TableMappings: **[REQUIRED]** 

    JSON table mappings for 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>`__.

    

  
  :type ReplicationSettings: string
  :param ReplicationSettings: 

    Optional JSON settings for 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>`__.

    

  
  :type SupplementalSettings: string
  :param SupplementalSettings: 

    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>`__.

    

  
  :type ResourceIdentifier: string
  :param ResourceIdentifier: 

    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>`__.

    

  
  :type Tags: list
  :param Tags: 

    One or more optional tags associated with resources used by the DMS Serverless replication. For more information, see `Tagging resources in Database Migration Service <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html>`__.

    

  
    - *(dict) --* 

      A user-defined key-value pair that describes metadata added to an DMS resource and that is used by operations such as the following:

       

      
      * ``AddTagsToResource``
       
      * ``ListTagsForResource``
       
      * ``RemoveTagsFromResource``
      

      

    
      - **Key** *(string) --* 

        A key is the required name of the tag. The string value can be 1-128 Unicode characters in length and can't be prefixed with "aws:" or "dms:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

        

      
      - **Value** *(string) --* 

        A value is the optional value of the tag. The string value can be 1-256 Unicode characters in length and can't be prefixed with "aws:" or "dms:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

        

      
      - **ResourceArn** *(string) --* 

        The Amazon Resource Name (ARN) string that uniquely identifies the resource for which the tag is created.

        

      
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'ReplicationConfig': {
              'ReplicationConfigIdentifier': 'string',
              'ReplicationConfigArn': 'string',
              'SourceEndpointArn': 'string',
              'TargetEndpointArn': 'string',
              'ReplicationType': 'full-load'|'cdc'|'full-load-and-cdc',
              'ComputeConfig': {
                  'AvailabilityZone': 'string',
                  'DnsNameServers': 'string',
                  'KmsKeyId': 'string',
                  'MaxCapacityUnits': 123,
                  'MinCapacityUnits': 123,
                  'MultiAZ': True|False,
                  'PreferredMaintenanceWindow': 'string',
                  'ReplicationSubnetGroupId': 'string',
                  'VpcSecurityGroupIds': [
                      'string',
                  ]
              },
              'ReplicationSettings': 'string',
              'SupplementalSettings': 'string',
              'TableMappings': 'string',
              'ReplicationConfigCreateTime': datetime(2015, 1, 1),
              'ReplicationConfigUpdateTime': datetime(2015, 1, 1),
              'IsReadOnly': True|False
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ReplicationConfig** *(dict) --* 

        Configuration parameters returned from the DMS Serverless replication after it is created.

        
        

        - **ReplicationConfigIdentifier** *(string) --* 

          The identifier for the ``ReplicationConfig`` associated with the replication.

          
        

        - **ReplicationConfigArn** *(string) --* 

          The Amazon Resource Name (ARN) of this DMS Serverless replication configuration.

          
        

        - **SourceEndpointArn** *(string) --* 

          The Amazon Resource Name (ARN) of the source endpoint for this DMS serverless replication configuration.

          
        

        - **TargetEndpointArn** *(string) --* 

          The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.

          
        

        - **ReplicationType** *(string) --* 

          The type of the replication.

          
        

        - **ComputeConfig** *(dict) --* 

          Configuration parameters for provisioning an DMS serverless replication.

          
          

          - **AvailabilityZone** *(string) --* 

            The Availability Zone where the DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, for example, ``"us-west-2"``. You can't set this parameter if the ``MultiAZ`` parameter is set to ``true``.

            
          

          - **DnsNameServers** *(string) --* 

            A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the 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"``

            
          

          - **KmsKeyId** *(string) --* 

            An Key Management Service (KMS) key Amazon Resource Name (ARN) that is used to encrypt the data during DMS Serverless replication.

             

            If you don't specify a value for the ``KmsKeyId`` parameter, DMS uses your default encryption key.

             

            KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

            
          

          - **MaxCapacityUnits** *(integer) --* 

            Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU 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 DMS Serverless is 384. The ``MaxCapacityUnits`` parameter is the only DCU parameter you are required to specify.

            
          

          - **MinCapacityUnits** *(integer) --* 

            Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU 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 DMS Serverless is 1. If you don't set this value, DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, DMS scales down your replication until it reaches the value specified in ``MinCapacityUnits``.

            
          

          - **MultiAZ** *(boolean) --* 

            Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to ``true``.

            
          

          - **PreferredMaintenanceWindow** *(string) --* 

            The weekly time range during which system maintenance can occur for the 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 Amazon Web Services 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.

            
          

          - **ReplicationSubnetGroupId** *(string) --* 

            Specifies a subnet group identifier to associate with the DMS Serverless replication.

            
          

          - **VpcSecurityGroupIds** *(list) --* 

            Specifies the virtual private cloud (VPC) security group to use with the DMS Serverless replication. The VPC security group must work with the VPC containing the replication.

            
            

            - *(string) --* 
        
      
        

        - **ReplicationSettings** *(string) --* 

          Configuration parameters for an DMS serverless replication.

          
        

        - **SupplementalSettings** *(string) --* 

          Additional parameters for an DMS serverless replication.

          
        

        - **TableMappings** *(string) --* 

          Table mappings specified in the replication.

          
        

        - **ReplicationConfigCreateTime** *(datetime) --* 

          The time the serverless replication config was created.

          
        

        - **ReplicationConfigUpdateTime** *(datetime) --* 

          The time the serverless replication config was updated.

          
        

        - **IsReadOnly** *(boolean) --* 

          Indicates whether the replication configuration is read-only. When set to ``true``, this replication configuration is managed by DMS as part of a zero-ETL integration and cannot be modified or deleted directly. You can only modify or delete read-only replication configurations through their associated zero-ETL integration.

          
    
  
  **Exceptions**
  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.AccessDeniedFault`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.ResourceAlreadyExistsFault`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.ResourceNotFoundFault`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.InvalidResourceStateFault`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.ReplicationSubnetGroupDoesNotCoverEnoughAZs`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.InvalidSubnet`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.KMSKeyNotAccessibleFault`

  
  *   :py:class:`DatabaseMigrationService.Client.exceptions.ResourceQuotaExceededFault`

  