MICROSOFT.DATAMIGRATION

DatabaseMigrationsMongoToCosmosDbRUMongo_Create

enum_DatabaseMigrationBasePropertiesKind := [ "SqlMi", "SqlVm", "SqlDb", "MongoToCosmosDbMongo" ]

valid {
    input.Body.properties.sourceMongoConnection.host == STRING
    input.Body.properties.sourceMongoConnection.port == INTEGER
    input.Body.properties.sourceMongoConnection.userName == STRING
    input.Body.properties.sourceMongoConnection.password == STRING
    input.Body.properties.sourceMongoConnection.useSsl == BOOLEAN
    input.Body.properties.sourceMongoConnection.connectionString == STRING
    input.Body.properties.targetMongoConnection.host == STRING
    input.Body.properties.targetMongoConnection.port == INTEGER
    input.Body.properties.targetMongoConnection.userName == STRING
    input.Body.properties.targetMongoConnection.password == STRING
    input.Body.properties.targetMongoConnection.useSsl == BOOLEAN
    input.Body.properties.targetMongoConnection.connectionString == STRING
    input.Body.properties.collectionList[_].sourceDatabase == STRING
    input.Body.properties.collectionList[_].sourceCollection == STRING
    input.Body.properties.collectionList[_].targetDatabase == STRING
    input.Body.properties.collectionList[_].targetCollection == STRING
    input.Body.properties.kind == enum_DatabaseMigrationBasePropertiesKind[_]
    input.Body.properties.scope == STRING
    input.Body.properties.migrationService == STRING
    input.Body.properties.migrationOperationId == STRING
    input.Body.properties.provisioningError == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.migrationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbRUMongo_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.migrationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.force == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbRUMongo_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.migrationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbRUMongo_GetForScope

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbvCoreMongo_Create

valid {
    input.Body.properties.sourceMongoConnection.host == STRING
    input.Body.properties.sourceMongoConnection.port == INTEGER
    input.Body.properties.sourceMongoConnection.userName == STRING
    input.Body.properties.sourceMongoConnection.password == STRING
    input.Body.properties.sourceMongoConnection.useSsl == BOOLEAN
    input.Body.properties.sourceMongoConnection.connectionString == STRING
    input.Body.properties.targetMongoConnection.host == STRING
    input.Body.properties.targetMongoConnection.port == INTEGER
    input.Body.properties.targetMongoConnection.userName == STRING
    input.Body.properties.targetMongoConnection.password == STRING
    input.Body.properties.targetMongoConnection.useSsl == BOOLEAN
    input.Body.properties.targetMongoConnection.connectionString == STRING
    input.Body.properties.collectionList[_].sourceDatabase == STRING
    input.Body.properties.collectionList[_].sourceCollection == STRING
    input.Body.properties.collectionList[_].targetDatabase == STRING
    input.Body.properties.collectionList[_].targetCollection == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.migrationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbvCoreMongo_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.migrationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.force == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbvCoreMongo_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.migrationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsMongoToCosmosDbvCoreMongo_GetForScope

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.targetResourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlDb_CreateOrUpdate

enum_DatabaseMigrationBasePropertiesKind := [ "SqlMi", "SqlVm", "SqlDb", "MongoToCosmosDbMongo" ]

valid {
    input.Body.properties.targetSqlConnection.dataSource == STRING
    input.Body.properties.targetSqlConnection.authentication == STRING
    input.Body.properties.targetSqlConnection.userName == STRING
    input.Body.properties.targetSqlConnection.password == STRING
    input.Body.properties.targetSqlConnection.encryptConnection == BOOLEAN
    input.Body.properties.targetSqlConnection.trustServerCertificate == BOOLEAN
    input.Body.properties.tableList[_] == STRING
    input.Body.properties.sourceSqlConnection.dataSource == STRING
    input.Body.properties.sourceSqlConnection.authentication == STRING
    input.Body.properties.sourceSqlConnection.userName == STRING
    input.Body.properties.sourceSqlConnection.password == STRING
    input.Body.properties.sourceSqlConnection.encryptConnection == BOOLEAN
    input.Body.properties.sourceSqlConnection.trustServerCertificate == BOOLEAN
    input.Body.properties.sourceDatabaseName == STRING
    input.Body.properties.targetDatabaseCollation == STRING
    input.Body.properties.kind == enum_DatabaseMigrationBasePropertiesKind[_]
    input.Body.properties.scope == STRING
    input.Body.properties.migrationService == STRING
    input.Body.properties.migrationOperationId == STRING
    input.Body.properties.provisioningError == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlDbInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlDb_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlDbInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.force == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlDb_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlDbInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.migrationOperationId == STRING
    input.Qs.$expand == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlDb_cancel

valid {
    input.Body.migrationOperationId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlDbInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlMi_CreateOrUpdate

valid {
    input.Body.properties.backupConfiguration.sourceLocation.fileShare.path == STRING
    input.Body.properties.backupConfiguration.sourceLocation.fileShare.username == STRING
    input.Body.properties.backupConfiguration.sourceLocation.fileShare.password == STRING
    input.Body.properties.backupConfiguration.sourceLocation.azureBlob.storageAccountResourceId == STRING
    input.Body.properties.backupConfiguration.sourceLocation.azureBlob.accountKey == STRING
    input.Body.properties.backupConfiguration.sourceLocation.azureBlob.blobContainerName == STRING
    input.Body.properties.backupConfiguration.targetLocation.storageAccountResourceId == STRING
    input.Body.properties.backupConfiguration.targetLocation.accountKey == STRING
    input.Body.properties.offlineConfiguration.offline == BOOLEAN
    input.Body.properties.offlineConfiguration.lastBackupName == STRING
    input.Body.properties.sourceSqlConnection.dataSource == STRING
    input.Body.properties.sourceSqlConnection.authentication == STRING
    input.Body.properties.sourceSqlConnection.userName == STRING
    input.Body.properties.sourceSqlConnection.password == STRING
    input.Body.properties.sourceSqlConnection.encryptConnection == BOOLEAN
    input.Body.properties.sourceSqlConnection.trustServerCertificate == BOOLEAN
    input.Body.properties.sourceDatabaseName == STRING
    input.Body.properties.targetDatabaseCollation == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.managedInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlMi_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.managedInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.migrationOperationId == STRING
    input.Qs.$expand == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlMi_cancel

valid {
    input.Body.migrationOperationId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.managedInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlMi_cutover

valid {
    input.Body.migrationOperationId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.managedInstanceName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlVm_CreateOrUpdate

valid {
    input.Body.properties.backupConfiguration.sourceLocation.fileShare.path == STRING
    input.Body.properties.backupConfiguration.sourceLocation.fileShare.username == STRING
    input.Body.properties.backupConfiguration.sourceLocation.fileShare.password == STRING
    input.Body.properties.backupConfiguration.sourceLocation.azureBlob.storageAccountResourceId == STRING
    input.Body.properties.backupConfiguration.sourceLocation.azureBlob.accountKey == STRING
    input.Body.properties.backupConfiguration.sourceLocation.azureBlob.blobContainerName == STRING
    input.Body.properties.backupConfiguration.targetLocation.storageAccountResourceId == STRING
    input.Body.properties.backupConfiguration.targetLocation.accountKey == STRING
    input.Body.properties.offlineConfiguration.offline == BOOLEAN
    input.Body.properties.offlineConfiguration.lastBackupName == STRING
    input.Body.properties.sourceSqlConnection.dataSource == STRING
    input.Body.properties.sourceSqlConnection.authentication == STRING
    input.Body.properties.sourceSqlConnection.userName == STRING
    input.Body.properties.sourceSqlConnection.password == STRING
    input.Body.properties.sourceSqlConnection.encryptConnection == BOOLEAN
    input.Body.properties.sourceSqlConnection.trustServerCertificate == BOOLEAN
    input.Body.properties.sourceDatabaseName == STRING
    input.Body.properties.targetDatabaseCollation == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlVirtualMachineName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlVm_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlVirtualMachineName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.migrationOperationId == STRING
    input.Qs.$expand == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlVm_cancel

valid {
    input.Body.migrationOperationId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlVirtualMachineName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DatabaseMigrationsSqlVm_cutover

valid {
    input.Body.migrationOperationId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlVirtualMachineName == STRING
    input.ReqMap.targetDbName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Files_CreateOrUpdate

valid {
    input.Body.etag == STRING
    input.Body.properties.extension == STRING
    input.Body.properties.filePath == STRING
    input.Body.properties.mediaType == STRING
    input.ProviderMetadata.Region == STRING
}

Files_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

Files_Get

valid {
    input.ProviderMetadata.Region == STRING
}

Files_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.projectName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Files_Read

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.projectName == STRING
    input.ReqMap.fileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Files_ReadWrite

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.projectName == STRING
    input.ReqMap.fileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Files_Update

valid {
    input.Body.etag == STRING
    input.Body.properties.extension == STRING
    input.Body.properties.filePath == STRING
    input.Body.properties.mediaType == STRING
    input.ProviderMetadata.Region == STRING
}

MigrationServices_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.migrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MigrationServices_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.migrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MigrationServices_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.migrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MigrationServices_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MigrationServices_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

MigrationServices_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.migrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MigrationServices_listMigrations

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.migrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Operations_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Projects_CreateOrUpdate

enum_ProjectSourcePlatform := [ "SQL", "MySQL", "PostgreSql", "MongoDb", "Unknown" ]
enum_ProjectTargetPlatform := [ "SQLDB", "SQLMI", "AzureDbForMySql", "AzureDbForPostgreSql", "MongoDb", "Unknown" ]

valid {
    input.Body.properties.sourcePlatform == enum_ProjectSourcePlatform[_]
    input.Body.properties.azureAuthenticationInfo.applicationId == STRING
    input.Body.properties.azureAuthenticationInfo.appKey == STRING
    input.Body.properties.azureAuthenticationInfo.tenantId == STRING
    input.Body.properties.azureAuthenticationInfo.ignoreAzurePermissions == BOOLEAN
    input.Body.properties.targetPlatform == enum_ProjectTargetPlatform[_]
    input.Body.properties.sourceConnectionInfo.type == STRING
    input.Body.properties.sourceConnectionInfo.userName == STRING
    input.Body.properties.sourceConnectionInfo.password == STRING
    input.Body.properties.targetConnectionInfo.type == STRING
    input.Body.properties.targetConnectionInfo.userName == STRING
    input.Body.properties.targetConnectionInfo.password == STRING
    input.Body.properties.databasesInfo[_].sourceDatabaseName == STRING
    input.Body.etag == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

Projects_Delete

valid {
    input.Qs.deleteRunningTasks == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

Projects_Get

valid {
    input.ProviderMetadata.Region == STRING
}

Projects_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Projects_Update

enum_ProjectSourcePlatform := [ "SQL", "MySQL", "PostgreSql", "MongoDb", "Unknown" ]
enum_ProjectTargetPlatform := [ "SQLDB", "SQLMI", "AzureDbForMySql", "AzureDbForPostgreSql", "MongoDb", "Unknown" ]

valid {
    input.Body.properties.sourcePlatform == enum_ProjectSourcePlatform[_]
    input.Body.properties.azureAuthenticationInfo.applicationId == STRING
    input.Body.properties.azureAuthenticationInfo.appKey == STRING
    input.Body.properties.azureAuthenticationInfo.tenantId == STRING
    input.Body.properties.azureAuthenticationInfo.ignoreAzurePermissions == BOOLEAN
    input.Body.properties.targetPlatform == enum_ProjectTargetPlatform[_]
    input.Body.properties.sourceConnectionInfo.type == STRING
    input.Body.properties.sourceConnectionInfo.userName == STRING
    input.Body.properties.sourceConnectionInfo.password == STRING
    input.Body.properties.targetConnectionInfo.type == STRING
    input.Body.properties.targetConnectionInfo.userName == STRING
    input.Body.properties.targetConnectionInfo.password == STRING
    input.Body.properties.databasesInfo[_].sourceDatabaseName == STRING
    input.Body.etag == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

ResourceSkus_ListSkus

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ServiceTasks_Cancel

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.taskName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ServiceTasks_CreateOrUpdate

enum_ProjectTaskPropertiesTaskType := [ "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", "ConnectToTarget.AzureDbForPostgreSql.Sync", "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", "MigrateSchemaSqlServerSqlDb" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.taskType == enum_ProjectTaskPropertiesTaskType[_]
    input.Body.properties.clientData.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

ServiceTasks_Delete

valid {
    input.Qs.deleteRunningTasks == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

ServiceTasks_Get

valid {
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
}

ServiceTasks_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.Qs.taskType == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ServiceTasks_Update

enum_ProjectTaskPropertiesTaskType := [ "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", "ConnectToTarget.AzureDbForPostgreSql.Sync", "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", "MigrateSchemaSqlServerSqlDb" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.taskType == enum_ProjectTaskPropertiesTaskType[_]
    input.Body.properties.clientData.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

Services_CheckChildrenNameAvailability

valid {
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_CheckNameAvailability

valid {
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_CheckStatus

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_CreateOrUpdate

valid {
    input.Body.etag == STRING
    input.Body.kind == STRING
    input.Body.properties.publicKey == STRING
    input.Body.properties.virtualSubnetId == STRING
    input.Body.properties.virtualNicId == STRING
    input.Body.properties.autoStopDelay == STRING
    input.Body.properties.deleteResourcesOnStop == BOOLEAN
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.family == STRING
    input.Body.sku.size == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

Services_Delete

valid {
    input.Qs.deleteRunningTasks == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

Services_Get

valid {
    input.ProviderMetadata.Region == STRING
}

Services_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_ListSkus

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_Start

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_Stop

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_Update

valid {
    input.Body.etag == STRING
    input.Body.kind == STRING
    input.Body.properties.publicKey == STRING
    input.Body.properties.virtualSubnetId == STRING
    input.Body.properties.virtualNicId == STRING
    input.Body.properties.autoStopDelay == STRING
    input.Body.properties.deleteResourcesOnStop == BOOLEAN
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.family == STRING
    input.Body.sku.size == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

SqlMigrationServices_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SqlMigrationServices_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_deleteNode

valid {
    input.Body.nodeName == STRING
    input.Body.integrationRuntimeName == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_listAuthKeys

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_listMigrations

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_listMonitoringData

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SqlMigrationServices_regenerateAuthKeys

valid {
    input.Body.keyName == STRING
    input.Body.authKey1 == STRING
    input.Body.authKey2 == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sqlMigrationServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Tasks_Cancel

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.projectName == STRING
    input.ReqMap.taskName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Tasks_Command

enum_CommandPropertiesCommandType := [ "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", "finish", "restart" ]

valid {
    input.Body.commandType == enum_CommandPropertiesCommandType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.projectName == STRING
    input.ReqMap.taskName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Tasks_CreateOrUpdate

enum_ProjectTaskPropertiesTaskType := [ "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", "ConnectToTarget.AzureDbForPostgreSql.Sync", "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", "MigrateSchemaSqlServerSqlDb" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.taskType == enum_ProjectTaskPropertiesTaskType[_]
    input.Body.properties.clientData.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

Tasks_Delete

valid {
    input.Qs.deleteRunningTasks == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

Tasks_Get

valid {
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
}

Tasks_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.projectName == STRING
    input.Qs.api-version == STRING
    input.Qs.taskType == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Tasks_Update

enum_ProjectTaskPropertiesTaskType := [ "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", "ConnectToTarget.AzureDbForPostgreSql.Sync", "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", "MigrateSchemaSqlServerSqlDb" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.taskType == enum_ProjectTaskPropertiesTaskType[_]
    input.Body.properties.clientData.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

Usages_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}