drs *** Client ====== class drs.Client A low-level client representing Elastic Disaster Recovery Service (drs) AWS Elastic Disaster Recovery Service. import boto3 client = boto3.client('drs') These are the available methods: * associate_source_network_stack * can_paginate * close * create_extended_source_server * create_launch_configuration_template * create_replication_configuration_template * create_source_network * delete_job * delete_launch_action * delete_launch_configuration_template * delete_recovery_instance * delete_replication_configuration_template * delete_source_network * delete_source_server * describe_job_log_items * describe_jobs * describe_launch_configuration_templates * describe_recovery_instances * describe_recovery_snapshots * describe_replication_configuration_templates * describe_source_networks * describe_source_servers * disconnect_recovery_instance * disconnect_source_server * export_source_network_cfn_template * get_failback_replication_configuration * get_launch_configuration * get_paginator * get_replication_configuration * get_waiter * initialize_service * list_extensible_source_servers * list_launch_actions * list_staging_accounts * list_tags_for_resource * put_launch_action * retry_data_replication * reverse_replication * start_failback_launch * start_recovery * start_replication * start_source_network_recovery * start_source_network_replication * stop_failback * stop_replication * stop_source_network_replication * tag_resource * terminate_recovery_instances * untag_resource * update_failback_replication_configuration * update_launch_configuration * update_launch_configuration_template * update_replication_configuration * update_replication_configuration_template Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * DescribeJobLogItems * DescribeJobs * DescribeLaunchConfigurationTemplates * DescribeRecoveryInstances * DescribeRecoverySnapshots * DescribeReplicationConfigurationTemplates * DescribeSourceNetworks * DescribeSourceServers * ListExtensibleSourceServers * ListLaunchActions * ListStagingAccounts drs / Paginator / ListLaunchActions ListLaunchActions ***************** class drs.Paginator.ListLaunchActions paginator = client.get_paginator('list_launch_actions') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.list_launch_actions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filters={ 'actionIds': [ 'string', ] }, resourceId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filters** (*dict*) -- Filters to apply when listing resource launch actions. * **actionIds** *(list) --* Launch actions Ids. * *(string) --* Launch action Id. * **resourceId** (*string*) -- **[REQUIRED]** Launch configuration template Id or Source Server Id * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* List of resource launch actions. * *(dict) --* Launch action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeLaunchConfigurationTemplates DescribeLaunchConfigurationTemplates ************************************ class drs.Paginator.DescribeLaunchConfigurationTemplates paginator = client.get_paginator('describe_launch_configuration_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_launch_configuration_templates()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( launchConfigurationTemplateIDs=[ 'string', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **launchConfigurationTemplateIDs** (*list*) -- Request to filter Launch Configuration Templates list by Launch Configuration Template ID. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'copyPrivateIp': True|False, 'copyTags': True|False, 'exportBucketArn': 'string', 'launchConfigurationTemplateID': 'string', 'launchDisposition': 'STOPPED'|'STARTED', 'launchIntoSourceInstance': True|False, 'licensing': { 'osByol': True|False }, 'postLaunchEnabled': True|False, 'tags': { 'string': 'string' }, 'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC'|'IN_AWS' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* List of items returned by DescribeLaunchConfigurationTemplates. * *(dict) --* Account level Launch Configuration Template. * **arn** *(string) --* ARN of the Launch Configuration Template. * **copyPrivateIp** *(boolean) --* Copy private IP. * **copyTags** *(boolean) --* Copy tags. * **exportBucketArn** *(string) --* S3 bucket ARN to export Source Network templates. * **launchConfigurationTemplateID** *(string) --* ID of the Launch Configuration Template. * **launchDisposition** *(string) --* Launch disposition. * **launchIntoSourceInstance** *(boolean) --* DRS will set the 'launch into instance ID' of any source server when performing a drill, recovery or failback to the previous region or availability zone, using the instance ID of the source instance. * **licensing** *(dict) --* Licensing. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **postLaunchEnabled** *(boolean) --* Post-launch actions activated. * **tags** *(dict) --* Tags of the Launch Configuration Template. * *(string) --* * *(string) --* * **targetInstanceTypeRightSizingMethod** *(string) --* Target instance type right-sizing method. * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / ListStagingAccounts ListStagingAccounts ******************* class drs.Paginator.ListStagingAccounts paginator = client.get_paginator('list_staging_accounts') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.list_staging_accounts()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'accounts': [ { 'accountID': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **accounts** *(list) --* An array of staging AWS Accounts. * *(dict) --* AWS account. * **accountID** *(string) --* Account ID of AWS account. * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeSourceServers DescribeSourceServers ********************* class drs.Paginator.DescribeSourceServers paginator = client.get_paginator('describe_source_servers') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_source_servers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filters={ 'hardwareId': 'string', 'sourceServerIDs': [ 'string', ], 'stagingAccountIDs': [ 'string', ] }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Source Servers. * **hardwareId** *(string) --* An ID that describes the hardware of the Source Server. This is either an EC2 instance id, a VMware uuid or a mac address. * **sourceServerIDs** *(list) --* An array of Source Servers IDs that should be returned. An empty array means all Source Servers. * *(string) --* * **stagingAccountIDs** *(list) --* An array of staging account IDs that extended source servers belong to. An empty array means all source servers will be shown. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, 'sourceServerID': 'string', 'stagingArea': { 'errorMessage': 'string', 'stagingAccountID': 'string', 'stagingSourceServerArn': 'string', 'status': 'EXTENDED'|'EXTENSION_ERROR'|'NOT_EXTENDED' }, 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Source Servers. * *(dict) --* * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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) --* * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / ListExtensibleSourceServers ListExtensibleSourceServers *************************** class drs.Paginator.ListExtensibleSourceServers paginator = client.get_paginator('list_extensible_source_servers') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.list_extensible_source_servers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( stagingAccountID='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **stagingAccountID** (*string*) -- **[REQUIRED]** The Id of the staging Account to retrieve extensible source servers from. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'hostname': 'string', 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* A list of source servers on a staging Account that are extensible. * *(dict) --* Source server in staging account that extended source server connected to. * **arn** *(string) --* The ARN of the source server. * **hostname** *(string) --* Hostname of staging source server. * **tags** *(dict) --* A list of tags associated with the staging source server. * *(string) --* * *(string) --* * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeSourceNetworks DescribeSourceNetworks ********************** class drs.Paginator.DescribeSourceNetworks paginator = client.get_paginator('describe_source_networks') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_source_networks()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filters={ 'originAccountID': 'string', 'originRegion': 'string', 'sourceNetworkIDs': [ 'string', ] }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Source Networks. * **originAccountID** *(string) --* Filter Source Networks by account ID containing the protected VPCs. * **originRegion** *(string) --* Filter Source Networks by the region containing the protected VPCs. * **sourceNetworkIDs** *(list) --* An array of Source Network IDs that should be returned. An empty array means all Source Networks. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'cfnStackName': 'string', 'lastRecovery': { 'apiCallDateTime': datetime(2015, 1, 1), 'jobID': 'string', 'lastRecoveryResult': 'NOT_STARTED'|'IN_PROGRESS'|'SUCCESS'|'FAIL'|'PARTIAL_SUCCESS'|'ASSOCIATE_SUCCESS'|'ASSOCIATE_FAIL' }, 'launchedVpcID': 'string', 'replicationStatus': 'STOPPED'|'IN_PROGRESS'|'PROTECTED'|'ERROR', 'replicationStatusDetails': 'string', 'sourceAccountID': 'string', 'sourceNetworkID': 'string', 'sourceRegion': 'string', 'sourceVpcID': 'string', 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Source Networks. * *(dict) --* The ARN of the Source Network. * **arn** *(string) --* The ARN of the Source Network. * **cfnStackName** *(string) --* CloudFormation stack name that was deployed for recovering the Source Network. * **lastRecovery** *(dict) --* An object containing information regarding the last recovery of the Source Network. * **apiCallDateTime** *(datetime) --* The date and time the last Source Network recovery was initiated. * **jobID** *(string) --* The ID of the Job that was used to last recover the Source Network. * **lastRecoveryResult** *(string) --* The status of the last recovery status of this Source Network. * **launchedVpcID** *(string) --* ID of the recovered VPC following Source Network recovery. * **replicationStatus** *(string) --* Status of Source Network Replication. Possible values: (a) STOPPED - Source Network is not replicating. (b) IN_PROGRESS - Source Network is being replicated. (c) PROTECTED - Source Network was replicated successfully and is being synchronized for changes. (d) ERROR - Source Network replication has failed * **replicationStatusDetails** *(string) --* Error details in case Source Network replication status is ERROR. * **sourceAccountID** *(string) --* Account ID containing the VPC protected by the Source Network. * **sourceNetworkID** *(string) --* Source Network ID. * **sourceRegion** *(string) --* Region containing the VPC protected by the Source Network. * **sourceVpcID** *(string) --* VPC ID protected by the Source Network. * **tags** *(dict) --* A list of tags associated with the Source Network. * *(string) --* * *(string) --* * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeJobLogItems DescribeJobLogItems ******************* class drs.Paginator.DescribeJobLogItems paginator = client.get_paginator('describe_job_log_items') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_job_log_items()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( jobID='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **jobID** (*string*) -- **[REQUIRED]** The ID of the Job for which Job log items will be retrieved. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'event': 'JOB_START'|'SERVER_SKIPPED'|'CLEANUP_START'|'CLEANUP_END'|'CLEANUP_FAIL'|'SNAPSHOT_START'|'SNAPSHOT_END'|'SNAPSHOT_FAIL'|'USING_PREVIOUS_SNAPSHOT'|'USING_PREVIOUS_SNAPSHOT_FAILED'|'CONVERSION_START'|'CONVERSION_END'|'CONVERSION_FAIL'|'LAUNCH_START'|'LAUNCH_FAILED'|'JOB_CANCEL'|'JOB_END'|'DEPLOY_NETWORK_CONFIGURATION_START'|'DEPLOY_NETWORK_CONFIGURATION_END'|'DEPLOY_NETWORK_CONFIGURATION_FAILED'|'UPDATE_NETWORK_CONFIGURATION_START'|'UPDATE_NETWORK_CONFIGURATION_END'|'UPDATE_NETWORK_CONFIGURATION_FAILED'|'UPDATE_LAUNCH_TEMPLATE_START'|'UPDATE_LAUNCH_TEMPLATE_END'|'UPDATE_LAUNCH_TEMPLATE_FAILED'|'NETWORK_RECOVERY_FAIL', 'eventData': { 'conversionProperties': { 'dataTimestamp': 'string', 'forceUefi': True|False, 'rootVolumeName': 'string', 'volumeToConversionMap': { 'string': { 'string': 'string' } }, 'volumeToProductCodes': { 'string': [ { 'productCodeId': 'string', 'productCodeMode': 'ENABLED'|'DISABLED' }, ] }, 'volumeToVolumeSize': { 'string': 123 } }, 'conversionServerID': 'string', 'eventResourceData': { 'sourceNetworkData': { 'sourceNetworkID': 'string', 'sourceVpc': 'string', 'stackName': 'string', 'targetVpc': 'string' } }, 'rawError': 'string', 'sourceServerID': 'string', 'targetInstanceID': 'string' }, 'logDateTime': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Job log items. * *(dict) --* A log outputted by a Job. * **event** *(string) --* The event represents the type of a log. * **eventData** *(dict) --* Metadata associated with a Job log. * **conversionProperties** *(dict) --* Properties of a conversion job * **dataTimestamp** *(string) --* The timestamp of when the snapshot being converted was taken * **forceUefi** *(boolean) --* Whether the volume being converted uses UEFI or not * **rootVolumeName** *(string) --* The root volume name of a conversion job * **volumeToConversionMap** *(dict) --* A mapping between the volumes being converted and the converted snapshot ids * *(string) --* * *(dict) --* * *(string) --* * *(string) --* * **volumeToProductCodes** *(dict) --* A mapping between the volumes being converted and the product codes associated with them * *(string) --* * *(list) --* * *(dict) --* Properties of a product code associated with a volume. * **productCodeId** *(string) --* Id of a product code associated with a volume. * **productCodeMode** *(string) --* Mode of a product code associated with a volume. * **volumeToVolumeSize** *(dict) --* A mapping between the volumes and their sizes * *(string) --* * *(integer) --* * **conversionServerID** *(string) --* The ID of a conversion server. * **eventResourceData** *(dict) --* Properties of resource related to a job event. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "sourceNetworkData". 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'} * **sourceNetworkData** *(dict) --* Source Network properties. * **sourceNetworkID** *(string) --* Source Network ID. * **sourceVpc** *(string) --* VPC ID protected by the Source Network. * **stackName** *(string) --* CloudFormation stack name that was deployed for recovering the Source Network. * **targetVpc** *(string) --* ID of the recovered VPC following Source Network recovery. * **rawError** *(string) --* A string representing a job error. * **sourceServerID** *(string) --* The ID of a Source Server. * **targetInstanceID** *(string) --* The ID of a Recovery Instance. * **logDateTime** *(string) --* The date and time the log was taken. * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeRecoveryInstances DescribeRecoveryInstances ************************* class drs.Paginator.DescribeRecoveryInstances paginator = client.get_paginator('describe_recovery_instances') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_recovery_instances()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filters={ 'recoveryInstanceIDs': [ 'string', ], 'sourceServerIDs': [ 'string', ] }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Recovery Instances. * **recoveryInstanceIDs** *(list) --* An array of Recovery Instance IDs that should be returned. An empty array means all Recovery Instances. * *(string) --* * **sourceServerIDs** *(list) --* An array of Source Server IDs for which associated Recovery Instances should be returned. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'agentVersion': 'string', 'arn': 'string', 'dataReplicationInfo': { 'dataReplicationError': { 'error': 'AGENT_NOT_SEEN'|'FAILBACK_CLIENT_NOT_SEEN'|'NOT_CONVERGING'|'UNSTABLE_NETWORK'|'FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION'|'FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT'|'FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE'|'FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE'|'FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION'|'FAILED_GETTING_REPLICATION_STATE'|'SNAPSHOTS_FAILURE'|'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': { 'startDateTime': 'string', 'steps': [ { 'name': 'LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE'|'COMPLETE_VOLUME_MAPPING'|'ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION'|'DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT'|'CONFIGURE_REPLICATION_SOFTWARE'|'PAIR_AGENT_WITH_REPLICATION_SOFTWARE'|'ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION'|'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'|'REPLICATION_STATE_NOT_AVAILABLE'|'NOT_STARTED', 'etaDateTime': 'string', 'lagDuration': 'string', 'replicatedDisks': [ { 'backloggedStorageBytes': 123, 'deviceName': 'string', 'replicatedStorageBytes': 123, 'rescannedStorageBytes': 123, 'totalStorageBytes': 123 }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': 'string' }, 'ec2InstanceID': 'string', 'ec2InstanceState': 'PENDING'|'RUNNING'|'STOPPING'|'STOPPED'|'SHUTTING-DOWN'|'TERMINATED'|'NOT_FOUND', 'failback': { 'agentLastSeenByServiceDateTime': 'string', 'elapsedReplicationDuration': 'string', 'failbackClientID': 'string', 'failbackClientLastSeenByServiceDateTime': 'string', 'failbackInitiationTime': 'string', 'failbackJobID': 'string', 'failbackLaunchType': 'RECOVERY'|'DRILL', 'failbackToOriginalServer': True|False, 'firstByteDateTime': 'string', 'state': 'FAILBACK_NOT_STARTED'|'FAILBACK_IN_PROGRESS'|'FAILBACK_READY_FOR_LAUNCH'|'FAILBACK_COMPLETED'|'FAILBACK_ERROR'|'FAILBACK_NOT_READY_FOR_LAUNCH'|'FAILBACK_LAUNCH_STATE_NOT_AVAILABLE' }, 'isDrill': True|False, 'jobID': 'string', 'originAvailabilityZone': 'string', 'originEnvironment': 'ON_PREMISES'|'AWS', 'pointInTimeSnapshotDateTime': 'string', 'recoveryInstanceID': 'string', 'recoveryInstanceProperties': { 'cpus': [ { 'cores': 123, 'modelName': 'string' }, ], 'disks': [ { 'bytes': 123, 'ebsVolumeID': 'string', 'internalDeviceName': '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 }, 'sourceOutpostArn': 'string', 'sourceServerID': 'string', 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Recovery Instances. * *(dict) --* A Recovery Instance is a replica of a Source Server running on EC2. * **agentVersion** *(string) --* The version of the DRS agent installed on the recovery instance * **arn** *(string) --* The ARN of the Recovery Instance. * **dataReplicationInfo** *(dict) --* The Data Replication Info of the Recovery Instance. * **dataReplicationError** *(dict) --* Information about 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. * **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. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **ec2InstanceID** *(string) --* The EC2 instance ID of the Recovery Instance. * **ec2InstanceState** *(string) --* The state of the EC2 instance for this Recovery Instance. * **failback** *(dict) --* An object representing failback related information of the Recovery Instance. * **agentLastSeenByServiceDateTime** *(string) --* The date and time the agent on the Recovery Instance was last seen by the service. * **elapsedReplicationDuration** *(string) --* The amount of time that the Recovery Instance has been replicating for. * **failbackClientID** *(string) --* The ID of the failback client that this Recovery Instance is associated with. * **failbackClientLastSeenByServiceDateTime** *(string) --* The date and time that the failback client was last seen by the service. * **failbackInitiationTime** *(string) --* The date and time that the failback initiation started. * **failbackJobID** *(string) --* The Job ID of the last failback log for this Recovery Instance. * **failbackLaunchType** *(string) --* The launch type (Recovery / Drill) of the last launch for the failback replication of this recovery instance. * **failbackToOriginalServer** *(boolean) --* Whether we are failing back to the original Source Server for this Recovery Instance. * **firstByteDateTime** *(string) --* The date and time of the first byte that was replicated from the Recovery Instance. * **state** *(string) --* The state of the failback process that this Recovery Instance is in. * **isDrill** *(boolean) --* Whether this Recovery Instance was created for a drill or for an actual Recovery event. * **jobID** *(string) --* The ID of the Job that created the Recovery Instance. * **originAvailabilityZone** *(string) --* AWS availability zone associated with the recovery instance. * **originEnvironment** *(string) --* Environment (On Premises / AWS) of the instance that the recovery instance originated from. * **pointInTimeSnapshotDateTime** *(string) --* The date and time of the Point in Time (PIT) snapshot that this Recovery Instance was launched from. * **recoveryInstanceID** *(string) --* The ID of the Recovery Instance. * **recoveryInstanceProperties** *(dict) --* Properties of the Recovery Instance machine. * **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 block storage device on the Recovery Instance. * **bytes** *(integer) --* The amount of storage on the disk in bytes. * **ebsVolumeID** *(string) --* The EBS Volume ID of this disk. * **internalDeviceName** *(string) --* The internal device name of this disk. This is the name that is visible on the machine itself and not from the EC2 console. * **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 Recovery Instance 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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceServerID** *(string) --* The Source Server ID that this Recovery Instance is associated with. * **tags** *(dict) --* An array of tags that are associated with the Recovery Instance. * *(string) --* * *(string) --* * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeReplicationConfigurationTemplates DescribeReplicationConfigurationTemplates ***************************************** class drs.Paginator.DescribeReplicationConfigurationTemplates paginator = client.get_paginator('describe_replication_configuration_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_replication_configuration_templates()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( replicationConfigurationTemplateIDs=[ 'string', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **replicationConfigurationTemplateIDs** (*list*) -- The IDs of the Replication Configuration Templates to retrieve. An empty list means all Replication Configuration Templates. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { '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 }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Replication Configuration Templates. * *(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. * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeRecoverySnapshots DescribeRecoverySnapshots ************************* class drs.Paginator.DescribeRecoverySnapshots paginator = client.get_paginator('describe_recovery_snapshots') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_recovery_snapshots()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filters={ 'fromDateTime': 'string', 'toDateTime': 'string' }, order='ASC'|'DESC', sourceServerID='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Recovery Snapshots. * **fromDateTime** *(string) --* The start date in a date range query. * **toDateTime** *(string) --* The end date in a date range query. * **order** (*string*) -- The sorted ordering by which to return Recovery Snapshots. * **sourceServerID** (*string*) -- **[REQUIRED]** Filter Recovery Snapshots by Source Server ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { 'ebsSnapshots': [ 'string', ], 'expectedTimestamp': 'string', 'snapshotID': 'string', 'sourceServerID': 'string', 'timestamp': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Recovery Snapshots. * *(dict) --* A snapshot of a Source Server used during recovery. * **ebsSnapshots** *(list) --* A list of EBS snapshots. * *(string) --* * **expectedTimestamp** *(string) --* The timestamp of when we expect the snapshot to be taken. * **snapshotID** *(string) --* The ID of the Recovery Snapshot. * **sourceServerID** *(string) --* The ID of the Source Server that the snapshot was taken for. * **timestamp** *(string) --* The actual timestamp that the snapshot was taken. * **NextToken** *(string) --* A token to resume pagination. drs / Paginator / DescribeJobs DescribeJobs ************ class drs.Paginator.DescribeJobs paginator = client.get_paginator('describe_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "drs.Client.describe_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filters={ 'fromDate': 'string', 'jobIDs': [ 'string', ], 'toDate': 'string' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Jobs. * **fromDate** *(string) --* The start date in a date range query. * **jobIDs** *(list) --* An array of Job IDs that should be returned. An empty array means all jobs. * *(string) --* * **toDate** *(string) --* The end date in a date range query. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'items': [ { '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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, 'launchStatus': 'PENDING'|'IN_PROGRESS'|'LAUNCHED'|'FAILED'|'TERMINATED', 'recoveryInstanceID': 'string', 'sourceServerID': 'string' }, ], 'status': 'PENDING'|'STARTED'|'COMPLETED', 'tags': { 'string': 'string' }, 'type': 'LAUNCH'|'TERMINATE'|'CREATE_CONVERTED_SNAPSHOT' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Jobs. * *(dict) --* A job is an asynchronous workflow. * **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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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. * **NextToken** *(string) --* A token to resume pagination. drs / Client / delete_job delete_job ********** drs.Client.delete_job(**kwargs) Deletes a single Job by ID. See also: AWS API Documentation **Request Syntax** response = client.delete_job( jobID='string' ) Parameters: **jobID** (*string*) -- **[REQUIRED]** The ID of the Job to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / get_paginator get_paginator ************* drs.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. drs / Client / create_replication_configuration_template create_replication_configuration_template ***************************************** drs.Client.create_replication_configuration_template(**kwargs) Creates a new ReplicationConfigurationTemplate. See also: AWS API Documentation **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 ) Parameters: * **associateDefaultSecurityGroup** (*boolean*) -- **[REQUIRED]** 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*) -- **[REQUIRED]** Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. * **createPublicIP** (*boolean*) -- **[REQUIRED]** Whether to create a Public IP for the Recovery Instance by default. * **dataPlaneRouting** (*string*) -- **[REQUIRED]** The data plane routing mechanism that will be used for replication. * **defaultLargeStagingDiskType** (*string*) -- **[REQUIRED]** The Staging Disk EBS volume type to be used during replication. * **ebsEncryption** (*string*) -- **[REQUIRED]** 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*) -- **[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. * **replicationServerInstanceType** (*string*) -- **[REQUIRED]** The instance type to be used for the replication server. * **replicationServersSecurityGroupsIDs** (*list*) -- **[REQUIRED]** The security group IDs that will be used by the replication server. * *(string) --* * **stagingAreaSubnetId** (*string*) -- **[REQUIRED]** The subnet to be used by the replication staging area. * **stagingAreaTags** (*dict*) -- **[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) --* * **tags** (*dict*) -- A set of tags to be associated with the Replication Configuration Template resource. * *(string) --* * *(string) --* * **useDedicatedReplicationServer** (*boolean*) -- **[REQUIRED]** Whether to use a dedicated Replication Server in the replication staging area. Return type: 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** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ServiceQuotaExceededException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_job_log_items describe_job_log_items ********************** drs.Client.describe_job_log_items(**kwargs) Retrieves a detailed Job log with pagination. See also: AWS API Documentation **Request Syntax** response = client.describe_job_log_items( jobID='string', maxResults=123, nextToken='string' ) Parameters: * **jobID** (*string*) -- **[REQUIRED]** The ID of the Job for which Job log items will be retrieved. * **maxResults** (*integer*) -- Maximum number of Job log items to retrieve. * **nextToken** (*string*) -- The token of the next Job log items to retrieve. Return type: dict Returns: **Response Syntax** { 'items': [ { 'event': 'JOB_START'|'SERVER_SKIPPED'|'CLEANUP_START'|'CLEANUP_END'|'CLEANUP_FAIL'|'SNAPSHOT_START'|'SNAPSHOT_END'|'SNAPSHOT_FAIL'|'USING_PREVIOUS_SNAPSHOT'|'USING_PREVIOUS_SNAPSHOT_FAILED'|'CONVERSION_START'|'CONVERSION_END'|'CONVERSION_FAIL'|'LAUNCH_START'|'LAUNCH_FAILED'|'JOB_CANCEL'|'JOB_END'|'DEPLOY_NETWORK_CONFIGURATION_START'|'DEPLOY_NETWORK_CONFIGURATION_END'|'DEPLOY_NETWORK_CONFIGURATION_FAILED'|'UPDATE_NETWORK_CONFIGURATION_START'|'UPDATE_NETWORK_CONFIGURATION_END'|'UPDATE_NETWORK_CONFIGURATION_FAILED'|'UPDATE_LAUNCH_TEMPLATE_START'|'UPDATE_LAUNCH_TEMPLATE_END'|'UPDATE_LAUNCH_TEMPLATE_FAILED'|'NETWORK_RECOVERY_FAIL', 'eventData': { 'conversionProperties': { 'dataTimestamp': 'string', 'forceUefi': True|False, 'rootVolumeName': 'string', 'volumeToConversionMap': { 'string': { 'string': 'string' } }, 'volumeToProductCodes': { 'string': [ { 'productCodeId': 'string', 'productCodeMode': 'ENABLED'|'DISABLED' }, ] }, 'volumeToVolumeSize': { 'string': 123 } }, 'conversionServerID': 'string', 'eventResourceData': { 'sourceNetworkData': { 'sourceNetworkID': 'string', 'sourceVpc': 'string', 'stackName': 'string', 'targetVpc': 'string' } }, 'rawError': 'string', 'sourceServerID': 'string', 'targetInstanceID': 'string' }, 'logDateTime': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Job log items. * *(dict) --* A log outputted by a Job. * **event** *(string) --* The event represents the type of a log. * **eventData** *(dict) --* Metadata associated with a Job log. * **conversionProperties** *(dict) --* Properties of a conversion job * **dataTimestamp** *(string) --* The timestamp of when the snapshot being converted was taken * **forceUefi** *(boolean) --* Whether the volume being converted uses UEFI or not * **rootVolumeName** *(string) --* The root volume name of a conversion job * **volumeToConversionMap** *(dict) --* A mapping between the volumes being converted and the converted snapshot ids * *(string) --* * *(dict) --* * *(string) --* * *(string) --* * **volumeToProductCodes** *(dict) --* A mapping between the volumes being converted and the product codes associated with them * *(string) --* * *(list) --* * *(dict) --* Properties of a product code associated with a volume. * **productCodeId** *(string) --* Id of a product code associated with a volume. * **productCodeMode** *(string) --* Mode of a product code associated with a volume. * **volumeToVolumeSize** *(dict) --* A mapping between the volumes and their sizes * *(string) --* * *(integer) --* * **conversionServerID** *(string) --* The ID of a conversion server. * **eventResourceData** *(dict) --* Properties of resource related to a job event. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "sourceNetworkData". 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'} * **sourceNetworkData** *(dict) --* Source Network properties. * **sourceNetworkID** *(string) --* Source Network ID. * **sourceVpc** *(string) --* VPC ID protected by the Source Network. * **stackName** *(string) --* CloudFormation stack name that was deployed for recovering the Source Network. * **targetVpc** *(string) --* ID of the recovered VPC following Source Network recovery. * **rawError** *(string) --* A string representing a job error. * **sourceServerID** *(string) --* The ID of a Source Server. * **targetInstanceID** *(string) --* The ID of a Recovery Instance. * **logDateTime** *(string) --* The date and time the log was taken. * **nextToken** *(string) --* The token of the next Job log items to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / disconnect_source_server 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** { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, 'sourceServerID': 'string', 'stagingArea': { 'errorMessage': 'string', 'stagingAccountID': 'string', 'stagingSourceServerArn': 'string', 'status': 'EXTENDED'|'EXTENSION_ERROR'|'NOT_EXTENDED' }, 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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" drs / Client / initialize_service initialize_service ****************** drs.Client.initialize_service() Initialize Elastic Disaster Recovery. See also: AWS API Documentation **Request Syntax** response = client.initialize_service() Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" drs / Client / list_extensible_source_servers list_extensible_source_servers ****************************** drs.Client.list_extensible_source_servers(**kwargs) Returns a list of source servers on a staging account that are extensible, which means that: a. The source server is not already extended into this Account. b. The source server on the Account we’re reading from is not an extension of another source server. See also: AWS API Documentation **Request Syntax** response = client.list_extensible_source_servers( maxResults=123, nextToken='string', stagingAccountID='string' ) Parameters: * **maxResults** (*integer*) -- The maximum number of extensible source servers to retrieve. * **nextToken** (*string*) -- The token of the next extensible source server to retrieve. * **stagingAccountID** (*string*) -- **[REQUIRED]** The Id of the staging Account to retrieve extensible source servers from. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'hostname': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* A list of source servers on a staging Account that are extensible. * *(dict) --* Source server in staging account that extended source server connected to. * **arn** *(string) --* The ARN of the source server. * **hostname** *(string) --* Hostname of staging source server. * **tags** *(dict) --* A list of tags associated with the staging source server. * *(string) --* * *(string) --* * **nextToken** *(string) --* The token of the next extensible source server to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / update_launch_configuration_template update_launch_configuration_template ************************************ drs.Client.update_launch_configuration_template(**kwargs) Updates an existing Launch Configuration Template by ID. See also: AWS API Documentation **Request Syntax** response = client.update_launch_configuration_template( copyPrivateIp=True|False, copyTags=True|False, exportBucketArn='string', launchConfigurationTemplateID='string', launchDisposition='STOPPED'|'STARTED', launchIntoSourceInstance=True|False, licensing={ 'osByol': True|False }, postLaunchEnabled=True|False, targetInstanceTypeRightSizingMethod='NONE'|'BASIC'|'IN_AWS' ) Parameters: * **copyPrivateIp** (*boolean*) -- Copy private IP. * **copyTags** (*boolean*) -- Copy tags. * **exportBucketArn** (*string*) -- S3 bucket ARN to export Source Network templates. * **launchConfigurationTemplateID** (*string*) -- **[REQUIRED]** Launch Configuration Template ID. * **launchDisposition** (*string*) -- Launch disposition. * **launchIntoSourceInstance** (*boolean*) -- DRS will set the 'launch into instance ID' of any source server when performing a drill, recovery or failback to the previous region or availability zone, using the instance ID of the source instance. * **licensing** (*dict*) -- Licensing. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **postLaunchEnabled** (*boolean*) -- Whether we want to activate post-launch actions. * **targetInstanceTypeRightSizingMethod** (*string*) -- Target instance type right-sizing method. Return type: dict Returns: **Response Syntax** { 'launchConfigurationTemplate': { 'arn': 'string', 'copyPrivateIp': True|False, 'copyTags': True|False, 'exportBucketArn': 'string', 'launchConfigurationTemplateID': 'string', 'launchDisposition': 'STOPPED'|'STARTED', 'launchIntoSourceInstance': True|False, 'licensing': { 'osByol': True|False }, 'postLaunchEnabled': True|False, 'tags': { 'string': 'string' }, 'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC'|'IN_AWS' } } **Response Structure** * *(dict) --* * **launchConfigurationTemplate** *(dict) --* Updated Launch Configuration Template. * **arn** *(string) --* ARN of the Launch Configuration Template. * **copyPrivateIp** *(boolean) --* Copy private IP. * **copyTags** *(boolean) --* Copy tags. * **exportBucketArn** *(string) --* S3 bucket ARN to export Source Network templates. * **launchConfigurationTemplateID** *(string) --* ID of the Launch Configuration Template. * **launchDisposition** *(string) --* Launch disposition. * **launchIntoSourceInstance** *(boolean) --* DRS will set the 'launch into instance ID' of any source server when performing a drill, recovery or failback to the previous region or availability zone, using the instance ID of the source instance. * **licensing** *(dict) --* Licensing. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **postLaunchEnabled** *(boolean) --* Post-launch actions activated. * **tags** *(dict) --* Tags of the Launch Configuration Template. * *(string) --* * *(string) --* * **targetInstanceTypeRightSizingMethod** *(string) --* Target instance type right-sizing method. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / get_launch_configuration get_launch_configuration ************************ drs.Client.get_launch_configuration(**kwargs) Gets a LaunchConfiguration, filtered by Source Server IDs. See also: AWS API Documentation **Request Syntax** response = client.get_launch_configuration( sourceServerID='string' ) Parameters: **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Server that we want to retrieve a Launch Configuration for. Return type: dict Returns: **Response Syntax** { 'copyPrivateIp': True|False, 'copyTags': True|False, 'ec2LaunchTemplateID': 'string', 'launchDisposition': 'STOPPED'|'STARTED', 'launchIntoInstanceProperties': { 'launchIntoEC2InstanceID': 'string' }, 'licensing': { 'osByol': True|False }, 'name': 'string', 'postLaunchEnabled': True|False, 'sourceServerID': 'string', 'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC'|'IN_AWS' } **Response Structure** * *(dict) --* * **copyPrivateIp** *(boolean) --* Whether we should copy the Private IP of the Source Server to the Recovery Instance. * **copyTags** *(boolean) --* Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance. * **ec2LaunchTemplateID** *(string) --* The EC2 launch template ID of this launch configuration. * **launchDisposition** *(string) --* The state of the Recovery Instance in EC2 after the recovery operation. * **launchIntoInstanceProperties** *(dict) --* Launch into existing instance properties. * **launchIntoEC2InstanceID** *(string) --* Optionally holds EC2 instance ID of an instance to launch into, instead of launching a new instance during drill, recovery or failback. * **licensing** *(dict) --* The licensing configuration to be used for this launch configuration. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **name** *(string) --* The name of the launch configuration. * **postLaunchEnabled** *(boolean) --* Whether we want to activate post-launch actions for the Source Server. * **sourceServerID** *(string) --* The ID of the Source Server for this launch configuration. * **targetInstanceTypeRightSizingMethod** *(string) --* Whether Elastic Disaster Recovery should try to automatically choose the instance type that best matches the OS, CPU, and RAM of your Source Server. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / can_paginate can_paginate ************ drs.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. drs / Client / get_replication_configuration get_replication_configuration ***************************** drs.Client.get_replication_configuration(**kwargs) Gets a ReplicationConfiguration, filtered by Source Server ID. See also: AWS API Documentation **Request Syntax** response = client.get_replication_configuration( sourceServerID='string' ) Parameters: **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Serve for this Replication Configuration.r Return type: dict Returns: **Response Syntax** { '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', 'name': 'string', 'pitPolicy': [ { 'enabled': True|False, 'interval': 123, 'retentionDuration': 123, 'ruleID': 123, 'units': 'MINUTE'|'HOUR'|'DAY' }, ], 'replicatedDisks': [ { 'deviceName': 'string', 'iops': 123, 'isBootDisk': True|False, 'optimizedStagingDiskType': 'AUTO'|'GP2'|'GP3'|'IO1'|'SC1'|'ST1'|'STANDARD', 'stagingDiskType': 'AUTO'|'GP2'|'GP3'|'IO1'|'SC1'|'ST1'|'STANDARD', 'throughput': 123 }, ], 'replicationServerInstanceType': 'string', 'replicationServersSecurityGroupsIDs': [ 'string', ], 'sourceServerID': 'string', 'stagingAreaSubnetId': 'string', 'stagingAreaTags': { 'string': 'string' }, 'useDedicatedReplicationServer': True|False } **Response Structure** * *(dict) --* * **associateDefaultSecurityGroup** *(boolean) --* Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. * **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. * **name** *(string) --* The name of the Replication Configuration. * **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. * **replicatedDisks** *(list) --* The configuration of the disks of the Source Server to be replicated. * *(dict) --* The configuration of a disk of the Source Server to be replicated. * **deviceName** *(string) --* The name of the device. * **iops** *(integer) --* The requested number of I/O operations per second (IOPS). * **isBootDisk** *(boolean) --* Whether to boot from this disk or not. * **optimizedStagingDiskType** *(string) --* The Staging Disk EBS volume type to be used during replication when "stagingDiskType" is set to Auto. This is a read-only field. * **stagingDiskType** *(string) --* The Staging Disk EBS volume type to be used during replication. * **throughput** *(integer) --* The throughput to use for the EBS volume in MiB/s. This parameter is valid only for gp3 volumes. * **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) --* * **sourceServerID** *(string) --* The ID of the Source Server for this Replication Configuration. * **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) --* * **useDedicatedReplicationServer** *(boolean) --* Whether to use a dedicated Replication Server in the replication staging area. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / update_replication_configuration update_replication_configuration ******************************** drs.Client.update_replication_configuration(**kwargs) Allows you to update a ReplicationConfiguration by Source Server ID. See also: AWS API Documentation **Request Syntax** response = client.update_replication_configuration( 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', name='string', pitPolicy=[ { 'enabled': True|False, 'interval': 123, 'retentionDuration': 123, 'ruleID': 123, 'units': 'MINUTE'|'HOUR'|'DAY' }, ], replicatedDisks=[ { 'deviceName': 'string', 'iops': 123, 'isBootDisk': True|False, 'optimizedStagingDiskType': 'AUTO'|'GP2'|'GP3'|'IO1'|'SC1'|'ST1'|'STANDARD', 'stagingDiskType': 'AUTO'|'GP2'|'GP3'|'IO1'|'SC1'|'ST1'|'STANDARD', 'throughput': 123 }, ], replicationServerInstanceType='string', replicationServersSecurityGroupsIDs=[ 'string', ], sourceServerID='string', stagingAreaSubnetId='string', stagingAreaTags={ 'string': 'string' }, useDedicatedReplicationServer=True|False ) Parameters: * **associateDefaultSecurityGroup** (*boolean*) -- Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. * **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. * **name** (*string*) -- The name of the Replication Configuration. * **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) --* **[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. * **replicatedDisks** (*list*) -- The configuration of the disks of the Source Server to be replicated. * *(dict) --* The configuration of a disk of the Source Server to be replicated. * **deviceName** *(string) --* The name of the device. * **iops** *(integer) --* The requested number of I/O operations per second (IOPS). * **isBootDisk** *(boolean) --* Whether to boot from this disk or not. * **optimizedStagingDiskType** *(string) --* The Staging Disk EBS volume type to be used during replication when "stagingDiskType" is set to Auto. This is a read-only field. * **stagingDiskType** *(string) --* The Staging Disk EBS volume type to be used during replication. * **throughput** *(integer) --* The throughput to use for the EBS volume in MiB/s. This parameter is valid only for gp3 volumes. * **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) --* * **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Server for this Replication Configuration. * **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) --* * **useDedicatedReplicationServer** (*boolean*) -- Whether to use a dedicated Replication Server in the replication staging area. Return type: dict Returns: **Response Syntax** { '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', 'name': 'string', 'pitPolicy': [ { 'enabled': True|False, 'interval': 123, 'retentionDuration': 123, 'ruleID': 123, 'units': 'MINUTE'|'HOUR'|'DAY' }, ], 'replicatedDisks': [ { 'deviceName': 'string', 'iops': 123, 'isBootDisk': True|False, 'optimizedStagingDiskType': 'AUTO'|'GP2'|'GP3'|'IO1'|'SC1'|'ST1'|'STANDARD', 'stagingDiskType': 'AUTO'|'GP2'|'GP3'|'IO1'|'SC1'|'ST1'|'STANDARD', 'throughput': 123 }, ], 'replicationServerInstanceType': 'string', 'replicationServersSecurityGroupsIDs': [ 'string', ], 'sourceServerID': 'string', 'stagingAreaSubnetId': 'string', 'stagingAreaTags': { 'string': 'string' }, 'useDedicatedReplicationServer': True|False } **Response Structure** * *(dict) --* * **associateDefaultSecurityGroup** *(boolean) --* Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. * **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. * **name** *(string) --* The name of the Replication Configuration. * **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. * **replicatedDisks** *(list) --* The configuration of the disks of the Source Server to be replicated. * *(dict) --* The configuration of a disk of the Source Server to be replicated. * **deviceName** *(string) --* The name of the device. * **iops** *(integer) --* The requested number of I/O operations per second (IOPS). * **isBootDisk** *(boolean) --* Whether to boot from this disk or not. * **optimizedStagingDiskType** *(string) --* The Staging Disk EBS volume type to be used during replication when "stagingDiskType" is set to Auto. This is a read-only field. * **stagingDiskType** *(string) --* The Staging Disk EBS volume type to be used during replication. * **throughput** *(integer) --* The throughput to use for the EBS volume in MiB/s. This parameter is valid only for gp3 volumes. * **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) --* * **sourceServerID** *(string) --* The ID of the Source Server for this Replication Configuration. * **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) --* * **useDedicatedReplicationServer** *(boolean) --* Whether to use a dedicated Replication Server in the replication staging area. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / retry_data_replication retry_data_replication ********************** drs.Client.retry_data_replication(**kwargs) WARNING: RetryDataReplication is deprecated. Causes the data replication initiation sequence to begin immediately upon next Handshake for the specified Source Server ID, regardless of when the previous initiation started. This command will work only if the Source Server is stalled or is in a DISCONNECTED or STOPPED state. Danger: This operation is deprecated and may not function as expected. This operation should not be used going forward and is only kept for the purpose of backwards compatiblity. See also: AWS API Documentation **Request Syntax** response = client.retry_data_replication( sourceServerID='string' ) Parameters: **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Server whose data replication should be retried. Return type: dict Returns: **Response Syntax** { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, 'sourceServerID': 'string', 'stagingArea': { 'errorMessage': 'string', 'stagingAccountID': 'string', 'stagingSourceServerArn': 'string', 'status': 'EXTENDED'|'EXTENSION_ERROR'|'NOT_EXTENDED' }, 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / start_source_network_recovery start_source_network_recovery ***************************** drs.Client.start_source_network_recovery(**kwargs) Deploy VPC for the specified Source Network and modify launch templates to use this network. The VPC will be deployed using a dedicated CloudFormation stack. See also: AWS API Documentation **Request Syntax** response = client.start_source_network_recovery( deployAsNew=True|False, sourceNetworks=[ { 'cfnStackName': 'string', 'sourceNetworkID': 'string' }, ], tags={ 'string': 'string' } ) Parameters: * **deployAsNew** (*boolean*) -- Don't update existing CloudFormation Stack, recover the network using a new stack. * **sourceNetworks** (*list*) -- **[REQUIRED]** The Source Networks that we want to start a Recovery Job for. * *(dict) --* An object representing the Source Network to recover. * **cfnStackName** *(string) --* CloudFormation stack name to be used for recovering the network. * **sourceNetworkID** *(string) --* **[REQUIRED]** The ID of the Source Network you want to recover. * **tags** (*dict*) -- The tags to be associated with the Source Network 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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, '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 Source Network 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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_jobs describe_jobs ************* drs.Client.describe_jobs(**kwargs) Returns a list of Jobs. Use the JobsID and fromDate and toDate filters to limit which jobs are returned. The response is sorted by creationDataTime - latest date first. Jobs are created by the StartRecovery, TerminateRecoveryInstances and StartFailbackLaunch APIs. Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances, which are APIs available only to *Support* and only used in response to relevant support tickets. See also: AWS API Documentation **Request Syntax** response = client.describe_jobs( filters={ 'fromDate': 'string', 'jobIDs': [ 'string', ], 'toDate': 'string' }, maxResults=123, nextToken='string' ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Jobs. * **fromDate** *(string) --* The start date in a date range query. * **jobIDs** *(list) --* An array of Job IDs that should be returned. An empty array means all jobs. * *(string) --* * **toDate** *(string) --* The end date in a date range query. * **maxResults** (*integer*) -- Maximum number of Jobs to retrieve. * **nextToken** (*string*) -- The token of the next Job to retrieve. Return type: dict Returns: **Response Syntax** { 'items': [ { '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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, 'launchStatus': 'PENDING'|'IN_PROGRESS'|'LAUNCHED'|'FAILED'|'TERMINATED', 'recoveryInstanceID': 'string', 'sourceServerID': 'string' }, ], 'status': 'PENDING'|'STARTED'|'COMPLETED', 'tags': { 'string': 'string' }, 'type': 'LAUNCH'|'TERMINATE'|'CREATE_CONVERTED_SNAPSHOT' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Jobs. * *(dict) --* A job is an asynchronous workflow. * **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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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. * **nextToken** *(string) --* The token of the next Job to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / terminate_recovery_instances terminate_recovery_instances **************************** drs.Client.terminate_recovery_instances(**kwargs) Initiates a Job for terminating the EC2 resources associated with the specified Recovery Instances, and then will delete the Recovery Instances from the Elastic Disaster Recovery service. See also: AWS API Documentation **Request Syntax** response = client.terminate_recovery_instances( recoveryInstanceIDs=[ 'string', ] ) Parameters: **recoveryInstanceIDs** (*list*) -- **[REQUIRED]** The IDs of the Recovery Instances that should be terminated. * *(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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, '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 Job for terminating the Recovery Instances. * **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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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" 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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, '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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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" drs / Client / list_tags_for_resource list_tags_for_resource ********************** drs.Client.list_tags_for_resource(**kwargs) List all tags for your Elastic Disaster Recovery resources. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( resourceArn='string' ) Parameters: **resourceArn** (*string*) -- **[REQUIRED]** The ARN of the resource whose tags should be returned. Return type: dict Returns: **Response Syntax** { 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **tags** *(dict) --* The tags of the requested resource. * *(string) --* * *(string) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" drs / Client / list_staging_accounts list_staging_accounts ********************* drs.Client.list_staging_accounts(**kwargs) Returns an array of staging accounts for existing extended source servers. See also: AWS API Documentation **Request Syntax** response = client.list_staging_accounts( maxResults=123, nextToken='string' ) Parameters: * **maxResults** (*integer*) -- The maximum number of staging Accounts to retrieve. * **nextToken** (*string*) -- The token of the next staging Account to retrieve. Return type: dict Returns: **Response Syntax** { 'accounts': [ { 'accountID': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **accounts** *(list) --* An array of staging AWS Accounts. * *(dict) --* AWS account. * **accountID** *(string) --* Account ID of AWS account. * **nextToken** *(string) --* The token of the next staging Account to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_recovery_snapshots describe_recovery_snapshots *************************** drs.Client.describe_recovery_snapshots(**kwargs) Lists all Recovery Snapshots for a single Source Server. See also: AWS API Documentation **Request Syntax** response = client.describe_recovery_snapshots( filters={ 'fromDateTime': 'string', 'toDateTime': 'string' }, maxResults=123, nextToken='string', order='ASC'|'DESC', sourceServerID='string' ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Recovery Snapshots. * **fromDateTime** *(string) --* The start date in a date range query. * **toDateTime** *(string) --* The end date in a date range query. * **maxResults** (*integer*) -- Maximum number of Recovery Snapshots to retrieve. * **nextToken** (*string*) -- The token of the next Recovery Snapshot to retrieve. * **order** (*string*) -- The sorted ordering by which to return Recovery Snapshots. * **sourceServerID** (*string*) -- **[REQUIRED]** Filter Recovery Snapshots by Source Server ID. Return type: dict Returns: **Response Syntax** { 'items': [ { 'ebsSnapshots': [ 'string', ], 'expectedTimestamp': 'string', 'snapshotID': 'string', 'sourceServerID': 'string', 'timestamp': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Recovery Snapshots. * *(dict) --* A snapshot of a Source Server used during recovery. * **ebsSnapshots** *(list) --* A list of EBS snapshots. * *(string) --* * **expectedTimestamp** *(string) --* The timestamp of when we expect the snapshot to be taken. * **snapshotID** *(string) --* The ID of the Recovery Snapshot. * **sourceServerID** *(string) --* The ID of the Source Server that the snapshot was taken for. * **timestamp** *(string) --* The actual timestamp that the snapshot was taken. * **nextToken** *(string) --* The token of the next Recovery Snapshot to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / untag_resource untag_resource ************** drs.Client.untag_resource(**kwargs) Deletes the specified set of tags from the specified set of Elastic Disaster Recovery resources. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** ARN of the resource for which tags are to be removed. * **tagKeys** (*list*) -- **[REQUIRED]** Array of tags to be removed. * *(string) --* Returns: None **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" drs / Client / delete_source_network delete_source_network ********************* drs.Client.delete_source_network(**kwargs) Delete Source Network resource. See also: AWS API Documentation **Request Syntax** response = client.delete_source_network( sourceNetworkID='string' ) Parameters: **sourceNetworkID** (*string*) -- **[REQUIRED]** ID of the Source Network to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / delete_launch_action delete_launch_action ******************** drs.Client.delete_launch_action(**kwargs) Deletes a resource launch action. See also: AWS API Documentation **Request Syntax** response = client.delete_launch_action( actionId='string', resourceId='string' ) Parameters: * **actionId** (*string*) -- **[REQUIRED]** Launch action Id. * **resourceId** (*string*) -- **[REQUIRED]** Launch configuration template Id or Source Server Id Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / stop_source_network_replication stop_source_network_replication ******************************* drs.Client.stop_source_network_replication(**kwargs) Stops replication for a Source Network. This action would make the Source Network unprotected. See also: AWS API Documentation **Request Syntax** response = client.stop_source_network_replication( sourceNetworkID='string' ) Parameters: **sourceNetworkID** (*string*) -- **[REQUIRED]** ID of the Source Network to stop replication. Return type: dict Returns: **Response Syntax** { 'sourceNetwork': { 'arn': 'string', 'cfnStackName': 'string', 'lastRecovery': { 'apiCallDateTime': datetime(2015, 1, 1), 'jobID': 'string', 'lastRecoveryResult': 'NOT_STARTED'|'IN_PROGRESS'|'SUCCESS'|'FAIL'|'PARTIAL_SUCCESS'|'ASSOCIATE_SUCCESS'|'ASSOCIATE_FAIL' }, 'launchedVpcID': 'string', 'replicationStatus': 'STOPPED'|'IN_PROGRESS'|'PROTECTED'|'ERROR', 'replicationStatusDetails': 'string', 'sourceAccountID': 'string', 'sourceNetworkID': 'string', 'sourceRegion': 'string', 'sourceVpcID': 'string', 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **sourceNetwork** *(dict) --* Source Network which was requested to stop replication. * **arn** *(string) --* The ARN of the Source Network. * **cfnStackName** *(string) --* CloudFormation stack name that was deployed for recovering the Source Network. * **lastRecovery** *(dict) --* An object containing information regarding the last recovery of the Source Network. * **apiCallDateTime** *(datetime) --* The date and time the last Source Network recovery was initiated. * **jobID** *(string) --* The ID of the Job that was used to last recover the Source Network. * **lastRecoveryResult** *(string) --* The status of the last recovery status of this Source Network. * **launchedVpcID** *(string) --* ID of the recovered VPC following Source Network recovery. * **replicationStatus** *(string) --* Status of Source Network Replication. Possible values: (a) STOPPED - Source Network is not replicating. (b) IN_PROGRESS - Source Network is being replicated. (c) PROTECTED - Source Network was replicated successfully and is being synchronized for changes. (d) ERROR - Source Network replication has failed * **replicationStatusDetails** *(string) --* Error details in case Source Network replication status is ERROR. * **sourceAccountID** *(string) --* Account ID containing the VPC protected by the Source Network. * **sourceNetworkID** *(string) --* Source Network ID. * **sourceRegion** *(string) --* Region containing the VPC protected by the Source Network. * **sourceVpcID** *(string) --* VPC ID protected by the Source Network. * **tags** *(dict) --* A list of tags associated with the Source Network. * *(string) --* * *(string) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / create_source_network create_source_network ********************* drs.Client.create_source_network(**kwargs) Create a new Source Network resource for a provided VPC ID. See also: AWS API Documentation **Request Syntax** response = client.create_source_network( originAccountID='string', originRegion='string', tags={ 'string': 'string' }, vpcID='string' ) Parameters: * **originAccountID** (*string*) -- **[REQUIRED]** Account containing the VPC to protect. * **originRegion** (*string*) -- **[REQUIRED]** Region containing the VPC to protect. * **tags** (*dict*) -- A set of tags to be associated with the Source Network resource. * *(string) --* * *(string) --* * **vpcID** (*string*) -- **[REQUIRED]** Which VPC ID to protect. Return type: dict Returns: **Response Syntax** { 'sourceNetworkID': 'string' } **Response Structure** * *(dict) --* * **sourceNetworkID** *(string) --* ID of the created Source Network. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ServiceQuotaExceededException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / update_failback_replication_configuration update_failback_replication_configuration ***************************************** drs.Client.update_failback_replication_configuration(**kwargs) Allows you to update the failback replication configuration of a Recovery Instance by ID. See also: AWS API Documentation **Request Syntax** response = client.update_failback_replication_configuration( bandwidthThrottling=123, name='string', recoveryInstanceID='string', usePrivateIP=True|False ) Parameters: * **bandwidthThrottling** (*integer*) -- Configure bandwidth throttling for the outbound data transfer rate of the Recovery Instance in Mbps. * **name** (*string*) -- The name of the Failback Replication Configuration. * **recoveryInstanceID** (*string*) -- **[REQUIRED]** The ID of the Recovery Instance. * **usePrivateIP** (*boolean*) -- Whether to use Private IP for the failback replication of the Recovery Instance. Returns: None **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / get_waiter get_waiter ********** drs.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" drs / Client / associate_source_network_stack associate_source_network_stack ****************************** drs.Client.associate_source_network_stack(**kwargs) Associate a Source Network to an existing CloudFormation Stack and modify launch templates to use this network. Can be used for reverting to previously deployed CloudFormation stacks. See also: AWS API Documentation **Request Syntax** response = client.associate_source_network_stack( cfnStackName='string', sourceNetworkID='string' ) Parameters: * **cfnStackName** (*string*) -- **[REQUIRED]** CloudFormation template to associate with a Source Network. * **sourceNetworkID** (*string*) -- **[REQUIRED]** The Source Network ID to associate with CloudFormation template. 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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, '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 Source Network association 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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ServiceQuotaExceededException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / reverse_replication reverse_replication ******************* drs.Client.reverse_replication(**kwargs) Start replication to origin / target region - applies only to protected instances that originated in EC2. For recovery instances on target region - starts replication back to origin region. For failback instances on origin region - starts replication to target region to re-protect them. See also: AWS API Documentation **Request Syntax** response = client.reverse_replication( recoveryInstanceID='string' ) Parameters: **recoveryInstanceID** (*string*) -- **[REQUIRED]** The ID of the Recovery Instance that we want to reverse the replication for. Return type: dict Returns: **Response Syntax** { 'reversedDirectionSourceServerArn': 'string' } **Response Structure** * *(dict) --* * **reversedDirectionSourceServerArn** *(string) --* ARN of created SourceServer. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / delete_source_server delete_source_server ******************** drs.Client.delete_source_server(**kwargs) Deletes a single Source Server by ID. The Source Server must be disconnected first. See also: AWS API Documentation **Request Syntax** response = client.delete_source_server( sourceServerID='string' ) Parameters: **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Server to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / start_failback_launch start_failback_launch ********************* drs.Client.start_failback_launch(**kwargs) Initiates a Job for launching the machine that is being failed back to from the specified Recovery Instance. This will run conversion on the failback client and will reboot your machine, thus completing the failback process. See also: AWS API Documentation **Request Syntax** response = client.start_failback_launch( recoveryInstanceIDs=[ 'string', ], tags={ 'string': 'string' } ) Parameters: * **recoveryInstanceIDs** (*list*) -- **[REQUIRED]** The IDs of the Recovery Instance whose failback launch we want to request. * *(string) --* * **tags** (*dict*) -- The tags to be associated with the failback launch 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': [ { 'launchActionsStatus': { 'runs': [ { 'action': { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, 'failureReason': 'string', 'runId': 'string', 'status': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED' }, ], 'ssmAgentDiscoveryDatetime': 'string' }, '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 failback launch 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. * **launchActionsStatus** *(dict) --* The post-launch action runs of a participating server. * **runs** *(list) --* List of post launch action status. * *(dict) --* Launch action run. * **action** *(dict) --* Action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **failureReason** *(string) --* Failure reason. * **runId** *(string) --* Run Id. * **status** *(string) --* Run status. * **ssmAgentDiscoveryDatetime** *(string) --* Time where the AWS Systems Manager was detected as running on the launched instance. * **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.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_recovery_instances describe_recovery_instances *************************** drs.Client.describe_recovery_instances(**kwargs) Lists all Recovery Instances or multiple Recovery Instances by ID. See also: AWS API Documentation **Request Syntax** response = client.describe_recovery_instances( filters={ 'recoveryInstanceIDs': [ 'string', ], 'sourceServerIDs': [ 'string', ] }, maxResults=123, nextToken='string' ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Recovery Instances. * **recoveryInstanceIDs** *(list) --* An array of Recovery Instance IDs that should be returned. An empty array means all Recovery Instances. * *(string) --* * **sourceServerIDs** *(list) --* An array of Source Server IDs for which associated Recovery Instances should be returned. * *(string) --* * **maxResults** (*integer*) -- Maximum number of Recovery Instances to retrieve. * **nextToken** (*string*) -- The token of the next Recovery Instance to retrieve. Return type: dict Returns: **Response Syntax** { 'items': [ { 'agentVersion': 'string', 'arn': 'string', 'dataReplicationInfo': { 'dataReplicationError': { 'error': 'AGENT_NOT_SEEN'|'FAILBACK_CLIENT_NOT_SEEN'|'NOT_CONVERGING'|'UNSTABLE_NETWORK'|'FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION'|'FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT'|'FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE'|'FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE'|'FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION'|'FAILED_GETTING_REPLICATION_STATE'|'SNAPSHOTS_FAILURE'|'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': { 'startDateTime': 'string', 'steps': [ { 'name': 'LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE'|'COMPLETE_VOLUME_MAPPING'|'ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION'|'DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT'|'CONFIGURE_REPLICATION_SOFTWARE'|'PAIR_AGENT_WITH_REPLICATION_SOFTWARE'|'ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION'|'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'|'REPLICATION_STATE_NOT_AVAILABLE'|'NOT_STARTED', 'etaDateTime': 'string', 'lagDuration': 'string', 'replicatedDisks': [ { 'backloggedStorageBytes': 123, 'deviceName': 'string', 'replicatedStorageBytes': 123, 'rescannedStorageBytes': 123, 'totalStorageBytes': 123 }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': 'string' }, 'ec2InstanceID': 'string', 'ec2InstanceState': 'PENDING'|'RUNNING'|'STOPPING'|'STOPPED'|'SHUTTING-DOWN'|'TERMINATED'|'NOT_FOUND', 'failback': { 'agentLastSeenByServiceDateTime': 'string', 'elapsedReplicationDuration': 'string', 'failbackClientID': 'string', 'failbackClientLastSeenByServiceDateTime': 'string', 'failbackInitiationTime': 'string', 'failbackJobID': 'string', 'failbackLaunchType': 'RECOVERY'|'DRILL', 'failbackToOriginalServer': True|False, 'firstByteDateTime': 'string', 'state': 'FAILBACK_NOT_STARTED'|'FAILBACK_IN_PROGRESS'|'FAILBACK_READY_FOR_LAUNCH'|'FAILBACK_COMPLETED'|'FAILBACK_ERROR'|'FAILBACK_NOT_READY_FOR_LAUNCH'|'FAILBACK_LAUNCH_STATE_NOT_AVAILABLE' }, 'isDrill': True|False, 'jobID': 'string', 'originAvailabilityZone': 'string', 'originEnvironment': 'ON_PREMISES'|'AWS', 'pointInTimeSnapshotDateTime': 'string', 'recoveryInstanceID': 'string', 'recoveryInstanceProperties': { 'cpus': [ { 'cores': 123, 'modelName': 'string' }, ], 'disks': [ { 'bytes': 123, 'ebsVolumeID': 'string', 'internalDeviceName': '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 }, 'sourceOutpostArn': 'string', 'sourceServerID': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Recovery Instances. * *(dict) --* A Recovery Instance is a replica of a Source Server running on EC2. * **agentVersion** *(string) --* The version of the DRS agent installed on the recovery instance * **arn** *(string) --* The ARN of the Recovery Instance. * **dataReplicationInfo** *(dict) --* The Data Replication Info of the Recovery Instance. * **dataReplicationError** *(dict) --* Information about 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. * **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. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **ec2InstanceID** *(string) --* The EC2 instance ID of the Recovery Instance. * **ec2InstanceState** *(string) --* The state of the EC2 instance for this Recovery Instance. * **failback** *(dict) --* An object representing failback related information of the Recovery Instance. * **agentLastSeenByServiceDateTime** *(string) --* The date and time the agent on the Recovery Instance was last seen by the service. * **elapsedReplicationDuration** *(string) --* The amount of time that the Recovery Instance has been replicating for. * **failbackClientID** *(string) --* The ID of the failback client that this Recovery Instance is associated with. * **failbackClientLastSeenByServiceDateTime** *(string) --* The date and time that the failback client was last seen by the service. * **failbackInitiationTime** *(string) --* The date and time that the failback initiation started. * **failbackJobID** *(string) --* The Job ID of the last failback log for this Recovery Instance. * **failbackLaunchType** *(string) --* The launch type (Recovery / Drill) of the last launch for the failback replication of this recovery instance. * **failbackToOriginalServer** *(boolean) --* Whether we are failing back to the original Source Server for this Recovery Instance. * **firstByteDateTime** *(string) --* The date and time of the first byte that was replicated from the Recovery Instance. * **state** *(string) --* The state of the failback process that this Recovery Instance is in. * **isDrill** *(boolean) --* Whether this Recovery Instance was created for a drill or for an actual Recovery event. * **jobID** *(string) --* The ID of the Job that created the Recovery Instance. * **originAvailabilityZone** *(string) --* AWS availability zone associated with the recovery instance. * **originEnvironment** *(string) --* Environment (On Premises / AWS) of the instance that the recovery instance originated from. * **pointInTimeSnapshotDateTime** *(string) --* The date and time of the Point in Time (PIT) snapshot that this Recovery Instance was launched from. * **recoveryInstanceID** *(string) --* The ID of the Recovery Instance. * **recoveryInstanceProperties** *(dict) --* Properties of the Recovery Instance machine. * **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 block storage device on the Recovery Instance. * **bytes** *(integer) --* The amount of storage on the disk in bytes. * **ebsVolumeID** *(string) --* The EBS Volume ID of this disk. * **internalDeviceName** *(string) --* The internal device name of this disk. This is the name that is visible on the machine itself and not from the EC2 console. * **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 Recovery Instance 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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceServerID** *(string) --* The Source Server ID that this Recovery Instance is associated with. * **tags** *(dict) --* An array of tags that are associated with the Recovery Instance. * *(string) --* * *(string) --* * **nextToken** *(string) --* The token of the next Recovery Instance to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / stop_replication stop_replication **************** drs.Client.stop_replication(**kwargs) Stops replication for a Source Server. This action would make the Source Server unprotected, delete its existing snapshots and stop billing for it. See also: AWS API Documentation **Request Syntax** response = client.stop_replication( sourceServerID='string' ) Parameters: **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Server to stop replication for. Return type: dict Returns: **Response Syntax** { 'sourceServer': { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, '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. * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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" drs / Client / disconnect_recovery_instance disconnect_recovery_instance **************************** drs.Client.disconnect_recovery_instance(**kwargs) Disconnect a Recovery Instance from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Recovery Instance will be terminated / deleted within 90 minutes. If the agent on the Recovery Instance 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 Recovery Instance 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_recovery_instance( recoveryInstanceID='string' ) Parameters: **recoveryInstanceID** (*string*) -- **[REQUIRED]** The ID of the Recovery Instance to disconnect. Returns: None **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / put_launch_action put_launch_action ***************** drs.Client.put_launch_action(**kwargs) Puts a resource launch action. See also: AWS API Documentation **Request Syntax** response = client.put_launch_action( actionCode='string', actionId='string', actionVersion='string', active=True|False, category='MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', description='string', name='string', optional=True|False, order=123, parameters={ 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, resourceId='string' ) Parameters: * **actionCode** (*string*) -- **[REQUIRED]** Launch action code. * **actionId** (*string*) -- **[REQUIRED]** Launch action Id. * **actionVersion** (*string*) -- **[REQUIRED]** Launch action version. * **active** (*boolean*) -- **[REQUIRED]** Whether the launch action is active. * **category** (*string*) -- **[REQUIRED]** Launch action category. * **description** (*string*) -- **[REQUIRED]** Launch action description. * **name** (*string*) -- **[REQUIRED]** Launch action name. * **optional** (*boolean*) -- **[REQUIRED]** Whether the launch will not be marked as failed if this action fails. * **order** (*integer*) -- **[REQUIRED]** Launch action order. * **parameters** (*dict*) -- Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **resourceId** (*string*) -- **[REQUIRED]** Launch configuration template Id or Source Server Id Return type: dict Returns: **Response Syntax** { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'resourceId': 'string', 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' } **Response Structure** * *(dict) --* * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **resourceId** *(string) --* Launch configuration template Id or Source Server Id * **type** *(string) --* Launch action type. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / update_launch_configuration update_launch_configuration *************************** drs.Client.update_launch_configuration(**kwargs) Updates a LaunchConfiguration by Source Server ID. See also: AWS API Documentation **Request Syntax** response = client.update_launch_configuration( copyPrivateIp=True|False, copyTags=True|False, launchDisposition='STOPPED'|'STARTED', launchIntoInstanceProperties={ 'launchIntoEC2InstanceID': 'string' }, licensing={ 'osByol': True|False }, name='string', postLaunchEnabled=True|False, sourceServerID='string', targetInstanceTypeRightSizingMethod='NONE'|'BASIC'|'IN_AWS' ) Parameters: * **copyPrivateIp** (*boolean*) -- Whether we should copy the Private IP of the Source Server to the Recovery Instance. * **copyTags** (*boolean*) -- Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance. * **launchDisposition** (*string*) -- The state of the Recovery Instance in EC2 after the recovery operation. * **launchIntoInstanceProperties** (*dict*) -- Launch into existing instance properties. * **launchIntoEC2InstanceID** *(string) --* Optionally holds EC2 instance ID of an instance to launch into, instead of launching a new instance during drill, recovery or failback. * **licensing** (*dict*) -- The licensing configuration to be used for this launch configuration. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **name** (*string*) -- The name of the launch configuration. * **postLaunchEnabled** (*boolean*) -- Whether we want to enable post-launch actions for the Source Server. * **sourceServerID** (*string*) -- **[REQUIRED]** The ID of the Source Server that we want to retrieve a Launch Configuration for. * **targetInstanceTypeRightSizingMethod** (*string*) -- Whether Elastic Disaster Recovery should try to automatically choose the instance type that best matches the OS, CPU, and RAM of your Source Server. Return type: dict Returns: **Response Syntax** { 'copyPrivateIp': True|False, 'copyTags': True|False, 'ec2LaunchTemplateID': 'string', 'launchDisposition': 'STOPPED'|'STARTED', 'launchIntoInstanceProperties': { 'launchIntoEC2InstanceID': 'string' }, 'licensing': { 'osByol': True|False }, 'name': 'string', 'postLaunchEnabled': True|False, 'sourceServerID': 'string', 'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC'|'IN_AWS' } **Response Structure** * *(dict) --* * **copyPrivateIp** *(boolean) --* Whether we should copy the Private IP of the Source Server to the Recovery Instance. * **copyTags** *(boolean) --* Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance. * **ec2LaunchTemplateID** *(string) --* The EC2 launch template ID of this launch configuration. * **launchDisposition** *(string) --* The state of the Recovery Instance in EC2 after the recovery operation. * **launchIntoInstanceProperties** *(dict) --* Launch into existing instance properties. * **launchIntoEC2InstanceID** *(string) --* Optionally holds EC2 instance ID of an instance to launch into, instead of launching a new instance during drill, recovery or failback. * **licensing** *(dict) --* The licensing configuration to be used for this launch configuration. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **name** *(string) --* The name of the launch configuration. * **postLaunchEnabled** *(boolean) --* Whether we want to activate post-launch actions for the Source Server. * **sourceServerID** *(string) --* The ID of the Source Server for this launch configuration. * **targetInstanceTypeRightSizingMethod** *(string) --* Whether Elastic Disaster Recovery should try to automatically choose the instance type that best matches the OS, CPU, and RAM of your Source Server. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / update_replication_configuration_template update_replication_configuration_template ***************************************** drs.Client.update_replication_configuration_template(**kwargs) Updates a ReplicationConfigurationTemplate by ID. See also: AWS API Documentation **Request Syntax** response = client.update_replication_configuration_template( 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' }, useDedicatedReplicationServer=True|False ) Parameters: * **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) --* **[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. * **replicationConfigurationTemplateID** (*string*) -- **[REQUIRED]** 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) --* * **useDedicatedReplicationServer** (*boolean*) -- Whether to use a dedicated Replication Server in the replication staging area. Return type: 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** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / start_source_network_replication start_source_network_replication ******************************** drs.Client.start_source_network_replication(**kwargs) Starts replication for a Source Network. This action would make the Source Network protected. See also: AWS API Documentation **Request Syntax** response = client.start_source_network_replication( sourceNetworkID='string' ) Parameters: **sourceNetworkID** (*string*) -- **[REQUIRED]** ID of the Source Network to replicate. Return type: dict Returns: **Response Syntax** { 'sourceNetwork': { 'arn': 'string', 'cfnStackName': 'string', 'lastRecovery': { 'apiCallDateTime': datetime(2015, 1, 1), 'jobID': 'string', 'lastRecoveryResult': 'NOT_STARTED'|'IN_PROGRESS'|'SUCCESS'|'FAIL'|'PARTIAL_SUCCESS'|'ASSOCIATE_SUCCESS'|'ASSOCIATE_FAIL' }, 'launchedVpcID': 'string', 'replicationStatus': 'STOPPED'|'IN_PROGRESS'|'PROTECTED'|'ERROR', 'replicationStatusDetails': 'string', 'sourceAccountID': 'string', 'sourceNetworkID': 'string', 'sourceRegion': 'string', 'sourceVpcID': 'string', 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **sourceNetwork** *(dict) --* Source Network which was requested for replication. * **arn** *(string) --* The ARN of the Source Network. * **cfnStackName** *(string) --* CloudFormation stack name that was deployed for recovering the Source Network. * **lastRecovery** *(dict) --* An object containing information regarding the last recovery of the Source Network. * **apiCallDateTime** *(datetime) --* The date and time the last Source Network recovery was initiated. * **jobID** *(string) --* The ID of the Job that was used to last recover the Source Network. * **lastRecoveryResult** *(string) --* The status of the last recovery status of this Source Network. * **launchedVpcID** *(string) --* ID of the recovered VPC following Source Network recovery. * **replicationStatus** *(string) --* Status of Source Network Replication. Possible values: (a) STOPPED - Source Network is not replicating. (b) IN_PROGRESS - Source Network is being replicated. (c) PROTECTED - Source Network was replicated successfully and is being synchronized for changes. (d) ERROR - Source Network replication has failed * **replicationStatusDetails** *(string) --* Error details in case Source Network replication status is ERROR. * **sourceAccountID** *(string) --* Account ID containing the VPC protected by the Source Network. * **sourceNetworkID** *(string) --* Source Network ID. * **sourceRegion** *(string) --* Region containing the VPC protected by the Source Network. * **sourceVpcID** *(string) --* VPC ID protected by the Source Network. * **tags** *(dict) --* A list of tags associated with the Source Network. * *(string) --* * *(string) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / start_replication 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': { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, '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. * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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" drs / Client / list_launch_actions list_launch_actions ******************* drs.Client.list_launch_actions(**kwargs) Lists resource launch actions. See also: AWS API Documentation **Request Syntax** response = client.list_launch_actions( filters={ 'actionIds': [ 'string', ] }, maxResults=123, nextToken='string', resourceId='string' ) Parameters: * **filters** (*dict*) -- Filters to apply when listing resource launch actions. * **actionIds** *(list) --* Launch actions Ids. * *(string) --* Launch action Id. * **maxResults** (*integer*) -- Maximum amount of items to return when listing resource launch actions. * **nextToken** (*string*) -- Next token to use when listing resource launch actions. * **resourceId** (*string*) -- **[REQUIRED]** Launch configuration template Id or Source Server Id Return type: dict Returns: **Response Syntax** { 'items': [ { 'actionCode': 'string', 'actionId': 'string', 'actionVersion': 'string', 'active': True|False, 'category': 'MONITORING'|'VALIDATION'|'CONFIGURATION'|'SECURITY'|'OTHER', 'description': 'string', 'name': 'string', 'optional': True|False, 'order': 123, 'parameters': { 'string': { 'type': 'SSM_STORE'|'DYNAMIC', 'value': 'string' } }, 'type': 'SSM_AUTOMATION'|'SSM_COMMAND' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* List of resource launch actions. * *(dict) --* Launch action. * **actionCode** *(string) --* Launch action code. * **actionId** *(string) --* Launch action Id. * **actionVersion** *(string) --* Launch action version. * **active** *(boolean) --* Whether the launch action is active. * **category** *(string) --* Launch action category. * **description** *(string) --* Launch action description. * **name** *(string) --* Launch action name. * **optional** *(boolean) --* Whether the launch will not be marked as failed if this action fails. * **order** *(integer) --* Launch action order. * **parameters** *(dict) --* Launch action parameters. * *(string) --* * *(dict) --* Launch action parameter. * **type** *(string) --* Type. * **value** *(string) --* Value. * **type** *(string) --* Launch action type. * **nextToken** *(string) --* Next token returned when listing resource launch actions. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ServiceQuotaExceededException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / delete_replication_configuration_template delete_replication_configuration_template ***************************************** drs.Client.delete_replication_configuration_template(**kwargs) Deletes a single Replication Configuration Template by ID See also: AWS API Documentation **Request Syntax** response = client.delete_replication_configuration_template( replicationConfigurationTemplateID='string' ) Parameters: **replicationConfigurationTemplateID** (*string*) -- **[REQUIRED]** The ID of the Replication Configuration Template to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / create_extended_source_server create_extended_source_server ***************************** drs.Client.create_extended_source_server(**kwargs) Create an extended source server in the target Account based on the source server in staging account. See also: AWS API Documentation **Request Syntax** response = client.create_extended_source_server( sourceServerArn='string', tags={ 'string': 'string' } ) Parameters: * **sourceServerArn** (*string*) -- **[REQUIRED]** This defines the ARN of the source server in staging Account based on which you want to create an extended source server. * **tags** (*dict*) -- A list of tags associated with the extended source server. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'sourceServer': { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, 'sourceServerID': 'string', 'stagingArea': { 'errorMessage': 'string', 'stagingAccountID': 'string', 'stagingSourceServerArn': 'string', 'status': 'EXTENDED'|'EXTENSION_ERROR'|'NOT_EXTENDED' }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **sourceServer** *(dict) --* Created extended source server. * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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.ServiceQuotaExceededException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / close close ***** drs.Client.close() Closes underlying endpoint connections. drs / Client / export_source_network_cfn_template export_source_network_cfn_template ********************************** drs.Client.export_source_network_cfn_template(**kwargs) Export the Source Network CloudFormation template to an S3 bucket. See also: AWS API Documentation **Request Syntax** response = client.export_source_network_cfn_template( sourceNetworkID='string' ) Parameters: **sourceNetworkID** (*string*) -- **[REQUIRED]** The Source Network ID to export its CloudFormation template to an S3 bucket. Return type: dict Returns: **Response Syntax** { 's3DestinationUrl': 'string' } **Response Structure** * *(dict) --* * **s3DestinationUrl** *(string) --* S3 bucket URL where the Source Network CloudFormation template was exported to. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_replication_configuration_templates describe_replication_configuration_templates ******************************************** drs.Client.describe_replication_configuration_templates(**kwargs) Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs. See also: AWS API Documentation **Request Syntax** response = client.describe_replication_configuration_templates( maxResults=123, nextToken='string', replicationConfigurationTemplateIDs=[ 'string', ] ) Parameters: * **maxResults** (*integer*) -- Maximum number of Replication Configuration Templates to retrieve. * **nextToken** (*string*) -- The token of the next Replication Configuration Template to retrieve. * **replicationConfigurationTemplateIDs** (*list*) -- The IDs of the Replication Configuration Templates to retrieve. An empty list means all Replication Configuration Templates. * *(string) --* Return type: dict Returns: **Response Syntax** { 'items': [ { '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 }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Replication Configuration Templates. * *(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. * **nextToken** *(string) --* The token of the next Replication Configuration Template to retrieve. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_source_networks describe_source_networks ************************ drs.Client.describe_source_networks(**kwargs) Lists all Source Networks or multiple Source Networks filtered by ID. See also: AWS API Documentation **Request Syntax** response = client.describe_source_networks( filters={ 'originAccountID': 'string', 'originRegion': 'string', 'sourceNetworkIDs': [ 'string', ] }, maxResults=123, nextToken='string' ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Source Networks. * **originAccountID** *(string) --* Filter Source Networks by account ID containing the protected VPCs. * **originRegion** *(string) --* Filter Source Networks by the region containing the protected VPCs. * **sourceNetworkIDs** *(list) --* An array of Source Network IDs that should be returned. An empty array means all Source Networks. * *(string) --* * **maxResults** (*integer*) -- Maximum number of Source Networks to retrieve. * **nextToken** (*string*) -- The token of the next Source Networks to retrieve. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'cfnStackName': 'string', 'lastRecovery': { 'apiCallDateTime': datetime(2015, 1, 1), 'jobID': 'string', 'lastRecoveryResult': 'NOT_STARTED'|'IN_PROGRESS'|'SUCCESS'|'FAIL'|'PARTIAL_SUCCESS'|'ASSOCIATE_SUCCESS'|'ASSOCIATE_FAIL' }, 'launchedVpcID': 'string', 'replicationStatus': 'STOPPED'|'IN_PROGRESS'|'PROTECTED'|'ERROR', 'replicationStatusDetails': 'string', 'sourceAccountID': 'string', 'sourceNetworkID': 'string', 'sourceRegion': 'string', 'sourceVpcID': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Source Networks. * *(dict) --* The ARN of the Source Network. * **arn** *(string) --* The ARN of the Source Network. * **cfnStackName** *(string) --* CloudFormation stack name that was deployed for recovering the Source Network. * **lastRecovery** *(dict) --* An object containing information regarding the last recovery of the Source Network. * **apiCallDateTime** *(datetime) --* The date and time the last Source Network recovery was initiated. * **jobID** *(string) --* The ID of the Job that was used to last recover the Source Network. * **lastRecoveryResult** *(string) --* The status of the last recovery status of this Source Network. * **launchedVpcID** *(string) --* ID of the recovered VPC following Source Network recovery. * **replicationStatus** *(string) --* Status of Source Network Replication. Possible values: (a) STOPPED - Source Network is not replicating. (b) IN_PROGRESS - Source Network is being replicated. (c) PROTECTED - Source Network was replicated successfully and is being synchronized for changes. (d) ERROR - Source Network replication has failed * **replicationStatusDetails** *(string) --* Error details in case Source Network replication status is ERROR. * **sourceAccountID** *(string) --* Account ID containing the VPC protected by the Source Network. * **sourceNetworkID** *(string) --* Source Network ID. * **sourceRegion** *(string) --* Region containing the VPC protected by the Source Network. * **sourceVpcID** *(string) --* VPC ID protected by the Source Network. * **tags** *(dict) --* A list of tags associated with the Source Network. * *(string) --* * *(string) --* * **nextToken** *(string) --* The token of the next Source Networks to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / stop_failback stop_failback ************* drs.Client.stop_failback(**kwargs) Stops the failback process for a specified Recovery Instance. This changes the Failback State of the Recovery Instance back to FAILBACK_NOT_STARTED. See also: AWS API Documentation **Request Syntax** response = client.stop_failback( recoveryInstanceID='string' ) Parameters: **recoveryInstanceID** (*string*) -- **[REQUIRED]** The ID of the Recovery Instance we want to stop failback for. Returns: None **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / delete_recovery_instance delete_recovery_instance ************************ drs.Client.delete_recovery_instance(**kwargs) Deletes a single Recovery Instance by ID. This deletes the Recovery Instance resource from Elastic Disaster Recovery. The Recovery Instance must be disconnected first in order to delete it. See also: AWS API Documentation **Request Syntax** response = client.delete_recovery_instance( recoveryInstanceID='string' ) Parameters: **recoveryInstanceID** (*string*) -- **[REQUIRED]** The ID of the Recovery Instance to be deleted. Returns: None **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / create_launch_configuration_template create_launch_configuration_template ************************************ drs.Client.create_launch_configuration_template(**kwargs) Creates a new Launch Configuration Template. See also: AWS API Documentation **Request Syntax** response = client.create_launch_configuration_template( copyPrivateIp=True|False, copyTags=True|False, exportBucketArn='string', launchDisposition='STOPPED'|'STARTED', launchIntoSourceInstance=True|False, licensing={ 'osByol': True|False }, postLaunchEnabled=True|False, tags={ 'string': 'string' }, targetInstanceTypeRightSizingMethod='NONE'|'BASIC'|'IN_AWS' ) Parameters: * **copyPrivateIp** (*boolean*) -- Copy private IP. * **copyTags** (*boolean*) -- Copy tags. * **exportBucketArn** (*string*) -- S3 bucket ARN to export Source Network templates. * **launchDisposition** (*string*) -- Launch disposition. * **launchIntoSourceInstance** (*boolean*) -- DRS will set the 'launch into instance ID' of any source server when performing a drill, recovery or failback to the previous region or availability zone, using the instance ID of the source instance. * **licensing** (*dict*) -- Licensing. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **postLaunchEnabled** (*boolean*) -- Whether we want to activate post-launch actions. * **tags** (*dict*) -- Request to associate tags during creation of a Launch Configuration Template. * *(string) --* * *(string) --* * **targetInstanceTypeRightSizingMethod** (*string*) -- Target instance type right-sizing method. Return type: dict Returns: **Response Syntax** { 'launchConfigurationTemplate': { 'arn': 'string', 'copyPrivateIp': True|False, 'copyTags': True|False, 'exportBucketArn': 'string', 'launchConfigurationTemplateID': 'string', 'launchDisposition': 'STOPPED'|'STARTED', 'launchIntoSourceInstance': True|False, 'licensing': { 'osByol': True|False }, 'postLaunchEnabled': True|False, 'tags': { 'string': 'string' }, 'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC'|'IN_AWS' } } **Response Structure** * *(dict) --* * **launchConfigurationTemplate** *(dict) --* Created Launch Configuration Template. * **arn** *(string) --* ARN of the Launch Configuration Template. * **copyPrivateIp** *(boolean) --* Copy private IP. * **copyTags** *(boolean) --* Copy tags. * **exportBucketArn** *(string) --* S3 bucket ARN to export Source Network templates. * **launchConfigurationTemplateID** *(string) --* ID of the Launch Configuration Template. * **launchDisposition** *(string) --* Launch disposition. * **launchIntoSourceInstance** *(boolean) --* DRS will set the 'launch into instance ID' of any source server when performing a drill, recovery or failback to the previous region or availability zone, using the instance ID of the source instance. * **licensing** *(dict) --* Licensing. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **postLaunchEnabled** *(boolean) --* Post-launch actions activated. * **tags** *(dict) --* Tags of the Launch Configuration Template. * *(string) --* * *(string) --* * **targetInstanceTypeRightSizingMethod** *(string) --* Target instance type right-sizing method. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ServiceQuotaExceededException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / delete_launch_configuration_template delete_launch_configuration_template ************************************ drs.Client.delete_launch_configuration_template(**kwargs) Deletes a single Launch Configuration Template by ID. See also: AWS API Documentation **Request Syntax** response = client.delete_launch_configuration_template( launchConfigurationTemplateID='string' ) Parameters: **launchConfigurationTemplateID** (*string*) -- **[REQUIRED]** The ID of the Launch Configuration Template to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ConflictException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / get_failback_replication_configuration get_failback_replication_configuration ************************************** drs.Client.get_failback_replication_configuration(**kwargs) Lists all Failback ReplicationConfigurations, filtered by Recovery Instance ID. See also: AWS API Documentation **Request Syntax** response = client.get_failback_replication_configuration( recoveryInstanceID='string' ) Parameters: **recoveryInstanceID** (*string*) -- **[REQUIRED]** The ID of the Recovery Instance whose failback replication configuration should be returned. Return type: dict Returns: **Response Syntax** { 'bandwidthThrottling': 123, 'name': 'string', 'recoveryInstanceID': 'string', 'usePrivateIP': True|False } **Response Structure** * *(dict) --* * **bandwidthThrottling** *(integer) --* Configure bandwidth throttling for the outbound data transfer rate of the Recovery Instance in Mbps. * **name** *(string) --* The name of the Failback Replication Configuration. * **recoveryInstanceID** *(string) --* The ID of the Recovery Instance. * **usePrivateIP** *(boolean) --* Whether to use Private IP for the failback replication of the Recovery Instance. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / tag_resource tag_resource ************ drs.Client.tag_resource(**kwargs) Adds or overwrites only the specified tags for the specified Elastic Disaster Recovery resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( resourceArn='string', tags={ 'string': 'string' } ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** ARN of the resource for which tags are to be added or updated. * **tags** (*dict*) -- **[REQUIRED]** Array of tags to be added or updated. * *(string) --* * *(string) --* Returns: None **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.AccessDeniedException" * "drs.Client.exceptions.ValidationException" drs / Client / describe_launch_configuration_templates describe_launch_configuration_templates *************************************** drs.Client.describe_launch_configuration_templates(**kwargs) Lists all Launch Configuration Templates, filtered by Launch Configuration Template IDs See also: AWS API Documentation **Request Syntax** response = client.describe_launch_configuration_templates( launchConfigurationTemplateIDs=[ 'string', ], maxResults=123, nextToken='string' ) Parameters: * **launchConfigurationTemplateIDs** (*list*) -- Request to filter Launch Configuration Templates list by Launch Configuration Template ID. * *(string) --* * **maxResults** (*integer*) -- Maximum results to be returned in DescribeLaunchConfigurationTemplates. * **nextToken** (*string*) -- The token of the next Launch Configuration Template to retrieve. Return type: dict Returns: **Response Syntax** { 'items': [ { 'arn': 'string', 'copyPrivateIp': True|False, 'copyTags': True|False, 'exportBucketArn': 'string', 'launchConfigurationTemplateID': 'string', 'launchDisposition': 'STOPPED'|'STARTED', 'launchIntoSourceInstance': True|False, 'licensing': { 'osByol': True|False }, 'postLaunchEnabled': True|False, 'tags': { 'string': 'string' }, 'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC'|'IN_AWS' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* List of items returned by DescribeLaunchConfigurationTemplates. * *(dict) --* Account level Launch Configuration Template. * **arn** *(string) --* ARN of the Launch Configuration Template. * **copyPrivateIp** *(boolean) --* Copy private IP. * **copyTags** *(boolean) --* Copy tags. * **exportBucketArn** *(string) --* S3 bucket ARN to export Source Network templates. * **launchConfigurationTemplateID** *(string) --* ID of the Launch Configuration Template. * **launchDisposition** *(string) --* Launch disposition. * **launchIntoSourceInstance** *(boolean) --* DRS will set the 'launch into instance ID' of any source server when performing a drill, recovery or failback to the previous region or availability zone, using the instance ID of the source instance. * **licensing** *(dict) --* Licensing. * **osByol** *(boolean) --* Whether to enable "Bring your own license" or not. * **postLaunchEnabled** *(boolean) --* Post-launch actions activated. * **tags** *(dict) --* Tags of the Launch Configuration Template. * *(string) --* * *(string) --* * **targetInstanceTypeRightSizingMethod** *(string) --* Target instance type right-sizing method. * **nextToken** *(string) --* The token of the next Launch Configuration Template to retrieve. **Exceptions** * "drs.Client.exceptions.ResourceNotFoundException" * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException" drs / Client / describe_source_servers describe_source_servers *********************** drs.Client.describe_source_servers(**kwargs) Lists all Source Servers or multiple Source Servers filtered by ID. See also: AWS API Documentation **Request Syntax** response = client.describe_source_servers( filters={ 'hardwareId': 'string', 'sourceServerIDs': [ 'string', ], 'stagingAccountIDs': [ 'string', ] }, maxResults=123, nextToken='string' ) Parameters: * **filters** (*dict*) -- A set of filters by which to return Source Servers. * **hardwareId** *(string) --* An ID that describes the hardware of the Source Server. This is either an EC2 instance id, a VMware uuid or a mac address. * **sourceServerIDs** *(list) --* An array of Source Servers IDs that should be returned. An empty array means all Source Servers. * *(string) --* * **stagingAccountIDs** *(list) --* An array of staging account IDs that extended source servers belong to. An empty array means all source servers will be shown. * *(string) --* * **maxResults** (*integer*) -- Maximum number of Source Servers to retrieve. * **nextToken** (*string*) -- The token of the next Source Server to retrieve. Return type: dict Returns: **Response Syntax** { 'items': [ { 'agentVersion': 'string', '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, 'volumeStatus': 'REGULAR'|'CONTAINS_MARKETPLACE_PRODUCT_CODES'|'MISSING_VOLUME_ATTRIBUTES'|'MISSING_VOLUME_ATTRIBUTES_AND_PRECHECK_UNAVAILABLE'|'PENDING' }, ], 'stagingAvailabilityZone': 'string', 'stagingOutpostArn': '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', 'sourceOutpostArn': 'string' }, 'sourceNetworkID': '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', 'supportsNitroInstances': True|False }, 'sourceServerID': 'string', 'stagingArea': { 'errorMessage': 'string', 'stagingAccountID': 'string', 'stagingSourceServerArn': 'string', 'status': 'EXTENDED'|'EXTENSION_ERROR'|'NOT_EXTENDED' }, 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **items** *(list) --* An array of Source Servers. * *(dict) --* * **agentVersion** *(string) --* The version of the DRS agent installed on the source server * **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. * **volumeStatus** *(string) --* The status of the volume. * **stagingAvailabilityZone** *(string) --* AWS Availability zone into which data is being replicated. * **stagingOutpostArn** *(string) --* The ARN of the staging Outpost * **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. * **sourceOutpostArn** *(string) --* The ARN of the source Outpost * **sourceNetworkID** *(string) --* ID of the Source Network which is protecting this Source Server's network. * **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. * **supportsNitroInstances** *(boolean) --* Are EC2 nitro instance types supported 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) --* * **nextToken** *(string) --* The token of the next Source Server to retrieve. **Exceptions** * "drs.Client.exceptions.InternalServerException" * "drs.Client.exceptions.ThrottlingException" * "drs.Client.exceptions.ValidationException" * "drs.Client.exceptions.UninitializedAccountException"