start_replication

drs.Client.start_replication(**kwargs)

Starts replication for a stopped Source Server. This action would make the Source Server protected again and restart billing for it.

See also: AWS API Documentation

Request Syntax

response = client.start_replication(
    sourceServerID='string'
)
Parameters
sourceServerID (string) --

[REQUIRED]

The ID of the Source Server to start replication for.

Return type
dict
Returns
Response Syntax
{
    'sourceServer': {
        'arn': 'string',
        'dataReplicationInfo': {
            'dataReplicationError': {
                'error': 'AGENT_NOT_SEEN'|'SNAPSHOTS_FAILURE'|'NOT_CONVERGING'|'UNSTABLE_NETWORK'|'FAILED_TO_CREATE_SECURITY_GROUP'|'FAILED_TO_LAUNCH_REPLICATION_SERVER'|'FAILED_TO_BOOT_REPLICATION_SERVER'|'FAILED_TO_AUTHENTICATE_WITH_SERVICE'|'FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE'|'FAILED_TO_CREATE_STAGING_DISKS'|'FAILED_TO_ATTACH_STAGING_DISKS'|'FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT'|'FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER'|'FAILED_TO_START_DATA_TRANSFER',
                'rawError': 'string'
            },
            'dataReplicationInitiation': {
                'nextAttemptDateTime': 'string',
                'startDateTime': 'string',
                'steps': [
                    {
                        'name': 'WAIT'|'CREATE_SECURITY_GROUP'|'LAUNCH_REPLICATION_SERVER'|'BOOT_REPLICATION_SERVER'|'AUTHENTICATE_WITH_SERVICE'|'DOWNLOAD_REPLICATION_SOFTWARE'|'CREATE_STAGING_DISKS'|'ATTACH_STAGING_DISKS'|'PAIR_REPLICATION_SERVER_WITH_AGENT'|'CONNECT_AGENT_TO_REPLICATION_SERVER'|'START_DATA_TRANSFER',
                        'status': 'NOT_STARTED'|'IN_PROGRESS'|'SUCCEEDED'|'FAILED'|'SKIPPED'
                    },
                ]
            },
            'dataReplicationState': 'STOPPED'|'INITIATING'|'INITIAL_SYNC'|'BACKLOG'|'CREATING_SNAPSHOT'|'CONTINUOUS'|'PAUSED'|'RESCAN'|'STALLED'|'DISCONNECTED',
            'etaDateTime': 'string',
            'lagDuration': 'string',
            'replicatedDisks': [
                {
                    'backloggedStorageBytes': 123,
                    'deviceName': 'string',
                    'replicatedStorageBytes': 123,
                    'rescannedStorageBytes': 123,
                    'totalStorageBytes': 123
                },
            ],
            'stagingAvailabilityZone': 'string'
        },
        'lastLaunchResult': 'NOT_STARTED'|'PENDING'|'SUCCEEDED'|'FAILED',
        'lifeCycle': {
            'addedToServiceDateTime': 'string',
            'elapsedReplicationDuration': 'string',
            'firstByteDateTime': 'string',
            'lastLaunch': {
                'initiated': {
                    'apiCallDateTime': 'string',
                    'jobID': 'string',
                    'type': 'RECOVERY'|'DRILL'
                },
                'status': 'PENDING'|'IN_PROGRESS'|'LAUNCHED'|'FAILED'|'TERMINATED'
            },
            'lastSeenByServiceDateTime': 'string'
        },
        'recoveryInstanceId': 'string',
        'replicationDirection': 'FAILOVER'|'FAILBACK',
        'reversedDirectionSourceServerArn': 'string',
        'sourceCloudProperties': {
            'originAccountID': 'string',
            'originAvailabilityZone': 'string',
            'originRegion': 'string'
        },
        'sourceProperties': {
            'cpus': [
                {
                    'cores': 123,
                    'modelName': 'string'
                },
            ],
            'disks': [
                {
                    'bytes': 123,
                    'deviceName': 'string'
                },
            ],
            'identificationHints': {
                'awsInstanceID': 'string',
                'fqdn': 'string',
                'hostname': 'string',
                'vmWareUuid': 'string'
            },
            'lastUpdatedDateTime': 'string',
            'networkInterfaces': [
                {
                    'ips': [
                        'string',
                    ],
                    'isPrimary': True|False,
                    'macAddress': 'string'
                },
            ],
            'os': {
                'fullString': 'string'
            },
            'ramBytes': 123,
            'recommendedInstanceType': 'string'
        },
        'sourceServerID': 'string',
        'stagingArea': {
            'errorMessage': 'string',
            'stagingAccountID': 'string',
            'stagingSourceServerArn': 'string',
            'status': 'EXTENDED'|'EXTENSION_ERROR'|'NOT_EXTENDED'
        },
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --
    • sourceServer (dict) --

      The Source Server that this action was targeted on.

      • arn (string) --

        The ARN of the Source Server.

      • dataReplicationInfo (dict) --

        The Data Replication Info of the Source Server.

        • dataReplicationError (dict) --

          Error in data replication.

          • error (string) --

            Error in data replication.

          • rawError (string) --

            Error in data replication.

        • dataReplicationInitiation (dict) --

          Information about whether the data replication has been initiated.

          • nextAttemptDateTime (string) --

            The date and time of the next attempt to initiate data replication.

          • startDateTime (string) --

            The date and time of the current attempt to initiate data replication.

          • steps (list) --

            The steps of the current attempt to initiate data replication.

            • (dict) --

              Data replication initiation step.

              • name (string) --

                The name of the step.

              • status (string) --

                The status of the step.

        • dataReplicationState (string) --

          The state of the data replication.

        • etaDateTime (string) --

          An estimate of when the data replication will be completed.

        • lagDuration (string) --

          Data replication lag duration.

        • replicatedDisks (list) --

          The disks that should be replicated.

          • (dict) --

            A disk that should be replicated.

            • backloggedStorageBytes (integer) --

              The size of the replication backlog in bytes.

            • deviceName (string) --

              The name of the device.

            • replicatedStorageBytes (integer) --

              The amount of data replicated so far in bytes.

            • rescannedStorageBytes (integer) --

              The amount of data to be rescanned in bytes.

            • totalStorageBytes (integer) --

              The total amount of data to be replicated in bytes.

        • stagingAvailabilityZone (string) --

          AWS Availability zone into which data is being replicated.

      • lastLaunchResult (string) --

        The status of the last recovery launch of this Source Server.

      • lifeCycle (dict) --

        The lifecycle information of this Source Server.

        • addedToServiceDateTime (string) --

          The date and time of when the Source Server was added to the service.

        • elapsedReplicationDuration (string) --

          The amount of time that the Source Server has been replicating for.

        • firstByteDateTime (string) --

          The date and time of the first byte that was replicated from the Source Server.

        • lastLaunch (dict) --

          An object containing information regarding the last launch of the Source Server.

          • initiated (dict) --

            An object containing information regarding the initiation of the last launch of a Source Server.

            • apiCallDateTime (string) --

              The date and time the last Source Server launch was initiated.

            • jobID (string) --

              The ID of the Job that was used to last launch the Source Server.

            • type (string) --

              The Job type that was used to last launch the Source Server.

          • status (string) --

            Status of Source Server's last launch.

        • lastSeenByServiceDateTime (string) --

          The date and time this Source Server was last seen by the service.

      • recoveryInstanceId (string) --

        The ID of the Recovery Instance associated with this Source Server.

      • replicationDirection (string) --

        Replication direction of the Source Server.

      • reversedDirectionSourceServerArn (string) --

        For EC2-originated Source Servers which have been failed over and then failed back, this value will mean the ARN of the Source Server on the opposite replication direction.

      • sourceCloudProperties (dict) --

        Source cloud properties of the Source Server.

        • originAccountID (string) --

          AWS Account ID for an EC2-originated Source Server.

        • originAvailabilityZone (string) --

          AWS Availability Zone for an EC2-originated Source Server.

        • originRegion (string) --

          AWS Region for an EC2-originated Source Server.

      • sourceProperties (dict) --

        The source properties of the Source Server.

        • cpus (list) --

          An array of CPUs.

          • (dict) --

            Information about a server's CPU.

            • cores (integer) --

              The number of CPU cores.

            • modelName (string) --

              The model name of the CPU.

        • disks (list) --

          An array of disks.

          • (dict) --

            An object representing a data storage device on a server.

            • bytes (integer) --

              The amount of storage on the disk in bytes.

            • deviceName (string) --

              The disk or device name.

        • identificationHints (dict) --

          Hints used to uniquely identify a machine.

          • awsInstanceID (string) --

            AWS Instance ID identification hint.

          • fqdn (string) --

            Fully Qualified Domain Name identification hint.

          • hostname (string) --

            Hostname identification hint.

          • vmWareUuid (string) --

            vCenter VM path identification hint.

        • lastUpdatedDateTime (string) --

          The date and time the Source Properties were last updated on.

        • networkInterfaces (list) --

          An array of network interfaces.

          • (dict) --

            Network interface.

            • ips (list) --

              Network interface IPs.

              • (string) --
            • isPrimary (boolean) --

              Whether this is the primary network interface.

            • macAddress (string) --

              The MAC address of the network interface.

        • os (dict) --

          Operating system.

          • fullString (string) --

            The long name of the Operating System.

        • ramBytes (integer) --

          The amount of RAM in bytes.

        • recommendedInstanceType (string) --

          The recommended EC2 instance type that will be used when recovering the Source Server.

      • sourceServerID (string) --

        The ID of the Source Server.

      • stagingArea (dict) --

        The staging area of the source server.

        • errorMessage (string) --

          Shows an error message that occurred when DRS tried to access the staging source server. In this case StagingArea$status will have value EXTENSION_ERROR

        • stagingAccountID (string) --

          Account ID of the account to which source server belongs. If this source server is extended - shows Account ID of staging source server.

        • stagingSourceServerArn (string) --

          Arn of the staging source server if this source server is extended

        • status (string) --

          Status of Source server extension. Possible values: (a) NOT_EXTENDED - This is a source server that is replicating in the current account. (b) EXTENDED - Source server is extended from a staging source server. In this case, the value of stagingSourceServerArn is pointing to the Arn of the source server in the staging account. (c) EXTENSION_ERROR - Some issue occurred when accessing staging source server. In this case, errorMessage field will contain an error message that explains what happened.

      • tags (dict) --

        The tags associated with the Source Server.

        • (string) --
          • (string) --

Exceptions

  • drs.Client.exceptions.ResourceNotFoundException
  • drs.Client.exceptions.InternalServerException
  • drs.Client.exceptions.ConflictException
  • drs.Client.exceptions.ThrottlingException
  • drs.Client.exceptions.UninitializedAccountException