"documentation":"<p> Updates the configuration of an application component. </p>"
},
"UpdateServerConfig":{
"name":"UpdateServerConfig",
"http":{
"method":"POST",
"requestUri":"/update-server-config/",
"responseCode":200
},
"input":{"shape":"UpdateServerConfigRequest"},
"output":{"shape":"UpdateServerConfigResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
{"shape":"ThrottlingException"},
{"shape":"ValidationException"},
{"shape":"InternalServerException"}
],
"documentation":"<p> Updates the configuration of the specified server. </p>"
}
},
"shapes":{
"AccessDeniedException":{
"type":"structure",
"required":["message"],
"members":{
"message":{"shape":"String"}
},
"documentation":"<p> The AWS user account does not have permission to perform the action. Check the AWS Identity and Access Management (IAM) policy associated with this account.</p>",
"error":{
"httpStatusCode":403,
"senderFault":true
},
"exception":true
},
"AntipatternReportStatus":{
"type":"string",
"enum":[
"FAILED",
"IN_PROGRESS",
"SUCCESS"
]
},
"AntipatternSeveritySummary":{
"type":"structure",
"members":{
"count":{
"shape":"Integer",
"documentation":"<p> Contains the count of anti-patterns. </p>"
},
"severity":{
"shape":"Severity",
"documentation":"<p> Contains the severity of anti-patterns. </p>"
}
},
"documentation":"<p> Contains the summary of anti-patterns and their severity. </p>"
"documentation":"<p> Exception to indicate that there is an ongoing task when a new task is created. Return when once the existing tasks are complete. </p>",
"error":{
"httpStatusCode":409,
"senderFault":true
},
"exception":true
},
"DataCollectionDetails":{
"type":"structure",
"members":{
"completionTime":{
"shape":"TimeStamp",
"documentation":"<p> The time the assessment completes. </p>"
},
"failed":{
"shape":"Integer",
"documentation":"<p> The number of failed servers in the assessment. </p>"
},
"inProgress":{
"shape":"Integer",
"documentation":"<p> The number of servers with the assessment status <code>IN_PROGESS</code>. </p>"
},
"servers":{
"shape":"Integer",
"documentation":"<p> The total number of servers in the assessment. </p>"
},
"startTime":{
"shape":"TimeStamp",
"documentation":"<p> The start time of assessment. </p>"
},
"status":{
"shape":"AssessmentStatus",
"documentation":"<p> The status of the assessment. </p>"
"documentation":"<p> The number of successful servers in the assessment. </p>"
}
},
"documentation":"<p> Detailed information about an assessment. </p>"
},
"DataSourceType":{
"type":"string",
"enum":[
"ApplicationDiscoveryService",
"MPA"
]
},
"DatabaseConfigDetail":{
"type":"structure",
"members":{
"secretName":{
"shape":"String",
"documentation":"<p> AWS Secrets Manager key that holds the credentials that you use to connect to a database. </p>"
}
},
"documentation":"<p> Configuration information used for assessing databases. </p>"
},
"DatabaseManagementPreference":{
"type":"string",
"enum":[
"AWS-managed",
"Self-manage",
"No preference"
]
},
"DatabaseMigrationPreference":{
"type":"structure",
"members":{
"heterogeneous":{
"shape":"Heterogeneous",
"documentation":"<p> Indicates whether you are interested in moving from one type of database to another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. </p>"
},
"homogeneous":{
"shape":"Homogeneous",
"documentation":"<p> Indicates whether you are interested in moving to the same type of database into AWS. For example, from SQL Server in your environment to SQL Server on AWS. </p>"
},
"noPreference":{
"shape":"NoDatabaseMigrationPreference",
"documentation":"<p> Indicated that you do not prefer heterogeneous or homogeneous. </p>"
}
},
"documentation":"<p> Preferences for migrating a database to AWS. </p>",
"union":true
},
"DatabasePreferences":{
"type":"structure",
"members":{
"databaseManagementPreference":{
"shape":"DatabaseManagementPreference",
"documentation":"<p> Specifies whether you're interested in self-managed databases or databases managed by AWS. </p>"
},
"databaseMigrationPreference":{
"shape":"DatabaseMigrationPreference",
"documentation":"<p> Specifies your preferred migration path. </p>"
}
},
"documentation":"<p> Preferences on managing your databases on AWS. </p>"
"documentation":"<p> Detailed information about the assessment. </p>"
},
"id":{
"shape":"AsyncTaskId",
"documentation":"<p> The ID for the specific assessment task. </p>"
}
}
},
"GetImportFileTaskRequest":{
"type":"structure",
"required":["id"],
"members":{
"id":{
"shape":"String",
"documentation":"<p> The ID of the import file task. This ID is returned in the response of <a>StartImportFileTask</a>. </p>",
"location":"uri",
"locationName":"id"
}
}
},
"GetImportFileTaskResponse":{
"type":"structure",
"members":{
"completionTime":{
"shape":"TimeStamp",
"documentation":"<p> The time that the import task completed. </p>"
},
"id":{
"shape":"String",
"documentation":"<p> The import file task <code>id</code> returned in the response of <a>StartImportFileTask</a>. </p>"
},
"importName":{
"shape":"String",
"documentation":"<p> The name of the import task given in <a>StartImportFileTask</a>. </p>"
},
"inputS3Bucket":{
"shape":"importS3Bucket",
"documentation":"<p> The S3 bucket where import file is located. </p>"
},
"inputS3Key":{
"shape":"importS3Key",
"documentation":"<p> The Amazon S3 key name of the import file. </p>"
},
"numberOfRecordsFailed":{
"shape":"Integer",
"documentation":"<p> The number of records that failed to be imported. </p>"
},
"numberOfRecordsSuccess":{
"shape":"Integer",
"documentation":"<p> The number of records successfully imported. </p>"
},
"startTime":{
"shape":"TimeStamp",
"documentation":"<p> Start time of the import task. </p>"
},
"status":{
"shape":"ImportFileTaskStatus",
"documentation":"<p> Status of import file task. </p>"
},
"statusReportS3Bucket":{
"shape":"importS3Bucket",
"documentation":"<p> The S3 bucket name for status report of import task. </p>"
},
"statusReportS3Key":{
"shape":"importS3Key",
"documentation":"<p> The Amazon S3 key name for status report of import task. The report contains details about whether each record imported successfully or why it did not.</p>"
"documentation":"<p> The transformation preferences for non-database applications. </p>"
},
"databasePreferences":{
"shape":"DatabasePreferences",
"documentation":"<p> The transformation preferences for database applications. </p>"
},
"prioritizeBusinessGoals":{
"shape":"PrioritizeBusinessGoals",
"documentation":"<p> The rank of business goals based on priority. </p>"
}
}
},
"GetPortfolioSummaryRequest":{
"type":"structure",
"members":{
}
},
"GetPortfolioSummaryResponse":{
"type":"structure",
"members":{
"assessmentSummary":{
"shape":"AssessmentSummary",
"documentation":"<p> An assessment summary for the portfolio including the number of servers to rehost and the overall number of anti-patterns. </p>"
}
}
},
"GetRecommendationReportDetailsRequest":{
"type":"structure",
"required":["id"],
"members":{
"id":{
"shape":"RecommendationTaskId",
"documentation":"<p> The recommendation report generation task <code>id</code> returned by <a>StartRecommendationReportGeneration</a>. </p>",
"location":"uri",
"locationName":"id"
}
}
},
"GetRecommendationReportDetailsResponse":{
"type":"structure",
"members":{
"id":{
"shape":"RecommendationTaskId",
"documentation":"<p> The ID of the recommendation report generation task. See the response of <a>StartRecommendationReportGeneration</a>. </p>"
},
"recommendationReportDetails":{
"shape":"RecommendationReportDetails",
"documentation":"<p> Detailed information about the recommendation report. </p>"
}
}
},
"GetServerDetailsRequest":{
"type":"structure",
"required":["serverId"],
"members":{
"maxResults":{
"shape":"MaxResult",
"documentation":"<p> The maximum number of items to include in the response. The maximum value is 100. </p>",
"location":"querystring",
"locationName":"maxResults"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set <code>maxResults</code> to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10. </p>",
"location":"querystring",
"locationName":"nextToken"
},
"serverId":{
"shape":"ServerId",
"documentation":"<p> The ID of the server. </p>",
"location":"uri",
"locationName":"serverId"
}
}
},
"GetServerDetailsResponse":{
"type":"structure",
"members":{
"associatedApplications":{
"shape":"AssociatedApplications",
"documentation":"<p> The associated application group the server belongs to, as defined in AWS Application Discovery Service. </p>"
},
"nextToken":{
"shape":"String",
"documentation":"<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>"
},
"serverDetail":{
"shape":"ServerDetail",
"documentation":"<p> Detailed information about the server. </p>"
}
}
},
"GetServerStrategiesRequest":{
"type":"structure",
"required":["serverId"],
"members":{
"serverId":{
"shape":"ServerId",
"documentation":"<p> The ID of the server. </p>",
"location":"uri",
"locationName":"serverId"
}
}
},
"GetServerStrategiesResponse":{
"type":"structure",
"members":{
"serverStrategies":{
"shape":"ServerStrategies",
"documentation":"<p> A list of strategy recommendations for the server. </p>"
}
}
},
"Group":{
"type":"structure",
"members":{
"name":{
"shape":"GroupName",
"documentation":"<p> The key of the specific import group. </p>"
},
"value":{
"shape":"String",
"documentation":"<p> The value of the specific import group. </p>"
}
},
"documentation":"<p> The object containing information about distinct imports or groups for Strategy Recommendations. </p>"
},
"GroupIds":{
"type":"list",
"member":{"shape":"Group"}
},
"GroupName":{
"type":"string",
"enum":["ExternalId"]
},
"Heterogeneous":{
"type":"structure",
"required":["targetDatabaseEngine"],
"members":{
"targetDatabaseEngine":{
"shape":"HeterogeneousTargetDatabaseEngines",
"documentation":"<p> The target database engine for heterogeneous database migration preference. </p>"
}
},
"documentation":"<p> The object containing details about heterogeneous database preferences. </p>"
"documentation":"<p> The time that the import task completes. </p>"
},
"id":{
"shape":"String",
"documentation":"<p> The ID of the import file task. </p>"
},
"importName":{
"shape":"String",
"documentation":"<p> The name of the import task given in <code>StartImportFileTask</code>. </p>"
},
"inputS3Bucket":{
"shape":"importS3Bucket",
"documentation":"<p> The S3 bucket where the import file is located. </p>"
},
"inputS3Key":{
"shape":"importS3Key",
"documentation":"<p> The Amazon S3 key name of the import file. </p>"
},
"numberOfRecordsFailed":{
"shape":"Integer",
"documentation":"<p> The number of records that failed to be imported. </p>"
},
"numberOfRecordsSuccess":{
"shape":"Integer",
"documentation":"<p> The number of records successfully imported. </p>"
},
"startTime":{
"shape":"TimeStamp",
"documentation":"<p> Start time of the import task. </p>"
},
"status":{
"shape":"ImportFileTaskStatus",
"documentation":"<p> Status of import file task. </p>"
},
"statusReportS3Bucket":{
"shape":"importS3Bucket",
"documentation":"<p> The S3 bucket name for status report of import task. </p>"
},
"statusReportS3Key":{
"shape":"importS3Key",
"documentation":"<p> The Amazon S3 key name for status report of import task. The report contains details about whether each record imported successfully or why it did not. </p>"
}
},
"documentation":"<p> Information about the import file tasks you request. </p>"
},
"ImportFileTaskStatus":{
"type":"string",
"enum":[
"ImportInProgress",
"ImportFailed",
"ImportPartialSuccess",
"ImportSuccess",
"DeleteInProgress",
"DeleteFailed",
"DeletePartialSuccess",
"DeleteSuccess"
]
},
"InclusionStatus":{
"type":"string",
"enum":[
"excludeFromAssessment",
"includeInAssessment"
]
},
"Integer":{
"type":"integer",
"box":true
},
"InterfaceName":{
"type":"string",
"max":1024,
"min":0,
"pattern":".*"
},
"InternalServerException":{
"type":"structure",
"members":{
"message":{"shape":"errorMessage"}
},
"documentation":"<p> The server experienced an internal error. Try again. </p>",
"documentation":"<p> Specify the value based on the application component criteria type. For example, if <code>applicationComponentCriteria</code> is set to <code>SERVER_ID</code> and <code>filterValue</code> is set to <code>server1</code>, then <a>ListApplicationComponents</a> returns all the application components running on server1. </p>"
},
"groupIdFilter":{
"shape":"GroupIds",
"documentation":"<p> The group ID specified in to filter on. </p>"
},
"maxResults":{
"shape":"MaxResult",
"documentation":"<p> The maximum number of items to include in the response. The maximum value is 100. </p>"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set <code>maxResults</code> to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10. </p>"
},
"sort":{
"shape":"SortOrder",
"documentation":"<p> Specifies whether to sort by ascending (<code>ASC</code>) or descending (<code>DESC</code>) order. </p>"
"documentation":"<p> The list of application components with detailed information about each component. </p>"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>"
}
}
},
"ListCollectorsRequest":{
"type":"structure",
"members":{
"maxResults":{
"shape":"MaxResult",
"documentation":"<p> The maximum number of items to include in the response. The maximum value is 100. </p>",
"location":"querystring",
"locationName":"maxResults"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set <code>maxResults</code> to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10. </p>",
"location":"querystring",
"locationName":"nextToken"
}
}
},
"ListCollectorsResponse":{
"type":"structure",
"members":{
"Collectors":{
"shape":"Collectors",
"documentation":"<p> The list of all the installed collectors. </p>"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>"
}
}
},
"ListImportFileTaskInformation":{
"type":"list",
"member":{"shape":"ImportFileTaskInformation"}
},
"ListImportFileTaskRequest":{
"type":"structure",
"members":{
"maxResults":{
"shape":"Integer",
"documentation":"<p> The total number of items to return. The maximum value is 100. </p>",
"location":"querystring",
"locationName":"maxResults"
},
"nextToken":{
"shape":"String",
"documentation":"<p> The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set <code>maxResults</code> to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10. </p>",
"location":"querystring",
"locationName":"nextToken"
}
}
},
"ListImportFileTaskResponse":{
"type":"structure",
"members":{
"nextToken":{
"shape":"String",
"documentation":"<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>"
},
"taskInfos":{
"shape":"ListImportFileTaskInformation",
"documentation":"<p> Lists information about the files you import.</p>"
"documentation":"<p> Specifies the filter value, which is based on the type of server criteria. For example, if <code>serverCriteria</code> is <code>OS_NAME</code>, and the <code>filterValue</code> is equal to <code>WindowsServer</code>, then <code>ListServers</code> returns all of the servers matching the OS name <code>WindowsServer</code>. </p>"
},
"groupIdFilter":{
"shape":"GroupIds",
"documentation":"<p> Specifies the group ID to filter on. </p>"
},
"maxResults":{
"shape":"MaxResult",
"documentation":"<p> The maximum number of items to include in the response. The maximum value is 100. </p>"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set <code>maxResults</code> to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10. </p>"
},
"serverCriteria":{
"shape":"ServerCriteria",
"documentation":"<p> Criteria for filtering servers. </p>"
},
"sort":{
"shape":"SortOrder",
"documentation":"<p> Specifies whether to sort by ascending (<code>ASC</code>) or descending (<code>DESC</code>) order. </p>"
}
}
},
"ListServersResponse":{
"type":"structure",
"members":{
"nextToken":{
"shape":"NextToken",
"documentation":"<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>"
},
"serverInfos":{
"shape":"ServerDetails",
"documentation":"<p> The list of servers with detailed information about each server. </p>"
"documentation":"<p> The S3 bucket used by the collectors to send analysis data to the service. The bucket name must begin with <code>migrationhub-strategy-</code>. </p>"
"documentation":"<p> The S3 bucket where all the reports generated by the service are stored. The bucket name must begin with <code>migrationhub-strategy-</code>. </p>"
"documentation":"<p> The ID of the assessment. </p>"
}
}
},
"StartImportFileTaskRequest":{
"type":"structure",
"required":[
"S3Bucket",
"name",
"s3key"
],
"members":{
"S3Bucket":{
"shape":"importS3Bucket",
"documentation":"<p> The S3 bucket where the import file is located. The bucket name is required to begin with <code>migrationhub-strategy-</code>.</p>"
},
"dataSourceType":{
"shape":"DataSourceType",
"documentation":"<p>Specifies the source that the servers are coming from. By default, Strategy Recommendations assumes that the servers specified in the import file are available in AWS Application Discovery Service. </p>"
},
"groupId":{
"shape":"GroupIds",
"documentation":"<p>Groups the resources in the import file together with a unique name. This ID can be as filter in <code>ListApplicationComponents</code> and <code>ListServers</code>. </p>"
},
"name":{
"shape":"StartImportFileTaskRequestNameString",
"documentation":"<p> A descriptive name for the request. </p>"
"documentation":"<p> The S3 bucket where Strategy Recommendations uploads import results. The bucket name is required to begin with migrationhub-strategy-. </p>"
},
"s3key":{
"shape":"String",
"documentation":"<p> The Amazon S3 key name of the import file. </p>"
"documentation":"<p> The ID for a specific import task. The ID is unique within an AWS account. </p>"
}
}
},
"StartRecommendationReportGenerationRequest":{
"type":"structure",
"members":{
"groupIdFilter":{
"shape":"GroupIds",
"documentation":"<p> Groups the resources in the recommendation report with a unique name. </p>"
},
"outputFormat":{
"shape":"OutputFormat",
"documentation":"<p> The output format for the recommendation report file. The default format is Microsoft Excel. </p>"
}
}
},
"StartRecommendationReportGenerationResponse":{
"type":"structure",
"members":{
"id":{
"shape":"RecommendationTaskId",
"documentation":"<p> The ID of the recommendation report generation task. </p>"
}
}
},
"StatusMessage":{
"type":"string",
"max":1024,
"min":0,
"pattern":".*\\S.*"
},
"StopAssessmentRequest":{
"type":"structure",
"required":["assessmentId"],
"members":{
"assessmentId":{
"shape":"AsyncTaskId",
"documentation":"<p> The <code>assessmentId</code> returned by <a>StartAssessment</a>. </p>"
}
}
},
"StopAssessmentResponse":{
"type":"structure",
"members":{
}
},
"Strategy":{
"type":"string",
"enum":[
"Rehost",
"Retirement",
"Refactor",
"Replatform",
"Retain",
"Relocate",
"Repurchase"
]
},
"StrategyOption":{
"type":"structure",
"members":{
"isPreferred":{
"shape":"Boolean",
"documentation":"<p> Indicates if a specific strategy is preferred for the application component. </p>"
},
"strategy":{
"shape":"Strategy",
"documentation":"<p> Type of transformation. For example, Rehost, Replatform, and so on. </p>"
},
"targetDestination":{
"shape":"TargetDestination",
"documentation":"<p> Destination information about where the application component can migrate to. For example, <code>EC2</code>, <code>ECS</code>, and so on. </p>"
},
"toolName":{
"shape":"TransformationToolName",
"documentation":"<p> The name of the tool that can be used to transform an application component using this strategy. </p>"
}
},
"documentation":"<p> Information about all the available strategy options for migrating and modernizing an application component. </p>"
"documentation":"<p>Update the configuration request of an application component. If it is set to true, the source code and/or database credentials are updated. If it is set to false, the source code and/or database credentials are updated and an analysis is initiated.</p>"
"documentation":"<p> Indicates whether the application component has been included for server recommendation or not. </p>"
},
"secretsManagerKey":{
"shape":"SecretsManagerKey",
"documentation":"<p> Database credentials. </p>"
},
"sourceCodeList":{
"shape":"SourceCodeList",
"documentation":"<p> The list of source code configurations to update for the application component. </p>"
},
"strategyOption":{
"shape":"StrategyOption",
"documentation":"<p> The preferred strategy options for the application component. Use values from the <a>GetApplicationComponentStrategies</a> response. </p>"
}
}
},
"UpdateApplicationComponentConfigResponse":{
"type":"structure",
"members":{
}
},
"UpdateServerConfigRequest":{
"type":"structure",
"required":["serverId"],
"members":{
"serverId":{
"shape":"ServerId",
"documentation":"<p> The ID of the server. </p>"
},
"strategyOption":{
"shape":"StrategyOption",
"documentation":"<p> The preferred strategy options for the application component. See the response from <a>GetServerStrategies</a>.</p>"
}
}
},
"UpdateServerConfigResponse":{
"type":"structure",
"members":{
}
},
"ValidationException":{
"type":"structure",
"members":{
"message":{"shape":"errorMessage"}
},
"documentation":"<p> The request body isn't valid. </p>",
"documentation":"<p><fullname>Migration Hub Strategy Recommendations</fullname></p> <pre><code> <p>This API reference provides descriptions, syntax, and other details about each of the actions and data types for Migration Hub Strategy Recommendations (Strategy Recommendations). The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see <a href="http://aws.amazon.com/tools/#SDKs">AWS SDKs</a>.</p> </code></pre>"