{"files":{"SKILL.md":"---\nname: aws-server-migration-service\ndescription: \"AWS Server Migration Service API skill. Use when working with AWS Server Migration Service for root. Covers 35 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AWS Server Migration Service\nAPI version: 2016-10-24\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. Verify API access with a test request\n3. POST / -- create first resource\n\n## Endpoints\n35 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Root\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | / | Creates an application. An application consists of one or more server groups. Each server group contain one or more servers. |\n| POST | / | 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). |\n| POST | / | 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. |\n| POST | / | Deletes the launch configuration for the specified application. |\n| POST | / | Deletes the replication configuration for the specified application. |\n| POST | / | Deletes the validation configuration for the specified application. |\n| POST | / | 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. |\n| POST | / | Deletes all servers from your server catalog. |\n| POST | / | Disassociates the specified connector from Server Migration Service. After you disassociate a connector, it is no longer available to support replication jobs. |\n| POST | / | 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. |\n| POST | / | 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. |\n| POST | / | Retrieve information about the specified application. |\n| POST | / | Retrieves the application launch configuration associated with the specified application. |\n| POST | / | Retrieves the application replication configuration associated with the specified application. |\n| POST | / | Retrieves information about a configuration for validating an application. |\n| POST | / | Retrieves output from validating an application. |\n| POST | / | Describes the connectors registered with the Server Migration Service. |\n| POST | / | Describes the specified replication job or all of your replication jobs. |\n| POST | / | Describes the replication runs for the specified replication job. |\n| POST | / | Describes the servers in your server catalog. Before you can describe your servers, you must import them using ImportServerCatalog. |\n| POST | / | Allows application import from Migration Hub. |\n| POST | / | 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. |\n| POST | / | Launches the specified application as a stack in CloudFormation. |\n| POST | / | Retrieves summaries for all applications. |\n| POST | / | Provides information to Server Migration Service about whether application validation is successful. |\n| POST | / | Creates or updates the launch configuration for the specified application. |\n| POST | / | Creates or updates the replication configuration for the specified application. |\n| POST | / | Creates or updates a validation configuration for the specified application. |\n| POST | / | Starts replicating the specified application by creating replication jobs for each server in the application. |\n| POST | / | Starts an on-demand replication run for the specified application. |\n| POST | / | 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. |\n| POST | / | Stops replicating the specified application by deleting the replication job for each server in the application. |\n| POST | / | Terminates the stack for the specified application. |\n| POST | / | Updates the specified application. |\n| POST | / | Updates the specified settings for the specified replication job. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a resource?\" -> POST /\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS Server Migration Service\n@version 2016-10-24\n@auth AWS SigV4\n@endpoints 35\n@hint download_for_search\n@toc root(35)\n\n@endpoint POST /\n@desc Creates an application. An application consists of one or more server groups. Each server group contain one or more servers.\n@optional {name: str, description: str, roleName: str, clientToken: str, serverGroups: [ServerGroup], tags: [Tag]}\n@returns(200) {appSummary: AppSummary?{appId: str?, importedAppId: str?, name: str?, description: str?, status: str?, statusMessage: str?, replicationConfigurationStatus: str?, replicationStatus: str?, replicationStatusMessage: str?, latestReplicationTime: str(timestamp)?, launchConfigurationStatus: str?, launchStatus: str?, launchStatusMessage: str?, launchDetails: LaunchDetails?{latestLaunchTime: str(timestamp)?, stackName: str?, stackId: str?}, creationTime: str(timestamp)?, lastModified: str(timestamp)?, roleName: str?, totalServerGroups: int?, totalServers: int?}, serverGroups: [ServerGroup]?, tags: [Tag]?}\n\n@endpoint POST /\n@desc 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).\n@required {serverId: str, seedReplicationTime: str(timestamp)}\n@optional {frequency: int, runOnce: bool, licenseType: str, roleName: str, description: str, numberOfRecentAmisToKeep: int, encrypted: bool, kmsKeyId: str}\n@returns(200) {replicationJobId: str?}\n\n@endpoint POST /\n@desc 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.\n@optional {appId: str, forceStopAppReplication: bool, forceTerminateApp: bool}\n\n@endpoint POST /\n@desc Deletes the launch configuration for the specified application.\n@optional {appId: str}\n\n@endpoint POST /\n@desc Deletes the replication configuration for the specified application.\n@optional {appId: str}\n\n@endpoint POST /\n@desc Deletes the validation configuration for the specified application.\n@required {appId: str}\n\n@endpoint POST /\n@desc 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.\n@required {replicationJobId: str}\n\n@endpoint POST /\n@desc Deletes all servers from your server catalog.\n\n@endpoint POST /\n@desc Disassociates the specified connector from Server Migration Service. After you disassociate a connector, it is no longer available to support replication jobs.\n@required {connectorId: str}\n\n@endpoint POST /\n@desc 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.\n@optional {appId: str, changesetFormat: str}\n@returns(200) {s3Location: S3Location?{bucket: str?, key: str?}}\n\n@endpoint POST /\n@desc 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.\n@optional {appId: str, templateFormat: str}\n@returns(200) {s3Location: S3Location?{bucket: str?, key: str?}}\n\n@endpoint POST /\n@desc Retrieve information about the specified application.\n@optional {appId: str}\n@returns(200) {appSummary: AppSummary?{appId: str?, importedAppId: str?, name: str?, description: str?, status: str?, statusMessage: str?, replicationConfigurationStatus: str?, replicationStatus: str?, replicationStatusMessage: str?, latestReplicationTime: str(timestamp)?, launchConfigurationStatus: str?, launchStatus: str?, launchStatusMessage: str?, launchDetails: LaunchDetails?{latestLaunchTime: str(timestamp)?, stackName: str?, stackId: str?}, creationTime: str(timestamp)?, lastModified: str(timestamp)?, roleName: str?, totalServerGroups: int?, totalServers: int?}, serverGroups: [ServerGroup]?, tags: [Tag]?}\n\n@endpoint POST /\n@desc Retrieves the application launch configuration associated with the specified application.\n@optional {appId: str}\n@returns(200) {appId: str?, roleName: str?, autoLaunch: bool?, serverGroupLaunchConfigurations: [ServerGroupLaunchConfiguration]?}\n\n@endpoint POST /\n@desc Retrieves the application replication configuration associated with the specified application.\n@optional {appId: str}\n@returns(200) {serverGroupReplicationConfigurations: [ServerGroupReplicationConfiguration]?}\n\n@endpoint POST /\n@desc Retrieves information about a configuration for validating an application.\n@required {appId: str}\n@returns(200) {appValidationConfigurations: [AppValidationConfiguration]?, serverGroupValidationConfigurations: [ServerGroupValidationConfiguration]?}\n\n@endpoint POST /\n@desc Retrieves output from validating an application.\n@required {appId: str}\n@returns(200) {validationOutputList: [ValidationOutput]?}\n\n@endpoint POST /\n@desc Describes the connectors registered with the Server Migration Service.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {connectorList: [Connector]?, nextToken: str?}\n\n@endpoint POST /\n@desc Describes the specified replication job or all of your replication jobs.\n@optional {replicationJobId: str, nextToken: str, maxResults: int}\n@returns(200) {replicationJobList: [ReplicationJob]?, nextToken: str?}\n\n@endpoint POST /\n@desc Describes the replication runs for the specified replication job.\n@required {replicationJobId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {replicationJob: ReplicationJob?{replicationJobId: str?, serverId: str?, serverType: str?, vmServer: VmServer?{vmServerAddress: VmServerAddress?{vmManagerId: str?, vmId: str?}, vmName: str?, vmManagerName: str?, vmManagerType: str?, vmPath: str?}, seedReplicationTime: str(timestamp)?, frequency: int?, runOnce: bool?, nextReplicationRunStartTime: str(timestamp)?, licenseType: str?, roleName: str?, latestAmiId: str?, state: str?, statusMessage: str?, description: str?, numberOfRecentAmisToKeep: int?, encrypted: bool?, kmsKeyId: str?, replicationRunList: [ReplicationRun]?}, replicationRunList: [ReplicationRun]?, nextToken: str?}\n\n@endpoint POST /\n@desc Describes the servers in your server catalog. Before you can describe your servers, you must import them using ImportServerCatalog.\n@optional {nextToken: str, maxResults: int, vmServerAddressList: [VmServerAddress]}\n@returns(200) {lastModifiedOn: str(timestamp)?, serverCatalogStatus: str?, serverList: [Server]?, nextToken: str?}\n\n@endpoint POST /\n@desc Allows application import from Migration Hub.\n@optional {roleName: str}\n\n@endpoint POST /\n@desc 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.\n\n@endpoint POST /\n@desc Launches the specified application as a stack in CloudFormation.\n@optional {appId: str}\n\n@endpoint POST /\n@desc Retrieves summaries for all applications.\n@optional {appIds: [str], nextToken: str, maxResults: int}\n@returns(200) {apps: [AppSummary]?, nextToken: str?}\n\n@endpoint POST /\n@desc Provides information to Server Migration Service about whether application validation is successful.\n@required {appId: str}\n@optional {notificationContext: NotificationContext}\n\n@endpoint POST /\n@desc Creates or updates the launch configuration for the specified application.\n@optional {appId: str, roleName: str, autoLaunch: bool, serverGroupLaunchConfigurations: [ServerGroupLaunchConfiguration]}\n\n@endpoint POST /\n@desc Creates or updates the replication configuration for the specified application.\n@optional {appId: str, serverGroupReplicationConfigurations: [ServerGroupReplicationConfiguration]}\n\n@endpoint POST /\n@desc Creates or updates a validation configuration for the specified application.\n@required {appId: str}\n@optional {appValidationConfigurations: [AppValidationConfiguration], serverGroupValidationConfigurations: [ServerGroupValidationConfiguration]}\n\n@endpoint POST /\n@desc Starts replicating the specified application by creating replication jobs for each server in the application.\n@optional {appId: str}\n\n@endpoint POST /\n@desc Starts an on-demand replication run for the specified application.\n@required {appId: str}\n@optional {description: str}\n\n@endpoint POST /\n@desc 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.\n@required {replicationJobId: str}\n@optional {description: str}\n@returns(200) {replicationRunId: str?}\n\n@endpoint POST /\n@desc Stops replicating the specified application by deleting the replication job for each server in the application.\n@optional {appId: str}\n\n@endpoint POST /\n@desc Terminates the stack for the specified application.\n@optional {appId: str}\n\n@endpoint POST /\n@desc Updates the specified application.\n@optional {appId: str, name: str, description: str, roleName: str, serverGroups: [ServerGroup], tags: [Tag]}\n@returns(200) {appSummary: AppSummary?{appId: str?, importedAppId: str?, name: str?, description: str?, status: str?, statusMessage: str?, replicationConfigurationStatus: str?, replicationStatus: str?, replicationStatusMessage: str?, latestReplicationTime: str(timestamp)?, launchConfigurationStatus: str?, launchStatus: str?, launchStatusMessage: str?, launchDetails: LaunchDetails?{latestLaunchTime: str(timestamp)?, stackName: str?, stackId: str?}, creationTime: str(timestamp)?, lastModified: str(timestamp)?, roleName: str?, totalServerGroups: int?, totalServers: int?}, serverGroups: [ServerGroup]?, tags: [Tag]?}\n\n@endpoint POST /\n@desc Updates the specified settings for the specified replication job.\n@required {replicationJobId: str}\n@optional {frequency: int, nextReplicationRunStartTime: str(timestamp), licenseType: str, roleName: str, description: str, numberOfRecentAmisToKeep: int, encrypted: bool, kmsKeyId: str}\n\n@end\n"}}