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

*************************
modify_replication_config
*************************



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

  

  Modifies an existing DMS Serverless replication configuration that you can use to start a replication. This command includes input validation and logic to check the state of any replication that uses this configuration. You can only modify a replication configuration before any replication that uses it has started. As soon as you have initially started a replication with a given configuiration, you can't modify that configuration, even if you stop it.

   

  Other run statuses that allow you to run this command include FAILED and CREATED. A provisioning state that allows you to run this command is FAILED_PROVISION.

  

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


  **Request Syntax**
  ::

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

    The Amazon Resource Name of the replication to modify.

    

  
  :type ReplicationConfigIdentifier: string
  :param ReplicationConfigIdentifier: 

    The new replication config to apply to the replication.

    

  
  :type ReplicationType: string
  :param ReplicationType: 

    The type of replication.

    

  
  :type TableMappings: string
  :param TableMappings: 

    Table mappings specified in the replication.

    

  
  :type ReplicationSettings: string
  :param ReplicationSettings: 

    The settings for the replication.

    

  
  :type SupplementalSettings: string
  :param SupplementalSettings: 

    Additional settings for the replication.

    

  
  :type ComputeConfig: dict
  :param ComputeConfig: 

    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 SourceEndpointArn: string
  :param SourceEndpointArn: 

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

    

  
  :type TargetEndpointArn: string
  :param TargetEndpointArn: 

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

    

  
  
  :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) --* 

        Information about the serverless replication config that was modified.

        
        

        - **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.ResourceNotFoundFault`

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

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

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

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

  