:doc:`drs <../../drs>` / Client / create_replication_configuration_template

*****************************************
create_replication_configuration_template
*****************************************



.. py:method:: drs.Client.create_replication_configuration_template(**kwargs)

  

  Creates a new ReplicationConfigurationTemplate.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/CreateReplicationConfigurationTemplate>`_  


  **Request Syntax**
  ::

    response = client.create_replication_configuration_template(
        associateDefaultSecurityGroup=True|False,
        autoReplicateNewDisks=True|False,
        bandwidthThrottling=123,
        createPublicIP=True|False,
        dataPlaneRouting='PRIVATE_IP'|'PUBLIC_IP',
        defaultLargeStagingDiskType='GP2'|'GP3'|'ST1'|'AUTO',
        ebsEncryption='DEFAULT'|'CUSTOM'|'NONE',
        ebsEncryptionKeyArn='string',
        pitPolicy=[
            {
                'enabled': True|False,
                'interval': 123,
                'retentionDuration': 123,
                'ruleID': 123,
                'units': 'MINUTE'|'HOUR'|'DAY'
            },
        ],
        replicationServerInstanceType='string',
        replicationServersSecurityGroupsIDs=[
            'string',
        ],
        stagingAreaSubnetId='string',
        stagingAreaTags={
            'string': 'string'
        },
        tags={
            'string': 'string'
        },
        useDedicatedReplicationServer=True|False
    )
    
  :type associateDefaultSecurityGroup: boolean
  :param associateDefaultSecurityGroup: **[REQUIRED]** 

    Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.

    

  
  :type autoReplicateNewDisks: boolean
  :param autoReplicateNewDisks: 

    Whether to allow the AWS replication agent to automatically replicate newly added disks.

    

  
  :type bandwidthThrottling: integer
  :param bandwidthThrottling: **[REQUIRED]** 

    Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

    

  
  :type createPublicIP: boolean
  :param createPublicIP: **[REQUIRED]** 

    Whether to create a Public IP for the Recovery Instance by default.

    

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

    The data plane routing mechanism that will be used for replication.

    

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

    The Staging Disk EBS volume type to be used during replication.

    

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

    The type of EBS encryption to be used during replication.

    

  
  :type ebsEncryptionKeyArn: string
  :param ebsEncryptionKeyArn: 

    The ARN of the EBS encryption key to be used during replication.

    

  
  :type pitPolicy: list
  :param pitPolicy: **[REQUIRED]** 

    The Point in time (PIT) policy to manage snapshots taken during replication.

    

  
    - *(dict) --* 

      A rule in the Point in Time (PIT) policy representing when to take snapshots and how long to retain them for.

      

    
      - **enabled** *(boolean) --* 

        Whether this rule is enabled or not.

        

      
      - **interval** *(integer) --* **[REQUIRED]** 

        How often, in the chosen units, a snapshot should be taken.

        

      
      - **retentionDuration** *(integer) --* **[REQUIRED]** 

        The duration to retain a snapshot for, in the chosen units.

        

      
      - **ruleID** *(integer) --* 

        The ID of the rule.

        

      
      - **units** *(string) --* **[REQUIRED]** 

        The units used to measure the interval and retentionDuration.

        

      
    

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

    The instance type to be used for the replication server.

    

  
  :type replicationServersSecurityGroupsIDs: list
  :param replicationServersSecurityGroupsIDs: **[REQUIRED]** 

    The security group IDs that will be used by the replication server.

    

  
    - *(string) --* 

    

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

    The subnet to be used by the replication staging area.

    

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

    A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type tags: dict
  :param tags: 

    A set of tags to be associated with the Replication Configuration Template resource.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type useDedicatedReplicationServer: boolean
  :param useDedicatedReplicationServer: **[REQUIRED]** 

    Whether to use a dedicated Replication Server in the replication staging area.

    

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

    
    ::

      {
          'arn': 'string',
          'associateDefaultSecurityGroup': True|False,
          'autoReplicateNewDisks': True|False,
          'bandwidthThrottling': 123,
          'createPublicIP': True|False,
          'dataPlaneRouting': 'PRIVATE_IP'|'PUBLIC_IP',
          'defaultLargeStagingDiskType': 'GP2'|'GP3'|'ST1'|'AUTO',
          'ebsEncryption': 'DEFAULT'|'CUSTOM'|'NONE',
          'ebsEncryptionKeyArn': 'string',
          'pitPolicy': [
              {
                  'enabled': True|False,
                  'interval': 123,
                  'retentionDuration': 123,
                  'ruleID': 123,
                  'units': 'MINUTE'|'HOUR'|'DAY'
              },
          ],
          'replicationConfigurationTemplateID': 'string',
          'replicationServerInstanceType': 'string',
          'replicationServersSecurityGroupsIDs': [
              'string',
          ],
          'stagingAreaSubnetId': 'string',
          'stagingAreaTags': {
              'string': 'string'
          },
          'tags': {
              'string': 'string'
          },
          'useDedicatedReplicationServer': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **arn** *(string) --* 

        The Replication Configuration Template ARN.

        
      

      - **associateDefaultSecurityGroup** *(boolean) --* 

        Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.

        
      

      - **autoReplicateNewDisks** *(boolean) --* 

        Whether to allow the AWS replication agent to automatically replicate newly added disks.

        
      

      - **bandwidthThrottling** *(integer) --* 

        Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

        
      

      - **createPublicIP** *(boolean) --* 

        Whether to create a Public IP for the Recovery Instance by default.

        
      

      - **dataPlaneRouting** *(string) --* 

        The data plane routing mechanism that will be used for replication.

        
      

      - **defaultLargeStagingDiskType** *(string) --* 

        The Staging Disk EBS volume type to be used during replication.

        
      

      - **ebsEncryption** *(string) --* 

        The type of EBS encryption to be used during replication.

        
      

      - **ebsEncryptionKeyArn** *(string) --* 

        The ARN of the EBS encryption key to be used during replication.

        
      

      - **pitPolicy** *(list) --* 

        The Point in time (PIT) policy to manage snapshots taken during replication.

        
        

        - *(dict) --* 

          A rule in the Point in Time (PIT) policy representing when to take snapshots and how long to retain them for.

          
          

          - **enabled** *(boolean) --* 

            Whether this rule is enabled or not.

            
          

          - **interval** *(integer) --* 

            How often, in the chosen units, a snapshot should be taken.

            
          

          - **retentionDuration** *(integer) --* 

            The duration to retain a snapshot for, in the chosen units.

            
          

          - **ruleID** *(integer) --* 

            The ID of the rule.

            
          

          - **units** *(string) --* 

            The units used to measure the interval and retentionDuration.

            
      
    
      

      - **replicationConfigurationTemplateID** *(string) --* 

        The Replication Configuration Template ID.

        
      

      - **replicationServerInstanceType** *(string) --* 

        The instance type to be used for the replication server.

        
      

      - **replicationServersSecurityGroupsIDs** *(list) --* 

        The security group IDs that will be used by the replication server.

        
        

        - *(string) --* 
    
      

      - **stagingAreaSubnetId** *(string) --* 

        The subnet to be used by the replication staging area.

        
      

      - **stagingAreaTags** *(dict) --* 

        A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
      

      - **tags** *(dict) --* 

        A set of tags to be associated with the Replication Configuration Template resource.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
      

      - **useDedicatedReplicationServer** *(boolean) --* 

        Whether to use a dedicated Replication Server in the replication staging area.

        
  
  **Exceptions**
  
  *   :py:class:`drs.Client.exceptions.InternalServerException`

  
  *   :py:class:`drs.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`drs.Client.exceptions.ThrottlingException`

  
  *   :py:class:`drs.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`drs.Client.exceptions.ValidationException`

  
  *   :py:class:`drs.Client.exceptions.UninitializedAccountException`

  