2016/10/24 - AWS Server Migration Service - 11 new api methods
Changes AWS Server Migration Service (SMS) is an agentless service which makes it easier and faster for you to migrate thousands of on-premises workloads to AWS. AWS SMS allows you to automate, schedule, and track incremental replications of live server volumes, making it easier for you to coordinate large-scale server migrations.
The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using CreateReplicationJob. Calling this API will affect the next scheduled ReplicationRun.
Request Syntax
client.update_replication_job( replicationJobId='string', frequency=123, nextReplicationRunStartTime=datetime(2015, 1, 1), licenseType='AWS'|'BYOL', roleName='string', description='string' )
string
[REQUIRED] The unique identifier for a Replication Job.
integer
Interval between Replication Runs. This value is specified in hours, and represents the time between consecutive Replication Runs.
datetime
Timestamp of an operation
string
The license type to be used for the Amazon Machine Image (AMI) created after a successful ReplicationRun.
string
Name of service role in customer's account to be used by SMS service.
string
The description for a Replication Job/Run.
dict
Response Syntax
{}
Response Structure
(dict) --
The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs.
Request Syntax
client.disassociate_connector( connectorId='string' )
string
[REQUIRED] Unique Identifier for Connector
dict
Response Syntax
{}
Response Structure
(dict) --
The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns. This will delete the contents of the S3 bucket used to store SMS artifacts, but will not delete any AMIs created by the SMS service.
Request Syntax
client.delete_replication_job( replicationJobId='string' )
string
[REQUIRED] The unique identifier for a Replication Job.
dict
Response Syntax
{}
Response Structure
(dict) --
The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises. This API call requires connectors to be installed and monitoring all servers you would like imported. This API call returns immediately, but may take some time to retrieve all of the servers.
Request Syntax
client.import_server_catalog()
dict
Response Syntax
{}
Response Structure
(dict) --
The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS. Call this API to first create a ReplicationJob, which will then schedule periodic ReplicationRuns to replicate your server to AWS. Each ReplicationRun will result in the creation of an AWS AMI.
Request Syntax
client.create_replication_job( serverId='string', seedReplicationTime=datetime(2015, 1, 1), frequency=123, licenseType='AWS'|'BYOL', roleName='string', description='string' )
string
[REQUIRED] Unique Identifier for a server
datetime
[REQUIRED] Timestamp of an operation
integer
[REQUIRED] Interval between Replication Runs. This value is specified in hours, and represents the time between consecutive Replication Runs.
string
The license type to be used for the Amazon Machine Image (AMI) created after a successful ReplicationRun.
string
Name of service role in customer's account to be used by SMS service.
string
The description for a Replication Job/Run.
dict
Response Syntax
{ 'replicationJobId': 'string' }
Response Structure
(dict) --
replicationJobId (string) -- The unique identifier for a Replication Job.
The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.
Request Syntax
client.get_connectors( nextToken='string', maxResults=123 )
string
Pagination token to pass as input to API call
integer
The maximum number of results to return in one API call. If left empty, this will default to 50.
dict
Response Syntax
{ 'connectorList': [ { 'connectorId': 'string', 'version': 'string', 'status': 'HEALTHY'|'UNHEALTHY', 'capabilityList': [ 'VSPHERE', ], 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE', 'vmManagerId': 'string', 'ipAddress': 'string', 'macAddress': 'string', 'associatedOn': datetime(2015, 1, 1) }, ], 'nextToken': 'string' }
Response Structure
(dict) --
connectorList (list) -- List of connectors
(dict) -- Object representing a Connector
connectorId (string) -- Unique Identifier for Connector
version (string) -- Connector version string
status (string) -- Status of on-premise Connector
capabilityList (list) -- List of Connector Capabilities
(string) -- Capabilities for a Connector
vmManagerName (string) -- VM Manager Name
vmManagerType (string) -- VM Management Product
vmManagerId (string) -- Unique Identifier for VM Manager
ipAddress (string) -- Internet Protocol (IP) Address
macAddress (string) -- Hardware (MAC) address
associatedOn (datetime) -- Timestamp of an operation
nextToken (string) -- Pagination token to pass as input to API call
The DeleteServerCatalog API clears all servers from your server catalog. This means that these servers will no longer be accessible to the Server Migration Service.
Request Syntax
client.delete_server_catalog()
dict
Response Syntax
{}
Response Structure
(dict) --
The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are scheduled based on your frequency). This ReplicationRun will start immediately. StartOnDemandReplicationRun is subject to limits on how many on demand ReplicationRuns you may call per 24-hour period.
Request Syntax
client.start_on_demand_replication_run( replicationJobId='string', description='string' )
string
[REQUIRED] The unique identifier for a Replication Job.
string
The description for a Replication Job/Run.
dict
Response Syntax
{ 'replicationRunId': 'string' }
Response Structure
(dict) --
replicationRunId (string) -- The unique identifier for a Replication Run.
The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationRuns for a ReplicationJob.
Request Syntax
client.get_replication_runs( replicationJobId='string', nextToken='string', maxResults=123 )
string
[REQUIRED] The unique identifier for a Replication Job.
string
Pagination token to pass as input to API call
integer
The maximum number of results to return in one API call. If left empty, this will default to 50.
dict
Response Syntax
{ 'replicationJob': { 'replicationJobId': 'string', 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE', 'vmPath': 'string' }, 'seedReplicationTime': datetime(2015, 1, 1), 'frequency': 123, 'nextReplicationRunStartTime': datetime(2015, 1, 1), 'licenseType': 'AWS'|'BYOL', 'roleName': 'string', 'latestAmiId': 'string', 'state': 'PENDING'|'ACTIVE'|'FAILED'|'DELETING'|'DELETED', 'statusMessage': 'string', 'description': 'string', 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string' }, ] }, 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string' }, ], 'nextToken': 'string' }
Response Structure
(dict) --
replicationJob (dict) -- Object representing a Replication Job
replicationJobId (string) -- The unique identifier for a Replication Job.
serverId (string) -- Unique Identifier for a server
serverType (string) -- Type of server.
vmServer (dict) -- Object representing a VM server
vmServerAddress (dict) -- Object representing a server's location
vmManagerId (string) -- Unique Identifier for VM Manager
vmId (string) -- Unique Identifier for a VM
vmName (string) -- Name of Virtual Machine
vmManagerName (string) -- VM Manager Name
vmManagerType (string) -- VM Management Product
vmPath (string) -- Path to VM
seedReplicationTime (datetime) -- Timestamp of an operation
frequency (integer) -- Interval between Replication Runs. This value is specified in hours, and represents the time between consecutive Replication Runs.
nextReplicationRunStartTime (datetime) -- Timestamp of an operation
licenseType (string) -- The license type to be used for the Amazon Machine Image (AMI) created after a successful ReplicationRun.
roleName (string) -- Name of service role in customer's account to be used by SMS service.
latestAmiId (string) -- The AMI id for the image resulting from a Replication Run.
state (string) -- Current state of Replication Job
statusMessage (string) -- String describing current status of Replication Job
description (string) -- The description for a Replication Job/Run.
replicationRunList (list) -- List of Replication Runs
(dict) -- Object representing a Replication Run
replicationRunId (string) -- The unique identifier for a Replication Run.
state (string) -- Current state of Replication Run
type (string) -- Type of Replication Run
statusMessage (string) -- String describing current status of Replication Run
amiId (string) -- The AMI id for the image resulting from a Replication Run.
scheduledStartTime (datetime) -- Timestamp of an operation
completedTime (datetime) -- Timestamp of an operation
description (string) -- The description for a Replication Job/Run.
replicationRunList (list) -- List of Replication Runs
(dict) -- Object representing a Replication Run
replicationRunId (string) -- The unique identifier for a Replication Run.
state (string) -- Current state of Replication Run
type (string) -- Type of Replication Run
statusMessage (string) -- String describing current status of Replication Run
amiId (string) -- The AMI id for the image resulting from a Replication Run.
scheduledStartTime (datetime) -- Timestamp of an operation
completedTime (datetime) -- Timestamp of an operation
description (string) -- The description for a Replication Job/Run.
nextToken (string) -- Pagination token to pass as input to API call
The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must previously have called ImportServerCatalog.
Request Syntax
client.get_servers( nextToken='string', maxResults=123 )
string
Pagination token to pass as input to API call
integer
The maximum number of results to return in one API call. If left empty, this will default to 50.
dict
Response Syntax
{ 'lastModifiedOn': datetime(2015, 1, 1), 'serverCatalogStatus': 'NOT_IMPORTED'|'IMPORTING'|'AVAILABLE'|'DELETED'|'EXPIRED', 'serverList': [ { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ], 'nextToken': 'string' }
Response Structure
(dict) --
lastModifiedOn (datetime) -- Timestamp of an operation
serverCatalogStatus (string) -- Status of Server catalog
serverList (list) -- List of servers from catalog
(dict) -- Object representing a server
serverId (string) -- Unique Identifier for a server
serverType (string) -- Type of server.
vmServer (dict) -- Object representing a VM server
vmServerAddress (dict) -- Object representing a server's location
vmManagerId (string) -- Unique Identifier for VM Manager
vmId (string) -- Unique Identifier for a VM
vmName (string) -- Name of Virtual Machine
vmManagerName (string) -- VM Manager Name
vmManagerType (string) -- VM Management Product
vmPath (string) -- Path to VM
replicationJobId (string) -- The unique identifier for a Replication Job.
replicationJobTerminated (boolean) -- An indicator of the Replication Job being deleted or failed.
nextToken (string) -- Pagination token to pass as input to API call
The GetReplicationJobs API will return all of your ReplicationJobs and their details. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationJobs.
Request Syntax
client.get_replication_jobs( replicationJobId='string', nextToken='string', maxResults=123 )
string
The unique identifier for a Replication Job.
string
Pagination token to pass as input to API call
integer
The maximum number of results to return in one API call. If left empty, this will default to 50.
dict
Response Syntax
{ 'replicationJobList': [ { 'replicationJobId': 'string', 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE', 'vmPath': 'string' }, 'seedReplicationTime': datetime(2015, 1, 1), 'frequency': 123, 'nextReplicationRunStartTime': datetime(2015, 1, 1), 'licenseType': 'AWS'|'BYOL', 'roleName': 'string', 'latestAmiId': 'string', 'state': 'PENDING'|'ACTIVE'|'FAILED'|'DELETING'|'DELETED', 'statusMessage': 'string', 'description': 'string', 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string' }, ] }, ], 'nextToken': 'string' }
Response Structure
(dict) --
replicationJobList (list) -- List of Replication Jobs
(dict) -- Object representing a Replication Job
replicationJobId (string) -- The unique identifier for a Replication Job.
serverId (string) -- Unique Identifier for a server
serverType (string) -- Type of server.
vmServer (dict) -- Object representing a VM server
vmServerAddress (dict) -- Object representing a server's location
vmManagerId (string) -- Unique Identifier for VM Manager
vmId (string) -- Unique Identifier for a VM
vmName (string) -- Name of Virtual Machine
vmManagerName (string) -- VM Manager Name
vmManagerType (string) -- VM Management Product
vmPath (string) -- Path to VM
seedReplicationTime (datetime) -- Timestamp of an operation
frequency (integer) -- Interval between Replication Runs. This value is specified in hours, and represents the time between consecutive Replication Runs.
nextReplicationRunStartTime (datetime) -- Timestamp of an operation
licenseType (string) -- The license type to be used for the Amazon Machine Image (AMI) created after a successful ReplicationRun.
roleName (string) -- Name of service role in customer's account to be used by SMS service.
latestAmiId (string) -- The AMI id for the image resulting from a Replication Run.
state (string) -- Current state of Replication Job
statusMessage (string) -- String describing current status of Replication Job
description (string) -- The description for a Replication Job/Run.
replicationRunList (list) -- List of Replication Runs
(dict) -- Object representing a Replication Run
replicationRunId (string) -- The unique identifier for a Replication Run.
state (string) -- Current state of Replication Run
type (string) -- Type of Replication Run
statusMessage (string) -- String describing current status of Replication Run
amiId (string) -- The AMI id for the image resulting from a Replication Run.
scheduledStartTime (datetime) -- Timestamp of an operation
completedTime (datetime) -- Timestamp of an operation
description (string) -- The description for a Replication Job/Run.
nextToken (string) -- Pagination token to pass as input to API call