disconnect_source_server

drs.Client.disconnect_source_server(**kwargs)

Disconnects a specific Source Server from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Source Server will be terminated / deleted within 90 minutes. You cannot disconnect a Source Server if it has a Recovery Instance. If the agent on the Source Server has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the SourceServer will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.

See also: AWS API Documentation

Request Syntax

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

[REQUIRED]

The ID of the Source Server to disconnect.

Return type
dict
Returns
Response Syntax
{
    '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) --
    • 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