{
  "version": "2.0",
  "service": "<p><fullname>Migration Hub Strategy Recommendations</fullname></p> <pre><code> &lt;p&gt;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 &lt;a href=&quot;http://aws.amazon.com/tools/#SDKs&quot;&gt;AWS SDKs&lt;/a&gt;.&lt;/p&gt; </code></pre>",
  "operations": {
    "GetApplicationComponentDetails": "<p> Retrieves details about an application component. </p>",
    "GetApplicationComponentStrategies": "<p> Retrieves a list of all the recommended strategies and tools for an application component running on a server. </p>",
    "GetAssessment": "<p> Retrieves the status of an on-going assessment. </p>",
    "GetImportFileTask": "<p> Retrieves the details about a specific import task. </p>",
    "GetPortfolioPreferences": "<p> Retrieves your migration and modernization preferences. </p>",
    "GetPortfolioSummary": "<p> Retrieves overall summary including the number of servers to rehost and the overall number of anti-patterns. </p>",
    "GetRecommendationReportDetails": "<p> Retrieves detailed information about the specified recommendation report. </p>",
    "GetServerDetails": "<p> Retrieves detailed information about a specified server. </p>",
    "GetServerStrategies": "<p> Retrieves recommended strategies and tools for the specified server. </p>",
    "ListApplicationComponents": "<p> Retrieves a list of all the application components (processes). </p>",
    "ListCollectors": "<p> Retrieves a list of all the installed collectors. </p>",
    "ListImportFileTask": "<p> Retrieves a list of all the imports performed. </p>",
    "ListServers": "<p> Returns a list of all the servers. </p>",
    "PutPortfolioPreferences": "<p> Saves the specified migration and modernization preferences. </p>",
    "StartAssessment": "<p> Starts the assessment of an on-premises environment. </p>",
    "StartImportFileTask": "<p> Starts a file import. </p>",
    "StartRecommendationReportGeneration": "<p> Starts generating a recommendation report. </p>",
    "StopAssessment": "<p> Stops the assessment of an on-premises environment. </p>",
    "UpdateApplicationComponentConfig": "<p> Updates the configuration of an application component. </p>",
    "UpdateServerConfig": "<p> Updates the configuration of the specified server. </p>"
  },
  "shapes": {
    "AccessDeniedException": {
      "base": "<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>",
      "refs": {
      }
    },
    "AntipatternReportStatus": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$antipatternReportStatus": "<p> The status of the anti-pattern report generation.</p>",
        "AssessmentSummary$antipatternReportStatus": "<p> The status of the anti-pattern report. </p>",
        "ServerDetail$antipatternReportStatus": "<p> The status of the anti-pattern report generation. </p>"
      }
    },
    "AntipatternSeveritySummary": {
      "base": "<p> Contains the summary of anti-patterns and their severity. </p>",
      "refs": {
        "ListAntipatternSeveritySummary$member": null
      }
    },
    "AppType": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$appType": "<p> The type of application component. </p>",
        "ApplicationComponentSummary$appType": "<p> Contains the name of application types. </p>"
      }
    },
    "ApplicationComponentCriteria": {
      "base": null,
      "refs": {
        "ListApplicationComponentsRequest$applicationComponentCriteria": "<p> Criteria for filtering the list of application components. </p>"
      }
    },
    "ApplicationComponentDetail": {
      "base": "<p> Contains detailed information about an application component. </p>",
      "refs": {
        "ApplicationComponentDetails$member": null,
        "GetApplicationComponentDetailsResponse$applicationComponentDetail": "<p> Detailed information about an application component. </p>"
      }
    },
    "ApplicationComponentDetails": {
      "base": null,
      "refs": {
        "ListApplicationComponentsResponse$applicationComponentInfos": "<p> The list of application components with detailed information about each component. </p>"
      }
    },
    "ApplicationComponentId": {
      "base": null,
      "refs": {
        "GetApplicationComponentDetailsRequest$applicationComponentId": "<p> The ID of the application component. The ID is unique within an AWS account.</p>",
        "GetApplicationComponentStrategiesRequest$applicationComponentId": "<p> The ID of the application component. The ID is unique within an AWS account.</p>",
        "UpdateApplicationComponentConfigRequest$applicationComponentId": "<p> The ID of the application component. The ID is unique within an AWS account. </p>"
      }
    },
    "ApplicationComponentStrategies": {
      "base": null,
      "refs": {
        "GetApplicationComponentStrategiesResponse$applicationComponentStrategies": "<p> A list of application component strategy recommendations. </p>"
      }
    },
    "ApplicationComponentStrategy": {
      "base": "<p> Contains information about a strategy recommendation for an application component. </p>",
      "refs": {
        "ApplicationComponentStrategies$member": null
      }
    },
    "ApplicationComponentSummary": {
      "base": "<p> Contains the summary of application components. </p>",
      "refs": {
        "ListApplicationComponentSummary$member": null
      }
    },
    "ApplicationPreferences": {
      "base": "<p> Application preferences that you specify. </p>",
      "refs": {
        "GetPortfolioPreferencesResponse$applicationPreferences": "<p> The transformation preferences for non-database applications. </p>",
        "PutPortfolioPreferencesRequest$applicationPreferences": "<p> The transformation preferences for non-database applications. </p>"
      }
    },
    "AssessmentStatus": {
      "base": null,
      "refs": {
        "DataCollectionDetails$status": "<p> The status of the assessment. </p>"
      }
    },
    "AssessmentSummary": {
      "base": "<p> Contains the summary of the assessment results. </p>",
      "refs": {
        "GetPortfolioSummaryResponse$assessmentSummary": "<p> An assessment summary for the portfolio including the number of servers to rehost and the overall number of anti-patterns. </p>"
      }
    },
    "AssociatedApplication": {
      "base": "<p> Object containing details about applications as defined in Application Discovery Service. </p>",
      "refs": {
        "AssociatedApplications$member": null
      }
    },
    "AssociatedApplications": {
      "base": null,
      "refs": {
        "GetApplicationComponentDetailsResponse$associatedApplications": "<p> The associated application group as defined in AWS Application Discovery Service. </p>",
        "GetServerDetailsResponse$associatedApplications": "<p> The associated application group the server belongs to, as defined in AWS Application Discovery Service. </p>"
      }
    },
    "AssociatedServerIDs": {
      "base": null,
      "refs": {
        "GetApplicationComponentDetailsResponse$associatedServerIds": "<p> A list of the IDs of the servers on which the application component is running. </p>"
      }
    },
    "AsyncTaskId": {
      "base": null,
      "refs": {
        "GetAssessmentRequest$id": "<p> The <code>assessmentid</code> returned by <a>StartAssessment</a>.</p>",
        "GetAssessmentResponse$id": "<p> The ID for the specific assessment task. </p>",
        "StartAssessmentResponse$assessmentId": "<p> The ID of the assessment. </p>",
        "StopAssessmentRequest$assessmentId": "<p> The <code>assessmentId</code> returned by <a>StartAssessment</a>. </p>"
      }
    },
    "AwsManagedResources": {
      "base": "<p> Object containing the choice of application destination that you specify. </p>",
      "refs": {
        "ManagementPreference$awsManagedResources": "<p> Indicates interest in solutions that are managed by AWS. </p>"
      }
    },
    "AwsManagedTargetDestination": {
      "base": null,
      "refs": {
        "AwsManagedTargetDestinations$member": null
      }
    },
    "AwsManagedTargetDestinations": {
      "base": null,
      "refs": {
        "AwsManagedResources$targetDestination": "<p> The choice of application destination that you specify. </p>"
      }
    },
    "Boolean": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$moreServerAssociationExists": "<p> Set to true if the application component is running on multiple servers.</p>",
        "ApplicationComponentStrategy$isPreferred": "<p> Set to true if the recommendation is set as preferred. </p>",
        "GetApplicationComponentDetailsResponse$moreApplicationResource": "<p> Set to true if the application component belongs to more than one application group. </p>",
        "ServerStrategy$isPreferred": "<p> Set to true if the recommendation is set as preferred. </p>",
        "StrategyOption$isPreferred": "<p> Indicates if a specific strategy is preferred for the application component. </p>"
      }
    },
    "BusinessGoals": {
      "base": "<p> Business goals that you specify. </p>",
      "refs": {
        "PrioritizeBusinessGoals$businessGoals": "<p> Rank of business goals based on priority. </p>"
      }
    },
    "BusinessGoalsInteger": {
      "base": null,
      "refs": {
        "BusinessGoals$licenseCostReduction": "<p> Business goal to reduce license costs. </p>",
        "BusinessGoals$modernizeInfrastructureWithCloudNativeTechnologies": "<p> Business goal to modernize infrastructure by moving to cloud native technologies. </p>",
        "BusinessGoals$reduceOperationalOverheadWithManagedServices": "<p> Business goal to reduce the operational overhead on the team by moving into managed services. </p>",
        "BusinessGoals$speedOfMigration": "<p> Business goal to achieve migration at a fast pace. </p>"
      }
    },
    "Collector": {
      "base": "<p> Process data collector that runs in the environment that you specify. </p>",
      "refs": {
        "Collectors$member": null
      }
    },
    "CollectorHealth": {
      "base": null,
      "refs": {
        "Collector$collectorHealth": "<p> Indicates the health of a collector. </p>"
      }
    },
    "Collectors": {
      "base": null,
      "refs": {
        "ListCollectorsResponse$Collectors": "<p> The list of all the installed collectors. </p>"
      }
    },
    "ConflictException": {
      "base": "<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>",
      "refs": {
      }
    },
    "DataCollectionDetails": {
      "base": "<p> Detailed information about an assessment. </p>",
      "refs": {
        "GetAssessmentResponse$dataCollectionDetails": "<p> Detailed information about the assessment. </p>"
      }
    },
    "DataSourceType": {
      "base": null,
      "refs": {
        "StartImportFileTaskRequest$dataSourceType": "<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>"
      }
    },
    "DatabaseConfigDetail": {
      "base": "<p> Configuration information used for assessing databases. </p>",
      "refs": {
        "ApplicationComponentDetail$databaseConfigDetail": "<p> Configuration details for the database associated with the application component. </p>"
      }
    },
    "DatabaseManagementPreference": {
      "base": null,
      "refs": {
        "DatabasePreferences$databaseManagementPreference": "<p> Specifies whether you're interested in self-managed databases or databases managed by AWS. </p>"
      }
    },
    "DatabaseMigrationPreference": {
      "base": "<p> Preferences for migrating a database to AWS. </p>",
      "refs": {
        "DatabasePreferences$databaseMigrationPreference": "<p> Specifies your preferred migration path. </p>"
      }
    },
    "DatabasePreferences": {
      "base": "<p> Preferences on managing your databases on AWS. </p>",
      "refs": {
        "GetPortfolioPreferencesResponse$databasePreferences": "<p> The transformation preferences for database applications. </p>",
        "PutPortfolioPreferencesRequest$databasePreferences": "<p> The transformation preferences for database applications. </p>"
      }
    },
    "GetApplicationComponentDetailsRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetApplicationComponentDetailsResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetApplicationComponentStrategiesRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetApplicationComponentStrategiesResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetAssessmentRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetAssessmentResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetImportFileTaskRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetImportFileTaskResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetPortfolioPreferencesRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetPortfolioPreferencesResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetPortfolioSummaryRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetPortfolioSummaryResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetRecommendationReportDetailsRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetRecommendationReportDetailsResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetServerDetailsRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetServerDetailsResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetServerStrategiesRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetServerStrategiesResponse": {
      "base": null,
      "refs": {
      }
    },
    "Group": {
      "base": "<p> The object containing information about distinct imports or groups for Strategy Recommendations. </p>",
      "refs": {
        "GroupIds$member": null
      }
    },
    "GroupIds": {
      "base": null,
      "refs": {
        "ListApplicationComponentsRequest$groupIdFilter": "<p> The group ID specified in to filter on. </p>",
        "ListServersRequest$groupIdFilter": "<p> Specifies the group ID to filter on. </p>",
        "StartImportFileTaskRequest$groupId": "<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>",
        "StartRecommendationReportGenerationRequest$groupIdFilter": "<p> Groups the resources in the recommendation report with a unique name. </p>"
      }
    },
    "GroupName": {
      "base": null,
      "refs": {
        "Group$name": "<p> The key of the specific import group. </p>"
      }
    },
    "Heterogeneous": {
      "base": "<p> The object containing details about heterogeneous database preferences. </p>",
      "refs": {
        "DatabaseMigrationPreference$heterogeneous": "<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>"
      }
    },
    "HeterogeneousTargetDatabaseEngine": {
      "base": null,
      "refs": {
        "HeterogeneousTargetDatabaseEngines$member": null
      }
    },
    "HeterogeneousTargetDatabaseEngines": {
      "base": null,
      "refs": {
        "Heterogeneous$targetDatabaseEngine": "<p> The target database engine for heterogeneous database migration preference. </p>"
      }
    },
    "Homogeneous": {
      "base": "<p> The object containing details about homogeneous database preferences. </p>",
      "refs": {
        "DatabaseMigrationPreference$homogeneous": "<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>"
      }
    },
    "HomogeneousTargetDatabaseEngine": {
      "base": null,
      "refs": {
        "HomogeneousTargetDatabaseEngines$member": null
      }
    },
    "HomogeneousTargetDatabaseEngines": {
      "base": null,
      "refs": {
        "Homogeneous$targetDatabaseEngine": "<p> The target database engine for homogeneous database migration preferences. </p>"
      }
    },
    "IPAddress": {
      "base": null,
      "refs": {
        "NetworkInfo$ipAddress": "<p> Information about the IP address of the server for which the assessment was run. </p>"
      }
    },
    "ImportFileTaskInformation": {
      "base": "<p> Information about the import file tasks you request. </p>",
      "refs": {
        "ListImportFileTaskInformation$member": null
      }
    },
    "ImportFileTaskStatus": {
      "base": null,
      "refs": {
        "GetImportFileTaskResponse$status": "<p> Status of import file task. </p>",
        "ImportFileTaskInformation$status": "<p> Status of import file task. </p>"
      }
    },
    "InclusionStatus": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$inclusionStatus": "<p> Indicates whether the application component has been included for server recommendation or not. </p>",
        "UpdateApplicationComponentConfigRequest$inclusionStatus": "<p> Indicates whether the application component has been included for server recommendation or not. </p>"
      }
    },
    "Integer": {
      "base": null,
      "refs": {
        "AntipatternSeveritySummary$count": "<p> Contains the count of anti-patterns. </p>",
        "ApplicationComponentSummary$count": "<p> Contains the count of application type. </p>",
        "DataCollectionDetails$failed": "<p> The number of failed servers in the assessment. </p>",
        "DataCollectionDetails$inProgress": "<p> The number of servers with the assessment status <code>IN_PROGESS</code>. </p>",
        "DataCollectionDetails$servers": "<p> The total number of servers in the assessment. </p>",
        "DataCollectionDetails$success": "<p> The number of successful servers in the assessment. </p>",
        "GetImportFileTaskResponse$numberOfRecordsFailed": "<p> The number of records that failed to be imported. </p>",
        "GetImportFileTaskResponse$numberOfRecordsSuccess": "<p> The number of records successfully imported. </p>",
        "ImportFileTaskInformation$numberOfRecordsFailed": "<p> The number of records that failed to be imported. </p>",
        "ImportFileTaskInformation$numberOfRecordsSuccess": "<p> The number of records successfully imported. </p>",
        "ListImportFileTaskRequest$maxResults": "<p> The total number of items to return. The maximum value is 100. </p>",
        "ServerStrategy$numberOfApplicationComponents": "<p> The number of application components with this strategy recommendation running on the server. </p>",
        "ServerSummary$count": "<p> Number of servers. </p>",
        "StrategySummary$count": "<p> The count of recommendations per strategy. </p>"
      }
    },
    "InterfaceName": {
      "base": null,
      "refs": {
        "NetworkInfo$interfaceName": "<p> Information about the name of the interface of the server for which the assessment was run. </p>"
      }
    },
    "InternalServerException": {
      "base": "<p> The server experienced an internal error. Try again. </p>",
      "refs": {
      }
    },
    "ListAntipatternSeveritySummary": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$listAntipatternSeveritySummary": "<p> A list of anti-pattern severity summaries. </p>",
        "AssessmentSummary$listAntipatternSeveritySummary": "<p> List of AntipatternSeveritySummary. </p>",
        "ServerDetail$listAntipatternSeveritySummary": "<p> A list of anti-pattern severity summaries. </p>"
      }
    },
    "ListApplicationComponentSummary": {
      "base": null,
      "refs": {
        "AssessmentSummary$listApplicationComponentSummary": "<p> List of ApplicationComponentSummary. </p>"
      }
    },
    "ListApplicationComponentsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListApplicationComponentsRequestFilterValueString": {
      "base": null,
      "refs": {
        "ListApplicationComponentsRequest$filterValue": "<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>"
      }
    },
    "ListApplicationComponentsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListCollectorsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListCollectorsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListImportFileTaskInformation": {
      "base": null,
      "refs": {
        "ListImportFileTaskResponse$taskInfos": "<p> Lists information about the files you import.</p>"
      }
    },
    "ListImportFileTaskRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListImportFileTaskResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListServerSummary": {
      "base": null,
      "refs": {
        "AssessmentSummary$listServerSummary": "<p> List of ServerSummary. </p>"
      }
    },
    "ListServersRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListServersResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListStrategySummary": {
      "base": null,
      "refs": {
        "AssessmentSummary$listApplicationComponentStrategySummary": "<p> List of ApplicationComponentStrategySummary. </p>",
        "AssessmentSummary$listServerStrategySummary": "<p> List of ServerStrategySummary. </p>",
        "ServerDetail$applicationComponentStrategySummary": "<p> A list of strategy summaries. </p>"
      }
    },
    "Location": {
      "base": null,
      "refs": {
        "SourceCode$location": "<p> The repository name for the source code. </p>"
      }
    },
    "MacAddress": {
      "base": null,
      "refs": {
        "NetworkInfo$macAddress": "<p> Information about the MAC address of the server for which the assessment was run. </p>"
      }
    },
    "ManagementPreference": {
      "base": "<p> Preferences for migrating an application to AWS. </p>",
      "refs": {
        "ApplicationPreferences$managementPreference": "<p> Application preferences that you specify to prefer managed environment. </p>"
      }
    },
    "MaxResult": {
      "base": null,
      "refs": {
        "GetServerDetailsRequest$maxResults": "<p> The maximum number of items to include in the response. The maximum value is 100. </p>",
        "ListApplicationComponentsRequest$maxResults": "<p> The maximum number of items to include in the response. The maximum value is 100. </p>",
        "ListCollectorsRequest$maxResults": "<p> The maximum number of items to include in the response. The maximum value is 100. </p>",
        "ListServersRequest$maxResults": "<p> The maximum number of items to include in the response. The maximum value is 100. </p>"
      }
    },
    "NetMask": {
      "base": null,
      "refs": {
        "NetworkInfo$netMask": "<p> Information about the subnet mask of the server for which the assessment was run. </p>"
      }
    },
    "NetworkInfo": {
      "base": "<p> Information about the server's network for which the assessment was run. </p>",
      "refs": {
        "NetworkInfoList$member": null
      }
    },
    "NetworkInfoList": {
      "base": null,
      "refs": {
        "SystemInfo$networkInfoList": "<p> Networking information related to a server. </p>"
      }
    },
    "NextToken": {
      "base": null,
      "refs": {
        "GetServerDetailsRequest$nextToken": "<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>",
        "ListApplicationComponentsRequest$nextToken": "<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>",
        "ListApplicationComponentsResponse$nextToken": "<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>",
        "ListCollectorsRequest$nextToken": "<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>",
        "ListCollectorsResponse$nextToken": "<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>",
        "ListServersRequest$nextToken": "<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>",
        "ListServersResponse$nextToken": "<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>"
      }
    },
    "NoDatabaseMigrationPreference": {
      "base": "<p> The object containing details about database migration preferences, when you have no particular preference. </p>",
      "refs": {
        "DatabaseMigrationPreference$noPreference": "<p> Indicated that you do not prefer heterogeneous or homogeneous. </p>"
      }
    },
    "NoManagementPreference": {
      "base": "<p> Object containing the choice of application destination that you specify. </p>",
      "refs": {
        "ManagementPreference$noPreference": "<p> No specific preference. </p>"
      }
    },
    "NoPreferenceTargetDestination": {
      "base": null,
      "refs": {
        "NoPreferenceTargetDestinations$member": null
      }
    },
    "NoPreferenceTargetDestinations": {
      "base": null,
      "refs": {
        "NoManagementPreference$targetDestination": "<p> The choice of application destination that you specify. </p>"
      }
    },
    "OSInfo": {
      "base": "<p> Information about the operating system. </p>",
      "refs": {
        "SystemInfo$osInfo": "<p> Operating system corresponding to a server. </p>"
      }
    },
    "OSType": {
      "base": null,
      "refs": {
        "OSInfo$type": "<p> Information about the type of operating system. </p>"
      }
    },
    "OSVersion": {
      "base": null,
      "refs": {
        "OSInfo$version": "<p> Information about the version of operating system. </p>"
      }
    },
    "OutputFormat": {
      "base": null,
      "refs": {
        "StartRecommendationReportGenerationRequest$outputFormat": "<p> The output format for the recommendation report file. The default format is Microsoft Excel. </p>"
      }
    },
    "PrioritizeBusinessGoals": {
      "base": "<p> Rank of business goals based on priority. </p>",
      "refs": {
        "GetPortfolioPreferencesResponse$prioritizeBusinessGoals": "<p> The rank of business goals based on priority. </p>",
        "PutPortfolioPreferencesRequest$prioritizeBusinessGoals": "<p> The rank of the business goals based on priority. </p>"
      }
    },
    "PutPortfolioPreferencesRequest": {
      "base": null,
      "refs": {
      }
    },
    "PutPortfolioPreferencesResponse": {
      "base": null,
      "refs": {
      }
    },
    "RecommendationReportDetails": {
      "base": "<p> Contains detailed information about a recommendation report. </p>",
      "refs": {
        "GetRecommendationReportDetailsResponse$recommendationReportDetails": "<p> Detailed information about the recommendation report. </p>"
      }
    },
    "RecommendationReportStatus": {
      "base": null,
      "refs": {
        "RecommendationReportDetails$status": "<p> The status of the recommendation report generation task. </p>"
      }
    },
    "RecommendationReportStatusMessage": {
      "base": null,
      "refs": {
        "RecommendationReportDetails$statusMessage": "<p> The status message for recommendation report generation. </p>"
      }
    },
    "RecommendationReportTimeStamp": {
      "base": null,
      "refs": {
        "RecommendationReportDetails$completionTime": "<p> The time that the recommendation report generation task completes. </p>",
        "RecommendationReportDetails$startTime": "<p> The time that the recommendation report generation task starts. </p>"
      }
    },
    "RecommendationSet": {
      "base": "<p> Contains a recommendation set. </p>",
      "refs": {
        "ApplicationComponentDetail$recommendationSet": "<p> The top recommendation set for the application component. </p>",
        "ApplicationComponentStrategy$recommendation": "<p> Strategy recommendation for the application component. </p>",
        "ServerDetail$recommendationSet": "<p> A set of recommendations. </p>",
        "ServerStrategy$recommendation": "<p> Strategy recommendation for the server. </p>"
      }
    },
    "RecommendationTaskId": {
      "base": null,
      "refs": {
        "GetRecommendationReportDetailsRequest$id": "<p> The recommendation report generation task <code>id</code> returned by <a>StartRecommendationReportGeneration</a>. </p>",
        "GetRecommendationReportDetailsResponse$id": "<p> The ID of the recommendation report generation task. See the response of <a>StartRecommendationReportGeneration</a>. </p>",
        "StartRecommendationReportGenerationResponse$id": "<p> The ID of the recommendation report generation task. </p>"
      }
    },
    "ResourceId": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$id": "<p> The ID of the application component. </p>",
        "ServerDetail$id": "<p> The server ID. </p>"
      }
    },
    "ResourceName": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$name": "<p> The name of application component. </p>",
        "ServerDetail$name": "<p> The name of the server. </p>"
      }
    },
    "ResourceNotFoundException": {
      "base": "<p> The specified ID in the request is not found. </p>",
      "refs": {
      }
    },
    "ResourceSubType": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$resourceSubType": "<p> The application component subtype.</p>"
      }
    },
    "RunTimeAssessmentStatus": {
      "base": null,
      "refs": {
        "ServerDetail$dataCollectionStatus": "<p> The status of assessment for the server. </p>"
      }
    },
    "S3Bucket": {
      "base": null,
      "refs": {
        "S3Object$s3Bucket": "<p> The S3 bucket name. </p>"
      }
    },
    "S3Key": {
      "base": null,
      "refs": {
        "S3Object$s3key": "<p> The Amazon S3 key name. </p>"
      }
    },
    "S3Keys": {
      "base": null,
      "refs": {
        "RecommendationReportDetails$s3Keys": "<p> The Amazon S3 key name of the report file. </p>"
      }
    },
    "S3Object": {
      "base": "<p> Contains the S3 bucket name and the Amazon S3 key name. </p>",
      "refs": {
        "ApplicationComponentDetail$antipatternReportS3Object": "<p> The S3 bucket name and the Amazon S3 key name for the anti-pattern report. </p>",
        "AssessmentSummary$antipatternReportS3Object": "<p> The Amazon S3 object containing the anti-pattern report. </p>",
        "ServerDetail$antipatternReportS3Object": "<p> The S3 bucket name and Amazon S3 key name for anti-pattern report. </p>"
      }
    },
    "SecretsManagerKey": {
      "base": null,
      "refs": {
        "UpdateApplicationComponentConfigRequest$secretsManagerKey": "<p> Database credentials. </p>"
      }
    },
    "SelfManageResources": {
      "base": "<p> Self-managed resources. </p>",
      "refs": {
        "ManagementPreference$selfManageResources": "<p> Indicates interest in managing your own resources on AWS. </p>"
      }
    },
    "SelfManageTargetDestination": {
      "base": null,
      "refs": {
        "SelfManageTargetDestinations$member": null
      }
    },
    "SelfManageTargetDestinations": {
      "base": null,
      "refs": {
        "SelfManageResources$targetDestination": "<p> Self-managed resources target destination. </p>"
      }
    },
    "ServerCriteria": {
      "base": null,
      "refs": {
        "ListServersRequest$serverCriteria": "<p> Criteria for filtering servers. </p>"
      }
    },
    "ServerDetail": {
      "base": "<p> Detailed information about a server. </p>",
      "refs": {
        "GetServerDetailsResponse$serverDetail": "<p> Detailed information about the server. </p>",
        "ServerDetails$member": null
      }
    },
    "ServerDetails": {
      "base": null,
      "refs": {
        "ListServersResponse$serverInfos": "<p> The list of servers with detailed information about each server. </p>"
      }
    },
    "ServerId": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$associatedServerId": "<p> The ID of the server that the application component is running on. </p>",
        "GetServerDetailsRequest$serverId": "<p> The ID of the server. </p>",
        "GetServerStrategiesRequest$serverId": "<p> The ID of the server. </p>",
        "UpdateServerConfigRequest$serverId": "<p> The ID of the server. </p>"
      }
    },
    "ServerOsType": {
      "base": null,
      "refs": {
        "ServerSummary$ServerOsType": "<p> Type of operating system for the servers. </p>"
      }
    },
    "ServerStrategies": {
      "base": null,
      "refs": {
        "GetServerStrategiesResponse$serverStrategies": "<p> A list of strategy recommendations for the server. </p>"
      }
    },
    "ServerStrategy": {
      "base": "<p> Contains information about a strategy recommendation for a server. </p>",
      "refs": {
        "ServerStrategies$member": null
      }
    },
    "ServerSummary": {
      "base": "<p> Object containing details about the servers imported by Application Discovery Service </p>",
      "refs": {
        "ListServerSummary$member": null
      }
    },
    "ServiceLinkedRoleLockClientException": {
      "base": "<p> Exception to indicate that the service-linked role (SLR) is locked. </p>",
      "refs": {
      }
    },
    "ServiceQuotaExceededException": {
      "base": "<p> The AWS account has reached its quota of imports. Contact AWS Support to increase the quota for this account. </p>",
      "refs": {
      }
    },
    "Severity": {
      "base": null,
      "refs": {
        "AntipatternSeveritySummary$severity": "<p> Contains the severity of anti-patterns. </p>"
      }
    },
    "SortOrder": {
      "base": null,
      "refs": {
        "ListApplicationComponentsRequest$sort": "<p> Specifies whether to sort by ascending (<code>ASC</code>) or descending (<code>DESC</code>) order. </p>",
        "ListServersRequest$sort": "<p> Specifies whether to sort by ascending (<code>ASC</code>) or descending (<code>DESC</code>) order. </p>"
      }
    },
    "SourceCode": {
      "base": "<p> Object containing source code information that is linked to an application component. </p>",
      "refs": {
        "SourceCodeList$member": null
      }
    },
    "SourceCodeList": {
      "base": null,
      "refs": {
        "UpdateApplicationComponentConfigRequest$sourceCodeList": "<p> The list of source code configurations to update for the application component. </p>"
      }
    },
    "SourceCodeRepositories": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$sourceCodeRepositories": "<p> Details about the source code repository associated with the application component. </p>"
      }
    },
    "SourceCodeRepository": {
      "base": "<p> Object containing source code information that is linked to an application component. </p>",
      "refs": {
        "SourceCodeRepositories$member": null
      }
    },
    "SourceVersion": {
      "base": null,
      "refs": {
        "SourceCode$sourceVersion": "<p> The branch of the source code. </p>"
      }
    },
    "SrcCodeOrDbAnalysisStatus": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$analysisStatus": "<p> The status of analysis, if the application component has source code or an associated database. </p>"
      }
    },
    "StartAssessmentRequest": {
      "base": null,
      "refs": {
      }
    },
    "StartAssessmentRequestS3bucketForAnalysisDataString": {
      "base": null,
      "refs": {
        "StartAssessmentRequest$s3bucketForAnalysisData": "<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>"
      }
    },
    "StartAssessmentRequestS3bucketForReportDataString": {
      "base": null,
      "refs": {
        "StartAssessmentRequest$s3bucketForReportData": "<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>"
      }
    },
    "StartAssessmentResponse": {
      "base": null,
      "refs": {
      }
    },
    "StartImportFileTaskRequest": {
      "base": null,
      "refs": {
      }
    },
    "StartImportFileTaskRequestNameString": {
      "base": null,
      "refs": {
        "StartImportFileTaskRequest$name": "<p> A descriptive name for the request. </p>"
      }
    },
    "StartImportFileTaskRequestS3bucketForReportDataString": {
      "base": null,
      "refs": {
        "StartImportFileTaskRequest$s3bucketForReportData": "<p> The S3 bucket where Strategy Recommendations uploads import results. The bucket name is required to begin with migrationhub-strategy-. </p>"
      }
    },
    "StartImportFileTaskResponse": {
      "base": null,
      "refs": {
      }
    },
    "StartRecommendationReportGenerationRequest": {
      "base": null,
      "refs": {
      }
    },
    "StartRecommendationReportGenerationResponse": {
      "base": null,
      "refs": {
      }
    },
    "StatusMessage": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$antipatternReportStatusMessage": "<p> The status message for the anti-pattern. </p>",
        "ApplicationComponentDetail$statusMessage": "<p> A detailed description of the analysis status and any failure message. </p>",
        "AssessmentSummary$antipatternReportStatusMessage": "<p> The status message of the anti-pattern report. </p>",
        "ServerDetail$antipatternReportStatusMessage": "<p> A message about the status of the anti-pattern report generation. </p>",
        "ServerDetail$statusMessage": "<p> A message about the status of data collection, which contains detailed descriptions of any error messages. </p>"
      }
    },
    "StopAssessmentRequest": {
      "base": null,
      "refs": {
      }
    },
    "StopAssessmentResponse": {
      "base": null,
      "refs": {
      }
    },
    "Strategy": {
      "base": null,
      "refs": {
        "RecommendationSet$strategy": "<p> The recommended strategy. </p>",
        "StrategyOption$strategy": "<p> Type of transformation. For example, Rehost, Replatform, and so on. </p>",
        "StrategySummary$strategy": "<p> The name of recommended strategy. </p>"
      }
    },
    "StrategyOption": {
      "base": "<p> Information about all the available strategy options for migrating and modernizing an application component. </p>",
      "refs": {
        "UpdateApplicationComponentConfigRequest$strategyOption": "<p> The preferred strategy options for the application component. Use values from the <a>GetApplicationComponentStrategies</a> response. </p>",
        "UpdateServerConfigRequest$strategyOption": "<p> The preferred strategy options for the application component. See the response from <a>GetServerStrategies</a>.</p>"
      }
    },
    "StrategyRecommendation": {
      "base": null,
      "refs": {
        "ApplicationComponentStrategy$status": "<p> The recommendation status of a strategy for an application component. </p>",
        "ServerStrategy$status": "<p> The recommendation status of the strategy for the server. </p>"
      }
    },
    "StrategySummary": {
      "base": "<p> Object containing the summary of the strategy recommendations. </p>",
      "refs": {
        "ListStrategySummary$member": null
      }
    },
    "String": {
      "base": null,
      "refs": {
        "AccessDeniedException$message": null,
        "ApplicationComponentDetail$osDriver": "<p> OS driver. </p>",
        "ApplicationComponentDetail$osVersion": "<p> OS version. </p>",
        "AssociatedApplication$id": "<p> ID of the application as defined in Application Discovery Service. </p>",
        "AssociatedApplication$name": "<p> Name of the application as defined in Application Discovery Service. </p>",
        "AssociatedServerIDs$member": null,
        "Collector$collectorId": "<p> The ID of the collector. </p>",
        "Collector$collectorVersion": "<p> Current version of the collector that is running in the environment that you specify. </p>",
        "Collector$hostName": "<p> Hostname of the server that is hosting the collector. </p>",
        "Collector$ipAddress": "<p> IP address of the server that is hosting the collector. </p>",
        "Collector$lastActivityTimeStamp": "<p> Time when the collector last pinged the service. </p>",
        "Collector$registeredTimeStamp": "<p> Time when the collector registered with the service. </p>",
        "ConflictException$message": null,
        "DatabaseConfigDetail$secretName": "<p> AWS Secrets Manager key that holds the credentials that you use to connect to a database. </p>",
        "GetImportFileTaskRequest$id": "<p> The ID of the import file task. This ID is returned in the response of <a>StartImportFileTask</a>. </p>",
        "GetImportFileTaskResponse$id": "<p> The import file task <code>id</code> returned in the response of <a>StartImportFileTask</a>. </p>",
        "GetImportFileTaskResponse$importName": "<p> The name of the import task given in <a>StartImportFileTask</a>. </p>",
        "GetServerDetailsResponse$nextToken": "<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>",
        "Group$value": "<p> The value of the specific import group. </p>",
        "ImportFileTaskInformation$id": "<p> The ID of the import file task. </p>",
        "ImportFileTaskInformation$importName": "<p> The name of the import task given in <code>StartImportFileTask</code>. </p>",
        "ListImportFileTaskRequest$nextToken": "<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>",
        "ListImportFileTaskResponse$nextToken": "<p> The token you use to retrieve the next set of results, or null if there are no more results. </p>",
        "ListServersRequest$filterValue": "<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>",
        "RecommendationReportDetails$s3Bucket": "<p> The S3 bucket where the report file is located. </p>",
        "S3Keys$member": null,
        "ServerDetail$serverType": "<p> The type of server. </p>",
        "ServiceQuotaExceededException$message": null,
        "SourceCodeRepository$branch": "<p> The branch of the source code. </p>",
        "SourceCodeRepository$repository": "<p> The repository name for the source code. </p>",
        "SourceCodeRepository$versionControlType": "<p> The type of repository to use for the source code. </p>",
        "StartImportFileTaskRequest$s3key": "<p> The Amazon S3 key name of the import file. </p>",
        "StartImportFileTaskResponse$id": "<p> The ID for a specific import task. The ID is unique within an AWS account. </p>",
        "SystemInfo$cpuArchitecture": "<p> CPU architecture type for the server. </p>",
        "SystemInfo$fileSystemType": "<p> File system type for the server. </p>"
      }
    },
    "SystemInfo": {
      "base": "<p> Information about the server that hosts application components. </p>",
      "refs": {
        "ServerDetail$systemInfo": "<p> System information about the server. </p>"
      }
    },
    "TargetDatabaseEngine": {
      "base": null,
      "refs": {
        "TargetDatabaseEngines$member": null
      }
    },
    "TargetDatabaseEngines": {
      "base": null,
      "refs": {
        "NoDatabaseMigrationPreference$targetDatabaseEngine": "<p> The target database engine for database migration preference that you specify. </p>"
      }
    },
    "TargetDestination": {
      "base": null,
      "refs": {
        "RecommendationSet$targetDestination": "<p> The recommended target destination. </p>",
        "StrategyOption$targetDestination": "<p> Destination information about where the application component can migrate to. For example, <code>EC2</code>, <code>ECS</code>, and so on. </p>"
      }
    },
    "ThrottlingException": {
      "base": "<p> The request was denied due to request throttling. </p>",
      "refs": {
      }
    },
    "TimeStamp": {
      "base": null,
      "refs": {
        "ApplicationComponentDetail$lastAnalyzedTimestamp": "<p> The timestamp of when the application component was assessed. </p>",
        "AssessmentSummary$lastAnalyzedTimestamp": "<p> The time the assessment was performed. </p>",
        "DataCollectionDetails$completionTime": "<p> The time the assessment completes. </p>",
        "DataCollectionDetails$startTime": "<p> The start time of assessment. </p>",
        "GetImportFileTaskResponse$completionTime": "<p> The time that the import task completed. </p>",
        "GetImportFileTaskResponse$startTime": "<p> Start time of the import task. </p>",
        "ImportFileTaskInformation$completionTime": "<p> The time that the import task completes. </p>",
        "ImportFileTaskInformation$startTime": "<p> Start time of the import task. </p>",
        "ServerDetail$lastAnalyzedTimestamp": "<p> The timestamp of when the server was assessed. </p>"
      }
    },
    "TranformationToolDescription": {
      "base": null,
      "refs": {
        "TransformationTool$description": "<p> Description of the tool. </p>"
      }
    },
    "TranformationToolInstallationLink": {
      "base": null,
      "refs": {
        "TransformationTool$tranformationToolInstallationLink": "<p> URL for installing the tool. </p>"
      }
    },
    "TransformationTool": {
      "base": "<p> Information of the transformation tool that can be used to migrate and modernize the application. </p>",
      "refs": {
        "RecommendationSet$transformationTool": "<p> The target destination for the recommendation set. </p>"
      }
    },
    "TransformationToolName": {
      "base": null,
      "refs": {
        "StrategyOption$toolName": "<p> The name of the tool that can be used to transform an application component using this strategy. </p>",
        "TransformationTool$name": "<p> Name of the tool. </p>"
      }
    },
    "UpdateApplicationComponentConfigRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateApplicationComponentConfigResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateServerConfigRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateServerConfigResponse": {
      "base": null,
      "refs": {
      }
    },
    "ValidationException": {
      "base": "<p> The request body isn't valid. </p>",
      "refs": {
      }
    },
    "VersionControl": {
      "base": null,
      "refs": {
        "SourceCode$versionControl": "<p> The type of repository to use for the source code. </p>"
      }
    },
    "errorMessage": {
      "base": null,
      "refs": {
        "InternalServerException$message": null,
        "ResourceNotFoundException$message": null,
        "ServiceLinkedRoleLockClientException$message": null,
        "ThrottlingException$message": null,
        "ValidationException$message": null
      }
    },
    "importS3Bucket": {
      "base": null,
      "refs": {
        "GetImportFileTaskResponse$inputS3Bucket": "<p> The S3 bucket where import file is located. </p>",
        "GetImportFileTaskResponse$statusReportS3Bucket": "<p> The S3 bucket name for status report of import task. </p>",
        "ImportFileTaskInformation$inputS3Bucket": "<p> The S3 bucket where the import file is located. </p>",
        "ImportFileTaskInformation$statusReportS3Bucket": "<p> The S3 bucket name for status report of import task. </p>",
        "StartImportFileTaskRequest$S3Bucket": "<p> The S3 bucket where the import file is located. The bucket name is required to begin with <code>migrationhub-strategy-</code>.</p>"
      }
    },
    "importS3Key": {
      "base": null,
      "refs": {
        "GetImportFileTaskResponse$inputS3Key": "<p> The Amazon S3 key name of the import file. </p>",
        "GetImportFileTaskResponse$statusReportS3Key": "<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>",
        "ImportFileTaskInformation$inputS3Key": "<p> The Amazon S3 key name of the import file. </p>",
        "ImportFileTaskInformation$statusReportS3Key": "<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>"
      }
    }
  }
}
