SMS *** Client ====== class SMS.Client A low-level client representing AWS Server Migration Service (SMS) Warning: **Product update**We recommend Amazon Web Services Application Migration Service (Amazon Web Services MGN) as the primary migration service for lift-and-shift migrations. If Amazon Web Services MGN is unavailable in a specific Amazon Web Services Region, you can use the Server Migration Service APIs through March 2023. Server Migration Service (Server Migration Service) makes it easier and faster for you to migrate your on-premises workloads to Amazon Web Services. To learn more about Server Migration Service, see the following resources: * Server Migration Service product page * Server Migration Service User Guide import boto3 client = boto3.client('sms') These are the available methods: * can_paginate * close * create_app * create_replication_job * delete_app * delete_app_launch_configuration * delete_app_replication_configuration * delete_app_validation_configuration * delete_replication_job * delete_server_catalog * disassociate_connector * generate_change_set * generate_template * get_app * get_app_launch_configuration * get_app_replication_configuration * get_app_validation_configuration * get_app_validation_output * get_connectors * get_paginator * get_replication_jobs * get_replication_runs * get_servers * get_waiter * import_app_catalog * import_server_catalog * launch_app * list_apps * notify_app_validation_output * put_app_launch_configuration * put_app_replication_configuration * put_app_validation_configuration * start_app_replication * start_on_demand_app_replication * start_on_demand_replication_run * stop_app_replication * terminate_app * update_app * update_replication_job Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * GetConnectors * GetReplicationJobs * GetReplicationRuns * GetServers * ListApps SMS / Paginator / GetReplicationRuns GetReplicationRuns ****************** class SMS.Paginator.GetReplicationRuns paginator = client.get_paginator('get_replication_runs') paginate(**kwargs) Creates an iterator that will paginate through responses from "SMS.Client.get_replication_runs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( replicationJobId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **replicationJobId** (*string*) -- **[REQUIRED]** The ID of the replication job. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'replicationJob': { 'replicationJobId': 'string', 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'seedReplicationTime': datetime(2015, 1, 1), 'frequency': 123, 'runOnce': True|False, 'nextReplicationRunStartTime': datetime(2015, 1, 1), 'licenseType': 'AWS'|'BYOL', 'roleName': 'string', 'latestAmiId': 'string', 'state': 'PENDING'|'ACTIVE'|'FAILED'|'DELETING'|'DELETED'|'COMPLETED'|'PAUSED_ON_FAILURE'|'FAILING', 'statusMessage': 'string', 'description': 'string', 'numberOfRecentAmisToKeep': 123, 'encrypted': True|False, 'kmsKeyId': 'string', 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'stageDetails': { 'stage': 'string', 'stageProgress': 'string' }, 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string', 'encrypted': True|False, 'kmsKeyId': 'string' }, ] }, 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'stageDetails': { 'stage': 'string', 'stageProgress': 'string' }, 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string', 'encrypted': True|False, 'kmsKeyId': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **replicationJob** *(dict) --* Information about the replication job. * **replicationJobId** *(string) --* The ID of the replication job. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **seedReplicationTime** *(datetime) --* The seed replication time. * **frequency** *(integer) --* The time between consecutive replication runs, in hours. * **runOnce** *(boolean) --* Indicates whether to run the replication job one time. * **nextReplicationRunStartTime** *(datetime) --* The start time of the next replication run. * **licenseType** *(string) --* The license type to be used for the AMI created by a successful replication run. * **roleName** *(string) --* The name of the IAM role to be used by Server Migration Service. * **latestAmiId** *(string) --* The ID of the latest Amazon Machine Image (AMI). * **state** *(string) --* The state of the replication job. * **statusMessage** *(string) --* The description of the current status of the replication job. * **description** *(string) --* The description of the replication job. * **numberOfRecentAmisToKeep** *(integer) --* 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. * **encrypted** *(boolean) --* Indicates whether the replication job should produce encrypted AMIs. * **kmsKeyId** *(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. * **replicationRunList** *(list) --* Information about the replication runs. * *(dict) --* Represents a replication run. * **replicationRunId** *(string) --* The ID of the replication run. * **state** *(string) --* The state of the replication run. * **type** *(string) --* The type of replication run. * **stageDetails** *(dict) --* Details about the current stage of the replication run. * **stage** *(string) --* The current stage of a replication run. * **stageProgress** *(string) --* The progress of the current stage of a replication run. * **statusMessage** *(string) --* The description of the current status of the replication job. * **amiId** *(string) --* The ID of the Amazon Machine Image (AMI) from the replication run. * **scheduledStartTime** *(datetime) --* The start time of the next replication run. * **completedTime** *(datetime) --* The completion time of the last replication run. * **description** *(string) --* The description of the replication run. * **encrypted** *(boolean) --* Indicates whether the replication run should produce an encrypted AMI. * **kmsKeyId** *(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. * **replicationRunList** *(list) --* Information about the replication runs. * *(dict) --* Represents a replication run. * **replicationRunId** *(string) --* The ID of the replication run. * **state** *(string) --* The state of the replication run. * **type** *(string) --* The type of replication run. * **stageDetails** *(dict) --* Details about the current stage of the replication run. * **stage** *(string) --* The current stage of a replication run. * **stageProgress** *(string) --* The progress of the current stage of a replication run. * **statusMessage** *(string) --* The description of the current status of the replication job. * **amiId** *(string) --* The ID of the Amazon Machine Image (AMI) from the replication run. * **scheduledStartTime** *(datetime) --* The start time of the next replication run. * **completedTime** *(datetime) --* The completion time of the last replication run. * **description** *(string) --* The description of the replication run. * **encrypted** *(boolean) --* Indicates whether the replication run should produce an encrypted AMI. * **kmsKeyId** *(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. * **NextToken** *(string) --* A token to resume pagination. SMS / Paginator / GetConnectors GetConnectors ************* class SMS.Paginator.GetConnectors paginator = client.get_paginator('get_connectors') paginate(**kwargs) Creates an iterator that will paginate through responses from "SMS.Client.get_connectors()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'connectorList': [ { 'connectorId': 'string', 'version': 'string', 'status': 'HEALTHY'|'UNHEALTHY', 'capabilityList': [ 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER'|'SNAPSHOT_BATCHING'|'SMS_OPTIMIZED', ], 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmManagerId': 'string', 'ipAddress': 'string', 'macAddress': 'string', 'associatedOn': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **connectorList** *(list) --* Information about the registered connectors. * *(dict) --* Represents a connector. * **connectorId** *(string) --* The ID of the connector. * **version** *(string) --* The connector version. * **status** *(string) --* The status of the connector. * **capabilityList** *(list) --* The capabilities of the connector. * *(string) --* * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The VM management product. * **vmManagerId** *(string) --* The ID of the VM manager. * **ipAddress** *(string) --* The IP address of the connector. * **macAddress** *(string) --* The MAC address of the connector. * **associatedOn** *(datetime) --* The time the connector was associated. * **NextToken** *(string) --* A token to resume pagination. SMS / Paginator / ListApps ListApps ******** class SMS.Paginator.ListApps paginator = client.get_paginator('list_apps') paginate(**kwargs) Creates an iterator that will paginate through responses from "SMS.Client.list_apps()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( appIds=[ 'string', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **appIds** (*list*) -- The unique application IDs. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'apps': [ { 'appId': 'string', 'importedAppId': 'string', 'name': 'string', 'description': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'DELETE_FAILED', 'statusMessage': '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', 'latestReplicationTime': datetime(2015, 1, 1), 'launchConfigurationStatus': 'NOT_CONFIGURED'|'CONFIGURED', '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', 'launchDetails': { 'latestLaunchTime': datetime(2015, 1, 1), 'stackName': 'string', 'stackId': 'string' }, 'creationTime': datetime(2015, 1, 1), 'lastModified': datetime(2015, 1, 1), 'roleName': 'string', 'totalServerGroups': 123, 'totalServers': 123 }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **apps** *(list) --* The application summaries. * *(dict) --* Information about the application. * **appId** *(string) --* The unique ID of the application. * **importedAppId** *(string) --* The ID of the application. * **name** *(string) --* The name of the application. * **description** *(string) --* The description of the application. * **status** *(string) --* Status of the application. * **statusMessage** *(string) --* A message related to the status of the application * **replicationConfigurationStatus** *(string) --* Status of the replication configuration. * **replicationStatus** *(string) --* The replication status of the application. * **replicationStatusMessage** *(string) --* A message related to the replication status of the application. * **latestReplicationTime** *(datetime) --* The timestamp of the application's most recent successful replication. * **launchConfigurationStatus** *(string) --* Status of the launch configuration. * **launchStatus** *(string) --* The launch status of the application. * **launchStatusMessage** *(string) --* A message related to the launch status of the application. * **launchDetails** *(dict) --* Details about the latest launch of the application. * **latestLaunchTime** *(datetime) --* The latest time that this application was launched successfully. * **stackName** *(string) --* The name of the latest stack launched for this application. * **stackId** *(string) --* The ID of the latest stack launched for this application. * **creationTime** *(datetime) --* The creation time of the application. * **lastModified** *(datetime) --* The last modified time of the application. * **roleName** *(string) --* The name of the service role in the customer's account used by Server Migration Service. * **totalServerGroups** *(integer) --* The number of server groups present in the application. * **totalServers** *(integer) --* The number of servers present in the application. * **NextToken** *(string) --* A token to resume pagination. SMS / Paginator / GetReplicationJobs GetReplicationJobs ****************** class SMS.Paginator.GetReplicationJobs paginator = client.get_paginator('get_replication_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "SMS.Client.get_replication_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( replicationJobId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **replicationJobId** (*string*) -- The ID of the replication job. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'replicationJobList': [ { 'replicationJobId': 'string', 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'seedReplicationTime': datetime(2015, 1, 1), 'frequency': 123, 'runOnce': True|False, 'nextReplicationRunStartTime': datetime(2015, 1, 1), 'licenseType': 'AWS'|'BYOL', 'roleName': 'string', 'latestAmiId': 'string', 'state': 'PENDING'|'ACTIVE'|'FAILED'|'DELETING'|'DELETED'|'COMPLETED'|'PAUSED_ON_FAILURE'|'FAILING', 'statusMessage': 'string', 'description': 'string', 'numberOfRecentAmisToKeep': 123, 'encrypted': True|False, 'kmsKeyId': 'string', 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'stageDetails': { 'stage': 'string', 'stageProgress': 'string' }, 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string', 'encrypted': True|False, 'kmsKeyId': 'string' }, ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **replicationJobList** *(list) --* Information about the replication jobs. * *(dict) --* Represents a replication job. * **replicationJobId** *(string) --* The ID of the replication job. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **seedReplicationTime** *(datetime) --* The seed replication time. * **frequency** *(integer) --* The time between consecutive replication runs, in hours. * **runOnce** *(boolean) --* Indicates whether to run the replication job one time. * **nextReplicationRunStartTime** *(datetime) --* The start time of the next replication run. * **licenseType** *(string) --* The license type to be used for the AMI created by a successful replication run. * **roleName** *(string) --* The name of the IAM role to be used by Server Migration Service. * **latestAmiId** *(string) --* The ID of the latest Amazon Machine Image (AMI). * **state** *(string) --* The state of the replication job. * **statusMessage** *(string) --* The description of the current status of the replication job. * **description** *(string) --* The description of the replication job. * **numberOfRecentAmisToKeep** *(integer) --* 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. * **encrypted** *(boolean) --* Indicates whether the replication job should produce encrypted AMIs. * **kmsKeyId** *(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. * **replicationRunList** *(list) --* Information about the replication runs. * *(dict) --* Represents a replication run. * **replicationRunId** *(string) --* The ID of the replication run. * **state** *(string) --* The state of the replication run. * **type** *(string) --* The type of replication run. * **stageDetails** *(dict) --* Details about the current stage of the replication run. * **stage** *(string) --* The current stage of a replication run. * **stageProgress** *(string) --* The progress of the current stage of a replication run. * **statusMessage** *(string) --* The description of the current status of the replication job. * **amiId** *(string) --* The ID of the Amazon Machine Image (AMI) from the replication run. * **scheduledStartTime** *(datetime) --* The start time of the next replication run. * **completedTime** *(datetime) --* The completion time of the last replication run. * **description** *(string) --* The description of the replication run. * **encrypted** *(boolean) --* Indicates whether the replication run should produce an encrypted AMI. * **kmsKeyId** *(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. * **NextToken** *(string) --* A token to resume pagination. SMS / Paginator / GetServers GetServers ********** class SMS.Paginator.GetServers paginator = client.get_paginator('get_servers') paginate(**kwargs) Creates an iterator that will paginate through responses from "SMS.Client.get_servers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( vmServerAddressList=[ { 'vmManagerId': 'string', 'vmId': 'string' }, ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **vmServerAddressList** (*list*) -- The server addresses. * *(dict) --* Represents a VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { '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'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **lastModifiedOn** *(datetime) --* The time when the server was last modified. * **serverCatalogStatus** *(string) --* The status of the server catalog. * **serverList** *(list) --* Information about the servers. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **NextToken** *(string) --* A token to resume pagination. SMS / Client / get_paginator get_paginator ************* SMS.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. SMS / Client / notify_app_validation_output notify_app_validation_output **************************** SMS.Client.notify_app_validation_output(**kwargs) Provides information to Server Migration Service about whether application validation is successful. See also: AWS API Documentation **Request Syntax** response = client.notify_app_validation_output( appId='string', notificationContext={ 'validationId': 'string', 'status': 'READY_FOR_VALIDATION'|'PENDING'|'IN_PROGRESS'|'SUCCEEDED'|'FAILED', 'statusMessage': 'string' } ) Parameters: * **appId** (*string*) -- **[REQUIRED]** The ID of the application. * **notificationContext** (*dict*) -- The notification information. * **validationId** *(string) --* The ID of the validation. * **status** *(string) --* The status of the validation. * **statusMessage** *(string) --* The status message. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_connectors get_connectors ************** SMS.Client.get_connectors(**kwargs) Describes the connectors registered with the Server Migration Service. See also: AWS API Documentation **Request Syntax** response = client.get_connectors( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The token for the next set of results. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'connectorList': [ { 'connectorId': 'string', 'version': 'string', 'status': 'HEALTHY'|'UNHEALTHY', 'capabilityList': [ 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER'|'SNAPSHOT_BATCHING'|'SMS_OPTIMIZED', ], 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmManagerId': 'string', 'ipAddress': 'string', 'macAddress': 'string', 'associatedOn': datetime(2015, 1, 1) }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **connectorList** *(list) --* Information about the registered connectors. * *(dict) --* Represents a connector. * **connectorId** *(string) --* The ID of the connector. * **version** *(string) --* The connector version. * **status** *(string) --* The status of the connector. * **capabilityList** *(list) --* The capabilities of the connector. * *(string) --* * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The VM management product. * **vmManagerId** *(string) --* The ID of the VM manager. * **ipAddress** *(string) --* The IP address of the connector. * **macAddress** *(string) --* The MAC address of the connector. * **associatedOn** *(datetime) --* The time the connector was associated. * **nextToken** *(string) --* The token required to retrieve the next set of results. This value is null when there are no more results to return. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" SMS / Client / update_replication_job update_replication_job ********************** SMS.Client.update_replication_job(**kwargs) Updates the specified settings for the specified replication job. See also: AWS API Documentation **Request Syntax** response = client.update_replication_job( replicationJobId='string', frequency=123, nextReplicationRunStartTime=datetime(2015, 1, 1), licenseType='AWS'|'BYOL', roleName='string', description='string', numberOfRecentAmisToKeep=123, encrypted=True|False, kmsKeyId='string' ) Parameters: * **replicationJobId** (*string*) -- **[REQUIRED]** The ID of the replication job. * **frequency** (*integer*) -- The time between consecutive replication runs, in hours. * **nextReplicationRunStartTime** (*datetime*) -- The start time of the next replication run. * **licenseType** (*string*) -- The license type to be used for the AMI created by a successful replication run. * **roleName** (*string*) -- The name of the IAM role to be used by Server Migration Service. * **description** (*string*) -- The description of the replication job. * **numberOfRecentAmisToKeep** (*integer*) -- 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. * **encrypted** (*boolean*) -- When true, the replication job produces encrypted AMIs. For more information, "KmsKeyId". * **kmsKeyId** (*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. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.ServerCannotBeReplicatedException" * "SMS.Client.exceptions.ReplicationJobNotFoundException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.TemporarilyUnavailableException" SMS / Client / terminate_app terminate_app ************* SMS.Client.terminate_app(**kwargs) Terminates the stack for the specified application. See also: AWS API Documentation **Request Syntax** response = client.terminate_app( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / delete_app_validation_configuration delete_app_validation_configuration *********************************** SMS.Client.delete_app_validation_configuration(**kwargs) Deletes the validation configuration for the specified application. See also: AWS API Documentation **Request Syntax** response = client.delete_app_validation_configuration( appId='string' ) Parameters: **appId** (*string*) -- **[REQUIRED]** The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / can_paginate can_paginate ************ SMS.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. SMS / Client / disassociate_connector disassociate_connector ********************** SMS.Client.disassociate_connector(**kwargs) Disassociates the specified connector from Server Migration Service. After you disassociate a connector, it is no longer available to support replication jobs. See also: AWS API Documentation **Request Syntax** response = client.disassociate_connector( connectorId='string' ) Parameters: **connectorId** (*string*) -- **[REQUIRED]** The ID of the connector. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.InvalidParameterException" SMS / Client / start_app_replication start_app_replication ********************* SMS.Client.start_app_replication(**kwargs) Starts replicating the specified application by creating replication jobs for each server in the application. See also: AWS API Documentation **Request Syntax** response = client.start_app_replication( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / put_app_launch_configuration put_app_launch_configuration **************************** SMS.Client.put_app_launch_configuration(**kwargs) Creates or updates the launch configuration for the specified application. See also: AWS API Documentation **Request Syntax** response = client.put_app_launch_configuration( appId='string', roleName='string', autoLaunch=True|False, serverGroupLaunchConfigurations=[ { 'serverGroupId': 'string', 'launchOrder': 123, 'serverLaunchConfigurations': [ { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, 'logicalId': 'string', 'vpc': 'string', 'subnet': 'string', 'securityGroup': 'string', 'ec2KeyName': 'string', 'userData': { 's3Location': { 'bucket': 'string', 'key': 'string' } }, 'instanceType': 'string', 'associatePublicIpAddress': True|False, 'iamInstanceProfileName': 'string', 'configureScript': { 'bucket': 'string', 'key': 'string' }, 'configureScriptType': 'SHELL_SCRIPT'|'POWERSHELL_SCRIPT' }, ] }, ] ) Parameters: * **appId** (*string*) -- The ID of the application. * **roleName** (*string*) -- The name of service role in the customer's account that CloudFormation uses to launch the application. * **autoLaunch** (*boolean*) -- Indicates whether the application is configured to launch automatically after replication is complete. * **serverGroupLaunchConfigurations** (*list*) -- Information about the launch configurations for server groups in the application. * *(dict) --* Launch configuration for a server group. * **serverGroupId** *(string) --* The ID of the server group with which the launch configuration is associated. * **launchOrder** *(integer) --* The launch order of servers in the server group. * **serverLaunchConfigurations** *(list) --* The launch configuration for servers in the server group. * *(dict) --* Launch configuration for a server. * **server** *(dict) --* The ID of the server with which the launch configuration is associated. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **logicalId** *(string) --* The logical ID of the server in the CloudFormation template. * **vpc** *(string) --* The ID of the VPC into which the server should be launched. * **subnet** *(string) --* The ID of the subnet the server should be launched into. * **securityGroup** *(string) --* The ID of the security group that applies to the launched server. * **ec2KeyName** *(string) --* The name of the Amazon EC2 SSH key to be used for connecting to the launched server. * **userData** *(dict) --* Location of the user-data script to be executed when launching the server. * **s3Location** *(dict) --* Amazon S3 location of the user-data script. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **instanceType** *(string) --* The instance type to use when launching the server. * **associatePublicIpAddress** *(boolean) --* Indicates whether a publicly accessible IP address is created when launching the server. * **iamInstanceProfileName** *(string) --* The name of the IAM instance profile. * **configureScript** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **configureScriptType** *(string) --* The type of configuration script. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / generate_template generate_template ***************** SMS.Client.generate_template(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.generate_template( appId='string', templateFormat='JSON'|'YAML' ) Parameters: * **appId** (*string*) -- The ID of the application associated with the CloudFormation template. * **templateFormat** (*string*) -- The format for generating the CloudFormation template. Return type: dict Returns: **Response Syntax** { 's3Location': { 'bucket': 'string', 'key': 'string' } } **Response Structure** * *(dict) --* * **s3Location** *(dict) --* The location of the Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / start_on_demand_app_replication start_on_demand_app_replication ******************************* SMS.Client.start_on_demand_app_replication(**kwargs) Starts an on-demand replication run for the specified application. See also: AWS API Documentation **Request Syntax** response = client.start_on_demand_app_replication( appId='string', description='string' ) Parameters: * **appId** (*string*) -- **[REQUIRED]** The ID of the application. * **description** (*string*) -- The description of the replication run. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / create_replication_job create_replication_job ********************** SMS.Client.create_replication_job(**kwargs) 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). See also: AWS API Documentation **Request Syntax** response = client.create_replication_job( serverId='string', seedReplicationTime=datetime(2015, 1, 1), frequency=123, runOnce=True|False, licenseType='AWS'|'BYOL', roleName='string', description='string', numberOfRecentAmisToKeep=123, encrypted=True|False, kmsKeyId='string' ) Parameters: * **serverId** (*string*) -- **[REQUIRED]** The ID of the server. * **seedReplicationTime** (*datetime*) -- **[REQUIRED]** The seed replication time. * **frequency** (*integer*) -- The time between consecutive replication runs, in hours. * **runOnce** (*boolean*) -- Indicates whether to run the replication job one time. * **licenseType** (*string*) -- The license type to be used for the AMI created by a successful replication run. * **roleName** (*string*) -- The name of the IAM role to be used by the Server Migration Service. * **description** (*string*) -- The description of the replication job. * **numberOfRecentAmisToKeep** (*integer*) -- 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. * **encrypted** (*boolean*) -- Indicates whether the replication job produces encrypted AMIs. * **kmsKeyId** (*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. Return type: dict Returns: **Response Syntax** { 'replicationJobId': 'string' } **Response Structure** * *(dict) --* * **replicationJobId** *(string) --* The unique identifier of the replication job. **Exceptions** * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.ServerCannotBeReplicatedException" * "SMS.Client.exceptions.ReplicationJobAlreadyExistsException" * "SMS.Client.exceptions.NoConnectorsAvailableException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.TemporarilyUnavailableException" SMS / Client / import_app_catalog import_app_catalog ****************** SMS.Client.import_app_catalog(**kwargs) Allows application import from Migration Hub. See also: AWS API Documentation **Request Syntax** response = client.import_app_catalog( roleName='string' ) Parameters: **roleName** (*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*. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_waiter get_waiter ********** SMS.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" SMS / Client / create_app create_app ********** SMS.Client.create_app(**kwargs) Creates an application. An application consists of one or more server groups. Each server group contain one or more servers. See also: AWS API Documentation **Request Syntax** response = client.create_app( name='string', description='string', roleName='string', clientToken='string', serverGroups=[ { 'serverGroupId': 'string', 'name': 'string', 'serverList': [ { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ] }, ], tags=[ { 'key': 'string', 'value': 'string' }, ] ) Parameters: * **name** (*string*) -- The name of the new application. * **description** (*string*) -- The description of the new application * **roleName** (*string*) -- The name of the service role in the customer's account to be used by Server Migration Service. * **clientToken** (*string*) -- A unique, case-sensitive identifier that you provide to ensure the idempotency of application creation. * **serverGroups** (*list*) -- The server groups to include in the application. * *(dict) --* Logical grouping of servers. * **serverGroupId** *(string) --* The ID of a server group. * **name** *(string) --* The name of a server group. * **serverList** *(list) --* The servers that belong to a server group. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **tags** (*list*) -- The tags to be associated with the application. * *(dict) --* Key/value pair that can be assigned to an application. * **key** *(string) --* The tag key. * **value** *(string) --* The tag value. Return type: dict Returns: **Response Syntax** { 'appSummary': { 'appId': 'string', 'importedAppId': 'string', 'name': 'string', 'description': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'DELETE_FAILED', 'statusMessage': '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', 'latestReplicationTime': datetime(2015, 1, 1), 'launchConfigurationStatus': 'NOT_CONFIGURED'|'CONFIGURED', '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', 'launchDetails': { 'latestLaunchTime': datetime(2015, 1, 1), 'stackName': 'string', 'stackId': 'string' }, 'creationTime': datetime(2015, 1, 1), 'lastModified': datetime(2015, 1, 1), 'roleName': 'string', 'totalServerGroups': 123, 'totalServers': 123 }, 'serverGroups': [ { 'serverGroupId': 'string', 'name': 'string', 'serverList': [ { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ] }, ], 'tags': [ { 'key': 'string', 'value': 'string' }, ] } **Response Structure** * *(dict) --* * **appSummary** *(dict) --* A summary description of the application. * **appId** *(string) --* The unique ID of the application. * **importedAppId** *(string) --* The ID of the application. * **name** *(string) --* The name of the application. * **description** *(string) --* The description of the application. * **status** *(string) --* Status of the application. * **statusMessage** *(string) --* A message related to the status of the application * **replicationConfigurationStatus** *(string) --* Status of the replication configuration. * **replicationStatus** *(string) --* The replication status of the application. * **replicationStatusMessage** *(string) --* A message related to the replication status of the application. * **latestReplicationTime** *(datetime) --* The timestamp of the application's most recent successful replication. * **launchConfigurationStatus** *(string) --* Status of the launch configuration. * **launchStatus** *(string) --* The launch status of the application. * **launchStatusMessage** *(string) --* A message related to the launch status of the application. * **launchDetails** *(dict) --* Details about the latest launch of the application. * **latestLaunchTime** *(datetime) --* The latest time that this application was launched successfully. * **stackName** *(string) --* The name of the latest stack launched for this application. * **stackId** *(string) --* The ID of the latest stack launched for this application. * **creationTime** *(datetime) --* The creation time of the application. * **lastModified** *(datetime) --* The last modified time of the application. * **roleName** *(string) --* The name of the service role in the customer's account used by Server Migration Service. * **totalServerGroups** *(integer) --* The number of server groups present in the application. * **totalServers** *(integer) --* The number of servers present in the application. * **serverGroups** *(list) --* The server groups included in the application. * *(dict) --* Logical grouping of servers. * **serverGroupId** *(string) --* The ID of a server group. * **name** *(string) --* The name of a server group. * **serverList** *(list) --* The servers that belong to a server group. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **tags** *(list) --* The tags associated with the application. * *(dict) --* Key/value pair that can be assigned to an application. * **key** *(string) --* The tag key. * **value** *(string) --* The tag value. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / delete_replication_job delete_replication_job ********************** SMS.Client.delete_replication_job(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_replication_job( replicationJobId='string' ) Parameters: **replicationJobId** (*string*) -- **[REQUIRED]** The ID of the replication job. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.ReplicationJobNotFoundException" SMS / Client / generate_change_set generate_change_set ******************* SMS.Client.generate_change_set(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.generate_change_set( appId='string', changesetFormat='JSON'|'YAML' ) Parameters: * **appId** (*string*) -- The ID of the application associated with the change set. * **changesetFormat** (*string*) -- The format for the change set. Return type: dict Returns: **Response Syntax** { 's3Location': { 'bucket': 'string', 'key': 'string' } } **Response Structure** * *(dict) --* * **s3Location** *(dict) --* The location of the Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_app_validation_output get_app_validation_output ************************* SMS.Client.get_app_validation_output(**kwargs) Retrieves output from validating an application. See also: AWS API Documentation **Request Syntax** response = client.get_app_validation_output( appId='string' ) Parameters: **appId** (*string*) -- **[REQUIRED]** The ID of the application. Return type: dict Returns: **Response Syntax** { 'validationOutputList': [ { 'validationId': 'string', 'name': 'string', 'status': 'READY_FOR_VALIDATION'|'PENDING'|'IN_PROGRESS'|'SUCCEEDED'|'FAILED', 'statusMessage': 'string', 'latestValidationTime': datetime(2015, 1, 1), 'appValidationOutput': { 'ssmOutput': { 's3Location': { 'bucket': 'string', 'key': 'string' } } }, 'serverValidationOutput': { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False } } }, ] } **Response Structure** * *(dict) --* * **validationOutputList** *(list) --* The validation output. * *(dict) --* Contains validation output. * **validationId** *(string) --* The ID of the validation. * **name** *(string) --* The name of the validation. * **status** *(string) --* The status of the validation. * **statusMessage** *(string) --* The status message. * **latestValidationTime** *(datetime) --* The latest time that the validation was performed. * **appValidationOutput** *(dict) --* The output from validating an application. * **ssmOutput** *(dict) --* Output from using SSM to validate the application. * **s3Location** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **serverValidationOutput** *(dict) --* The output from validation an instance. * **server** *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / start_on_demand_replication_run start_on_demand_replication_run ******************************* SMS.Client.start_on_demand_replication_run(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.start_on_demand_replication_run( replicationJobId='string', description='string' ) Parameters: * **replicationJobId** (*string*) -- **[REQUIRED]** The ID of the replication job. * **description** (*string*) -- The description of the replication run. Return type: dict Returns: **Response Syntax** { 'replicationRunId': 'string' } **Response Structure** * *(dict) --* * **replicationRunId** *(string) --* The ID of the replication run. **Exceptions** * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.ReplicationRunLimitExceededException" * "SMS.Client.exceptions.DryRunOperationException" SMS / Client / get_replication_runs get_replication_runs ******************** SMS.Client.get_replication_runs(**kwargs) Describes the replication runs for the specified replication job. See also: AWS API Documentation **Request Syntax** response = client.get_replication_runs( replicationJobId='string', nextToken='string', maxResults=123 ) Parameters: * **replicationJobId** (*string*) -- **[REQUIRED]** The ID of the replication job. * **nextToken** (*string*) -- The token for the next set of results. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'replicationJob': { 'replicationJobId': 'string', 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'seedReplicationTime': datetime(2015, 1, 1), 'frequency': 123, 'runOnce': True|False, 'nextReplicationRunStartTime': datetime(2015, 1, 1), 'licenseType': 'AWS'|'BYOL', 'roleName': 'string', 'latestAmiId': 'string', 'state': 'PENDING'|'ACTIVE'|'FAILED'|'DELETING'|'DELETED'|'COMPLETED'|'PAUSED_ON_FAILURE'|'FAILING', 'statusMessage': 'string', 'description': 'string', 'numberOfRecentAmisToKeep': 123, 'encrypted': True|False, 'kmsKeyId': 'string', 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'stageDetails': { 'stage': 'string', 'stageProgress': 'string' }, 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string', 'encrypted': True|False, 'kmsKeyId': 'string' }, ] }, 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'stageDetails': { 'stage': 'string', 'stageProgress': 'string' }, 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string', 'encrypted': True|False, 'kmsKeyId': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **replicationJob** *(dict) --* Information about the replication job. * **replicationJobId** *(string) --* The ID of the replication job. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **seedReplicationTime** *(datetime) --* The seed replication time. * **frequency** *(integer) --* The time between consecutive replication runs, in hours. * **runOnce** *(boolean) --* Indicates whether to run the replication job one time. * **nextReplicationRunStartTime** *(datetime) --* The start time of the next replication run. * **licenseType** *(string) --* The license type to be used for the AMI created by a successful replication run. * **roleName** *(string) --* The name of the IAM role to be used by Server Migration Service. * **latestAmiId** *(string) --* The ID of the latest Amazon Machine Image (AMI). * **state** *(string) --* The state of the replication job. * **statusMessage** *(string) --* The description of the current status of the replication job. * **description** *(string) --* The description of the replication job. * **numberOfRecentAmisToKeep** *(integer) --* 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. * **encrypted** *(boolean) --* Indicates whether the replication job should produce encrypted AMIs. * **kmsKeyId** *(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. * **replicationRunList** *(list) --* Information about the replication runs. * *(dict) --* Represents a replication run. * **replicationRunId** *(string) --* The ID of the replication run. * **state** *(string) --* The state of the replication run. * **type** *(string) --* The type of replication run. * **stageDetails** *(dict) --* Details about the current stage of the replication run. * **stage** *(string) --* The current stage of a replication run. * **stageProgress** *(string) --* The progress of the current stage of a replication run. * **statusMessage** *(string) --* The description of the current status of the replication job. * **amiId** *(string) --* The ID of the Amazon Machine Image (AMI) from the replication run. * **scheduledStartTime** *(datetime) --* The start time of the next replication run. * **completedTime** *(datetime) --* The completion time of the last replication run. * **description** *(string) --* The description of the replication run. * **encrypted** *(boolean) --* Indicates whether the replication run should produce an encrypted AMI. * **kmsKeyId** *(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. * **replicationRunList** *(list) --* Information about the replication runs. * *(dict) --* Represents a replication run. * **replicationRunId** *(string) --* The ID of the replication run. * **state** *(string) --* The state of the replication run. * **type** *(string) --* The type of replication run. * **stageDetails** *(dict) --* Details about the current stage of the replication run. * **stage** *(string) --* The current stage of a replication run. * **stageProgress** *(string) --* The progress of the current stage of a replication run. * **statusMessage** *(string) --* The description of the current status of the replication job. * **amiId** *(string) --* The ID of the Amazon Machine Image (AMI) from the replication run. * **scheduledStartTime** *(datetime) --* The start time of the next replication run. * **completedTime** *(datetime) --* The completion time of the last replication run. * **description** *(string) --* The description of the replication run. * **encrypted** *(boolean) --* Indicates whether the replication run should produce an encrypted AMI. * **kmsKeyId** *(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. * **nextToken** *(string) --* The token required to retrieve the next set of results. This value is null when there are no more results to return. **Exceptions** * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.UnauthorizedOperationException" SMS / Client / stop_app_replication stop_app_replication ******************** SMS.Client.stop_app_replication(**kwargs) Stops replicating the specified application by deleting the replication job for each server in the application. See also: AWS API Documentation **Request Syntax** response = client.stop_app_replication( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_app_validation_configuration get_app_validation_configuration ******************************** SMS.Client.get_app_validation_configuration(**kwargs) Retrieves information about a configuration for validating an application. See also: AWS API Documentation **Request Syntax** response = client.get_app_validation_configuration( appId='string' ) Parameters: **appId** (*string*) -- **[REQUIRED]** The ID of the application. Return type: dict Returns: **Response Syntax** { 'appValidationConfigurations': [ { 'validationId': 'string', 'name': 'string', 'appValidationStrategy': 'SSM', 'ssmValidationParameters': { 'source': { 's3Location': { 'bucket': 'string', 'key': 'string' } }, 'instanceId': 'string', 'scriptType': 'SHELL_SCRIPT'|'POWERSHELL_SCRIPT', 'command': 'string', 'executionTimeoutSeconds': 123, 'outputS3BucketName': 'string' } }, ], 'serverGroupValidationConfigurations': [ { 'serverGroupId': 'string', 'serverValidationConfigurations': [ { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, 'validationId': 'string', 'name': 'string', 'serverValidationStrategy': 'USERDATA', 'userDataValidationParameters': { 'source': { 's3Location': { 'bucket': 'string', 'key': 'string' } }, 'scriptType': 'SHELL_SCRIPT'|'POWERSHELL_SCRIPT' } }, ] }, ] } **Response Structure** * *(dict) --* * **appValidationConfigurations** *(list) --* The configuration for application validation. * *(dict) --* Configuration for validating an application. * **validationId** *(string) --* The ID of the validation. * **name** *(string) --* The name of the configuration. * **appValidationStrategy** *(string) --* The validation strategy. * **ssmValidationParameters** *(dict) --* The validation parameters. * **source** *(dict) --* The location of the validation script. * **s3Location** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **instanceId** *(string) --* The ID of the instance. The instance must have the following tag: UserForSMSApplicationValidation=true. * **scriptType** *(string) --* The type of validation script. * **command** *(string) --* The command to run the validation script. * **executionTimeoutSeconds** *(integer) --* The timeout interval, in seconds. * **outputS3BucketName** *(string) --* The name of the S3 bucket for output. * **serverGroupValidationConfigurations** *(list) --* The configuration for instance validation. * *(dict) --* Configuration for validating an instance. * **serverGroupId** *(string) --* The ID of the server group. * **serverValidationConfigurations** *(list) --* The validation configuration. * *(dict) --* Configuration for validating an instance. * **server** *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **validationId** *(string) --* The ID of the validation. * **name** *(string) --* The name of the configuration. * **serverValidationStrategy** *(string) --* The validation strategy. * **userDataValidationParameters** *(dict) --* The validation parameters. * **source** *(dict) --* The location of the validation script. * **s3Location** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **scriptType** *(string) --* The type of validation script. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_app_replication_configuration get_app_replication_configuration ********************************* SMS.Client.get_app_replication_configuration(**kwargs) Retrieves the application replication configuration associated with the specified application. See also: AWS API Documentation **Request Syntax** response = client.get_app_replication_configuration( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** { 'serverGroupReplicationConfigurations': [ { 'serverGroupId': 'string', 'serverReplicationConfigurations': [ { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, 'serverReplicationParameters': { 'seedTime': datetime(2015, 1, 1), 'frequency': 123, 'runOnce': True|False, 'licenseType': 'AWS'|'BYOL', 'numberOfRecentAmisToKeep': 123, 'encrypted': True|False, 'kmsKeyId': 'string' } }, ] }, ] } **Response Structure** * *(dict) --* * **serverGroupReplicationConfigurations** *(list) --* The replication configurations associated with server groups in this application. * *(dict) --* Replication configuration for a server group. * **serverGroupId** *(string) --* The ID of the server group with which this replication configuration is associated. * **serverReplicationConfigurations** *(list) --* The replication configuration for servers in the server group. * *(dict) --* Replication configuration of a server. * **server** *(dict) --* The ID of the server with which this replication configuration is associated. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **serverReplicationParameters** *(dict) --* The parameters for replicating the server. * **seedTime** *(datetime) --* The seed time for creating a replication job for the server. * **frequency** *(integer) --* The frequency of creating replication jobs for the server. * **runOnce** *(boolean) --* Indicates whether to run the replication job one time. * **licenseType** *(string) --* The license type for creating a replication job for the server. * **numberOfRecentAmisToKeep** *(integer) --* The number of recent AMIs to keep when creating a replication job for this server. * **encrypted** *(boolean) --* Indicates whether the replication job produces encrypted AMIs. * **kmsKeyId** *(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. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / list_apps list_apps ********* SMS.Client.list_apps(**kwargs) Retrieves summaries for all applications. See also: AWS API Documentation **Request Syntax** response = client.list_apps( appIds=[ 'string', ], nextToken='string', maxResults=123 ) Parameters: * **appIds** (*list*) -- The unique application IDs. * *(string) --* * **nextToken** (*string*) -- The token for the next set of results. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'apps': [ { 'appId': 'string', 'importedAppId': 'string', 'name': 'string', 'description': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'DELETE_FAILED', 'statusMessage': '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', 'latestReplicationTime': datetime(2015, 1, 1), 'launchConfigurationStatus': 'NOT_CONFIGURED'|'CONFIGURED', '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', 'launchDetails': { 'latestLaunchTime': datetime(2015, 1, 1), 'stackName': 'string', 'stackId': 'string' }, 'creationTime': datetime(2015, 1, 1), 'lastModified': datetime(2015, 1, 1), 'roleName': 'string', 'totalServerGroups': 123, 'totalServers': 123 }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **apps** *(list) --* The application summaries. * *(dict) --* Information about the application. * **appId** *(string) --* The unique ID of the application. * **importedAppId** *(string) --* The ID of the application. * **name** *(string) --* The name of the application. * **description** *(string) --* The description of the application. * **status** *(string) --* Status of the application. * **statusMessage** *(string) --* A message related to the status of the application * **replicationConfigurationStatus** *(string) --* Status of the replication configuration. * **replicationStatus** *(string) --* The replication status of the application. * **replicationStatusMessage** *(string) --* A message related to the replication status of the application. * **latestReplicationTime** *(datetime) --* The timestamp of the application's most recent successful replication. * **launchConfigurationStatus** *(string) --* Status of the launch configuration. * **launchStatus** *(string) --* The launch status of the application. * **launchStatusMessage** *(string) --* A message related to the launch status of the application. * **launchDetails** *(dict) --* Details about the latest launch of the application. * **latestLaunchTime** *(datetime) --* The latest time that this application was launched successfully. * **stackName** *(string) --* The name of the latest stack launched for this application. * **stackId** *(string) --* The ID of the latest stack launched for this application. * **creationTime** *(datetime) --* The creation time of the application. * **lastModified** *(datetime) --* The last modified time of the application. * **roleName** *(string) --* The name of the service role in the customer's account used by Server Migration Service. * **totalServerGroups** *(integer) --* The number of server groups present in the application. * **totalServers** *(integer) --* The number of servers present in the application. * **nextToken** *(string) --* The token required to retrieve the next set of results. This value is null when there are no more results to return. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_app_launch_configuration get_app_launch_configuration **************************** SMS.Client.get_app_launch_configuration(**kwargs) Retrieves the application launch configuration associated with the specified application. See also: AWS API Documentation **Request Syntax** response = client.get_app_launch_configuration( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** { 'appId': 'string', 'roleName': 'string', 'autoLaunch': True|False, 'serverGroupLaunchConfigurations': [ { 'serverGroupId': 'string', 'launchOrder': 123, 'serverLaunchConfigurations': [ { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, 'logicalId': 'string', 'vpc': 'string', 'subnet': 'string', 'securityGroup': 'string', 'ec2KeyName': 'string', 'userData': { 's3Location': { 'bucket': 'string', 'key': 'string' } }, 'instanceType': 'string', 'associatePublicIpAddress': True|False, 'iamInstanceProfileName': 'string', 'configureScript': { 'bucket': 'string', 'key': 'string' }, 'configureScriptType': 'SHELL_SCRIPT'|'POWERSHELL_SCRIPT' }, ] }, ] } **Response Structure** * *(dict) --* * **appId** *(string) --* The ID of the application. * **roleName** *(string) --* The name of the service role in the customer's account that CloudFormation uses to launch the application. * **autoLaunch** *(boolean) --* Indicates whether the application is configured to launch automatically after replication is complete. * **serverGroupLaunchConfigurations** *(list) --* The launch configurations for server groups in this application. * *(dict) --* Launch configuration for a server group. * **serverGroupId** *(string) --* The ID of the server group with which the launch configuration is associated. * **launchOrder** *(integer) --* The launch order of servers in the server group. * **serverLaunchConfigurations** *(list) --* The launch configuration for servers in the server group. * *(dict) --* Launch configuration for a server. * **server** *(dict) --* The ID of the server with which the launch configuration is associated. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **logicalId** *(string) --* The logical ID of the server in the CloudFormation template. * **vpc** *(string) --* The ID of the VPC into which the server should be launched. * **subnet** *(string) --* The ID of the subnet the server should be launched into. * **securityGroup** *(string) --* The ID of the security group that applies to the launched server. * **ec2KeyName** *(string) --* The name of the Amazon EC2 SSH key to be used for connecting to the launched server. * **userData** *(dict) --* Location of the user-data script to be executed when launching the server. * **s3Location** *(dict) --* Amazon S3 location of the user-data script. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **instanceType** *(string) --* The instance type to use when launching the server. * **associatePublicIpAddress** *(boolean) --* Indicates whether a publicly accessible IP address is created when launching the server. * **iamInstanceProfileName** *(string) --* The name of the IAM instance profile. * **configureScript** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **configureScriptType** *(string) --* The type of configuration script. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / update_app update_app ********** SMS.Client.update_app(**kwargs) Updates the specified application. See also: AWS API Documentation **Request Syntax** response = client.update_app( appId='string', name='string', description='string', roleName='string', serverGroups=[ { 'serverGroupId': 'string', 'name': 'string', 'serverList': [ { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ] }, ], tags=[ { 'key': 'string', 'value': 'string' }, ] ) Parameters: * **appId** (*string*) -- The ID of the application. * **name** (*string*) -- The new name of the application. * **description** (*string*) -- The new description of the application. * **roleName** (*string*) -- The name of the service role in the customer's account used by Server Migration Service. * **serverGroups** (*list*) -- The server groups in the application to update. * *(dict) --* Logical grouping of servers. * **serverGroupId** *(string) --* The ID of a server group. * **name** *(string) --* The name of a server group. * **serverList** *(list) --* The servers that belong to a server group. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **tags** (*list*) -- The tags to associate with the application. * *(dict) --* Key/value pair that can be assigned to an application. * **key** *(string) --* The tag key. * **value** *(string) --* The tag value. Return type: dict Returns: **Response Syntax** { 'appSummary': { 'appId': 'string', 'importedAppId': 'string', 'name': 'string', 'description': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'DELETE_FAILED', 'statusMessage': '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', 'latestReplicationTime': datetime(2015, 1, 1), 'launchConfigurationStatus': 'NOT_CONFIGURED'|'CONFIGURED', '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', 'launchDetails': { 'latestLaunchTime': datetime(2015, 1, 1), 'stackName': 'string', 'stackId': 'string' }, 'creationTime': datetime(2015, 1, 1), 'lastModified': datetime(2015, 1, 1), 'roleName': 'string', 'totalServerGroups': 123, 'totalServers': 123 }, 'serverGroups': [ { 'serverGroupId': 'string', 'name': 'string', 'serverList': [ { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ] }, ], 'tags': [ { 'key': 'string', 'value': 'string' }, ] } **Response Structure** * *(dict) --* * **appSummary** *(dict) --* A summary description of the application. * **appId** *(string) --* The unique ID of the application. * **importedAppId** *(string) --* The ID of the application. * **name** *(string) --* The name of the application. * **description** *(string) --* The description of the application. * **status** *(string) --* Status of the application. * **statusMessage** *(string) --* A message related to the status of the application * **replicationConfigurationStatus** *(string) --* Status of the replication configuration. * **replicationStatus** *(string) --* The replication status of the application. * **replicationStatusMessage** *(string) --* A message related to the replication status of the application. * **latestReplicationTime** *(datetime) --* The timestamp of the application's most recent successful replication. * **launchConfigurationStatus** *(string) --* Status of the launch configuration. * **launchStatus** *(string) --* The launch status of the application. * **launchStatusMessage** *(string) --* A message related to the launch status of the application. * **launchDetails** *(dict) --* Details about the latest launch of the application. * **latestLaunchTime** *(datetime) --* The latest time that this application was launched successfully. * **stackName** *(string) --* The name of the latest stack launched for this application. * **stackId** *(string) --* The ID of the latest stack launched for this application. * **creationTime** *(datetime) --* The creation time of the application. * **lastModified** *(datetime) --* The last modified time of the application. * **roleName** *(string) --* The name of the service role in the customer's account used by Server Migration Service. * **totalServerGroups** *(integer) --* The number of server groups present in the application. * **totalServers** *(integer) --* The number of servers present in the application. * **serverGroups** *(list) --* The updated server groups in the application. * *(dict) --* Logical grouping of servers. * **serverGroupId** *(string) --* The ID of a server group. * **name** *(string) --* The name of a server group. * **serverList** *(list) --* The servers that belong to a server group. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **tags** *(list) --* The tags associated with the application. * *(dict) --* Key/value pair that can be assigned to an application. * **key** *(string) --* The tag key. * **value** *(string) --* The tag value. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / close close ***** SMS.Client.close() Closes underlying endpoint connections. SMS / Client / put_app_validation_configuration put_app_validation_configuration ******************************** SMS.Client.put_app_validation_configuration(**kwargs) Creates or updates a validation configuration for the specified application. See also: AWS API Documentation **Request Syntax** response = client.put_app_validation_configuration( appId='string', appValidationConfigurations=[ { 'validationId': 'string', 'name': 'string', 'appValidationStrategy': 'SSM', 'ssmValidationParameters': { 'source': { 's3Location': { 'bucket': 'string', 'key': 'string' } }, 'instanceId': 'string', 'scriptType': 'SHELL_SCRIPT'|'POWERSHELL_SCRIPT', 'command': 'string', 'executionTimeoutSeconds': 123, 'outputS3BucketName': 'string' } }, ], serverGroupValidationConfigurations=[ { 'serverGroupId': 'string', 'serverValidationConfigurations': [ { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, 'validationId': 'string', 'name': 'string', 'serverValidationStrategy': 'USERDATA', 'userDataValidationParameters': { 'source': { 's3Location': { 'bucket': 'string', 'key': 'string' } }, 'scriptType': 'SHELL_SCRIPT'|'POWERSHELL_SCRIPT' } }, ] }, ] ) Parameters: * **appId** (*string*) -- **[REQUIRED]** The ID of the application. * **appValidationConfigurations** (*list*) -- The configuration for application validation. * *(dict) --* Configuration for validating an application. * **validationId** *(string) --* The ID of the validation. * **name** *(string) --* The name of the configuration. * **appValidationStrategy** *(string) --* The validation strategy. * **ssmValidationParameters** *(dict) --* The validation parameters. * **source** *(dict) --* The location of the validation script. * **s3Location** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **instanceId** *(string) --* The ID of the instance. The instance must have the following tag: UserForSMSApplicationValidation=true. * **scriptType** *(string) --* The type of validation script. * **command** *(string) --* The command to run the validation script. * **executionTimeoutSeconds** *(integer) --* The timeout interval, in seconds. * **outputS3BucketName** *(string) --* The name of the S3 bucket for output. * **serverGroupValidationConfigurations** (*list*) -- The configuration for instance validation. * *(dict) --* Configuration for validating an instance. * **serverGroupId** *(string) --* The ID of the server group. * **serverValidationConfigurations** *(list) --* The validation configuration. * *(dict) --* Configuration for validating an instance. * **server** *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **validationId** *(string) --* The ID of the validation. * **name** *(string) --* The name of the configuration. * **serverValidationStrategy** *(string) --* The validation strategy. * **userDataValidationParameters** *(dict) --* The validation parameters. * **source** *(dict) --* The location of the validation script. * **s3Location** *(dict) --* Location of an Amazon S3 object. * **bucket** *(string) --* The Amazon S3 bucket name. * **key** *(string) --* The Amazon S3 bucket key. * **scriptType** *(string) --* The type of validation script. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_replication_jobs get_replication_jobs ******************** SMS.Client.get_replication_jobs(**kwargs) Describes the specified replication job or all of your replication jobs. See also: AWS API Documentation **Request Syntax** response = client.get_replication_jobs( replicationJobId='string', nextToken='string', maxResults=123 ) Parameters: * **replicationJobId** (*string*) -- The ID of the replication job. * **nextToken** (*string*) -- The token for the next set of results. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'replicationJobList': [ { 'replicationJobId': 'string', 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'seedReplicationTime': datetime(2015, 1, 1), 'frequency': 123, 'runOnce': True|False, 'nextReplicationRunStartTime': datetime(2015, 1, 1), 'licenseType': 'AWS'|'BYOL', 'roleName': 'string', 'latestAmiId': 'string', 'state': 'PENDING'|'ACTIVE'|'FAILED'|'DELETING'|'DELETED'|'COMPLETED'|'PAUSED_ON_FAILURE'|'FAILING', 'statusMessage': 'string', 'description': 'string', 'numberOfRecentAmisToKeep': 123, 'encrypted': True|False, 'kmsKeyId': 'string', 'replicationRunList': [ { 'replicationRunId': 'string', 'state': 'PENDING'|'MISSED'|'ACTIVE'|'FAILED'|'COMPLETED'|'DELETING'|'DELETED', 'type': 'ON_DEMAND'|'AUTOMATIC', 'stageDetails': { 'stage': 'string', 'stageProgress': 'string' }, 'statusMessage': 'string', 'amiId': 'string', 'scheduledStartTime': datetime(2015, 1, 1), 'completedTime': datetime(2015, 1, 1), 'description': 'string', 'encrypted': True|False, 'kmsKeyId': 'string' }, ] }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **replicationJobList** *(list) --* Information about the replication jobs. * *(dict) --* Represents a replication job. * **replicationJobId** *(string) --* The ID of the replication job. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **seedReplicationTime** *(datetime) --* The seed replication time. * **frequency** *(integer) --* The time between consecutive replication runs, in hours. * **runOnce** *(boolean) --* Indicates whether to run the replication job one time. * **nextReplicationRunStartTime** *(datetime) --* The start time of the next replication run. * **licenseType** *(string) --* The license type to be used for the AMI created by a successful replication run. * **roleName** *(string) --* The name of the IAM role to be used by Server Migration Service. * **latestAmiId** *(string) --* The ID of the latest Amazon Machine Image (AMI). * **state** *(string) --* The state of the replication job. * **statusMessage** *(string) --* The description of the current status of the replication job. * **description** *(string) --* The description of the replication job. * **numberOfRecentAmisToKeep** *(integer) --* 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. * **encrypted** *(boolean) --* Indicates whether the replication job should produce encrypted AMIs. * **kmsKeyId** *(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. * **replicationRunList** *(list) --* Information about the replication runs. * *(dict) --* Represents a replication run. * **replicationRunId** *(string) --* The ID of the replication run. * **state** *(string) --* The state of the replication run. * **type** *(string) --* The type of replication run. * **stageDetails** *(dict) --* Details about the current stage of the replication run. * **stage** *(string) --* The current stage of a replication run. * **stageProgress** *(string) --* The progress of the current stage of a replication run. * **statusMessage** *(string) --* The description of the current status of the replication job. * **amiId** *(string) --* The ID of the Amazon Machine Image (AMI) from the replication run. * **scheduledStartTime** *(datetime) --* The start time of the next replication run. * **completedTime** *(datetime) --* The completion time of the last replication run. * **description** *(string) --* The description of the replication run. * **encrypted** *(boolean) --* Indicates whether the replication run should produce an encrypted AMI. * **kmsKeyId** *(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. * **nextToken** *(string) --* The token required to retrieve the next set of results. This value is null when there are no more results to return. **Exceptions** * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.UnauthorizedOperationException" SMS / Client / import_server_catalog import_server_catalog ********************* SMS.Client.import_server_catalog() 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. See also: AWS API Documentation **Request Syntax** response = client.import_server_catalog() Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.NoConnectorsAvailableException" SMS / Client / delete_app_replication_configuration delete_app_replication_configuration ************************************ SMS.Client.delete_app_replication_configuration(**kwargs) Deletes the replication configuration for the specified application. See also: AWS API Documentation **Request Syntax** response = client.delete_app_replication_configuration( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / delete_app_launch_configuration delete_app_launch_configuration ******************************* SMS.Client.delete_app_launch_configuration(**kwargs) Deletes the launch configuration for the specified application. See also: AWS API Documentation **Request Syntax** response = client.delete_app_launch_configuration( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / delete_server_catalog delete_server_catalog ********************* SMS.Client.delete_server_catalog() Deletes all servers from your server catalog. See also: AWS API Documentation **Request Syntax** response = client.delete_server_catalog() Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.OperationNotPermittedException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" SMS / Client / get_app get_app ******* SMS.Client.get_app(**kwargs) Retrieve information about the specified application. See also: AWS API Documentation **Request Syntax** response = client.get_app( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** { 'appSummary': { 'appId': 'string', 'importedAppId': 'string', 'name': 'string', 'description': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'DELETE_FAILED', 'statusMessage': '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', 'latestReplicationTime': datetime(2015, 1, 1), 'launchConfigurationStatus': 'NOT_CONFIGURED'|'CONFIGURED', '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', 'launchDetails': { 'latestLaunchTime': datetime(2015, 1, 1), 'stackName': 'string', 'stackId': 'string' }, 'creationTime': datetime(2015, 1, 1), 'lastModified': datetime(2015, 1, 1), 'roleName': 'string', 'totalServerGroups': 123, 'totalServers': 123 }, 'serverGroups': [ { 'serverGroupId': 'string', 'name': 'string', 'serverList': [ { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ] }, ], 'tags': [ { 'key': 'string', 'value': 'string' }, ] } **Response Structure** * *(dict) --* * **appSummary** *(dict) --* Information about the application. * **appId** *(string) --* The unique ID of the application. * **importedAppId** *(string) --* The ID of the application. * **name** *(string) --* The name of the application. * **description** *(string) --* The description of the application. * **status** *(string) --* Status of the application. * **statusMessage** *(string) --* A message related to the status of the application * **replicationConfigurationStatus** *(string) --* Status of the replication configuration. * **replicationStatus** *(string) --* The replication status of the application. * **replicationStatusMessage** *(string) --* A message related to the replication status of the application. * **latestReplicationTime** *(datetime) --* The timestamp of the application's most recent successful replication. * **launchConfigurationStatus** *(string) --* Status of the launch configuration. * **launchStatus** *(string) --* The launch status of the application. * **launchStatusMessage** *(string) --* A message related to the launch status of the application. * **launchDetails** *(dict) --* Details about the latest launch of the application. * **latestLaunchTime** *(datetime) --* The latest time that this application was launched successfully. * **stackName** *(string) --* The name of the latest stack launched for this application. * **stackId** *(string) --* The ID of the latest stack launched for this application. * **creationTime** *(datetime) --* The creation time of the application. * **lastModified** *(datetime) --* The last modified time of the application. * **roleName** *(string) --* The name of the service role in the customer's account used by Server Migration Service. * **totalServerGroups** *(integer) --* The number of server groups present in the application. * **totalServers** *(integer) --* The number of servers present in the application. * **serverGroups** *(list) --* The server groups that belong to the application. * *(dict) --* Logical grouping of servers. * **serverGroupId** *(string) --* The ID of a server group. * **name** *(string) --* The name of a server group. * **serverList** *(list) --* The servers that belong to a server group. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **tags** *(list) --* The tags associated with the application. * *(dict) --* Key/value pair that can be assigned to an application. * **key** *(string) --* The tag key. * **value** *(string) --* The tag value. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / launch_app launch_app ********** SMS.Client.launch_app(**kwargs) Launches the specified application as a stack in CloudFormation. See also: AWS API Documentation **Request Syntax** response = client.launch_app( appId='string' ) Parameters: **appId** (*string*) -- The ID of the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / delete_app delete_app ********** SMS.Client.delete_app(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_app( appId='string', forceStopAppReplication=True|False, forceTerminateApp=True|False ) Parameters: * **appId** (*string*) -- The ID of the application. * **forceStopAppReplication** (*boolean*) -- Indicates whether to stop all replication jobs corresponding to the servers in the application while deleting the application. * **forceTerminateApp** (*boolean*) -- Indicates whether to terminate the stack corresponding to the application while deleting the application. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException" SMS / Client / get_servers get_servers *********** SMS.Client.get_servers(**kwargs) Describes the servers in your server catalog. Before you can describe your servers, you must import them using ImportServerCatalog. See also: AWS API Documentation **Request Syntax** response = client.get_servers( nextToken='string', maxResults=123, vmServerAddressList=[ { 'vmManagerId': 'string', 'vmId': 'string' }, ] ) Parameters: * **nextToken** (*string*) -- The token for the next set of results. * **maxResults** (*integer*) -- 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. * **vmServerAddressList** (*list*) -- The server addresses. * *(dict) --* Represents a VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. Return type: dict Returns: **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'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **lastModifiedOn** *(datetime) --* The time when the server was last modified. * **serverCatalogStatus** *(string) --* The status of the server catalog. * **serverList** *(list) --* Information about the servers. * *(dict) --* Represents a server. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **nextToken** *(string) --* The token required to retrieve the next set of results. This value is null when there are no more results to return. **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" SMS / Client / put_app_replication_configuration put_app_replication_configuration ********************************* SMS.Client.put_app_replication_configuration(**kwargs) Creates or updates the replication configuration for the specified application. See also: AWS API Documentation **Request Syntax** response = client.put_app_replication_configuration( appId='string', serverGroupReplicationConfigurations=[ { 'serverGroupId': 'string', 'serverReplicationConfigurations': [ { 'server': { 'serverId': 'string', 'serverType': 'VIRTUAL_MACHINE', 'vmServer': { 'vmServerAddress': { 'vmManagerId': 'string', 'vmId': 'string' }, 'vmName': 'string', 'vmManagerName': 'string', 'vmManagerType': 'VSPHERE'|'SCVMM'|'HYPERV-MANAGER', 'vmPath': 'string' }, 'replicationJobId': 'string', 'replicationJobTerminated': True|False }, 'serverReplicationParameters': { 'seedTime': datetime(2015, 1, 1), 'frequency': 123, 'runOnce': True|False, 'licenseType': 'AWS'|'BYOL', 'numberOfRecentAmisToKeep': 123, 'encrypted': True|False, 'kmsKeyId': 'string' } }, ] }, ] ) Parameters: * **appId** (*string*) -- The ID of the application. * **serverGroupReplicationConfigurations** (*list*) -- Information about the replication configurations for server groups in the application. * *(dict) --* Replication configuration for a server group. * **serverGroupId** *(string) --* The ID of the server group with which this replication configuration is associated. * **serverReplicationConfigurations** *(list) --* The replication configuration for servers in the server group. * *(dict) --* Replication configuration of a server. * **server** *(dict) --* The ID of the server with which this replication configuration is associated. * **serverId** *(string) --* The ID of the server. * **serverType** *(string) --* The type of server. * **vmServer** *(dict) --* Information about the VM server. * **vmServerAddress** *(dict) --* The VM server location. * **vmManagerId** *(string) --* The ID of the VM manager. * **vmId** *(string) --* The ID of the VM. * **vmName** *(string) --* The name of the VM. * **vmManagerName** *(string) --* The name of the VM manager. * **vmManagerType** *(string) --* The type of VM management product. * **vmPath** *(string) --* The VM folder path in the vCenter Server virtual machine inventory tree. * **replicationJobId** *(string) --* The ID of the replication job. * **replicationJobTerminated** *(boolean) --* Indicates whether the replication job is deleted or failed. * **serverReplicationParameters** *(dict) --* The parameters for replicating the server. * **seedTime** *(datetime) --* The seed time for creating a replication job for the server. * **frequency** *(integer) --* The frequency of creating replication jobs for the server. * **runOnce** *(boolean) --* Indicates whether to run the replication job one time. * **licenseType** *(string) --* The license type for creating a replication job for the server. * **numberOfRecentAmisToKeep** *(integer) --* The number of recent AMIs to keep when creating a replication job for this server. * **encrypted** *(boolean) --* Indicates whether the replication job produces encrypted AMIs. * **kmsKeyId** *(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. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SMS.Client.exceptions.UnauthorizedOperationException" * "SMS.Client.exceptions.InvalidParameterException" * "SMS.Client.exceptions.MissingRequiredParameterException" * "SMS.Client.exceptions.InternalError" * "SMS.Client.exceptions.OperationNotPermittedException"