drs / Client / start_recovery

start_recovery#

drs.Client.start_recovery(**kwargs)#

Launches Recovery Instances for the specified Source Servers. For each Source Server you may choose a point in time snapshot to launch from, or use an on demand snapshot.

See also: AWS API Documentation

Request Syntax

response = client.start_recovery(
    isDrill=True|False,
    sourceServers=[
        {
            'recoverySnapshotID': 'string',
            'sourceServerID': 'string'
        },
    ],
    tags={
        'string': 'string'
    }
)
Parameters:
  • isDrill (boolean) – Whether this Source Server Recovery operation is a drill or not.

  • sourceServers (list) –

    [REQUIRED]

    The Source Servers that we want to start a Recovery Job for.

    • (dict) –

      An object representing the Source Server to recover.

      • recoverySnapshotID (string) –

        The ID of a Recovery Snapshot we want to recover from. Omit this field to launch from the latest data by taking an on-demand snapshot.

      • sourceServerID (string) – [REQUIRED]

        The ID of the Source Server you want to recover.

  • tags (dict) –

    The tags to be associated with the Recovery Job.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'job': {
        'arn': 'string',
        'creationDateTime': 'string',
        'endDateTime': 'string',
        'initiatedBy': 'START_RECOVERY'|'START_DRILL'|'FAILBACK'|'DIAGNOSTIC'|'TERMINATE_RECOVERY_INSTANCES'|'TARGET_ACCOUNT'|'CREATE_NETWORK_RECOVERY'|'UPDATE_NETWORK_RECOVERY'|'ASSOCIATE_NETWORK_RECOVERY',
        'jobID': 'string',
        'participatingResources': [
            {
                'launchStatus': 'PENDING'|'IN_PROGRESS'|'LAUNCHED'|'FAILED'|'TERMINATED',
                'participatingResourceID': {
                    'sourceNetworkID': 'string'
                }
            },
        ],
        'participatingServers': [
            {
                'launchStatus': 'PENDING'|'IN_PROGRESS'|'LAUNCHED'|'FAILED'|'TERMINATED',
                'recoveryInstanceID': 'string',
                'sourceServerID': 'string'
            },
        ],
        'status': 'PENDING'|'STARTED'|'COMPLETED',
        'tags': {
            'string': 'string'
        },
        'type': 'LAUNCH'|'TERMINATE'|'CREATE_CONVERTED_SNAPSHOT'
    }
}

Response Structure

  • (dict) –

    • job (dict) –

      The Recovery Job.

      • arn (string) –

        The ARN of a Job.

      • creationDateTime (string) –

        The date and time of when the Job was created.

      • endDateTime (string) –

        The date and time of when the Job ended.

      • initiatedBy (string) –

        A string representing who initiated the Job.

      • jobID (string) –

        The ID of the Job.

      • participatingResources (list) –

        A list of resources that the Job is acting upon.

        • (dict) –

          Represents a resource participating in an asynchronous Job.

          • launchStatus (string) –

            The launch status of a participating resource.

          • participatingResourceID (dict) –

            The ID of a participating resource.

            Note

            This is a Tagged Union structure. Only one of the following top level keys will be set: sourceNetworkID. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
            
            • sourceNetworkID (string) –

              Source Network ID.

      • participatingServers (list) –

        A list of servers that the Job is acting upon.

        • (dict) –

          Represents a server participating in an asynchronous Job.

          • launchStatus (string) –

            The launch status of a participating server.

          • recoveryInstanceID (string) –

            The Recovery Instance ID of a participating server.

          • sourceServerID (string) –

            The Source Server ID of a participating server.

      • status (string) –

        The status of the Job.

      • tags (dict) –

        A list of tags associated with the Job.

        • (string) –

          • (string) –

      • type (string) –

        The type of the Job.

Exceptions

  • drs.Client.exceptions.InternalServerException

  • drs.Client.exceptions.ConflictException

  • drs.Client.exceptions.ServiceQuotaExceededException

  • drs.Client.exceptions.ThrottlingException

  • drs.Client.exceptions.UninitializedAccountException