MIGRATIONHUBSTRATEGY

GetApplicationComponentDetails

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

GetApplicationComponentStrategies

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

GetAssessment

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

GetImportFileTask

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

GetLatestAssessmentId

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

GetPortfolioPreferences

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

GetPortfolioSummary

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

GetRecommendationReportDetails

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

GetServerDetails

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

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

ListAnalyzableServers

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

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

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

ListImportFileTask

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

ListServers

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

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

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

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

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

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

UpdateApplicationComponentConfig

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

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
}