SDK for PHP 3.x

Client: Aws\drs\drsClient
Service ID: drs
Version: 2020-02-26

This page describes the parameters and results for the operations of the Elastic Disaster Recovery Service (2020-02-26), and shows how to use the Aws\drs\drsClient object to call the described operations. This documentation is specific to the 2020-02-26 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AssociateSourceNetworkStack ( array $params = [] )
Associate a Source Network to an existing CloudFormation Stack and modify launch templates to use this network.
CreateExtendedSourceServer ( array $params = [] )
Create an extended source server in the target Account based on the source server in staging account.
CreateLaunchConfigurationTemplate ( array $params = [] )
Creates a new Launch Configuration Template.
CreateReplicationConfigurationTemplate ( array $params = [] )
Creates a new ReplicationConfigurationTemplate.
CreateSourceNetwork ( array $params = [] )
Create a new Source Network resource for a provided VPC ID.
DeleteJob ( array $params = [] )
Deletes a single Job by ID.
DeleteLaunchAction ( array $params = [] )
Deletes a resource launch action.
DeleteLaunchConfigurationTemplate ( array $params = [] )
Deletes a single Launch Configuration Template by ID.
DeleteRecoveryInstance ( array $params = [] )
Deletes a single Recovery Instance by ID.
DeleteReplicationConfigurationTemplate ( array $params = [] )
Deletes a single Replication Configuration Template by ID
DeleteSourceNetwork ( array $params = [] )
Delete Source Network resource.
DeleteSourceServer ( array $params = [] )
Deletes a single Source Server by ID.
DescribeJobLogItems ( array $params = [] )
Retrieves a detailed Job log with pagination.
DescribeJobs ( array $params = [] )
Returns a list of Jobs.
DescribeLaunchConfigurationTemplates ( array $params = [] )
Lists all Launch Configuration Templates, filtered by Launch Configuration Template IDs
DescribeRecoveryInstances ( array $params = [] )
Lists all Recovery Instances or multiple Recovery Instances by ID.
DescribeRecoverySnapshots ( array $params = [] )
Lists all Recovery Snapshots for a single Source Server.
DescribeReplicationConfigurationTemplates ( array $params = [] )
Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
DescribeSourceNetworks ( array $params = [] )
Lists all Source Networks or multiple Source Networks filtered by ID.
DescribeSourceServers ( array $params = [] )
Lists all Source Servers or multiple Source Servers filtered by ID.
DisconnectRecoveryInstance ( array $params = [] )
Disconnect a Recovery Instance from Elastic Disaster Recovery.
DisconnectSourceServer ( array $params = [] )
Disconnects a specific Source Server from Elastic Disaster Recovery.
ExportSourceNetworkCfnTemplate ( array $params = [] )
Export the Source Network CloudFormation template to an S3 bucket.
GetFailbackReplicationConfiguration ( array $params = [] )
Lists all Failback ReplicationConfigurations, filtered by Recovery Instance ID.
GetLaunchConfiguration ( array $params = [] )
Gets a LaunchConfiguration, filtered by Source Server IDs.
GetReplicationConfiguration ( array $params = [] )
Gets a ReplicationConfiguration, filtered by Source Server ID.
InitializeService ( array $params = [] )
Initialize Elastic Disaster Recovery.
ListExtensibleSourceServers ( array $params = [] )
Returns a list of source servers on a staging account that are extensible, which means that: a.
ListLaunchActions ( array $params = [] )
Lists resource launch actions.
ListStagingAccounts ( array $params = [] )
Returns an array of staging accounts for existing extended source servers.
ListTagsForResource ( array $params = [] )
List all tags for your Elastic Disaster Recovery resources.
PutLaunchAction ( array $params = [] )
Puts a resource launch action.
RetryDataReplication ( array $params = [] )
WARNING: RetryDataReplication is deprecated.
ReverseReplication ( array $params = [] )
Start replication to origin / target region - applies only to protected instances that originated in EC2.
StartFailbackLaunch ( array $params = [] )
Initiates a Job for launching the machine that is being failed back to from the specified Recovery Instance.
StartRecovery ( array $params = [] )
Launches Recovery Instances for the specified Source Servers.
StartReplication ( array $params = [] )
Starts replication for a stopped Source Server.
StartSourceNetworkRecovery ( array $params = [] )
Deploy VPC for the specified Source Network and modify launch templates to use this network.
StartSourceNetworkReplication ( array $params = [] )
Starts replication for a Source Network.
StopFailback ( array $params = [] )
Stops the failback process for a specified Recovery Instance.
StopReplication ( array $params = [] )
Stops replication for a Source Server.
StopSourceNetworkReplication ( array $params = [] )
Stops replication for a Source Network.
TagResource ( array $params = [] )
Adds or overwrites only the specified tags for the specified Elastic Disaster Recovery resource or resources.
TerminateRecoveryInstances ( array $params = [] )
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.
UntagResource ( array $params = [] )
Deletes the specified set of tags from the specified set of Elastic Disaster Recovery resources.
UpdateFailbackReplicationConfiguration ( array $params = [] )
Allows you to update the failback replication configuration of a Recovery Instance by ID.
UpdateLaunchConfiguration ( array $params = [] )
Updates a LaunchConfiguration by Source Server ID.
UpdateLaunchConfigurationTemplate ( array $params = [] )
Updates an existing Launch Configuration Template by ID.
UpdateReplicationConfiguration ( array $params = [] )
Allows you to update a ReplicationConfiguration by Source Server ID.
UpdateReplicationConfigurationTemplate ( array $params = [] )
Updates a ReplicationConfigurationTemplate by ID.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeJobLogItems
DescribeJobs
DescribeLaunchConfigurationTemplates
DescribeRecoveryInstances
DescribeRecoverySnapshots
DescribeReplicationConfigurationTemplates
DescribeSourceNetworks
DescribeSourceServers
ListExtensibleSourceServers
ListLaunchActions
ListStagingAccounts

Operations

AssociateSourceNetworkStack

$result = $client->associateSourceNetworkStack([/* ... */]);
$promise = $client->associateSourceNetworkStackAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->associateSourceNetworkStack([
    'cfnStackName' => '<string>', // REQUIRED
    'sourceNetworkID' => '<string>', // REQUIRED
]);

Parameter Details

Members
cfnStackName
Required: Yes
Type: string

CloudFormation template to associate with a Source Network.

sourceNetworkID
Required: Yes
Type: string

The Source Network ID to associate with CloudFormation template.

Result 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' => <integer>,
                                'parameters' => [
                                    '<LaunchActionParameterName>' => [
                                        '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>', ...],
        'type' => 'LAUNCH|TERMINATE|CREATE_CONVERTED_SNAPSHOT',
    ],
]

Result Details

Members
job
Type: Job structure

The Source Network association Job.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

CreateExtendedSourceServer

$result = $client->createExtendedSourceServer([/* ... */]);
$promise = $client->createExtendedSourceServerAsync([/* ... */]);

Create an extended source server in the target Account based on the source server in staging account.

Parameter Syntax

$result = $client->createExtendedSourceServer([
    'sourceServerArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
sourceServerArn
Required: Yes
Type: string

This defines the ARN of the source server in staging Account based on which you want to create an extended source server.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A list of tags associated with the extended source server.

Result 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' => <integer>,
                    'deviceName' => '<string>',
                    'replicatedStorageBytes' => <integer>,
                    'rescannedStorageBytes' => <integer>,
                    'totalStorageBytes' => <integer>,
                    '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' => <integer>,
                    'modelName' => '<string>',
                ],
                // ...
            ],
            'disks' => [
                [
                    'bytes' => <integer>,
                    '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' => <integer>,
            'recommendedInstanceType' => '<string>',
            'supportsNitroInstances' => true || false,
        ],
        'sourceServerID' => '<string>',
        'stagingArea' => [
            'errorMessage' => '<string>',
            'stagingAccountID' => '<string>',
            'stagingSourceServerArn' => '<string>',
            'status' => 'EXTENDED|EXTENSION_ERROR|NOT_EXTENDED',
        ],
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
sourceServer
Type: SourceServer structure

Created extended source server.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

CreateLaunchConfigurationTemplate

$result = $client->createLaunchConfigurationTemplate([/* ... */]);
$promise = $client->createLaunchConfigurationTemplateAsync([/* ... */]);

Creates a new Launch Configuration Template.

Parameter Syntax

$result = $client->createLaunchConfigurationTemplate([
    'copyPrivateIp' => true || false,
    'copyTags' => true || false,
    'exportBucketArn' => '<string>',
    'launchDisposition' => 'STOPPED|STARTED',
    'launchIntoSourceInstance' => true || false,
    'licensing' => [
        'osByol' => true || false,
    ],
    'postLaunchEnabled' => true || false,
    'tags' => ['<string>', ...],
    'targetInstanceTypeRightSizingMethod' => 'NONE|BASIC|IN_AWS',
]);

Parameter Details

Members
copyPrivateIp
Type: boolean

Copy private IP.

copyTags
Type: boolean

Copy tags.

exportBucketArn
Type: string

S3 bucket ARN to export Source Network templates.

launchDisposition
Type: string

Launch disposition.

launchIntoSourceInstance
Type: 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
Type: Licensing structure

Licensing.

postLaunchEnabled
Type: boolean

Whether we want to activate post-launch actions.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Request to associate tags during creation of a Launch Configuration Template.

targetInstanceTypeRightSizingMethod
Type: string

Target instance type right-sizing method.

Result 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>', ...],
        'targetInstanceTypeRightSizingMethod' => 'NONE|BASIC|IN_AWS',
    ],
]

Result Details

Members
launchConfigurationTemplate
Type: LaunchConfigurationTemplate structure

Created Launch Configuration Template.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

CreateReplicationConfigurationTemplate

$result = $client->createReplicationConfigurationTemplate([/* ... */]);
$promise = $client->createReplicationConfigurationTemplateAsync([/* ... */]);

Creates a new ReplicationConfigurationTemplate.

Parameter Syntax

$result = $client->createReplicationConfigurationTemplate([
    'associateDefaultSecurityGroup' => true || false, // REQUIRED
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>, // REQUIRED
    'createPublicIP' => true || false, // REQUIRED
    'dataPlaneRouting' => 'PRIVATE_IP|PUBLIC_IP', // REQUIRED
    'defaultLargeStagingDiskType' => 'GP2|GP3|ST1|AUTO', // REQUIRED
    'ebsEncryption' => 'DEFAULT|CUSTOM|NONE', // REQUIRED
    'ebsEncryptionKeyArn' => '<string>',
    'pitPolicy' => [ // REQUIRED
        [
            'enabled' => true || false,
            'interval' => <integer>, // REQUIRED
            'retentionDuration' => <integer>, // REQUIRED
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY', // REQUIRED
        ],
        // ...
    ],
    'replicationServerInstanceType' => '<string>', // REQUIRED
    'replicationServersSecurityGroupsIDs' => ['<string>', ...], // REQUIRED
    'stagingAreaSubnetId' => '<string>', // REQUIRED
    'stagingAreaTags' => ['<string>', ...], // REQUIRED
    'tags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false, // REQUIRED
]);

Parameter Details

Members
associateDefaultSecurityGroup
Required: Yes
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Required: Yes
Type: long (int|float)

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

createPublicIP
Required: Yes
Type: boolean

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

dataPlaneRouting
Required: Yes
Type: string

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

defaultLargeStagingDiskType
Required: Yes
Type: string

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

ebsEncryption
Required: Yes
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

pitPolicy
Required: Yes
Type: Array of PITPolicyRule structures

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

replicationServerInstanceType
Required: Yes
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Required: Yes
Type: Array of strings

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

stagingAreaSubnetId
Required: Yes
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Required: Yes
Type: boolean

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

Result Syntax

[
    'arn' => '<string>',
    'associateDefaultSecurityGroup' => true || false,
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>,
    'createPublicIP' => true || false,
    'dataPlaneRouting' => 'PRIVATE_IP|PUBLIC_IP',
    'defaultLargeStagingDiskType' => 'GP2|GP3|ST1|AUTO',
    'ebsEncryption' => 'DEFAULT|CUSTOM|NONE',
    'ebsEncryptionKeyArn' => '<string>',
    'pitPolicy' => [
        [
            'enabled' => true || false,
            'interval' => <integer>,
            'retentionDuration' => <integer>,
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY',
        ],
        // ...
    ],
    'replicationConfigurationTemplateID' => '<string>',
    'replicationServerInstanceType' => '<string>',
    'replicationServersSecurityGroupsIDs' => ['<string>', ...],
    'stagingAreaSubnetId' => '<string>',
    'stagingAreaTags' => ['<string>', ...],
    'tags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false,
]

Result Details

Members
arn
Type: string

The Replication Configuration Template ARN.

associateDefaultSecurityGroup
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Type: long (int|float)

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

createPublicIP
Type: boolean

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

dataPlaneRouting
Type: string

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

defaultLargeStagingDiskType
Type: string

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

ebsEncryption
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

pitPolicy
Type: Array of PITPolicyRule structures

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

replicationConfigurationTemplateID
Required: Yes
Type: string

The Replication Configuration Template ID.

replicationServerInstanceType
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Type: Array of strings

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

stagingAreaSubnetId
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Type: Associative array of custom strings keys (TagKey) to strings

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Type: boolean

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

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

CreateSourceNetwork

$result = $client->createSourceNetwork([/* ... */]);
$promise = $client->createSourceNetworkAsync([/* ... */]);

Create a new Source Network resource for a provided VPC ID.

Parameter Syntax

$result = $client->createSourceNetwork([
    'originAccountID' => '<string>', // REQUIRED
    'originRegion' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
    'vpcID' => '<string>', // REQUIRED
]);

Parameter Details

Members
originAccountID
Required: Yes
Type: string

Account containing the VPC to protect.

originRegion
Required: Yes
Type: string

Region containing the VPC to protect.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A set of tags to be associated with the Source Network resource.

vpcID
Required: Yes
Type: string

Which VPC ID to protect.

Result Syntax

[
    'sourceNetworkID' => '<string>',
]

Result Details

Members
sourceNetworkID
Type: string

ID of the created Source Network.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteJob

$result = $client->deleteJob([/* ... */]);
$promise = $client->deleteJobAsync([/* ... */]);

Deletes a single Job by ID.

Parameter Syntax

$result = $client->deleteJob([
    'jobID' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobID
Required: Yes
Type: string

The ID of the Job to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteLaunchAction

$result = $client->deleteLaunchAction([/* ... */]);
$promise = $client->deleteLaunchActionAsync([/* ... */]);

Deletes a resource launch action.

Parameter Syntax

$result = $client->deleteLaunchAction([
    'actionId' => '<string>', // REQUIRED
    'resourceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionId
Required: Yes
Type: string

Launch action Id.

resourceId
Required: Yes
Type: string

Launch configuration template Id or Source Server Id

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteLaunchConfigurationTemplate

$result = $client->deleteLaunchConfigurationTemplate([/* ... */]);
$promise = $client->deleteLaunchConfigurationTemplateAsync([/* ... */]);

Deletes a single Launch Configuration Template by ID.

Parameter Syntax

$result = $client->deleteLaunchConfigurationTemplate([
    'launchConfigurationTemplateID' => '<string>', // REQUIRED
]);

Parameter Details

Members
launchConfigurationTemplateID
Required: Yes
Type: string

The ID of the Launch Configuration Template to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteRecoveryInstance

$result = $client->deleteRecoveryInstance([/* ... */]);
$promise = $client->deleteRecoveryInstanceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteRecoveryInstance([
    'recoveryInstanceID' => '<string>', // REQUIRED
]);

Parameter Details

Members
recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteReplicationConfigurationTemplate

$result = $client->deleteReplicationConfigurationTemplate([/* ... */]);
$promise = $client->deleteReplicationConfigurationTemplateAsync([/* ... */]);

Deletes a single Replication Configuration Template by ID

Parameter Syntax

$result = $client->deleteReplicationConfigurationTemplate([
    'replicationConfigurationTemplateID' => '<string>', // REQUIRED
]);

Parameter Details

Members
replicationConfigurationTemplateID
Required: Yes
Type: string

The ID of the Replication Configuration Template to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteSourceNetwork

$result = $client->deleteSourceNetwork([/* ... */]);
$promise = $client->deleteSourceNetworkAsync([/* ... */]);

Delete Source Network resource.

Parameter Syntax

$result = $client->deleteSourceNetwork([
    'sourceNetworkID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceNetworkID
Required: Yes
Type: string

ID of the Source Network to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

DeleteSourceServer

$result = $client->deleteSourceServer([/* ... */]);
$promise = $client->deleteSourceServerAsync([/* ... */]);

Deletes a single Source Server by ID. The Source Server must be disconnected first.

Parameter Syntax

$result = $client->deleteSourceServer([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Server to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeJobLogItems

$result = $client->describeJobLogItems([/* ... */]);
$promise = $client->describeJobLogItemsAsync([/* ... */]);

Retrieves a detailed Job log with pagination.

Parameter Syntax

$result = $client->describeJobLogItems([
    'jobID' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
jobID
Required: Yes
Type: string

The ID of the Job for which Job log items will be retrieved.

maxResults
Type: int

Maximum number of Job log items to retrieve.

nextToken
Type: string

The token of the next Job log items to retrieve.

Result 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' => [
                        '<LargeBoundedString>' => ['<string>', ...],
                        // ...
                    ],
                    'volumeToProductCodes' => [
                        '<LargeBoundedString>' => [
                            [
                                'productCodeId' => '<string>',
                                'productCodeMode' => 'ENABLED|DISABLED',
                            ],
                            // ...
                        ],
                        // ...
                    ],
                    'volumeToVolumeSize' => [<integer>, ...],
                ],
                'conversionServerID' => '<string>',
                'eventResourceData' => [
                    'sourceNetworkData' => [
                        'sourceNetworkID' => '<string>',
                        'sourceVpc' => '<string>',
                        'stackName' => '<string>',
                        'targetVpc' => '<string>',
                    ],
                ],
                'rawError' => '<string>',
                'sourceServerID' => '<string>',
                'targetInstanceID' => '<string>',
            ],
            'logDateTime' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of JobLog structures

An array of Job log items.

nextToken
Type: string

The token of the next Job log items to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeJobs

$result = $client->describeJobs([/* ... */]);
$promise = $client->describeJobsAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->describeJobs([
    'filters' => [
        'fromDate' => '<string>',
        'jobIDs' => ['<string>', ...],
        'toDate' => '<string>',
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filters
Type: DescribeJobsRequestFilters structure

A set of filters by which to return Jobs.

maxResults
Type: int

Maximum number of Jobs to retrieve.

nextToken
Type: string

The token of the next Job to retrieve.

Result 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' => <integer>,
                                    'parameters' => [
                                        '<LaunchActionParameterName>' => [
                                            '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>', ...],
            'type' => 'LAUNCH|TERMINATE|CREATE_CONVERTED_SNAPSHOT',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of Job structures

An array of Jobs.

nextToken
Type: string

The token of the next Job to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeLaunchConfigurationTemplates

$result = $client->describeLaunchConfigurationTemplates([/* ... */]);
$promise = $client->describeLaunchConfigurationTemplatesAsync([/* ... */]);

Lists all Launch Configuration Templates, filtered by Launch Configuration Template IDs

Parameter Syntax

$result = $client->describeLaunchConfigurationTemplates([
    'launchConfigurationTemplateIDs' => ['<string>', ...],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
launchConfigurationTemplateIDs
Type: Array of strings

Request to filter Launch Configuration Templates list by Launch Configuration Template ID.

maxResults
Type: int

Maximum results to be returned in DescribeLaunchConfigurationTemplates.

nextToken
Type: string

The token of the next Launch Configuration Template to retrieve.

Result 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>', ...],
            'targetInstanceTypeRightSizingMethod' => 'NONE|BASIC|IN_AWS',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of LaunchConfigurationTemplate structures

List of items returned by DescribeLaunchConfigurationTemplates.

nextToken
Type: string

The token of the next Launch Configuration Template to retrieve.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeRecoveryInstances

$result = $client->describeRecoveryInstances([/* ... */]);
$promise = $client->describeRecoveryInstancesAsync([/* ... */]);

Lists all Recovery Instances or multiple Recovery Instances by ID.

Parameter Syntax

$result = $client->describeRecoveryInstances([
    'filters' => [
        'recoveryInstanceIDs' => ['<string>', ...],
        'sourceServerIDs' => ['<string>', ...],
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filters

A set of filters by which to return Recovery Instances.

maxResults
Type: int

Maximum number of Recovery Instances to retrieve.

nextToken
Type: string

The token of the next Recovery Instance to retrieve.

Result 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' => <integer>,
                        'deviceName' => '<string>',
                        'replicatedStorageBytes' => <integer>,
                        'rescannedStorageBytes' => <integer>,
                        'totalStorageBytes' => <integer>,
                    ],
                    // ...
                ],
                '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' => <integer>,
                        'modelName' => '<string>',
                    ],
                    // ...
                ],
                'disks' => [
                    [
                        'bytes' => <integer>,
                        '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' => <integer>,
            ],
            'sourceOutpostArn' => '<string>',
            'sourceServerID' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of RecoveryInstance structures

An array of Recovery Instances.

nextToken
Type: string

The token of the next Recovery Instance to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeRecoverySnapshots

$result = $client->describeRecoverySnapshots([/* ... */]);
$promise = $client->describeRecoverySnapshotsAsync([/* ... */]);

Lists all Recovery Snapshots for a single Source Server.

Parameter Syntax

$result = $client->describeRecoverySnapshots([
    'filters' => [
        'fromDateTime' => '<string>',
        'toDateTime' => '<string>',
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'order' => 'ASC|DESC',
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
filters

A set of filters by which to return Recovery Snapshots.

maxResults
Type: int

Maximum number of Recovery Snapshots to retrieve.

nextToken
Type: string

The token of the next Recovery Snapshot to retrieve.

order
Type: string

The sorted ordering by which to return Recovery Snapshots.

sourceServerID
Required: Yes
Type: string

Filter Recovery Snapshots by Source Server ID.

Result Syntax

[
    'items' => [
        [
            'ebsSnapshots' => ['<string>', ...],
            'expectedTimestamp' => '<string>',
            'snapshotID' => '<string>',
            'sourceServerID' => '<string>',
            'timestamp' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of RecoverySnapshot structures

An array of Recovery Snapshots.

nextToken
Type: string

The token of the next Recovery Snapshot to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeReplicationConfigurationTemplates

$result = $client->describeReplicationConfigurationTemplates([/* ... */]);
$promise = $client->describeReplicationConfigurationTemplatesAsync([/* ... */]);

Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.

Parameter Syntax

$result = $client->describeReplicationConfigurationTemplates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'replicationConfigurationTemplateIDs' => ['<string>', ...],
]);

Parameter Details

Members
maxResults
Type: int

Maximum number of Replication Configuration Templates to retrieve.

nextToken
Type: string

The token of the next Replication Configuration Template to retrieve.

replicationConfigurationTemplateIDs
Type: Array of strings

The IDs of the Replication Configuration Templates to retrieve. An empty list means all Replication Configuration Templates.

Result Syntax

[
    'items' => [
        [
            'arn' => '<string>',
            'associateDefaultSecurityGroup' => true || false,
            'autoReplicateNewDisks' => true || false,
            'bandwidthThrottling' => <integer>,
            'createPublicIP' => true || false,
            'dataPlaneRouting' => 'PRIVATE_IP|PUBLIC_IP',
            'defaultLargeStagingDiskType' => 'GP2|GP3|ST1|AUTO',
            'ebsEncryption' => 'DEFAULT|CUSTOM|NONE',
            'ebsEncryptionKeyArn' => '<string>',
            'pitPolicy' => [
                [
                    'enabled' => true || false,
                    'interval' => <integer>,
                    'retentionDuration' => <integer>,
                    'ruleID' => <integer>,
                    'units' => 'MINUTE|HOUR|DAY',
                ],
                // ...
            ],
            'replicationConfigurationTemplateID' => '<string>',
            'replicationServerInstanceType' => '<string>',
            'replicationServersSecurityGroupsIDs' => ['<string>', ...],
            'stagingAreaSubnetId' => '<string>',
            'stagingAreaTags' => ['<string>', ...],
            'tags' => ['<string>', ...],
            'useDedicatedReplicationServer' => true || false,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of ReplicationConfigurationTemplate structures

An array of Replication Configuration Templates.

nextToken
Type: string

The token of the next Replication Configuration Template to retrieve.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeSourceNetworks

$result = $client->describeSourceNetworks([/* ... */]);
$promise = $client->describeSourceNetworksAsync([/* ... */]);

Lists all Source Networks or multiple Source Networks filtered by ID.

Parameter Syntax

$result = $client->describeSourceNetworks([
    'filters' => [
        'originAccountID' => '<string>',
        'originRegion' => '<string>',
        'sourceNetworkIDs' => ['<string>', ...],
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filters

A set of filters by which to return Source Networks.

maxResults
Type: int

Maximum number of Source Networks to retrieve.

nextToken
Type: string

The token of the next Source Networks to retrieve.

Result Syntax

[
    'items' => [
        [
            'arn' => '<string>',
            'cfnStackName' => '<string>',
            'lastRecovery' => [
                'apiCallDateTime' => <DateTime>,
                '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>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of SourceNetwork structures

An array of Source Networks.

nextToken
Type: string

The token of the next Source Networks to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DescribeSourceServers

$result = $client->describeSourceServers([/* ... */]);
$promise = $client->describeSourceServersAsync([/* ... */]);

Lists all Source Servers or multiple Source Servers filtered by ID.

Parameter Syntax

$result = $client->describeSourceServers([
    'filters' => [
        'hardwareId' => '<string>',
        'sourceServerIDs' => ['<string>', ...],
        'stagingAccountIDs' => ['<string>', ...],
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filters

A set of filters by which to return Source Servers.

maxResults
Type: int

Maximum number of Source Servers to retrieve.

nextToken
Type: string

The token of the next Source Server to retrieve.

Result 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' => <integer>,
                        'deviceName' => '<string>',
                        'replicatedStorageBytes' => <integer>,
                        'rescannedStorageBytes' => <integer>,
                        'totalStorageBytes' => <integer>,
                        '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' => <integer>,
                        'modelName' => '<string>',
                    ],
                    // ...
                ],
                'disks' => [
                    [
                        'bytes' => <integer>,
                        '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' => <integer>,
                'recommendedInstanceType' => '<string>',
                'supportsNitroInstances' => true || false,
            ],
            'sourceServerID' => '<string>',
            'stagingArea' => [
                'errorMessage' => '<string>',
                'stagingAccountID' => '<string>',
                'stagingSourceServerArn' => '<string>',
                'status' => 'EXTENDED|EXTENSION_ERROR|NOT_EXTENDED',
            ],
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of SourceServer structures

An array of Source Servers.

nextToken
Type: string

The token of the next Source Server to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

DisconnectRecoveryInstance

$result = $client->disconnectRecoveryInstance([/* ... */]);
$promise = $client->disconnectRecoveryInstanceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->disconnectRecoveryInstance([
    'recoveryInstanceID' => '<string>', // REQUIRED
]);

Parameter Details

Members
recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance to disconnect.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

UninitializedAccountException:

The account performing the request has not been initialized.

DisconnectSourceServer

$result = $client->disconnectSourceServer([/* ... */]);
$promise = $client->disconnectSourceServerAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->disconnectSourceServer([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Server to disconnect.

Result 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' => <integer>,
                'deviceName' => '<string>',
                'replicatedStorageBytes' => <integer>,
                'rescannedStorageBytes' => <integer>,
                'totalStorageBytes' => <integer>,
                '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' => <integer>,
                'modelName' => '<string>',
            ],
            // ...
        ],
        'disks' => [
            [
                'bytes' => <integer>,
                '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' => <integer>,
        'recommendedInstanceType' => '<string>',
        'supportsNitroInstances' => true || false,
    ],
    'sourceServerID' => '<string>',
    'stagingArea' => [
        'errorMessage' => '<string>',
        'stagingAccountID' => '<string>',
        'stagingSourceServerArn' => '<string>',
        'status' => 'EXTENDED|EXTENSION_ERROR|NOT_EXTENDED',
    ],
    'tags' => ['<string>', ...],
]

Result Details

Members
agentVersion
Type: string

The version of the DRS agent installed on the source server

arn
Type: string

The ARN of the Source Server.

dataReplicationInfo
Type: DataReplicationInfo structure

The Data Replication Info of the Source Server.

lastLaunchResult
Type: string

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

lifeCycle
Type: LifeCycle structure

The lifecycle information of this Source Server.

recoveryInstanceId
Type: string

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

replicationDirection
Type: string

Replication direction of the Source Server.

reversedDirectionSourceServerArn
Type: 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
Type: SourceCloudProperties structure

Source cloud properties of the Source Server.

sourceNetworkID
Type: string

ID of the Source Network which is protecting this Source Server's network.

sourceProperties
Type: SourceProperties structure

The source properties of the Source Server.

sourceServerID
Type: string

The ID of the Source Server.

stagingArea
Type: StagingArea structure

The staging area of the source server.

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags associated with the Source Server.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

ExportSourceNetworkCfnTemplate

$result = $client->exportSourceNetworkCfnTemplate([/* ... */]);
$promise = $client->exportSourceNetworkCfnTemplateAsync([/* ... */]);

Export the Source Network CloudFormation template to an S3 bucket.

Parameter Syntax

$result = $client->exportSourceNetworkCfnTemplate([
    'sourceNetworkID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceNetworkID
Required: Yes
Type: string

The Source Network ID to export its CloudFormation template to an S3 bucket.

Result Syntax

[
    's3DestinationUrl' => '<string>',
]

Result Details

Members
s3DestinationUrl
Type: string

S3 bucket URL where the Source Network CloudFormation template was exported to.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

GetFailbackReplicationConfiguration

$result = $client->getFailbackReplicationConfiguration([/* ... */]);
$promise = $client->getFailbackReplicationConfigurationAsync([/* ... */]);

Lists all Failback ReplicationConfigurations, filtered by Recovery Instance ID.

Parameter Syntax

$result = $client->getFailbackReplicationConfiguration([
    'recoveryInstanceID' => '<string>', // REQUIRED
]);

Parameter Details

Members
recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance whose failback replication configuration should be returned.

Result Syntax

[
    'bandwidthThrottling' => <integer>,
    'name' => '<string>',
    'recoveryInstanceID' => '<string>',
    'usePrivateIP' => true || false,
]

Result Details

Members
bandwidthThrottling
Type: long (int|float)

Configure bandwidth throttling for the outbound data transfer rate of the Recovery Instance in Mbps.

name
Type: string

The name of the Failback Replication Configuration.

recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance.

usePrivateIP
Type: boolean

Whether to use Private IP for the failback replication of the Recovery Instance.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

GetLaunchConfiguration

$result = $client->getLaunchConfiguration([/* ... */]);
$promise = $client->getLaunchConfigurationAsync([/* ... */]);

Gets a LaunchConfiguration, filtered by Source Server IDs.

Parameter Syntax

$result = $client->getLaunchConfiguration([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Server that we want to retrieve a Launch Configuration for.

Result 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',
]

Result Details

Members
copyPrivateIp
Type: boolean

Whether we should copy the Private IP of the Source Server to the Recovery Instance.

copyTags
Type: boolean

Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance.

ec2LaunchTemplateID
Type: string

The EC2 launch template ID of this launch configuration.

launchDisposition
Type: string

The state of the Recovery Instance in EC2 after the recovery operation.

launchIntoInstanceProperties

Launch into existing instance properties.

licensing
Type: Licensing structure

The licensing configuration to be used for this launch configuration.

name
Type: string

The name of the launch configuration.

postLaunchEnabled
Type: boolean

Whether we want to activate post-launch actions for the Source Server.

sourceServerID
Type: string

The ID of the Source Server for this launch configuration.

targetInstanceTypeRightSizingMethod
Type: 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.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

GetReplicationConfiguration

$result = $client->getReplicationConfiguration([/* ... */]);
$promise = $client->getReplicationConfigurationAsync([/* ... */]);

Gets a ReplicationConfiguration, filtered by Source Server ID.

Parameter Syntax

$result = $client->getReplicationConfiguration([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Serve for this Replication Configuration.r

Result Syntax

[
    'associateDefaultSecurityGroup' => true || false,
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>,
    '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' => <integer>,
            'retentionDuration' => <integer>,
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY',
        ],
        // ...
    ],
    'replicatedDisks' => [
        [
            'deviceName' => '<string>',
            'iops' => <integer>,
            'isBootDisk' => true || false,
            'optimizedStagingDiskType' => 'AUTO|GP2|GP3|IO1|SC1|ST1|STANDARD',
            'stagingDiskType' => 'AUTO|GP2|GP3|IO1|SC1|ST1|STANDARD',
            'throughput' => <integer>,
        ],
        // ...
    ],
    'replicationServerInstanceType' => '<string>',
    'replicationServersSecurityGroupsIDs' => ['<string>', ...],
    'sourceServerID' => '<string>',
    'stagingAreaSubnetId' => '<string>',
    'stagingAreaTags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false,
]

Result Details

Members
associateDefaultSecurityGroup
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Type: long (int|float)

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

createPublicIP
Type: boolean

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

dataPlaneRouting
Type: string

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

defaultLargeStagingDiskType
Type: string

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

ebsEncryption
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

name
Type: string

The name of the Replication Configuration.

pitPolicy
Type: Array of PITPolicyRule structures

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

replicatedDisks
Type: Array of ReplicationConfigurationReplicatedDisk structures

The configuration of the disks of the Source Server to be replicated.

replicationServerInstanceType
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Type: Array of strings

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

sourceServerID
Type: string

The ID of the Source Server for this Replication Configuration.

stagingAreaSubnetId
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Type: boolean

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

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

UninitializedAccountException:

The account performing the request has not been initialized.

InitializeService

$result = $client->initializeService([/* ... */]);
$promise = $client->initializeServiceAsync([/* ... */]);

Initialize Elastic Disaster Recovery.

Parameter Syntax

$result = $client->initializeService([
]);

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

ListExtensibleSourceServers

$result = $client->listExtensibleSourceServers([/* ... */]);
$promise = $client->listExtensibleSourceServersAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->listExtensibleSourceServers([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'stagingAccountID' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of extensible source servers to retrieve.

nextToken
Type: string

The token of the next extensible source server to retrieve.

stagingAccountID
Required: Yes
Type: string

The Id of the staging Account to retrieve extensible source servers from.

Result Syntax

[
    'items' => [
        [
            'arn' => '<string>',
            'hostname' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of StagingSourceServer structures

A list of source servers on a staging Account that are extensible.

nextToken
Type: string

The token of the next extensible source server to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

ListLaunchActions

$result = $client->listLaunchActions([/* ... */]);
$promise = $client->listLaunchActionsAsync([/* ... */]);

Lists resource launch actions.

Parameter Syntax

$result = $client->listLaunchActions([
    'filters' => [
        'actionIds' => ['<string>', ...],
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'resourceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
filters
Type: LaunchActionsRequestFilters structure

Filters to apply when listing resource launch actions.

maxResults
Type: int

Maximum amount of items to return when listing resource launch actions.

nextToken
Type: string

Next token to use when listing resource launch actions.

resourceId
Required: Yes
Type: string

Launch configuration template Id or Source Server Id

Result 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' => <integer>,
            'parameters' => [
                '<LaunchActionParameterName>' => [
                    'type' => 'SSM_STORE|DYNAMIC',
                    'value' => '<string>',
                ],
                // ...
            ],
            'type' => 'SSM_AUTOMATION|SSM_COMMAND',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of LaunchAction structures

List of resource launch actions.

nextToken
Type: string

Next token returned when listing resource launch actions.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

ListStagingAccounts

$result = $client->listStagingAccounts([/* ... */]);
$promise = $client->listStagingAccountsAsync([/* ... */]);

Returns an array of staging accounts for existing extended source servers.

Parameter Syntax

$result = $client->listStagingAccounts([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of staging Accounts to retrieve.

nextToken
Type: string

The token of the next staging Account to retrieve.

Result Syntax

[
    'accounts' => [
        [
            'accountID' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
accounts
Type: Array of Account structures

An array of staging AWS Accounts.

nextToken
Type: string

The token of the next staging Account to retrieve.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

List all tags for your Elastic Disaster Recovery resources.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource whose tags should be returned.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags of the requested resource.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

PutLaunchAction

$result = $client->putLaunchAction([/* ... */]);
$promise = $client->putLaunchActionAsync([/* ... */]);

Puts a resource launch action.

Parameter Syntax

$result = $client->putLaunchAction([
    'actionCode' => '<string>', // REQUIRED
    'actionId' => '<string>', // REQUIRED
    'actionVersion' => '<string>', // REQUIRED
    'active' => true || false, // REQUIRED
    'category' => 'MONITORING|VALIDATION|CONFIGURATION|SECURITY|OTHER', // REQUIRED
    'description' => '<string>', // REQUIRED
    'name' => '<string>', // REQUIRED
    'optional' => true || false, // REQUIRED
    'order' => <integer>, // REQUIRED
    'parameters' => [
        '<LaunchActionParameterName>' => [
            'type' => 'SSM_STORE|DYNAMIC',
            'value' => '<string>',
        ],
        // ...
    ],
    'resourceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionCode
Required: Yes
Type: string

Launch action code.

actionId
Required: Yes
Type: string

Launch action Id.

actionVersion
Required: Yes
Type: string

Launch action version.

active
Required: Yes
Type: boolean

Whether the launch action is active.

category
Required: Yes
Type: string

Launch action category.

description
Required: Yes
Type: string

Launch action description.

name
Required: Yes
Type: string

Launch action name.

optional
Required: Yes
Type: boolean

Whether the launch will not be marked as failed if this action fails.

order
Required: Yes
Type: int

Launch action order.

parameters
Type: Associative array of custom strings keys (LaunchActionParameterName) to LaunchActionParameter structures

Launch action parameters.

resourceId
Required: Yes
Type: string

Launch configuration template Id or Source Server Id

Result Syntax

[
    'actionCode' => '<string>',
    'actionId' => '<string>',
    'actionVersion' => '<string>',
    'active' => true || false,
    'category' => 'MONITORING|VALIDATION|CONFIGURATION|SECURITY|OTHER',
    'description' => '<string>',
    'name' => '<string>',
    'optional' => true || false,
    'order' => <integer>,
    'parameters' => [
        '<LaunchActionParameterName>' => [
            'type' => 'SSM_STORE|DYNAMIC',
            'value' => '<string>',
        ],
        // ...
    ],
    'resourceId' => '<string>',
    'type' => 'SSM_AUTOMATION|SSM_COMMAND',
]

Result Details

Members
actionCode
Type: string

Launch action code.

actionId
Type: string

Launch action Id.

actionVersion
Type: string

Launch action version.

active
Type: boolean

Whether the launch action is active.

category
Type: string

Launch action category.

description
Type: string

Launch action description.

name
Type: string

Launch action name.

optional
Type: boolean

Whether the launch will not be marked as failed if this action fails.

order
Type: int

Launch action order.

parameters
Type: Associative array of custom strings keys (LaunchActionParameterName) to LaunchActionParameter structures

Launch action parameters.

resourceId
Type: string

Launch configuration template Id or Source Server Id

type
Type: string

Launch action type.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

RetryDataReplication

$result = $client->retryDataReplication([/* ... */]);
$promise = $client->retryDataReplicationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->retryDataReplication([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Server whose data replication should be retried.

Result 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' => <integer>,
                'deviceName' => '<string>',
                'replicatedStorageBytes' => <integer>,
                'rescannedStorageBytes' => <integer>,
                'totalStorageBytes' => <integer>,
                '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' => <integer>,
                'modelName' => '<string>',
            ],
            // ...
        ],
        'disks' => [
            [
                'bytes' => <integer>,
                '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' => <integer>,
        'recommendedInstanceType' => '<string>',
        'supportsNitroInstances' => true || false,
    ],
    'sourceServerID' => '<string>',
    'stagingArea' => [
        'errorMessage' => '<string>',
        'stagingAccountID' => '<string>',
        'stagingSourceServerArn' => '<string>',
        'status' => 'EXTENDED|EXTENSION_ERROR|NOT_EXTENDED',
    ],
    'tags' => ['<string>', ...],
]

Result Details

Members
agentVersion
Type: string

The version of the DRS agent installed on the source server

arn
Type: string

The ARN of the Source Server.

dataReplicationInfo
Type: DataReplicationInfo structure

The Data Replication Info of the Source Server.

lastLaunchResult
Type: string

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

lifeCycle
Type: LifeCycle structure

The lifecycle information of this Source Server.

recoveryInstanceId
Type: string

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

replicationDirection
Type: string

Replication direction of the Source Server.

reversedDirectionSourceServerArn
Type: 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
Type: SourceCloudProperties structure

Source cloud properties of the Source Server.

sourceNetworkID
Type: string

ID of the Source Network which is protecting this Source Server's network.

sourceProperties
Type: SourceProperties structure

The source properties of the Source Server.

sourceServerID
Type: string

The ID of the Source Server.

stagingArea
Type: StagingArea structure

The staging area of the source server.

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags associated with the Source Server.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

ReverseReplication

$result = $client->reverseReplication([/* ... */]);
$promise = $client->reverseReplicationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->reverseReplication([
    'recoveryInstanceID' => '<string>', // REQUIRED
]);

Parameter Details

Members
recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance that we want to reverse the replication for.

Result Syntax

[
    'reversedDirectionSourceServerArn' => '<string>',
]

Result Details

Members
reversedDirectionSourceServerArn
Type: string

ARN of created SourceServer.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

StartFailbackLaunch

$result = $client->startFailbackLaunch([/* ... */]);
$promise = $client->startFailbackLaunchAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->startFailbackLaunch([
    'recoveryInstanceIDs' => ['<string>', ...], // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
recoveryInstanceIDs
Required: Yes
Type: Array of strings

The IDs of the Recovery Instance whose failback launch we want to request.

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to be associated with the failback launch Job.

Result 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' => <integer>,
                                'parameters' => [
                                    '<LaunchActionParameterName>' => [
                                        '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>', ...],
        'type' => 'LAUNCH|TERMINATE|CREATE_CONVERTED_SNAPSHOT',
    ],
]

Result Details

Members
job
Type: Job structure

The failback launch Job.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

StartRecovery

$result = $client->startRecovery([/* ... */]);
$promise = $client->startRecoveryAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->startRecovery([
    'isDrill' => true || false,
    'sourceServers' => [ // REQUIRED
        [
            'recoverySnapshotID' => '<string>',
            'sourceServerID' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
isDrill
Type: boolean

Whether this Source Server Recovery operation is a drill or not.

sourceServers
Required: Yes
Type: Array of StartRecoveryRequestSourceServer structures

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to be associated with the Recovery Job.

Result 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' => <integer>,
                                'parameters' => [
                                    '<LaunchActionParameterName>' => [
                                        '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>', ...],
        'type' => 'LAUNCH|TERMINATE|CREATE_CONVERTED_SNAPSHOT',
    ],
]

Result Details

Members
job
Type: Job structure

The Recovery Job.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

StartReplication

$result = $client->startReplication([/* ... */]);
$promise = $client->startReplicationAsync([/* ... */]);

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

Parameter Syntax

$result = $client->startReplication([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Server to start replication for.

Result 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' => <integer>,
                    'deviceName' => '<string>',
                    'replicatedStorageBytes' => <integer>,
                    'rescannedStorageBytes' => <integer>,
                    'totalStorageBytes' => <integer>,
                    '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' => <integer>,
                    'modelName' => '<string>',
                ],
                // ...
            ],
            'disks' => [
                [
                    'bytes' => <integer>,
                    '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' => <integer>,
            'recommendedInstanceType' => '<string>',
            'supportsNitroInstances' => true || false,
        ],
        'sourceServerID' => '<string>',
        'stagingArea' => [
            'errorMessage' => '<string>',
            'stagingAccountID' => '<string>',
            'stagingSourceServerArn' => '<string>',
            'status' => 'EXTENDED|EXTENSION_ERROR|NOT_EXTENDED',
        ],
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
sourceServer
Type: SourceServer structure

The Source Server that this action was targeted on.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

StartSourceNetworkRecovery

$result = $client->startSourceNetworkRecovery([/* ... */]);
$promise = $client->startSourceNetworkRecoveryAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->startSourceNetworkRecovery([
    'deployAsNew' => true || false,
    'sourceNetworks' => [ // REQUIRED
        [
            'cfnStackName' => '<string>',
            'sourceNetworkID' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
deployAsNew
Type: boolean

Don't update existing CloudFormation Stack, recover the network using a new stack.

sourceNetworks
Required: Yes
Type: Array of StartSourceNetworkRecoveryRequestNetworkEntry structures

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to be associated with the Source Network recovery Job.

Result 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' => <integer>,
                                'parameters' => [
                                    '<LaunchActionParameterName>' => [
                                        '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>', ...],
        'type' => 'LAUNCH|TERMINATE|CREATE_CONVERTED_SNAPSHOT',
    ],
]

Result Details

Members
job
Type: Job structure

The Source Network recovery Job.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

StartSourceNetworkReplication

$result = $client->startSourceNetworkReplication([/* ... */]);
$promise = $client->startSourceNetworkReplicationAsync([/* ... */]);

Starts replication for a Source Network. This action would make the Source Network protected.

Parameter Syntax

$result = $client->startSourceNetworkReplication([
    'sourceNetworkID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceNetworkID
Required: Yes
Type: string

ID of the Source Network to replicate.

Result Syntax

[
    'sourceNetwork' => [
        'arn' => '<string>',
        'cfnStackName' => '<string>',
        'lastRecovery' => [
            'apiCallDateTime' => <DateTime>,
            '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>', ...],
    ],
]

Result Details

Members
sourceNetwork
Type: SourceNetwork structure

Source Network which was requested for replication.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

StopFailback

$result = $client->stopFailback([/* ... */]);
$promise = $client->stopFailbackAsync([/* ... */]);

Stops the failback process for a specified Recovery Instance. This changes the Failback State of the Recovery Instance back to FAILBACK_NOT_STARTED.

Parameter Syntax

$result = $client->stopFailback([
    'recoveryInstanceID' => '<string>', // REQUIRED
]);

Parameter Details

Members
recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance we want to stop failback for.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

StopReplication

$result = $client->stopReplication([/* ... */]);
$promise = $client->stopReplicationAsync([/* ... */]);

Stops replication for a Source Server. This action would make the Source Server unprotected, delete its existing snapshots and stop billing for it.

Parameter Syntax

$result = $client->stopReplication([
    'sourceServerID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceServerID
Required: Yes
Type: string

The ID of the Source Server to stop replication for.

Result 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' => <integer>,
                    'deviceName' => '<string>',
                    'replicatedStorageBytes' => <integer>,
                    'rescannedStorageBytes' => <integer>,
                    'totalStorageBytes' => <integer>,
                    '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' => <integer>,
                    'modelName' => '<string>',
                ],
                // ...
            ],
            'disks' => [
                [
                    'bytes' => <integer>,
                    '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' => <integer>,
            'recommendedInstanceType' => '<string>',
            'supportsNitroInstances' => true || false,
        ],
        'sourceServerID' => '<string>',
        'stagingArea' => [
            'errorMessage' => '<string>',
            'stagingAccountID' => '<string>',
            'stagingSourceServerArn' => '<string>',
            'status' => 'EXTENDED|EXTENSION_ERROR|NOT_EXTENDED',
        ],
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
sourceServer
Type: SourceServer structure

The Source Server that this action was targeted on.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

StopSourceNetworkReplication

$result = $client->stopSourceNetworkReplication([/* ... */]);
$promise = $client->stopSourceNetworkReplicationAsync([/* ... */]);

Stops replication for a Source Network. This action would make the Source Network unprotected.

Parameter Syntax

$result = $client->stopSourceNetworkReplication([
    'sourceNetworkID' => '<string>', // REQUIRED
]);

Parameter Details

Members
sourceNetworkID
Required: Yes
Type: string

ID of the Source Network to stop replication.

Result Syntax

[
    'sourceNetwork' => [
        'arn' => '<string>',
        'cfnStackName' => '<string>',
        'lastRecovery' => [
            'apiCallDateTime' => <DateTime>,
            '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>', ...],
    ],
]

Result Details

Members
sourceNetwork
Type: SourceNetwork structure

Source Network which was requested to stop replication.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

ARN of the resource for which tags are to be added or updated.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

Array of tags to be added or updated.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

TerminateRecoveryInstances

$result = $client->terminateRecoveryInstances([/* ... */]);
$promise = $client->terminateRecoveryInstancesAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->terminateRecoveryInstances([
    'recoveryInstanceIDs' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
recoveryInstanceIDs
Required: Yes
Type: Array of strings

The IDs of the Recovery Instances that should be terminated.

Result 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' => <integer>,
                                'parameters' => [
                                    '<LaunchActionParameterName>' => [
                                        '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>', ...],
        'type' => 'LAUNCH|TERMINATE|CREATE_CONVERTED_SNAPSHOT',
    ],
]

Result Details

Members
job
Type: Job structure

The Job for terminating the Recovery Instances.

Errors

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ServiceQuotaExceededException:

The request could not be completed because its exceeded the service quota.

ThrottlingException:

The request was denied due to request throttling.

UninitializedAccountException:

The account performing the request has not been initialized.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Deletes the specified set of tags from the specified set of Elastic Disaster Recovery resources.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

ARN of the resource for which tags are to be removed.

tagKeys
Required: Yes
Type: Array of strings

Array of tags to be removed.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UpdateFailbackReplicationConfiguration

$result = $client->updateFailbackReplicationConfiguration([/* ... */]);
$promise = $client->updateFailbackReplicationConfigurationAsync([/* ... */]);

Allows you to update the failback replication configuration of a Recovery Instance by ID.

Parameter Syntax

$result = $client->updateFailbackReplicationConfiguration([
    'bandwidthThrottling' => <integer>,
    'name' => '<string>',
    'recoveryInstanceID' => '<string>', // REQUIRED
    'usePrivateIP' => true || false,
]);

Parameter Details

Members
bandwidthThrottling
Type: long (int|float)

Configure bandwidth throttling for the outbound data transfer rate of the Recovery Instance in Mbps.

name
Type: string

The name of the Failback Replication Configuration.

recoveryInstanceID
Required: Yes
Type: string

The ID of the Recovery Instance.

usePrivateIP
Type: boolean

Whether to use Private IP for the failback replication of the Recovery Instance.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

UninitializedAccountException:

The account performing the request has not been initialized.

UpdateLaunchConfiguration

$result = $client->updateLaunchConfiguration([/* ... */]);
$promise = $client->updateLaunchConfigurationAsync([/* ... */]);

Updates a LaunchConfiguration by Source Server ID.

Parameter Syntax

$result = $client->updateLaunchConfiguration([
    'copyPrivateIp' => true || false,
    'copyTags' => true || false,
    'launchDisposition' => 'STOPPED|STARTED',
    'launchIntoInstanceProperties' => [
        'launchIntoEC2InstanceID' => '<string>',
    ],
    'licensing' => [
        'osByol' => true || false,
    ],
    'name' => '<string>',
    'postLaunchEnabled' => true || false,
    'sourceServerID' => '<string>', // REQUIRED
    'targetInstanceTypeRightSizingMethod' => 'NONE|BASIC|IN_AWS',
]);

Parameter Details

Members
copyPrivateIp
Type: boolean

Whether we should copy the Private IP of the Source Server to the Recovery Instance.

copyTags
Type: boolean

Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance.

launchDisposition
Type: string

The state of the Recovery Instance in EC2 after the recovery operation.

launchIntoInstanceProperties

Launch into existing instance properties.

licensing
Type: Licensing structure

The licensing configuration to be used for this launch configuration.

name
Type: string

The name of the launch configuration.

postLaunchEnabled
Type: boolean

Whether we want to enable post-launch actions for the Source Server.

sourceServerID
Required: Yes
Type: string

The ID of the Source Server that we want to retrieve a Launch Configuration for.

targetInstanceTypeRightSizingMethod
Type: 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.

Result 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',
]

Result Details

Members
copyPrivateIp
Type: boolean

Whether we should copy the Private IP of the Source Server to the Recovery Instance.

copyTags
Type: boolean

Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance.

ec2LaunchTemplateID
Type: string

The EC2 launch template ID of this launch configuration.

launchDisposition
Type: string

The state of the Recovery Instance in EC2 after the recovery operation.

launchIntoInstanceProperties

Launch into existing instance properties.

licensing
Type: Licensing structure

The licensing configuration to be used for this launch configuration.

name
Type: string

The name of the launch configuration.

postLaunchEnabled
Type: boolean

Whether we want to activate post-launch actions for the Source Server.

sourceServerID
Type: string

The ID of the Source Server for this launch configuration.

targetInstanceTypeRightSizingMethod
Type: 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.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

UpdateLaunchConfigurationTemplate

$result = $client->updateLaunchConfigurationTemplate([/* ... */]);
$promise = $client->updateLaunchConfigurationTemplateAsync([/* ... */]);

Updates an existing Launch Configuration Template by ID.

Parameter Syntax

$result = $client->updateLaunchConfigurationTemplate([
    'copyPrivateIp' => true || false,
    'copyTags' => true || false,
    'exportBucketArn' => '<string>',
    'launchConfigurationTemplateID' => '<string>', // REQUIRED
    'launchDisposition' => 'STOPPED|STARTED',
    'launchIntoSourceInstance' => true || false,
    'licensing' => [
        'osByol' => true || false,
    ],
    'postLaunchEnabled' => true || false,
    'targetInstanceTypeRightSizingMethod' => 'NONE|BASIC|IN_AWS',
]);

Parameter Details

Members
copyPrivateIp
Type: boolean

Copy private IP.

copyTags
Type: boolean

Copy tags.

exportBucketArn
Type: string

S3 bucket ARN to export Source Network templates.

launchConfigurationTemplateID
Required: Yes
Type: string

Launch Configuration Template ID.

launchDisposition
Type: string

Launch disposition.

launchIntoSourceInstance
Type: 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
Type: Licensing structure

Licensing.

postLaunchEnabled
Type: boolean

Whether we want to activate post-launch actions.

targetInstanceTypeRightSizingMethod
Type: string

Target instance type right-sizing method.

Result 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>', ...],
        'targetInstanceTypeRightSizingMethod' => 'NONE|BASIC|IN_AWS',
    ],
]

Result Details

Members
launchConfigurationTemplate
Type: LaunchConfigurationTemplate structure

Updated Launch Configuration Template.

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

UpdateReplicationConfiguration

$result = $client->updateReplicationConfiguration([/* ... */]);
$promise = $client->updateReplicationConfigurationAsync([/* ... */]);

Allows you to update a ReplicationConfiguration by Source Server ID.

Parameter Syntax

$result = $client->updateReplicationConfiguration([
    'associateDefaultSecurityGroup' => true || false,
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>,
    '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' => <integer>, // REQUIRED
            'retentionDuration' => <integer>, // REQUIRED
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY', // REQUIRED
        ],
        // ...
    ],
    'replicatedDisks' => [
        [
            'deviceName' => '<string>',
            'iops' => <integer>,
            'isBootDisk' => true || false,
            'optimizedStagingDiskType' => 'AUTO|GP2|GP3|IO1|SC1|ST1|STANDARD',
            'stagingDiskType' => 'AUTO|GP2|GP3|IO1|SC1|ST1|STANDARD',
            'throughput' => <integer>,
        ],
        // ...
    ],
    'replicationServerInstanceType' => '<string>',
    'replicationServersSecurityGroupsIDs' => ['<string>', ...],
    'sourceServerID' => '<string>', // REQUIRED
    'stagingAreaSubnetId' => '<string>',
    'stagingAreaTags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false,
]);

Parameter Details

Members
associateDefaultSecurityGroup
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Type: long (int|float)

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

createPublicIP
Type: boolean

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

dataPlaneRouting
Type: string

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

defaultLargeStagingDiskType
Type: string

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

ebsEncryption
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

name
Type: string

The name of the Replication Configuration.

pitPolicy
Type: Array of PITPolicyRule structures

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

replicatedDisks
Type: Array of ReplicationConfigurationReplicatedDisk structures

The configuration of the disks of the Source Server to be replicated.

replicationServerInstanceType
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Type: Array of strings

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

sourceServerID
Required: Yes
Type: string

The ID of the Source Server for this Replication Configuration.

stagingAreaSubnetId
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Type: boolean

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

Result Syntax

[
    'associateDefaultSecurityGroup' => true || false,
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>,
    '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' => <integer>,
            'retentionDuration' => <integer>,
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY',
        ],
        // ...
    ],
    'replicatedDisks' => [
        [
            'deviceName' => '<string>',
            'iops' => <integer>,
            'isBootDisk' => true || false,
            'optimizedStagingDiskType' => 'AUTO|GP2|GP3|IO1|SC1|ST1|STANDARD',
            'stagingDiskType' => 'AUTO|GP2|GP3|IO1|SC1|ST1|STANDARD',
            'throughput' => <integer>,
        ],
        // ...
    ],
    'replicationServerInstanceType' => '<string>',
    'replicationServersSecurityGroupsIDs' => ['<string>', ...],
    'sourceServerID' => '<string>',
    'stagingAreaSubnetId' => '<string>',
    'stagingAreaTags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false,
]

Result Details

Members
associateDefaultSecurityGroup
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Type: long (int|float)

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

createPublicIP
Type: boolean

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

dataPlaneRouting
Type: string

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

defaultLargeStagingDiskType
Type: string

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

ebsEncryption
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

name
Type: string

The name of the Replication Configuration.

pitPolicy
Type: Array of PITPolicyRule structures

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

replicatedDisks
Type: Array of ReplicationConfigurationReplicatedDisk structures

The configuration of the disks of the Source Server to be replicated.

replicationServerInstanceType
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Type: Array of strings

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

sourceServerID
Type: string

The ID of the Source Server for this Replication Configuration.

stagingAreaSubnetId
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Type: boolean

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

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The request could not be completed due to a conflict with the current state of the target resource.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

UpdateReplicationConfigurationTemplate

$result = $client->updateReplicationConfigurationTemplate([/* ... */]);
$promise = $client->updateReplicationConfigurationTemplateAsync([/* ... */]);

Updates a ReplicationConfigurationTemplate by ID.

Parameter Syntax

$result = $client->updateReplicationConfigurationTemplate([
    'arn' => '<string>',
    'associateDefaultSecurityGroup' => true || false,
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>,
    'createPublicIP' => true || false,
    'dataPlaneRouting' => 'PRIVATE_IP|PUBLIC_IP',
    'defaultLargeStagingDiskType' => 'GP2|GP3|ST1|AUTO',
    'ebsEncryption' => 'DEFAULT|CUSTOM|NONE',
    'ebsEncryptionKeyArn' => '<string>',
    'pitPolicy' => [
        [
            'enabled' => true || false,
            'interval' => <integer>, // REQUIRED
            'retentionDuration' => <integer>, // REQUIRED
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY', // REQUIRED
        ],
        // ...
    ],
    'replicationConfigurationTemplateID' => '<string>', // REQUIRED
    'replicationServerInstanceType' => '<string>',
    'replicationServersSecurityGroupsIDs' => ['<string>', ...],
    'stagingAreaSubnetId' => '<string>',
    'stagingAreaTags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false,
]);

Parameter Details

Members
arn
Type: string

The Replication Configuration Template ARN.

associateDefaultSecurityGroup
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Type: long (int|float)

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

createPublicIP
Type: boolean

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

dataPlaneRouting
Type: string

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

defaultLargeStagingDiskType
Type: string

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

ebsEncryption
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

pitPolicy
Type: Array of PITPolicyRule structures

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

replicationConfigurationTemplateID
Required: Yes
Type: string

The Replication Configuration Template ID.

replicationServerInstanceType
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Type: Array of strings

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

stagingAreaSubnetId
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Type: boolean

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

Result Syntax

[
    'arn' => '<string>',
    'associateDefaultSecurityGroup' => true || false,
    'autoReplicateNewDisks' => true || false,
    'bandwidthThrottling' => <integer>,
    'createPublicIP' => true || false,
    'dataPlaneRouting' => 'PRIVATE_IP|PUBLIC_IP',
    'defaultLargeStagingDiskType' => 'GP2|GP3|ST1|AUTO',
    'ebsEncryption' => 'DEFAULT|CUSTOM|NONE',
    'ebsEncryptionKeyArn' => '<string>',
    'pitPolicy' => [
        [
            'enabled' => true || false,
            'interval' => <integer>,
            'retentionDuration' => <integer>,
            'ruleID' => <integer>,
            'units' => 'MINUTE|HOUR|DAY',
        ],
        // ...
    ],
    'replicationConfigurationTemplateID' => '<string>',
    'replicationServerInstanceType' => '<string>',
    'replicationServersSecurityGroupsIDs' => ['<string>', ...],
    'stagingAreaSubnetId' => '<string>',
    'stagingAreaTags' => ['<string>', ...],
    'tags' => ['<string>', ...],
    'useDedicatedReplicationServer' => true || false,
]

Result Details

Members
arn
Type: string

The Replication Configuration Template ARN.

associateDefaultSecurityGroup
Type: boolean

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

autoReplicateNewDisks
Type: boolean

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

bandwidthThrottling
Type: long (int|float)

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

createPublicIP
Type: boolean

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

dataPlaneRouting
Type: string

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

defaultLargeStagingDiskType
Type: string

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

ebsEncryption
Type: string

The type of EBS encryption to be used during replication.

ebsEncryptionKeyArn
Type: string

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

pitPolicy
Type: Array of PITPolicyRule structures

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

replicationConfigurationTemplateID
Required: Yes
Type: string

The Replication Configuration Template ID.

replicationServerInstanceType
Type: string

The instance type to be used for the replication server.

replicationServersSecurityGroupsIDs
Type: Array of strings

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

stagingAreaSubnetId
Type: string

The subnet to be used by the replication staging area.

stagingAreaTags
Type: Associative array of custom strings keys (TagKey) to strings

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

useDedicatedReplicationServer
Type: boolean

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

Errors

ResourceNotFoundException:

The resource for this operation was not found.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input fails to satisfy the constraints specified by the AWS service.

UninitializedAccountException:

The account performing the request has not been initialized.

Shapes

AccessDeniedException

Description

You do not have sufficient access to perform this action.

Members
code
Type: string
message
Type: string

Account

Description

AWS account.

Members
accountID
Type: string

Account ID of AWS account.

CPU

Description

Information about a server's CPU.

Members
cores
Type: long (int|float)

The number of CPU cores.

modelName
Type: string

The model name of the CPU.

ConflictException

Description

The request could not be completed due to a conflict with the current state of the target resource.

Members
code
Type: string
message
Type: string
resourceId
Type: string

The ID of the resource.

resourceType
Type: string

The type of the resource.

ConversionProperties

Description

Properties of a conversion job

Members
dataTimestamp
Type: string

The timestamp of when the snapshot being converted was taken

forceUefi
Type: boolean

Whether the volume being converted uses UEFI or not

rootVolumeName
Type: string

The root volume name of a conversion job

volumeToConversionMap
Type: Associative array of custom strings keys (LargeBoundedString) to stringss

A mapping between the volumes being converted and the converted snapshot ids

volumeToProductCodes
Type: Associative array of custom strings keys (LargeBoundedString) to ProductCode structuress

A mapping between the volumes being converted and the product codes associated with them

volumeToVolumeSize
Type: Associative array of custom strings keys (LargeBoundedString) to long (int|float)s

A mapping between the volumes and their sizes

DataReplicationError

Description

Error in data replication.

Members
error
Type: string

Error in data replication.

rawError
Type: string

Error in data replication.

DataReplicationInfo

Description

Information about Data Replication

Members
dataReplicationError
Type: DataReplicationError structure

Error in data replication.

dataReplicationInitiation
Type: DataReplicationInitiation structure

Information about whether the data replication has been initiated.

dataReplicationState
Type: string

The state of the data replication.

etaDateTime
Type: string

An estimate of when the data replication will be completed.

lagDuration
Type: string

Data replication lag duration.

replicatedDisks
Type: Array of DataReplicationInfoReplicatedDisk structures

The disks that should be replicated.

stagingAvailabilityZone
Type: string

AWS Availability zone into which data is being replicated.

stagingOutpostArn
Type: string

The ARN of the staging Outpost

DataReplicationInfoReplicatedDisk

Description

A disk that should be replicated.

Members
backloggedStorageBytes
Type: long (int|float)

The size of the replication backlog in bytes.

deviceName
Type: string

The name of the device.

replicatedStorageBytes
Type: long (int|float)

The amount of data replicated so far in bytes.

rescannedStorageBytes
Type: long (int|float)

The amount of data to be rescanned in bytes.

totalStorageBytes
Type: long (int|float)

The total amount of data to be replicated in bytes.

volumeStatus
Type: string

The status of the volume.

DataReplicationInitiation

Description

Data replication initiation.

Members
nextAttemptDateTime
Type: string

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

startDateTime
Type: string

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

steps
Type: Array of DataReplicationInitiationStep structures

The steps of the current attempt to initiate data replication.

DataReplicationInitiationStep

Description

Data replication initiation step.

Members
name
Type: string

The name of the step.

status
Type: string

The status of the step.

DescribeJobsRequestFilters

Description

A set of filters by which to return Jobs.

Members
fromDate
Type: string

The start date in a date range query.

jobIDs
Type: Array of strings

An array of Job IDs that should be returned. An empty array means all jobs.

toDate
Type: string

The end date in a date range query.

DescribeRecoveryInstancesRequestFilters

Description

A set of filters by which to return Recovery Instances.

Members
recoveryInstanceIDs
Type: Array of strings

An array of Recovery Instance IDs that should be returned. An empty array means all Recovery Instances.

sourceServerIDs
Type: Array of strings

An array of Source Server IDs for which associated Recovery Instances should be returned.

DescribeRecoverySnapshotsRequestFilters

Description

A set of filters by which to return Recovery Snapshots.

Members
fromDateTime
Type: string

The start date in a date range query.

toDateTime
Type: string

The end date in a date range query.

DescribeSourceNetworksRequestFilters

Description

A set of filters by which to return Source Networks.

Members
originAccountID
Type: string

Filter Source Networks by account ID containing the protected VPCs.

originRegion
Type: string

Filter Source Networks by the region containing the protected VPCs.

sourceNetworkIDs
Type: Array of strings

An array of Source Network IDs that should be returned. An empty array means all Source Networks.

DescribeSourceServersRequestFilters

Description

A set of filters by which to return Source Servers.

Members
hardwareId
Type: 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
Type: Array of strings

An array of Source Servers IDs that should be returned. An empty array means all Source Servers.

stagingAccountIDs
Type: Array of strings

An array of staging account IDs that extended source servers belong to. An empty array means all source servers will be shown.

Disk

Description

An object representing a data storage device on a server.

Members
bytes
Type: long (int|float)

The amount of storage on the disk in bytes.

deviceName
Type: string

The disk or device name.

EventResourceData

Description

Properties of resource related to a job event.

Members
sourceNetworkData
Type: SourceNetworkData structure

Source Network properties.

IdentificationHints

Description

Hints used to uniquely identify a machine.

Members
awsInstanceID
Type: string

AWS Instance ID identification hint.

fqdn
Type: string

Fully Qualified Domain Name identification hint.

hostname
Type: string

Hostname identification hint.

vmWareUuid
Type: string

vCenter VM path identification hint.

InternalServerException

Description

The request processing has failed because of an unknown error, exception or failure.

Members
message
Required: Yes
Type: string
retryAfterSeconds
Type: long (int|float)

The number of seconds after which the request should be safe to retry.

Job

Description

A job is an asynchronous workflow.

Members
arn
Type: string

The ARN of a Job.

creationDateTime
Type: string

The date and time of when the Job was created.

endDateTime
Type: string

The date and time of when the Job ended.

initiatedBy
Type: string

A string representing who initiated the Job.

jobID
Required: Yes
Type: string

The ID of the Job.

participatingResources
Type: Array of ParticipatingResource structures

A list of resources that the Job is acting upon.

participatingServers
Type: Array of ParticipatingServer structures

A list of servers that the Job is acting upon.

status
Type: string

The status of the Job.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A list of tags associated with the Job.

type
Type: string

The type of the Job.

JobLog

Description

A log outputted by a Job.

Members
event
Type: string

The event represents the type of a log.

eventData
Type: JobLogEventData structure

Metadata associated with a Job log.

logDateTime
Type: string

The date and time the log was taken.

JobLogEventData

Description

Metadata associated with a Job log.

Members
conversionProperties
Type: ConversionProperties structure

Properties of a conversion job

conversionServerID
Type: string

The ID of a conversion server.

eventResourceData
Type: EventResourceData structure

Properties of resource related to a job event.

rawError
Type: string

A string representing a job error.

sourceServerID
Type: string

The ID of a Source Server.

targetInstanceID
Type: string

The ID of a Recovery Instance.

LaunchAction

Description

Launch action.

Members
actionCode
Type: string

Launch action code.

actionId
Type: string

Launch action Id.

actionVersion
Type: string

Launch action version.

active
Type: boolean

Whether the launch action is active.

category
Type: string

Launch action category.

description
Type: string

Launch action description.

name
Type: string

Launch action name.

optional
Type: boolean

Whether the launch will not be marked as failed if this action fails.

order
Type: int

Launch action order.

parameters
Type: Associative array of custom strings keys (LaunchActionParameterName) to LaunchActionParameter structures

Launch action parameters.

type
Type: string

Launch action type.

LaunchActionParameter

Description

Launch action parameter.

Members
type
Type: string

Type.

value
Type: string

Value.

LaunchActionRun

Description

Launch action run.

Members
action
Type: LaunchAction structure

Action.

failureReason
Type: string

Failure reason.

runId
Type: string

Run Id.

status
Type: string

Run status.

LaunchActionsRequestFilters

Description

Resource launch actions filter.

Members
actionIds
Type: Array of strings

Launch actions Ids.

LaunchActionsStatus

Description

Launch actions status.

Members
runs
Type: Array of LaunchActionRun structures

List of post launch action status.

ssmAgentDiscoveryDatetime
Type: string

Time where the AWS Systems Manager was detected as running on the launched instance.

LaunchConfigurationTemplate

Description

Account level Launch Configuration Template.

Members
arn
Type: string

ARN of the Launch Configuration Template.

copyPrivateIp
Type: boolean

Copy private IP.

copyTags
Type: boolean

Copy tags.

exportBucketArn
Type: string

S3 bucket ARN to export Source Network templates.

launchConfigurationTemplateID
Type: string

ID of the Launch Configuration Template.

launchDisposition
Type: string

Launch disposition.

launchIntoSourceInstance
Type: 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
Type: Licensing structure

Licensing.

postLaunchEnabled
Type: boolean

Post-launch actions activated.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags of the Launch Configuration Template.

targetInstanceTypeRightSizingMethod
Type: string

Target instance type right-sizing method.

LaunchIntoInstanceProperties

Description

Launch into existing instance.

Members
launchIntoEC2InstanceID
Type: string

Optionally holds EC2 instance ID of an instance to launch into, instead of launching a new instance during drill, recovery or failback.

Licensing

Description

Configuration of a machine's license.

Members
osByol
Type: boolean

Whether to enable "Bring your own license" or not.

LifeCycle

Description

An object representing the Source Server Lifecycle.

Members
addedToServiceDateTime
Type: string

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

elapsedReplicationDuration
Type: string

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

firstByteDateTime
Type: string

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

lastLaunch
Type: LifeCycleLastLaunch structure

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

lastSeenByServiceDateTime
Type: string

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

LifeCycleLastLaunch

Description

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

Members
initiated

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

status
Type: string

Status of Source Server's last launch.

LifeCycleLastLaunchInitiated

Description

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

Members
apiCallDateTime
Type: string

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

jobID
Type: string

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

type
Type: string

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

NetworkInterface

Description

Network interface.

Members
ips
Type: Array of strings

Network interface IPs.

isPrimary
Type: boolean

Whether this is the primary network interface.

macAddress
Type: string

The MAC address of the network interface.

OS

Description

Operating System.

Members
fullString
Type: string

The long name of the Operating System.

PITPolicyRule

Description

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

Members
enabled
Type: boolean

Whether this rule is enabled or not.

interval
Required: Yes
Type: int

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

retentionDuration
Required: Yes
Type: int

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

ruleID
Type: long (int|float)

The ID of the rule.

units
Required: Yes
Type: string

The units used to measure the interval and retentionDuration.

ParticipatingResource

Description

Represents a resource participating in an asynchronous Job.

Members
launchStatus
Type: string

The launch status of a participating resource.

participatingResourceID
Type: ParticipatingResourceID structure

The ID of a participating resource.

ParticipatingResourceID

Description

ID of a resource participating in an asynchronous Job.

Members
sourceNetworkID
Type: string

Source Network ID.

ParticipatingServer

Description

Represents a server participating in an asynchronous Job.

Members
launchActionsStatus
Type: LaunchActionsStatus structure

The post-launch action runs of a participating server.

launchStatus
Type: string

The launch status of a participating server.

recoveryInstanceID
Type: string

The Recovery Instance ID of a participating server.

sourceServerID
Type: string

The Source Server ID of a participating server.

ProductCode

Description

Properties of a product code associated with a volume.

Members
productCodeId
Type: string

Id of a product code associated with a volume.

productCodeMode
Type: string

Mode of a product code associated with a volume.

RecoveryInstance

Description

A Recovery Instance is a replica of a Source Server running on EC2.

Members
agentVersion
Type: string

The version of the DRS agent installed on the recovery instance

arn
Type: string

The ARN of the Recovery Instance.

dataReplicationInfo

The Data Replication Info of the Recovery Instance.

ec2InstanceID
Type: string

The EC2 instance ID of the Recovery Instance.

ec2InstanceState
Type: string

The state of the EC2 instance for this Recovery Instance.

failback
Type: RecoveryInstanceFailback structure

An object representing failback related information of the Recovery Instance.

isDrill
Type: boolean

Whether this Recovery Instance was created for a drill or for an actual Recovery event.

jobID
Type: string

The ID of the Job that created the Recovery Instance.

originAvailabilityZone
Type: string

AWS availability zone associated with the recovery instance.

originEnvironment
Type: string

Environment (On Premises / AWS) of the instance that the recovery instance originated from.

pointInTimeSnapshotDateTime
Type: string

The date and time of the Point in Time (PIT) snapshot that this Recovery Instance was launched from.

recoveryInstanceID
Type: string

The ID of the Recovery Instance.

recoveryInstanceProperties
Type: RecoveryInstanceProperties structure

Properties of the Recovery Instance machine.

sourceOutpostArn
Type: string

The ARN of the source Outpost

sourceServerID
Type: string

The Source Server ID that this Recovery Instance is associated with.

tags
Type: Associative array of custom strings keys (TagKey) to strings

An array of tags that are associated with the Recovery Instance.

RecoveryInstanceDataReplicationError

Description

Error in data replication.

Members
error
Type: string

Error in data replication.

rawError
Type: string

Error in data replication.

RecoveryInstanceDataReplicationInfo

Description

Information about Data Replication

Members
dataReplicationError

Information about Data Replication

dataReplicationInitiation

Information about whether the data replication has been initiated.

dataReplicationState
Type: string

The state of the data replication.

etaDateTime
Type: string

An estimate of when the data replication will be completed.

lagDuration
Type: string

Data replication lag duration.

replicatedDisks

The disks that should be replicated.

stagingAvailabilityZone
Type: string

AWS Availability zone into which data is being replicated.

stagingOutpostArn
Type: string

The ARN of the staging Outpost

RecoveryInstanceDataReplicationInfoReplicatedDisk

Description

A disk that should be replicated.

Members
backloggedStorageBytes
Type: long (int|float)

The size of the replication backlog in bytes.

deviceName
Type: string

The name of the device.

replicatedStorageBytes
Type: long (int|float)

The amount of data replicated so far in bytes.

rescannedStorageBytes
Type: long (int|float)

The amount of data to be rescanned in bytes.

totalStorageBytes
Type: long (int|float)

The total amount of data to be replicated in bytes.

RecoveryInstanceDataReplicationInitiation

Description

Data replication initiation.

Members
startDateTime
Type: string

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

steps

The steps of the current attempt to initiate data replication.

RecoveryInstanceDataReplicationInitiationStep

Description

Data replication initiation step.

Members
name
Type: string

The name of the step.

status
Type: string

The status of the step.

RecoveryInstanceDisk

Description

An object representing a block storage device on the Recovery Instance.

Members
bytes
Type: long (int|float)

The amount of storage on the disk in bytes.

ebsVolumeID
Type: string

The EBS Volume ID of this disk.

internalDeviceName
Type: 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.

RecoveryInstanceFailback

Description

An object representing failback related information of the Recovery Instance.

Members
agentLastSeenByServiceDateTime
Type: string

The date and time the agent on the Recovery Instance was last seen by the service.

elapsedReplicationDuration
Type: string

The amount of time that the Recovery Instance has been replicating for.

failbackClientID
Type: string

The ID of the failback client that this Recovery Instance is associated with.

failbackClientLastSeenByServiceDateTime
Type: string

The date and time that the failback client was last seen by the service.

failbackInitiationTime
Type: string

The date and time that the failback initiation started.

failbackJobID
Type: string

The Job ID of the last failback log for this Recovery Instance.

failbackLaunchType
Type: string

The launch type (Recovery / Drill) of the last launch for the failback replication of this recovery instance.

failbackToOriginalServer
Type: boolean

Whether we are failing back to the original Source Server for this Recovery Instance.

firstByteDateTime
Type: string

The date and time of the first byte that was replicated from the Recovery Instance.

state
Type: string

The state of the failback process that this Recovery Instance is in.

RecoveryInstanceProperties

Description

Properties of the Recovery Instance machine.

Members
cpus
Type: Array of CPU structures

An array of CPUs.

disks
Type: Array of RecoveryInstanceDisk structures

An array of disks.

identificationHints
Type: IdentificationHints structure

Hints used to uniquely identify a machine.

lastUpdatedDateTime
Type: string

The date and time the Recovery Instance properties were last updated on.

networkInterfaces
Type: Array of NetworkInterface structures

An array of network interfaces.

os
Type: OS structure

Operating system.

ramBytes
Type: long (int|float)

The amount of RAM in bytes.

RecoveryLifeCycle

Description

An object representing the Source Network recovery Lifecycle.

Members
apiCallDateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the last Source Network recovery was initiated.

jobID
Type: string

The ID of the Job that was used to last recover the Source Network.

lastRecoveryResult
Type: string

The status of the last recovery status of this Source Network.

RecoverySnapshot

Description

A snapshot of a Source Server used during recovery.

Members
ebsSnapshots
Type: Array of strings

A list of EBS snapshots.

expectedTimestamp
Required: Yes
Type: string

The timestamp of when we expect the snapshot to be taken.

snapshotID
Required: Yes
Type: string

The ID of the Recovery Snapshot.

sourceServerID
Required: Yes
Type: string

The ID of the Source Server that the snapshot was taken for.

timestamp
Type: string

The actual timestamp that the snapshot was taken.

ReplicationConfigurationReplicatedDisk

Description

The configuration of a disk of the Source Server to be replicated.

Members
deviceName
Type: string

The name of the device.

iops
Type: long (int|float)

The requested number of I/O operations per second (IOPS).

isBootDisk
Type: boolean

Whether to boot from this disk or not.

optimizedStagingDiskType
Type: 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
Type: string

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

throughput
Type: long (int|float)

The throughput to use for the EBS volume in MiB/s. This parameter is valid only for gp3 volumes.

ResourceNotFoundException

Description

The resource for this operation was not found.

Members
code
Type: string
message
Type: string
resourceId
Type: string

The ID of the resource.

resourceType
Type: string

The type of the resource.

ServiceQuotaExceededException

Description

The request could not be completed because its exceeded the service quota.

Members
code
Type: string
message
Type: string
quotaCode
Type: string

Quota code.

resourceId
Type: string

The ID of the resource.

resourceType
Type: string

The type of the resource.

serviceCode
Type: string

Service code.

SourceCloudProperties

Description

Properties of the cloud environment where this Source Server originated from.

Members
originAccountID
Type: string

AWS Account ID for an EC2-originated Source Server.

originAvailabilityZone
Type: string

AWS Availability Zone for an EC2-originated Source Server.

originRegion
Type: string

AWS Region for an EC2-originated Source Server.

sourceOutpostArn
Type: string

The ARN of the source Outpost

SourceNetwork

Description

The ARN of the Source Network.

Members
arn
Type: string

The ARN of the Source Network.

cfnStackName
Type: string

CloudFormation stack name that was deployed for recovering the Source Network.

lastRecovery
Type: RecoveryLifeCycle structure

An object containing information regarding the last recovery of the Source Network.

launchedVpcID
Type: string

ID of the recovered VPC following Source Network recovery.

replicationStatus
Type: 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
Type: string

Error details in case Source Network replication status is ERROR.

sourceAccountID
Type: string

Account ID containing the VPC protected by the Source Network.

sourceNetworkID
Type: string

Source Network ID.

sourceRegion
Type: string

Region containing the VPC protected by the Source Network.

sourceVpcID
Type: string

VPC ID protected by the Source Network.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A list of tags associated with the Source Network.

SourceNetworkData

Description

Properties of Source Network related to a job event.

Members
sourceNetworkID
Type: string

Source Network ID.

sourceVpc
Type: string

VPC ID protected by the Source Network.

stackName
Type: string

CloudFormation stack name that was deployed for recovering the Source Network.

targetVpc
Type: string

ID of the recovered VPC following Source Network recovery.

SourceProperties

Description

Properties of the Source Server machine.

Members
cpus
Type: Array of CPU structures

An array of CPUs.

disks
Type: Array of Disk structures

An array of disks.

identificationHints
Type: IdentificationHints structure

Hints used to uniquely identify a machine.

lastUpdatedDateTime
Type: string

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

networkInterfaces
Type: Array of NetworkInterface structures

An array of network interfaces.

os
Type: OS structure

Operating system.

ramBytes
Type: long (int|float)

The amount of RAM in bytes.

recommendedInstanceType
Type: string

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

supportsNitroInstances
Type: boolean

Are EC2 nitro instance types supported when recovering the Source Server.

StagingArea

Description

Staging information related to source server.

Members
errorMessage
Type: 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
Type: 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
Type: string

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

status
Type: 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.

StagingSourceServer

Description

Source server in staging account that extended source server connected to.

Members
arn
Type: string

The ARN of the source server.

hostname
Type: string

Hostname of staging source server.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A list of tags associated with the staging source server.

StartRecoveryRequestSourceServer

Description

An object representing the Source Server to recover.

Members
recoverySnapshotID
Type: 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
Required: Yes
Type: string

The ID of the Source Server you want to recover.

StartSourceNetworkRecoveryRequestNetworkEntry

Description

An object representing the Source Network to recover.

Members
cfnStackName
Type: string

CloudFormation stack name to be used for recovering the network.

sourceNetworkID
Required: Yes
Type: string

The ID of the Source Network you want to recover.

ThrottlingException

Description

The request was denied due to request throttling.

Members
message
Required: Yes
Type: string
quotaCode
Type: string

Quota code.

retryAfterSeconds
Type: string

The number of seconds after which the request should be safe to retry.

serviceCode
Type: string

Service code.

UninitializedAccountException

Description

The account performing the request has not been initialized.

Members
code
Type: string
message
Type: string

ValidationException

Description

The input fails to satisfy the constraints specified by the AWS service.

Members
code
Type: string
fieldList
Type: Array of ValidationExceptionField structures

A list of fields that failed validation.

message
Type: string
reason
Type: string

Validation exception reason.

ValidationExceptionField

Description

Validate exception field.

Members
message
Type: string

Validate exception field message.

name
Type: string

Validate exception field name.