SDK for PHP 3.x

Client: Aws\Sms\SmsClient
Service ID: sms
Version: 2016-10-24

This page describes the parameters and results for the operations of the AWS Server Migration Service (2016-10-24), and shows how to use the Aws\Sms\SmsClient object to call the described operations. This documentation is specific to the 2016-10-24 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 */).

CreateApp ( array $params = [] )
Creates an application.
CreateReplicationJob ( array $params = [] )
Creates a replication job.
DeleteApp ( array $params = [] )
Deletes the specified application.
DeleteAppLaunchConfiguration ( array $params = [] )
Deletes the launch configuration for the specified application.
DeleteAppReplicationConfiguration ( array $params = [] )
Deletes the replication configuration for the specified application.
DeleteAppValidationConfiguration ( array $params = [] )
Deletes the validation configuration for the specified application.
DeleteReplicationJob ( array $params = [] )
Deletes the specified replication job.
DeleteServerCatalog ( array $params = [] )
Deletes all servers from your server catalog.
DisassociateConnector ( array $params = [] )
Disassociates the specified connector from Server Migration Service.
GenerateChangeSet ( array $params = [] )
Generates a target change set for a currently launched stack and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.
GenerateTemplate ( array $params = [] )
Generates an CloudFormation template based on the current launch configuration and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.
GetApp ( array $params = [] )
Retrieve information about the specified application.
GetAppLaunchConfiguration ( array $params = [] )
Retrieves the application launch configuration associated with the specified application.
GetAppReplicationConfiguration ( array $params = [] )
Retrieves the application replication configuration associated with the specified application.
GetAppValidationConfiguration ( array $params = [] )
Retrieves information about a configuration for validating an application.
GetAppValidationOutput ( array $params = [] )
Retrieves output from validating an application.
GetConnectors ( array $params = [] )
Describes the connectors registered with the Server Migration Service.
GetReplicationJobs ( array $params = [] )
Describes the specified replication job or all of your replication jobs.
GetReplicationRuns ( array $params = [] )
Describes the replication runs for the specified replication job.
GetServers ( array $params = [] )
Describes the servers in your server catalog.
ImportAppCatalog ( array $params = [] )
Allows application import from Migration Hub.
ImportServerCatalog ( array $params = [] )
Gathers a complete list of on-premises servers.
LaunchApp ( array $params = [] )
Launches the specified application as a stack in CloudFormation.
ListApps ( array $params = [] )
Retrieves summaries for all applications.
NotifyAppValidationOutput ( array $params = [] )
Provides information to Server Migration Service about whether application validation is successful.
PutAppLaunchConfiguration ( array $params = [] )
Creates or updates the launch configuration for the specified application.
PutAppReplicationConfiguration ( array $params = [] )
Creates or updates the replication configuration for the specified application.
PutAppValidationConfiguration ( array $params = [] )
Creates or updates a validation configuration for the specified application.
StartAppReplication ( array $params = [] )
Starts replicating the specified application by creating replication jobs for each server in the application.
StartOnDemandAppReplication ( array $params = [] )
Starts an on-demand replication run for the specified application.
StartOnDemandReplicationRun ( array $params = [] )
Starts an on-demand replication run for the specified replication job.
StopAppReplication ( array $params = [] )
Stops replicating the specified application by deleting the replication job for each server in the application.
TerminateApp ( array $params = [] )
Terminates the stack for the specified application.
UpdateApp ( array $params = [] )
Updates the specified application.
UpdateReplicationJob ( array $params = [] )
Updates the specified settings for the specified replication job.

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:

GetConnectors
GetReplicationJobs
GetReplicationRuns
GetServers

Operations

CreateApp

$result = $client->createApp([/* ... */]);
$promise = $client->createAppAsync([/* ... */]);

Creates an application. An application consists of one or more server groups. Each server group contain one or more servers.

Parameter Syntax

$result = $client->createApp([
    'clientToken' => '<string>',
    'description' => '<string>',
    'name' => '<string>',
    'roleName' => '<string>',
    'serverGroups' => [
        [
            'name' => '<string>',
            'serverGroupId' => '<string>',
            'serverList' => [
                [
                    'replicationJobId' => '<string>',
                    'replicationJobTerminated' => true || false,
                    'serverId' => '<string>',
                    'serverType' => 'VIRTUAL_MACHINE',
                    'vmServer' => [
                        'vmManagerName' => '<string>',
                        'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                        'vmName' => '<string>',
                        'vmPath' => '<string>',
                        'vmServerAddress' => [
                            'vmId' => '<string>',
                            'vmManagerId' => '<string>',
                        ],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of application creation.

description
Type: string

The description of the new application

name
Type: string

The name of the new application.

roleName
Type: string

The name of the service role in the customer's account to be used by Server Migration Service.

serverGroups
Type: Array of ServerGroup structures

The server groups to include in the application.

tags
Type: Array of Tag structures

The tags to be associated with the application.

Result Syntax

[
    'appSummary' => [
        'appId' => '<string>',
        'creationTime' => <DateTime>,
        'description' => '<string>',
        'importedAppId' => '<string>',
        'lastModified' => <DateTime>,
        'latestReplicationTime' => <DateTime>,
        'launchConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
        'launchDetails' => [
            'latestLaunchTime' => <DateTime>,
            'stackId' => '<string>',
            'stackName' => '<string>',
        ],
        'launchStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_LAUNCH|VALIDATION_IN_PROGRESS|LAUNCH_PENDING|LAUNCH_IN_PROGRESS|LAUNCHED|PARTIALLY_LAUNCHED|DELTA_LAUNCH_IN_PROGRESS|DELTA_LAUNCH_FAILED|LAUNCH_FAILED|TERMINATE_IN_PROGRESS|TERMINATE_FAILED|TERMINATED',
        'launchStatusMessage' => '<string>',
        'name' => '<string>',
        'replicationConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
        'replicationStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_REPLICATION|VALIDATION_IN_PROGRESS|REPLICATION_PENDING|REPLICATION_IN_PROGRESS|REPLICATED|PARTIALLY_REPLICATED|DELTA_REPLICATION_IN_PROGRESS|DELTA_REPLICATED|DELTA_REPLICATION_FAILED|REPLICATION_FAILED|REPLICATION_STOPPING|REPLICATION_STOP_FAILED|REPLICATION_STOPPED',
        'replicationStatusMessage' => '<string>',
        'roleName' => '<string>',
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|DELETE_FAILED',
        'statusMessage' => '<string>',
        'totalServerGroups' => <integer>,
        'totalServers' => <integer>,
    ],
    'serverGroups' => [
        [
            'name' => '<string>',
            'serverGroupId' => '<string>',
            'serverList' => [
                [
                    'replicationJobId' => '<string>',
                    'replicationJobTerminated' => true || false,
                    'serverId' => '<string>',
                    'serverType' => 'VIRTUAL_MACHINE',
                    'vmServer' => [
                        'vmManagerName' => '<string>',
                        'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                        'vmName' => '<string>',
                        'vmPath' => '<string>',
                        'vmServerAddress' => [
                            'vmId' => '<string>',
                            'vmManagerId' => '<string>',
                        ],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
appSummary
Type: AppSummary structure

A summary description of the application.

serverGroups
Type: Array of ServerGroup structures

The server groups included in the application.

tags
Type: Array of Tag structures

The tags associated with the application.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

CreateReplicationJob

$result = $client->createReplicationJob([/* ... */]);
$promise = $client->createReplicationJobAsync([/* ... */]);

Creates a replication job. The replication job schedules periodic replication runs to replicate your server to Amazon Web Services. Each replication run creates an Amazon Machine Image (AMI).

Parameter Syntax

$result = $client->createReplicationJob([
    'description' => '<string>',
    'encrypted' => true || false,
    'frequency' => <integer>,
    'kmsKeyId' => '<string>',
    'licenseType' => 'AWS|BYOL',
    'numberOfRecentAmisToKeep' => <integer>,
    'roleName' => '<string>',
    'runOnce' => true || false,
    'seedReplicationTime' => <integer || string || DateTime>, // REQUIRED
    'serverId' => '<string>', // REQUIRED
]);

Parameter Details

Members
description
Type: string

The description of the replication job.

encrypted
Type: boolean

Indicates whether the replication job produces encrypted AMIs.

frequency
Type: int

The time between consecutive replication runs, in hours.

kmsKeyId
Type: string

The ID of the KMS key for replication jobs that produce encrypted AMIs. This value can be any of the following:

  • KMS key ID

  • KMS key alias

  • ARN referring to the KMS key ID

  • ARN referring to the KMS key alias

If encrypted is true but a KMS key ID is not specified, the customer's default KMS key for Amazon EBS is used.

licenseType
Type: string

The license type to be used for the AMI created by a successful replication run.

numberOfRecentAmisToKeep
Type: int

The maximum number of SMS-created AMIs to retain. The oldest is deleted after the maximum number is reached and a new AMI is created.

roleName
Type: string

The name of the IAM role to be used by the Server Migration Service.

runOnce
Type: boolean

Indicates whether to run the replication job one time.

seedReplicationTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The seed replication time.

serverId
Required: Yes
Type: string

The ID of the server.

Result Syntax

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

Result Details

Members
replicationJobId
Type: string

The unique identifier of the replication job.

Errors

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

OperationNotPermittedException:

This operation is not allowed.

ServerCannotBeReplicatedException:

The specified server cannot be replicated.

ReplicationJobAlreadyExistsException:

The specified replication job already exists.

NoConnectorsAvailableException:

There are no connectors available.

InternalError:

An internal error occurred.

TemporarilyUnavailableException:

The service is temporarily unavailable.

DeleteApp

$result = $client->deleteApp([/* ... */]);
$promise = $client->deleteAppAsync([/* ... */]);

Deletes the specified application. Optionally deletes the launched stack associated with the application and all Server Migration Service replication jobs for servers in the application.

Parameter Syntax

$result = $client->deleteApp([
    'appId' => '<string>',
    'forceStopAppReplication' => true || false,
    'forceTerminateApp' => true || false,
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

forceStopAppReplication
Type: boolean

Indicates whether to stop all replication jobs corresponding to the servers in the application while deleting the application.

forceTerminateApp
Type: boolean

Indicates whether to terminate the stack corresponding to the application while deleting the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

DeleteAppLaunchConfiguration

$result = $client->deleteAppLaunchConfiguration([/* ... */]);
$promise = $client->deleteAppLaunchConfigurationAsync([/* ... */]);

Deletes the launch configuration for the specified application.

Parameter Syntax

$result = $client->deleteAppLaunchConfiguration([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

DeleteAppReplicationConfiguration

$result = $client->deleteAppReplicationConfiguration([/* ... */]);
$promise = $client->deleteAppReplicationConfigurationAsync([/* ... */]);

Deletes the replication configuration for the specified application.

Parameter Syntax

$result = $client->deleteAppReplicationConfiguration([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

DeleteAppValidationConfiguration

$result = $client->deleteAppValidationConfiguration([/* ... */]);
$promise = $client->deleteAppValidationConfigurationAsync([/* ... */]);

Deletes the validation configuration for the specified application.

Parameter Syntax

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

Parameter Details

Members
appId
Required: Yes
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

DeleteReplicationJob

$result = $client->deleteReplicationJob([/* ... */]);
$promise = $client->deleteReplicationJobAsync([/* ... */]);

Deletes the specified replication job.

After you delete a replication job, there are no further replication runs. Amazon Web Services deletes the contents of the Amazon S3 bucket used to store Server Migration Service artifacts. The AMIs created by the replication runs are not deleted.

Parameter Syntax

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

Parameter Details

Members
replicationJobId
Required: Yes
Type: string

The ID of the replication job.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

OperationNotPermittedException:

This operation is not allowed.

ReplicationJobNotFoundException:

The specified replication job does not exist.

DeleteServerCatalog

$result = $client->deleteServerCatalog([/* ... */]);
$promise = $client->deleteServerCatalogAsync([/* ... */]);

Deletes all servers from your server catalog.

Parameter Syntax

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

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

OperationNotPermittedException:

This operation is not allowed.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

DisassociateConnector

$result = $client->disassociateConnector([/* ... */]);
$promise = $client->disassociateConnectorAsync([/* ... */]);

Disassociates the specified connector from Server Migration Service.

After you disassociate a connector, it is no longer available to support replication jobs.

Parameter Syntax

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

Parameter Details

Members
connectorId
Required: Yes
Type: string

The ID of the connector.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

MissingRequiredParameterException:

A required parameter is missing.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

OperationNotPermittedException:

This operation is not allowed.

InvalidParameterException:

A specified parameter is not valid.

GenerateChangeSet

$result = $client->generateChangeSet([/* ... */]);
$promise = $client->generateChangeSetAsync([/* ... */]);

Generates a target change set for a currently launched stack and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.

Parameter Syntax

$result = $client->generateChangeSet([
    'appId' => '<string>',
    'changesetFormat' => 'JSON|YAML',
]);

Parameter Details

Members
appId
Type: string

The ID of the application associated with the change set.

changesetFormat
Type: string

The format for the change set.

Result Syntax

[
    's3Location' => [
        'bucket' => '<string>',
        'key' => '<string>',
    ],
]

Result Details

Members
s3Location
Type: S3Location structure

The location of the Amazon S3 object.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GenerateTemplate

$result = $client->generateTemplate([/* ... */]);
$promise = $client->generateTemplateAsync([/* ... */]);

Generates an CloudFormation template based on the current launch configuration and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.

Parameter Syntax

$result = $client->generateTemplate([
    'appId' => '<string>',
    'templateFormat' => 'JSON|YAML',
]);

Parameter Details

Members
appId
Type: string

The ID of the application associated with the CloudFormation template.

templateFormat
Type: string

The format for generating the CloudFormation template.

Result Syntax

[
    's3Location' => [
        'bucket' => '<string>',
        'key' => '<string>',
    ],
]

Result Details

Members
s3Location
Type: S3Location structure

The location of the Amazon S3 object.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GetApp

$result = $client->getApp([/* ... */]);
$promise = $client->getAppAsync([/* ... */]);

Retrieve information about the specified application.

Parameter Syntax

$result = $client->getApp([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[
    'appSummary' => [
        'appId' => '<string>',
        'creationTime' => <DateTime>,
        'description' => '<string>',
        'importedAppId' => '<string>',
        'lastModified' => <DateTime>,
        'latestReplicationTime' => <DateTime>,
        'launchConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
        'launchDetails' => [
            'latestLaunchTime' => <DateTime>,
            'stackId' => '<string>',
            'stackName' => '<string>',
        ],
        'launchStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_LAUNCH|VALIDATION_IN_PROGRESS|LAUNCH_PENDING|LAUNCH_IN_PROGRESS|LAUNCHED|PARTIALLY_LAUNCHED|DELTA_LAUNCH_IN_PROGRESS|DELTA_LAUNCH_FAILED|LAUNCH_FAILED|TERMINATE_IN_PROGRESS|TERMINATE_FAILED|TERMINATED',
        'launchStatusMessage' => '<string>',
        'name' => '<string>',
        'replicationConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
        'replicationStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_REPLICATION|VALIDATION_IN_PROGRESS|REPLICATION_PENDING|REPLICATION_IN_PROGRESS|REPLICATED|PARTIALLY_REPLICATED|DELTA_REPLICATION_IN_PROGRESS|DELTA_REPLICATED|DELTA_REPLICATION_FAILED|REPLICATION_FAILED|REPLICATION_STOPPING|REPLICATION_STOP_FAILED|REPLICATION_STOPPED',
        'replicationStatusMessage' => '<string>',
        'roleName' => '<string>',
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|DELETE_FAILED',
        'statusMessage' => '<string>',
        'totalServerGroups' => <integer>,
        'totalServers' => <integer>,
    ],
    'serverGroups' => [
        [
            'name' => '<string>',
            'serverGroupId' => '<string>',
            'serverList' => [
                [
                    'replicationJobId' => '<string>',
                    'replicationJobTerminated' => true || false,
                    'serverId' => '<string>',
                    'serverType' => 'VIRTUAL_MACHINE',
                    'vmServer' => [
                        'vmManagerName' => '<string>',
                        'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                        'vmName' => '<string>',
                        'vmPath' => '<string>',
                        'vmServerAddress' => [
                            'vmId' => '<string>',
                            'vmManagerId' => '<string>',
                        ],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
appSummary
Type: AppSummary structure

Information about the application.

serverGroups
Type: Array of ServerGroup structures

The server groups that belong to the application.

tags
Type: Array of Tag structures

The tags associated with the application.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GetAppLaunchConfiguration

$result = $client->getAppLaunchConfiguration([/* ... */]);
$promise = $client->getAppLaunchConfigurationAsync([/* ... */]);

Retrieves the application launch configuration associated with the specified application.

Parameter Syntax

$result = $client->getAppLaunchConfiguration([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[
    'appId' => '<string>',
    'autoLaunch' => true || false,
    'roleName' => '<string>',
    'serverGroupLaunchConfigurations' => [
        [
            'launchOrder' => <integer>,
            'serverGroupId' => '<string>',
            'serverLaunchConfigurations' => [
                [
                    'associatePublicIpAddress' => true || false,
                    'configureScript' => [
                        'bucket' => '<string>',
                        'key' => '<string>',
                    ],
                    'configureScriptType' => 'SHELL_SCRIPT|POWERSHELL_SCRIPT',
                    'ec2KeyName' => '<string>',
                    'iamInstanceProfileName' => '<string>',
                    'instanceType' => '<string>',
                    'logicalId' => '<string>',
                    'securityGroup' => '<string>',
                    'server' => [
                        'replicationJobId' => '<string>',
                        'replicationJobTerminated' => true || false,
                        'serverId' => '<string>',
                        'serverType' => 'VIRTUAL_MACHINE',
                        'vmServer' => [
                            'vmManagerName' => '<string>',
                            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                            'vmName' => '<string>',
                            'vmPath' => '<string>',
                            'vmServerAddress' => [
                                'vmId' => '<string>',
                                'vmManagerId' => '<string>',
                            ],
                        ],
                    ],
                    'subnet' => '<string>',
                    'userData' => [
                        's3Location' => [
                            'bucket' => '<string>',
                            'key' => '<string>',
                        ],
                    ],
                    'vpc' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
appId
Type: string

The ID of the application.

autoLaunch
Type: boolean

Indicates whether the application is configured to launch automatically after replication is complete.

roleName
Type: string

The name of the service role in the customer's account that CloudFormation uses to launch the application.

serverGroupLaunchConfigurations
Type: Array of ServerGroupLaunchConfiguration structures

The launch configurations for server groups in this application.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GetAppReplicationConfiguration

$result = $client->getAppReplicationConfiguration([/* ... */]);
$promise = $client->getAppReplicationConfigurationAsync([/* ... */]);

Retrieves the application replication configuration associated with the specified application.

Parameter Syntax

$result = $client->getAppReplicationConfiguration([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[
    'serverGroupReplicationConfigurations' => [
        [
            'serverGroupId' => '<string>',
            'serverReplicationConfigurations' => [
                [
                    'server' => [
                        'replicationJobId' => '<string>',
                        'replicationJobTerminated' => true || false,
                        'serverId' => '<string>',
                        'serverType' => 'VIRTUAL_MACHINE',
                        'vmServer' => [
                            'vmManagerName' => '<string>',
                            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                            'vmName' => '<string>',
                            'vmPath' => '<string>',
                            'vmServerAddress' => [
                                'vmId' => '<string>',
                                'vmManagerId' => '<string>',
                            ],
                        ],
                    ],
                    'serverReplicationParameters' => [
                        'encrypted' => true || false,
                        'frequency' => <integer>,
                        'kmsKeyId' => '<string>',
                        'licenseType' => 'AWS|BYOL',
                        'numberOfRecentAmisToKeep' => <integer>,
                        'runOnce' => true || false,
                        'seedTime' => <DateTime>,
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
serverGroupReplicationConfigurations
Type: Array of ServerGroupReplicationConfiguration structures

The replication configurations associated with server groups in this application.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GetAppValidationConfiguration

$result = $client->getAppValidationConfiguration([/* ... */]);
$promise = $client->getAppValidationConfigurationAsync([/* ... */]);

Retrieves information about a configuration for validating an application.

Parameter Syntax

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

Parameter Details

Members
appId
Required: Yes
Type: string

The ID of the application.

Result Syntax

[
    'appValidationConfigurations' => [
        [
            'appValidationStrategy' => 'SSM',
            'name' => '<string>',
            'ssmValidationParameters' => [
                'command' => '<string>',
                'executionTimeoutSeconds' => <integer>,
                'instanceId' => '<string>',
                'outputS3BucketName' => '<string>',
                'scriptType' => 'SHELL_SCRIPT|POWERSHELL_SCRIPT',
                'source' => [
                    's3Location' => [
                        'bucket' => '<string>',
                        'key' => '<string>',
                    ],
                ],
            ],
            'validationId' => '<string>',
        ],
        // ...
    ],
    'serverGroupValidationConfigurations' => [
        [
            'serverGroupId' => '<string>',
            'serverValidationConfigurations' => [
                [
                    'name' => '<string>',
                    'server' => [
                        'replicationJobId' => '<string>',
                        'replicationJobTerminated' => true || false,
                        'serverId' => '<string>',
                        'serverType' => 'VIRTUAL_MACHINE',
                        'vmServer' => [
                            'vmManagerName' => '<string>',
                            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                            'vmName' => '<string>',
                            'vmPath' => '<string>',
                            'vmServerAddress' => [
                                'vmId' => '<string>',
                                'vmManagerId' => '<string>',
                            ],
                        ],
                    ],
                    'serverValidationStrategy' => 'USERDATA',
                    'userDataValidationParameters' => [
                        'scriptType' => 'SHELL_SCRIPT|POWERSHELL_SCRIPT',
                        'source' => [
                            's3Location' => [
                                'bucket' => '<string>',
                                'key' => '<string>',
                            ],
                        ],
                    ],
                    'validationId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
appValidationConfigurations
Type: Array of AppValidationConfiguration structures

The configuration for application validation.

serverGroupValidationConfigurations
Type: Array of ServerGroupValidationConfiguration structures

The configuration for instance validation.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GetAppValidationOutput

$result = $client->getAppValidationOutput([/* ... */]);
$promise = $client->getAppValidationOutputAsync([/* ... */]);

Retrieves output from validating an application.

Parameter Syntax

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

Parameter Details

Members
appId
Required: Yes
Type: string

The ID of the application.

Result Syntax

[
    'validationOutputList' => [
        [
            'appValidationOutput' => [
                'ssmOutput' => [
                    's3Location' => [
                        'bucket' => '<string>',
                        'key' => '<string>',
                    ],
                ],
            ],
            'latestValidationTime' => <DateTime>,
            'name' => '<string>',
            'serverValidationOutput' => [
                'server' => [
                    'replicationJobId' => '<string>',
                    'replicationJobTerminated' => true || false,
                    'serverId' => '<string>',
                    'serverType' => 'VIRTUAL_MACHINE',
                    'vmServer' => [
                        'vmManagerName' => '<string>',
                        'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                        'vmName' => '<string>',
                        'vmPath' => '<string>',
                        'vmServerAddress' => [
                            'vmId' => '<string>',
                            'vmManagerId' => '<string>',
                        ],
                    ],
                ],
            ],
            'status' => 'READY_FOR_VALIDATION|PENDING|IN_PROGRESS|SUCCEEDED|FAILED',
            'statusMessage' => '<string>',
            'validationId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
validationOutputList
Type: Array of ValidationOutput structures

The validation output.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

GetConnectors

$result = $client->getConnectors([/* ... */]);
$promise = $client->getConnectorsAsync([/* ... */]);

Describes the connectors registered with the Server Migration Service.

Parameter Syntax

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

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'connectorList' => [
        [
            'associatedOn' => <DateTime>,
            'capabilityList' => ['<string>', ...],
            'connectorId' => '<string>',
            'ipAddress' => '<string>',
            'macAddress' => '<string>',
            'status' => 'HEALTHY|UNHEALTHY',
            'version' => '<string>',
            'vmManagerId' => '<string>',
            'vmManagerName' => '<string>',
            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
connectorList
Type: Array of Connector structures

Information about the registered connectors.

nextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

GetReplicationJobs

$result = $client->getReplicationJobs([/* ... */]);
$promise = $client->getReplicationJobsAsync([/* ... */]);

Describes the specified replication job or all of your replication jobs.

Parameter Syntax

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

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

nextToken
Type: string

The token for the next set of results.

replicationJobId
Type: string

The ID of the replication job.

Result Syntax

[
    'nextToken' => '<string>',
    'replicationJobList' => [
        [
            'description' => '<string>',
            'encrypted' => true || false,
            'frequency' => <integer>,
            'kmsKeyId' => '<string>',
            'latestAmiId' => '<string>',
            'licenseType' => 'AWS|BYOL',
            'nextReplicationRunStartTime' => <DateTime>,
            'numberOfRecentAmisToKeep' => <integer>,
            'replicationJobId' => '<string>',
            'replicationRunList' => [
                [
                    'amiId' => '<string>',
                    'completedTime' => <DateTime>,
                    'description' => '<string>',
                    'encrypted' => true || false,
                    'kmsKeyId' => '<string>',
                    'replicationRunId' => '<string>',
                    'scheduledStartTime' => <DateTime>,
                    'stageDetails' => [
                        'stage' => '<string>',
                        'stageProgress' => '<string>',
                    ],
                    'state' => 'PENDING|MISSED|ACTIVE|FAILED|COMPLETED|DELETING|DELETED',
                    'statusMessage' => '<string>',
                    'type' => 'ON_DEMAND|AUTOMATIC',
                ],
                // ...
            ],
            'roleName' => '<string>',
            'runOnce' => true || false,
            'seedReplicationTime' => <DateTime>,
            'serverId' => '<string>',
            'serverType' => 'VIRTUAL_MACHINE',
            'state' => 'PENDING|ACTIVE|FAILED|DELETING|DELETED|COMPLETED|PAUSED_ON_FAILURE|FAILING',
            'statusMessage' => '<string>',
            'vmServer' => [
                'vmManagerName' => '<string>',
                'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                'vmName' => '<string>',
                'vmPath' => '<string>',
                'vmServerAddress' => [
                    'vmId' => '<string>',
                    'vmManagerId' => '<string>',
                ],
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

replicationJobList
Type: Array of ReplicationJob structures

Information about the replication jobs.

Errors

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

GetReplicationRuns

$result = $client->getReplicationRuns([/* ... */]);
$promise = $client->getReplicationRunsAsync([/* ... */]);

Describes the replication runs for the specified replication job.

Parameter Syntax

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

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

nextToken
Type: string

The token for the next set of results.

replicationJobId
Required: Yes
Type: string

The ID of the replication job.

Result Syntax

[
    'nextToken' => '<string>',
    'replicationJob' => [
        'description' => '<string>',
        'encrypted' => true || false,
        'frequency' => <integer>,
        'kmsKeyId' => '<string>',
        'latestAmiId' => '<string>',
        'licenseType' => 'AWS|BYOL',
        'nextReplicationRunStartTime' => <DateTime>,
        'numberOfRecentAmisToKeep' => <integer>,
        'replicationJobId' => '<string>',
        'replicationRunList' => [
            [
                'amiId' => '<string>',
                'completedTime' => <DateTime>,
                'description' => '<string>',
                'encrypted' => true || false,
                'kmsKeyId' => '<string>',
                'replicationRunId' => '<string>',
                'scheduledStartTime' => <DateTime>,
                'stageDetails' => [
                    'stage' => '<string>',
                    'stageProgress' => '<string>',
                ],
                'state' => 'PENDING|MISSED|ACTIVE|FAILED|COMPLETED|DELETING|DELETED',
                'statusMessage' => '<string>',
                'type' => 'ON_DEMAND|AUTOMATIC',
            ],
            // ...
        ],
        'roleName' => '<string>',
        'runOnce' => true || false,
        'seedReplicationTime' => <DateTime>,
        'serverId' => '<string>',
        'serverType' => 'VIRTUAL_MACHINE',
        'state' => 'PENDING|ACTIVE|FAILED|DELETING|DELETED|COMPLETED|PAUSED_ON_FAILURE|FAILING',
        'statusMessage' => '<string>',
        'vmServer' => [
            'vmManagerName' => '<string>',
            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
            'vmName' => '<string>',
            'vmPath' => '<string>',
            'vmServerAddress' => [
                'vmId' => '<string>',
                'vmManagerId' => '<string>',
            ],
        ],
    ],
    'replicationRunList' => [
        [
            'amiId' => '<string>',
            'completedTime' => <DateTime>,
            'description' => '<string>',
            'encrypted' => true || false,
            'kmsKeyId' => '<string>',
            'replicationRunId' => '<string>',
            'scheduledStartTime' => <DateTime>,
            'stageDetails' => [
                'stage' => '<string>',
                'stageProgress' => '<string>',
            ],
            'state' => 'PENDING|MISSED|ACTIVE|FAILED|COMPLETED|DELETING|DELETED',
            'statusMessage' => '<string>',
            'type' => 'ON_DEMAND|AUTOMATIC',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

replicationJob
Type: ReplicationJob structure

Information about the replication job.

replicationRunList
Type: Array of ReplicationRun structures

Information about the replication runs.

Errors

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

GetServers

$result = $client->getServers([/* ... */]);
$promise = $client->getServersAsync([/* ... */]);

Describes the servers in your server catalog.

Before you can describe your servers, you must import them using ImportServerCatalog.

Parameter Syntax

$result = $client->getServers([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'vmServerAddressList' => [
        [
            'vmId' => '<string>',
            'vmManagerId' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

nextToken
Type: string

The token for the next set of results.

vmServerAddressList
Type: Array of VmServerAddress structures

The server addresses.

Result Syntax

[
    'lastModifiedOn' => <DateTime>,
    'nextToken' => '<string>',
    'serverCatalogStatus' => 'NOT_IMPORTED|IMPORTING|AVAILABLE|DELETED|EXPIRED',
    'serverList' => [
        [
            'replicationJobId' => '<string>',
            'replicationJobTerminated' => true || false,
            'serverId' => '<string>',
            'serverType' => 'VIRTUAL_MACHINE',
            'vmServer' => [
                'vmManagerName' => '<string>',
                'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                'vmName' => '<string>',
                'vmPath' => '<string>',
                'vmServerAddress' => [
                    'vmId' => '<string>',
                    'vmManagerId' => '<string>',
                ],
            ],
        ],
        // ...
    ],
]

Result Details

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

The time when the server was last modified.

nextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

serverCatalogStatus
Type: string

The status of the server catalog.

serverList
Type: Array of Server structures

Information about the servers.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

ImportAppCatalog

$result = $client->importAppCatalog([/* ... */]);
$promise = $client->importAppCatalogAsync([/* ... */]);

Allows application import from Migration Hub.

Parameter Syntax

$result = $client->importAppCatalog([
    'roleName' => '<string>',
]);

Parameter Details

Members
roleName
Type: string

The name of the service role. If you omit this parameter, we create a service-linked role for Migration Hub in your account. Otherwise, the role that you provide must have the policy and trust policy described in the Migration Hub User Guide.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

ImportServerCatalog

$result = $client->importServerCatalog([/* ... */]);
$promise = $client->importServerCatalogAsync([/* ... */]);

Gathers a complete list of on-premises servers. Connectors must be installed and monitoring all servers to import.

This call returns immediately, but might take additional time to retrieve all the servers.

Parameter Syntax

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

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

OperationNotPermittedException:

This operation is not allowed.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

NoConnectorsAvailableException:

There are no connectors available.

LaunchApp

$result = $client->launchApp([/* ... */]);
$promise = $client->launchAppAsync([/* ... */]);

Launches the specified application as a stack in CloudFormation.

Parameter Syntax

$result = $client->launchApp([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

ListApps

$result = $client->listApps([/* ... */]);
$promise = $client->listAppsAsync([/* ... */]);

Retrieves summaries for all applications.

Parameter Syntax

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

Parameter Details

Members
appIds
Type: Array of strings

The unique application IDs.

maxResults
Type: int

The maximum number of results to return in a single call. The default value is 100. To retrieve the remaining results, make another call with the returned NextToken value.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'apps' => [
        [
            'appId' => '<string>',
            'creationTime' => <DateTime>,
            'description' => '<string>',
            'importedAppId' => '<string>',
            'lastModified' => <DateTime>,
            'latestReplicationTime' => <DateTime>,
            'launchConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
            'launchDetails' => [
                'latestLaunchTime' => <DateTime>,
                'stackId' => '<string>',
                'stackName' => '<string>',
            ],
            'launchStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_LAUNCH|VALIDATION_IN_PROGRESS|LAUNCH_PENDING|LAUNCH_IN_PROGRESS|LAUNCHED|PARTIALLY_LAUNCHED|DELTA_LAUNCH_IN_PROGRESS|DELTA_LAUNCH_FAILED|LAUNCH_FAILED|TERMINATE_IN_PROGRESS|TERMINATE_FAILED|TERMINATED',
            'launchStatusMessage' => '<string>',
            'name' => '<string>',
            'replicationConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
            'replicationStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_REPLICATION|VALIDATION_IN_PROGRESS|REPLICATION_PENDING|REPLICATION_IN_PROGRESS|REPLICATED|PARTIALLY_REPLICATED|DELTA_REPLICATION_IN_PROGRESS|DELTA_REPLICATED|DELTA_REPLICATION_FAILED|REPLICATION_FAILED|REPLICATION_STOPPING|REPLICATION_STOP_FAILED|REPLICATION_STOPPED',
            'replicationStatusMessage' => '<string>',
            'roleName' => '<string>',
            'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|DELETE_FAILED',
            'statusMessage' => '<string>',
            'totalServerGroups' => <integer>,
            'totalServers' => <integer>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
apps
Type: Array of AppSummary structures

The application summaries.

nextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

NotifyAppValidationOutput

$result = $client->notifyAppValidationOutput([/* ... */]);
$promise = $client->notifyAppValidationOutputAsync([/* ... */]);

Provides information to Server Migration Service about whether application validation is successful.

Parameter Syntax

$result = $client->notifyAppValidationOutput([
    'appId' => '<string>', // REQUIRED
    'notificationContext' => [
        'status' => 'READY_FOR_VALIDATION|PENDING|IN_PROGRESS|SUCCEEDED|FAILED',
        'statusMessage' => '<string>',
        'validationId' => '<string>',
    ],
]);

Parameter Details

Members
appId
Required: Yes
Type: string

The ID of the application.

notificationContext
Type: NotificationContext structure

The notification information.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

PutAppLaunchConfiguration

$result = $client->putAppLaunchConfiguration([/* ... */]);
$promise = $client->putAppLaunchConfigurationAsync([/* ... */]);

Creates or updates the launch configuration for the specified application.

Parameter Syntax

$result = $client->putAppLaunchConfiguration([
    'appId' => '<string>',
    'autoLaunch' => true || false,
    'roleName' => '<string>',
    'serverGroupLaunchConfigurations' => [
        [
            'launchOrder' => <integer>,
            'serverGroupId' => '<string>',
            'serverLaunchConfigurations' => [
                [
                    'associatePublicIpAddress' => true || false,
                    'configureScript' => [
                        'bucket' => '<string>',
                        'key' => '<string>',
                    ],
                    'configureScriptType' => 'SHELL_SCRIPT|POWERSHELL_SCRIPT',
                    'ec2KeyName' => '<string>',
                    'iamInstanceProfileName' => '<string>',
                    'instanceType' => '<string>',
                    'logicalId' => '<string>',
                    'securityGroup' => '<string>',
                    'server' => [
                        'replicationJobId' => '<string>',
                        'replicationJobTerminated' => true || false,
                        'serverId' => '<string>',
                        'serverType' => 'VIRTUAL_MACHINE',
                        'vmServer' => [
                            'vmManagerName' => '<string>',
                            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                            'vmName' => '<string>',
                            'vmPath' => '<string>',
                            'vmServerAddress' => [
                                'vmId' => '<string>',
                                'vmManagerId' => '<string>',
                            ],
                        ],
                    ],
                    'subnet' => '<string>',
                    'userData' => [
                        's3Location' => [
                            'bucket' => '<string>',
                            'key' => '<string>',
                        ],
                    ],
                    'vpc' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

autoLaunch
Type: boolean

Indicates whether the application is configured to launch automatically after replication is complete.

roleName
Type: string

The name of service role in the customer's account that CloudFormation uses to launch the application.

serverGroupLaunchConfigurations
Type: Array of ServerGroupLaunchConfiguration structures

Information about the launch configurations for server groups in the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

PutAppReplicationConfiguration

$result = $client->putAppReplicationConfiguration([/* ... */]);
$promise = $client->putAppReplicationConfigurationAsync([/* ... */]);

Creates or updates the replication configuration for the specified application.

Parameter Syntax

$result = $client->putAppReplicationConfiguration([
    'appId' => '<string>',
    'serverGroupReplicationConfigurations' => [
        [
            'serverGroupId' => '<string>',
            'serverReplicationConfigurations' => [
                [
                    'server' => [
                        'replicationJobId' => '<string>',
                        'replicationJobTerminated' => true || false,
                        'serverId' => '<string>',
                        'serverType' => 'VIRTUAL_MACHINE',
                        'vmServer' => [
                            'vmManagerName' => '<string>',
                            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                            'vmName' => '<string>',
                            'vmPath' => '<string>',
                            'vmServerAddress' => [
                                'vmId' => '<string>',
                                'vmManagerId' => '<string>',
                            ],
                        ],
                    ],
                    'serverReplicationParameters' => [
                        'encrypted' => true || false,
                        'frequency' => <integer>,
                        'kmsKeyId' => '<string>',
                        'licenseType' => 'AWS|BYOL',
                        'numberOfRecentAmisToKeep' => <integer>,
                        'runOnce' => true || false,
                        'seedTime' => <integer || string || DateTime>,
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

serverGroupReplicationConfigurations
Type: Array of ServerGroupReplicationConfiguration structures

Information about the replication configurations for server groups in the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

PutAppValidationConfiguration

$result = $client->putAppValidationConfiguration([/* ... */]);
$promise = $client->putAppValidationConfigurationAsync([/* ... */]);

Creates or updates a validation configuration for the specified application.

Parameter Syntax

$result = $client->putAppValidationConfiguration([
    'appId' => '<string>', // REQUIRED
    'appValidationConfigurations' => [
        [
            'appValidationStrategy' => 'SSM',
            'name' => '<string>',
            'ssmValidationParameters' => [
                'command' => '<string>',
                'executionTimeoutSeconds' => <integer>,
                'instanceId' => '<string>',
                'outputS3BucketName' => '<string>',
                'scriptType' => 'SHELL_SCRIPT|POWERSHELL_SCRIPT',
                'source' => [
                    's3Location' => [
                        'bucket' => '<string>',
                        'key' => '<string>',
                    ],
                ],
            ],
            'validationId' => '<string>',
        ],
        // ...
    ],
    'serverGroupValidationConfigurations' => [
        [
            'serverGroupId' => '<string>',
            'serverValidationConfigurations' => [
                [
                    'name' => '<string>',
                    'server' => [
                        'replicationJobId' => '<string>',
                        'replicationJobTerminated' => true || false,
                        'serverId' => '<string>',
                        'serverType' => 'VIRTUAL_MACHINE',
                        'vmServer' => [
                            'vmManagerName' => '<string>',
                            'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                            'vmName' => '<string>',
                            'vmPath' => '<string>',
                            'vmServerAddress' => [
                                'vmId' => '<string>',
                                'vmManagerId' => '<string>',
                            ],
                        ],
                    ],
                    'serverValidationStrategy' => 'USERDATA',
                    'userDataValidationParameters' => [
                        'scriptType' => 'SHELL_SCRIPT|POWERSHELL_SCRIPT',
                        'source' => [
                            's3Location' => [
                                'bucket' => '<string>',
                                'key' => '<string>',
                            ],
                        ],
                    ],
                    'validationId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
appId
Required: Yes
Type: string

The ID of the application.

appValidationConfigurations
Type: Array of AppValidationConfiguration structures

The configuration for application validation.

serverGroupValidationConfigurations
Type: Array of ServerGroupValidationConfiguration structures

The configuration for instance validation.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

StartAppReplication

$result = $client->startAppReplication([/* ... */]);
$promise = $client->startAppReplicationAsync([/* ... */]);

Starts replicating the specified application by creating replication jobs for each server in the application.

Parameter Syntax

$result = $client->startAppReplication([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

StartOnDemandAppReplication

$result = $client->startOnDemandAppReplication([/* ... */]);
$promise = $client->startOnDemandAppReplicationAsync([/* ... */]);

Starts an on-demand replication run for the specified application.

Parameter Syntax

$result = $client->startOnDemandAppReplication([
    'appId' => '<string>', // REQUIRED
    'description' => '<string>',
]);

Parameter Details

Members
appId
Required: Yes
Type: string

The ID of the application.

description
Type: string

The description of the replication run.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

StartOnDemandReplicationRun

$result = $client->startOnDemandReplicationRun([/* ... */]);
$promise = $client->startOnDemandReplicationRunAsync([/* ... */]);

Starts an on-demand replication run for the specified replication job. This replication run starts immediately. This replication run is in addition to the ones already scheduled.

There is a limit on the number of on-demand replications runs that you can request in a 24-hour period.

Parameter Syntax

$result = $client->startOnDemandReplicationRun([
    'description' => '<string>',
    'replicationJobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
description
Type: string

The description of the replication run.

replicationJobId
Required: Yes
Type: string

The ID of the replication job.

Result Syntax

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

Result Details

Members
replicationRunId
Type: string

The ID of the replication run.

Errors

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

OperationNotPermittedException:

This operation is not allowed.

ReplicationRunLimitExceededException:

You have exceeded the number of on-demand replication runs you can request in a 24-hour period.

DryRunOperationException:

The user has the required permissions, so the request would have succeeded, but a dry run was performed.

StopAppReplication

$result = $client->stopAppReplication([/* ... */]);
$promise = $client->stopAppReplicationAsync([/* ... */]);

Stops replicating the specified application by deleting the replication job for each server in the application.

Parameter Syntax

$result = $client->stopAppReplication([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

TerminateApp

$result = $client->terminateApp([/* ... */]);
$promise = $client->terminateAppAsync([/* ... */]);

Terminates the stack for the specified application.

Parameter Syntax

$result = $client->terminateApp([
    'appId' => '<string>',
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

UpdateApp

$result = $client->updateApp([/* ... */]);
$promise = $client->updateAppAsync([/* ... */]);

Updates the specified application.

Parameter Syntax

$result = $client->updateApp([
    'appId' => '<string>',
    'description' => '<string>',
    'name' => '<string>',
    'roleName' => '<string>',
    'serverGroups' => [
        [
            'name' => '<string>',
            'serverGroupId' => '<string>',
            'serverList' => [
                [
                    'replicationJobId' => '<string>',
                    'replicationJobTerminated' => true || false,
                    'serverId' => '<string>',
                    'serverType' => 'VIRTUAL_MACHINE',
                    'vmServer' => [
                        'vmManagerName' => '<string>',
                        'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                        'vmName' => '<string>',
                        'vmPath' => '<string>',
                        'vmServerAddress' => [
                            'vmId' => '<string>',
                            'vmManagerId' => '<string>',
                        ],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
appId
Type: string

The ID of the application.

description
Type: string

The new description of the application.

name
Type: string

The new name of the application.

roleName
Type: string

The name of the service role in the customer's account used by Server Migration Service.

serverGroups
Type: Array of ServerGroup structures

The server groups in the application to update.

tags
Type: Array of Tag structures

The tags to associate with the application.

Result Syntax

[
    'appSummary' => [
        'appId' => '<string>',
        'creationTime' => <DateTime>,
        'description' => '<string>',
        'importedAppId' => '<string>',
        'lastModified' => <DateTime>,
        'latestReplicationTime' => <DateTime>,
        'launchConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
        'launchDetails' => [
            'latestLaunchTime' => <DateTime>,
            'stackId' => '<string>',
            'stackName' => '<string>',
        ],
        'launchStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_LAUNCH|VALIDATION_IN_PROGRESS|LAUNCH_PENDING|LAUNCH_IN_PROGRESS|LAUNCHED|PARTIALLY_LAUNCHED|DELTA_LAUNCH_IN_PROGRESS|DELTA_LAUNCH_FAILED|LAUNCH_FAILED|TERMINATE_IN_PROGRESS|TERMINATE_FAILED|TERMINATED',
        'launchStatusMessage' => '<string>',
        'name' => '<string>',
        'replicationConfigurationStatus' => 'NOT_CONFIGURED|CONFIGURED',
        'replicationStatus' => 'READY_FOR_CONFIGURATION|CONFIGURATION_IN_PROGRESS|CONFIGURATION_INVALID|READY_FOR_REPLICATION|VALIDATION_IN_PROGRESS|REPLICATION_PENDING|REPLICATION_IN_PROGRESS|REPLICATED|PARTIALLY_REPLICATED|DELTA_REPLICATION_IN_PROGRESS|DELTA_REPLICATED|DELTA_REPLICATION_FAILED|REPLICATION_FAILED|REPLICATION_STOPPING|REPLICATION_STOP_FAILED|REPLICATION_STOPPED',
        'replicationStatusMessage' => '<string>',
        'roleName' => '<string>',
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|DELETE_FAILED',
        'statusMessage' => '<string>',
        'totalServerGroups' => <integer>,
        'totalServers' => <integer>,
    ],
    'serverGroups' => [
        [
            'name' => '<string>',
            'serverGroupId' => '<string>',
            'serverList' => [
                [
                    'replicationJobId' => '<string>',
                    'replicationJobTerminated' => true || false,
                    'serverId' => '<string>',
                    'serverType' => 'VIRTUAL_MACHINE',
                    'vmServer' => [
                        'vmManagerName' => '<string>',
                        'vmManagerType' => 'VSPHERE|SCVMM|HYPERV-MANAGER',
                        'vmName' => '<string>',
                        'vmPath' => '<string>',
                        'vmServerAddress' => [
                            'vmId' => '<string>',
                            'vmManagerId' => '<string>',
                        ],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
appSummary
Type: AppSummary structure

A summary description of the application.

serverGroups
Type: Array of ServerGroup structures

The updated server groups in the application.

tags
Type: Array of Tag structures

The tags associated with the application.

Errors

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

InternalError:

An internal error occurred.

OperationNotPermittedException:

This operation is not allowed.

UpdateReplicationJob

$result = $client->updateReplicationJob([/* ... */]);
$promise = $client->updateReplicationJobAsync([/* ... */]);

Updates the specified settings for the specified replication job.

Parameter Syntax

$result = $client->updateReplicationJob([
    'description' => '<string>',
    'encrypted' => true || false,
    'frequency' => <integer>,
    'kmsKeyId' => '<string>',
    'licenseType' => 'AWS|BYOL',
    'nextReplicationRunStartTime' => <integer || string || DateTime>,
    'numberOfRecentAmisToKeep' => <integer>,
    'replicationJobId' => '<string>', // REQUIRED
    'roleName' => '<string>',
]);

Parameter Details

Members
description
Type: string

The description of the replication job.

encrypted
Type: boolean

When true, the replication job produces encrypted AMIs. For more information, KmsKeyId.

frequency
Type: int

The time between consecutive replication runs, in hours.

kmsKeyId
Type: string

The ID of the KMS key for replication jobs that produce encrypted AMIs. This value can be any of the following:

  • KMS key ID

  • KMS key alias

  • ARN referring to the KMS key ID

  • ARN referring to the KMS key alias

If encrypted is enabled but a KMS key ID is not specified, the customer's default KMS key for Amazon EBS is used.

licenseType
Type: string

The license type to be used for the AMI created by a successful replication run.

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

The start time of the next replication run.

numberOfRecentAmisToKeep
Type: int

The maximum number of SMS-created AMIs to retain. The oldest is deleted after the maximum number is reached and a new AMI is created.

replicationJobId
Required: Yes
Type: string

The ID of the replication job.

roleName
Type: string

The name of the IAM role to be used by Server Migration Service.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidParameterException:

A specified parameter is not valid.

MissingRequiredParameterException:

A required parameter is missing.

OperationNotPermittedException:

This operation is not allowed.

UnauthorizedOperationException:

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

ServerCannotBeReplicatedException:

The specified server cannot be replicated.

ReplicationJobNotFoundException:

The specified replication job does not exist.

InternalError:

An internal error occurred.

TemporarilyUnavailableException:

The service is temporarily unavailable.

Shapes

AppSummary

Description

Information about the application.

Members
appId
Type: string

The unique ID of the application.

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

The creation time of the application.

description
Type: string

The description of the application.

importedAppId
Type: string

The ID of the application.

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

The last modified time of the application.

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

The timestamp of the application's most recent successful replication.

launchConfigurationStatus
Type: string

Status of the launch configuration.

launchDetails
Type: LaunchDetails structure

Details about the latest launch of the application.

launchStatus
Type: string

The launch status of the application.

launchStatusMessage
Type: string

A message related to the launch status of the application.

name
Type: string

The name of the application.

replicationConfigurationStatus
Type: string

Status of the replication configuration.

replicationStatus
Type: string

The replication status of the application.

replicationStatusMessage
Type: string

A message related to the replication status of the application.

roleName
Type: string

The name of the service role in the customer's account used by Server Migration Service.

status
Type: string

Status of the application.

statusMessage
Type: string

A message related to the status of the application

totalServerGroups
Type: int

The number of server groups present in the application.

totalServers
Type: int

The number of servers present in the application.

AppValidationConfiguration

Description

Configuration for validating an application.

Members
appValidationStrategy
Type: string

The validation strategy.

name
Type: string

The name of the configuration.

ssmValidationParameters
Type: SSMValidationParameters structure

The validation parameters.

validationId
Type: string

The ID of the validation.

AppValidationOutput

Description

Output from validating an application.

Members
ssmOutput
Type: SSMOutput structure

Output from using SSM to validate the application.

Connector

Description

Represents a connector.

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

The time the connector was associated.

capabilityList
Type: Array of strings

The capabilities of the connector.

connectorId
Type: string

The ID of the connector.

ipAddress
Type: string

The IP address of the connector.

macAddress
Type: string

The MAC address of the connector.

status
Type: string

The status of the connector.

version
Type: string

The connector version.

vmManagerId
Type: string

The ID of the VM manager.

vmManagerName
Type: string

The name of the VM manager.

vmManagerType
Type: string

The VM management product.

DryRunOperationException

Description

The user has the required permissions, so the request would have succeeded, but a dry run was performed.

Members
message
Type: string

InternalError

Description

An internal error occurred.

Members
message
Type: string

InvalidParameterException

Description

A specified parameter is not valid.

Members
message
Type: string

LaunchDetails

Description

Details about the latest launch of an application.

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

The latest time that this application was launched successfully.

stackId
Type: string

The ID of the latest stack launched for this application.

stackName
Type: string

The name of the latest stack launched for this application.

MissingRequiredParameterException

Description

A required parameter is missing.

Members
message
Type: string

NoConnectorsAvailableException

Description

There are no connectors available.

Members
message
Type: string

NotificationContext

Description

Contains the status of validating an application.

Members
status
Type: string

The status of the validation.

statusMessage
Type: string

The status message.

validationId
Type: string

The ID of the validation.

OperationNotPermittedException

Description

This operation is not allowed.

Members
message
Type: string

ReplicationJob

Description

Represents a replication job.

Members
description
Type: string

The description of the replication job.

encrypted
Type: boolean

Indicates whether the replication job should produce encrypted AMIs.

frequency
Type: int

The time between consecutive replication runs, in hours.

kmsKeyId
Type: string

The ID of the KMS key for replication jobs that produce encrypted AMIs. This value can be any of the following:

  • KMS key ID

  • KMS key alias

  • ARN referring to the KMS key ID

  • ARN referring to the KMS key alias

If encrypted is enabled but a KMS key ID is not specified, the customer's default KMS key for Amazon EBS is used.

latestAmiId
Type: string

The ID of the latest Amazon Machine Image (AMI).

licenseType
Type: string

The license type to be used for the AMI created by a successful replication run.

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

The start time of the next replication run.

numberOfRecentAmisToKeep
Type: int

The number of recent AMIs to keep in the customer's account for a replication job. By default, the value is set to zero, meaning that all AMIs are kept.

replicationJobId
Type: string

The ID of the replication job.

replicationRunList
Type: Array of ReplicationRun structures

Information about the replication runs.

roleName
Type: string

The name of the IAM role to be used by Server Migration Service.

runOnce
Type: boolean

Indicates whether to run the replication job one time.

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

The seed replication time.

serverId
Type: string

The ID of the server.

serverType
Type: string

The type of server.

state
Type: string

The state of the replication job.

statusMessage
Type: string

The description of the current status of the replication job.

vmServer
Type: VmServer structure

Information about the VM server.

ReplicationJobAlreadyExistsException

Description

The specified replication job already exists.

Members
message
Type: string

ReplicationJobNotFoundException

Description

The specified replication job does not exist.

Members
message
Type: string

ReplicationRun

Description

Represents a replication run.

Members
amiId
Type: string

The ID of the Amazon Machine Image (AMI) from the replication run.

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

The completion time of the last replication run.

description
Type: string

The description of the replication run.

encrypted
Type: boolean

Indicates whether the replication run should produce an encrypted AMI.

kmsKeyId
Type: string

The ID of the KMS key for replication jobs that produce encrypted AMIs. This value can be any of the following:

  • KMS key ID

  • KMS key alias

  • ARN referring to the KMS key ID

  • ARN referring to the KMS key alias

If encrypted is true but a KMS key ID is not specified, the customer's default KMS key for Amazon EBS is used.

replicationRunId
Type: string

The ID of the replication run.

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

The start time of the next replication run.

stageDetails
Type: ReplicationRunStageDetails structure

Details about the current stage of the replication run.

state
Type: string

The state of the replication run.

statusMessage
Type: string

The description of the current status of the replication job.

type
Type: string

The type of replication run.

ReplicationRunLimitExceededException

Description

You have exceeded the number of on-demand replication runs you can request in a 24-hour period.

Members
message
Type: string

ReplicationRunStageDetails

Description

Details of the current stage of a replication run.

Members
stage
Type: string

The current stage of a replication run.

stageProgress
Type: string

The progress of the current stage of a replication run.

S3Location

Description

Location of an Amazon S3 object.

Members
bucket
Type: string

The Amazon S3 bucket name.

key
Type: string

The Amazon S3 bucket key.

SSMOutput

Description

Contains the location of validation output.

Members
s3Location
Type: S3Location structure

Location of an Amazon S3 object.

SSMValidationParameters

Description

Contains validation parameters.

Members
command
Type: string

The command to run the validation script.

executionTimeoutSeconds
Type: int

The timeout interval, in seconds.

instanceId
Type: string

The ID of the instance. The instance must have the following tag: UserForSMSApplicationValidation=true.

outputS3BucketName
Type: string

The name of the S3 bucket for output.

scriptType
Type: string

The type of validation script.

source
Type: Source structure

The location of the validation script.

Server

Description

Represents a server.

Members
replicationJobId
Type: string

The ID of the replication job.

replicationJobTerminated
Type: boolean

Indicates whether the replication job is deleted or failed.

serverId
Type: string

The ID of the server.

serverType
Type: string

The type of server.

vmServer
Type: VmServer structure

Information about the VM server.

ServerCannotBeReplicatedException

Description

The specified server cannot be replicated.

Members
message
Type: string

ServerGroup

Description

Logical grouping of servers.

Members
name
Type: string

The name of a server group.

serverGroupId
Type: string

The ID of a server group.

serverList
Type: Array of Server structures

The servers that belong to a server group.

ServerGroupLaunchConfiguration

Description

Launch configuration for a server group.

Members
launchOrder
Type: int

The launch order of servers in the server group.

serverGroupId
Type: string

The ID of the server group with which the launch configuration is associated.

serverLaunchConfigurations
Type: Array of ServerLaunchConfiguration structures

The launch configuration for servers in the server group.

ServerGroupReplicationConfiguration

Description

Replication configuration for a server group.

Members
serverGroupId
Type: string

The ID of the server group with which this replication configuration is associated.

serverReplicationConfigurations
Type: Array of ServerReplicationConfiguration structures

The replication configuration for servers in the server group.

ServerGroupValidationConfiguration

Description

Configuration for validating an instance.

Members
serverGroupId
Type: string

The ID of the server group.

serverValidationConfigurations
Type: Array of ServerValidationConfiguration structures

The validation configuration.

ServerLaunchConfiguration

Description

Launch configuration for a server.

Members
associatePublicIpAddress
Type: boolean

Indicates whether a publicly accessible IP address is created when launching the server.

configureScript
Type: S3Location structure

Location of an Amazon S3 object.

configureScriptType
Type: string

The type of configuration script.

ec2KeyName
Type: string

The name of the Amazon EC2 SSH key to be used for connecting to the launched server.

iamInstanceProfileName
Type: string

The name of the IAM instance profile.

instanceType
Type: string

The instance type to use when launching the server.

logicalId
Type: string

The logical ID of the server in the CloudFormation template.

securityGroup
Type: string

The ID of the security group that applies to the launched server.

server
Type: Server structure

The ID of the server with which the launch configuration is associated.

subnet
Type: string

The ID of the subnet the server should be launched into.

userData
Type: UserData structure

Location of the user-data script to be executed when launching the server.

vpc
Type: string

The ID of the VPC into which the server should be launched.

ServerReplicationConfiguration

Description

Replication configuration of a server.

Members
server
Type: Server structure

The ID of the server with which this replication configuration is associated.

serverReplicationParameters
Type: ServerReplicationParameters structure

The parameters for replicating the server.

ServerReplicationParameters

Description

The replication parameters for replicating a server.

Members
encrypted
Type: boolean

Indicates whether the replication job produces encrypted AMIs.

frequency
Type: int

The frequency of creating replication jobs for the server.

kmsKeyId
Type: string

The ID of the KMS key for replication jobs that produce encrypted AMIs. This value can be any of the following:

  • KMS key ID

  • KMS key alias

  • ARN referring to the KMS key ID

  • ARN referring to the KMS key alias

If encrypted is enabled but a KMS key ID is not specified, the customer's default KMS key for Amazon EBS is used.

licenseType
Type: string

The license type for creating a replication job for the server.

numberOfRecentAmisToKeep
Type: int

The number of recent AMIs to keep when creating a replication job for this server.

runOnce
Type: boolean

Indicates whether to run the replication job one time.

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

The seed time for creating a replication job for the server.

ServerValidationConfiguration

Description

Configuration for validating an instance.

Members
name
Type: string

The name of the configuration.

server
Type: Server structure

Represents a server.

serverValidationStrategy
Type: string

The validation strategy.

userDataValidationParameters

The validation parameters.

validationId
Type: string

The ID of the validation.

ServerValidationOutput

Description

Contains output from validating an instance.

Members
server
Type: Server structure

Represents a server.

Source

Description

Contains the location of a validation script.

Members
s3Location
Type: S3Location structure

Location of an Amazon S3 object.

Tag

Description

Key/value pair that can be assigned to an application.

Members
key
Type: string

The tag key.

value
Type: string

The tag value.

TemporarilyUnavailableException

Description

The service is temporarily unavailable.

Members

UnauthorizedOperationException

Description

You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

Members
message
Type: string

UserData

Description

A script that runs on first launch of an Amazon EC2 instance. Used for configuring the server during launch.

Members
s3Location
Type: S3Location structure

Amazon S3 location of the user-data script.

UserDataValidationParameters

Description

Contains validation parameters.

Members
scriptType
Type: string

The type of validation script.

source
Type: Source structure

The location of the validation script.

ValidationOutput

Description

Contains validation output.

Members
appValidationOutput
Type: AppValidationOutput structure

The output from validating an application.

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

The latest time that the validation was performed.

name
Type: string

The name of the validation.

serverValidationOutput
Type: ServerValidationOutput structure

The output from validation an instance.

status
Type: string

The status of the validation.

statusMessage
Type: string

The status message.

validationId
Type: string

The ID of the validation.

VmServer

Description

Represents a VM server.

Members
vmManagerName
Type: string

The name of the VM manager.

vmManagerType
Type: string

The type of VM management product.

vmName
Type: string

The name of the VM.

vmPath
Type: string

The VM folder path in the vCenter Server virtual machine inventory tree.

vmServerAddress
Type: VmServerAddress structure

The VM server location.

VmServerAddress

Description

Represents a VM server location.

Members
vmId
Type: string

The ID of the VM.

vmManagerId
Type: string

The ID of the VM manager.