---
updatedAt: 2025-11-12T01:04:38.000Z
agentTools:
  projectIndex: https://public.docs.kivera.io/llms.txt
---

# MIGRATIONHUBSTRATEGY

<Embed url="https://docs.aws.amazon.com/" title="AWS documentation" provider="docs.aws.amazon.com" href="https://docs.aws.amazon.com/" />

# GetApplicationComponentDetails

```erlang
valid {
    input.ReqMap.applicationComponentId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetApplicationComponentStrategies

```erlang
valid {
    input.ReqMap.applicationComponentId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetAssessment

```erlang
valid {
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetImportFileTask

```erlang
valid {
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetLatestAssessmentId

```erlang
valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetPortfolioPreferences

```erlang
valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetPortfolioSummary

```erlang
valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetRecommendationReportDetails

```erlang
valid {
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetServerDetails

```erlang
valid {
    input.ReqMap.serverId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetServerStrategies

```erlang
valid {
    input.ReqMap.serverId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListAnalyzableServers

```erlang
enum_SortOrder := [ "ASC", "DESC" ]

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.sort == enum_SortOrder[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListApplicationComponents

```erlang
enum_ApplicationComponentCriteria := [ "NOT_DEFINED", "APP_NAME", "SERVER_ID", "APP_TYPE", "STRATEGY", "DESTINATION", "ANALYSIS_STATUS", "ERROR_CATEGORY" ]
enum_GroupName := [ "ExternalId", "ExternalSourceType" ]
enum_SortOrder := [ "ASC", "DESC" ]

valid {
    input.Body.applicationComponentCriteria == enum_ApplicationComponentCriteria[_]
    input.Body.filterValue == STRING
    input.Body.groupIdFilter[_].name == enum_GroupName[_]
    input.Body.groupIdFilter[_].value == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.sort == enum_SortOrder[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListCollectors

```erlang
valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListImportFileTask

```erlang
valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListServers

```erlang
enum_GroupName := [ "ExternalId", "ExternalSourceType" ]
enum_ServerCriteria := [ "NOT_DEFINED", "OS_NAME", "STRATEGY", "DESTINATION", "SERVER_ID", "ANALYSIS_STATUS", "ERROR_CATEGORY" ]
enum_SortOrder := [ "ASC", "DESC" ]

valid {
    input.Body.filterValue == STRING
    input.Body.groupIdFilter[_].name == enum_GroupName[_]
    input.Body.groupIdFilter[_].value == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.serverCriteria == enum_ServerCriteria[_]
    input.Body.sort == enum_SortOrder[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutPortfolioPreferences

```erlang
enum_ApplicationMode := [ "ALL", "KNOWN", "UNKNOWN" ]
enum_AwsManagedTargetDestination := [ "None specified", "AWS Elastic BeanStalk", "AWS Fargate" ]
enum_DatabaseManagementPreference := [ "AWS-managed", "Self-manage", "No preference" ]
enum_HeterogeneousTargetDatabaseEngine := [ "None specified", "Amazon Aurora", "AWS PostgreSQL", "MySQL", "Microsoft SQL Server", "Oracle Database", "MariaDB", "SAP", "Db2 LUW", "MongoDB" ]
enum_HomogeneousTargetDatabaseEngine := [ "None specified" ]
enum_NoPreferenceTargetDestination := [ "None specified", "AWS Elastic BeanStalk", "AWS Fargate", "Amazon Elastic Cloud Compute (EC2)", "Amazon Elastic Container Service (ECS)", "Amazon Elastic Kubernetes Service (EKS)" ]
enum_SelfManageTargetDestination := [ "None specified", "Amazon Elastic Cloud Compute (EC2)", "Amazon Elastic Container Service (ECS)", "Amazon Elastic Kubernetes Service (EKS)" ]
enum_TargetDatabaseEngine := [ "None specified", "Amazon Aurora", "AWS PostgreSQL", "MySQL", "Microsoft SQL Server", "Oracle Database", "MariaDB", "SAP", "Db2 LUW", "MongoDB" ]

valid {
    input.Body.applicationMode == enum_ApplicationMode[_]
    input.Body.applicationPreferences.managementPreference.awsManagedResources.targetDestination[_] == enum_AwsManagedTargetDestination[_]
    input.Body.applicationPreferences.managementPreference.noPreference.targetDestination[_] == enum_NoPreferenceTargetDestination[_]
    input.Body.applicationPreferences.managementPreference.selfManageResources.targetDestination[_] == enum_SelfManageTargetDestination[_]
    input.Body.databasePreferences.databaseManagementPreference == enum_DatabaseManagementPreference[_]
    input.Body.databasePreferences.databaseMigrationPreference.heterogeneous.targetDatabaseEngine[_] == enum_HeterogeneousTargetDatabaseEngine[_]
    input.Body.databasePreferences.databaseMigrationPreference.homogeneous.targetDatabaseEngine[_] == enum_HomogeneousTargetDatabaseEngine[_]
    input.Body.databasePreferences.databaseMigrationPreference.noPreference.targetDatabaseEngine[_] == enum_TargetDatabaseEngine[_]
    input.Body.prioritizeBusinessGoals.businessGoals.licenseCostReduction == INTEGER
    input.Body.prioritizeBusinessGoals.businessGoals.modernizeInfrastructureWithCloudNativeTechnologies == INTEGER
    input.Body.prioritizeBusinessGoals.businessGoals.reduceOperationalOverheadWithManagedServices == INTEGER
    input.Body.prioritizeBusinessGoals.businessGoals.speedOfMigration == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartAssessment

```erlang
enum_AssessmentDataSourceType := [ "StrategyRecommendationsApplicationDataCollector", "ManualImport", "ApplicationDiscoveryService" ]
enum_Condition := [ "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS" ]

valid {
    input.Body.assessmentDataSourceType == enum_AssessmentDataSourceType[_]
    input.Body.assessmentTargets[_].condition == enum_Condition[_]
    input.Body.assessmentTargets[_].name == STRING
    input.Body.assessmentTargets[_].values[_] == STRING
    input.Body.s3bucketForAnalysisData == STRING
    input.Body.s3bucketForReportData == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartImportFileTask

```erlang
enum_DataSourceType := [ "ApplicationDiscoveryService", "MPA", "Import", "StrategyRecommendationsApplicationDataCollector" ]
enum_GroupName := [ "ExternalId", "ExternalSourceType" ]

valid {
    input.Body.S3Bucket == STRING
    input.Body.dataSourceType == enum_DataSourceType[_]
    input.Body.groupId[_].name == enum_GroupName[_]
    input.Body.groupId[_].value == STRING
    input.Body.name == STRING
    input.Body.s3bucketForReportData == STRING
    input.Body.s3key == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartRecommendationReportGeneration

```erlang
enum_GroupName := [ "ExternalId", "ExternalSourceType" ]
enum_OutputFormat := [ "Excel", "Json" ]

valid {
    input.Body.groupIdFilter[_].name == enum_GroupName[_]
    input.Body.groupIdFilter[_].value == STRING
    input.Body.outputFormat == enum_OutputFormat[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopAssessment

```erlang
valid {
    input.Body.assessmentId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateApplicationComponentConfig

```erlang
enum_AppType := [ "DotNetFramework", "Java", "SQLServer", "IIS", "Oracle", "Other", "Tomcat", "JBoss", "Spring", "Mongo DB", "DB2", "Maria DB", "MySQL", "Sybase", "PostgreSQLServer", "Cassandra", "IBM WebSphere", "Oracle WebLogic", "Visual Basic", "Unknown", "DotnetCore", "Dotnet" ]
enum_InclusionStatus := [ "excludeFromAssessment", "includeInAssessment" ]
enum_Strategy := [ "Rehost", "Retirement", "Refactor", "Replatform", "Retain", "Relocate", "Repurchase" ]
enum_TargetDestination := [ "None specified", "AWS Elastic BeanStalk", "AWS Fargate", "Amazon Elastic Cloud Compute (EC2)", "Amazon Elastic Container Service (ECS)", "Amazon Elastic Kubernetes Service (EKS)", "Aurora MySQL", "Aurora PostgreSQL", "Amazon Relational Database Service on MySQL", "Amazon Relational Database Service on PostgreSQL", "Amazon DocumentDB", "Amazon DynamoDB", "Amazon Relational Database Service", "Babelfish for Aurora PostgreSQL" ]
enum_TransformationToolName := [ "App2Container", "Porting Assistant For .NET", "End of Support Migration", "Windows Web Application Migration Assistant", "Application Migration Service", "Strategy Recommendation Support", "In Place Operating System Upgrade", "Schema Conversion Tool", "Database Migration Service", "Native SQL Server Backup/Restore" ]
enum_VersionControl := [ "GITHUB", "GITHUB_ENTERPRISE", "AZURE_DEVOPS_GIT" ]

valid {
    input.Body.appType == enum_AppType[_]
    input.Body.applicationComponentId == STRING
    input.Body.configureOnly == BOOLEAN
    input.Body.inclusionStatus == enum_InclusionStatus[_]
    input.Body.secretsManagerKey == STRING
    input.Body.sourceCodeList[_].location == STRING
    input.Body.sourceCodeList[_].projectName == STRING
    input.Body.sourceCodeList[_].sourceVersion == STRING
    input.Body.sourceCodeList[_].versionControl == enum_VersionControl[_]
    input.Body.strategyOption.isPreferred == BOOLEAN
    input.Body.strategyOption.strategy == enum_Strategy[_]
    input.Body.strategyOption.targetDestination == enum_TargetDestination[_]
    input.Body.strategyOption.toolName == enum_TransformationToolName[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateServerConfig

```erlang
enum_Strategy := [ "Rehost", "Retirement", "Refactor", "Replatform", "Retain", "Relocate", "Repurchase" ]
enum_TargetDestination := [ "None specified", "AWS Elastic BeanStalk", "AWS Fargate", "Amazon Elastic Cloud Compute (EC2)", "Amazon Elastic Container Service (ECS)", "Amazon Elastic Kubernetes Service (EKS)", "Aurora MySQL", "Aurora PostgreSQL", "Amazon Relational Database Service on MySQL", "Amazon Relational Database Service on PostgreSQL", "Amazon DocumentDB", "Amazon DynamoDB", "Amazon Relational Database Service", "Babelfish for Aurora PostgreSQL" ]
enum_TransformationToolName := [ "App2Container", "Porting Assistant For .NET", "End of Support Migration", "Windows Web Application Migration Assistant", "Application Migration Service", "Strategy Recommendation Support", "In Place Operating System Upgrade", "Schema Conversion Tool", "Database Migration Service", "Native SQL Server Backup/Restore" ]

valid {
    input.Body.serverId == STRING
    input.Body.strategyOption.isPreferred == BOOLEAN
    input.Body.strategyOption.strategy == enum_Strategy[_]
    input.Body.strategyOption.targetDestination == enum_TargetDestination[_]
    input.Body.strategyOption.toolName == enum_TransformationToolName[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```