VMMIGRATION

vmmigration.projects.locations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.addGroupMigration

valid {
    input.Body.migratingVm == STRING
    input.ReqMap.group == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.create

enum_GroupMigrationTargetType := [ "MIGRATION_TARGET_TYPE_UNSPECIFIED", "MIGRATION_TARGET_TYPE_GCE", "MIGRATION_TARGET_TYPE_DISKS" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.migrationTargetType == enum_GroupMigrationTargetType[_]
    input.ReqMap.parent == STRING
    input.Qs.groupId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.patch

enum_GroupMigrationTargetType := [ "MIGRATION_TARGET_TYPE_UNSPECIFIED", "MIGRATION_TARGET_TYPE_GCE", "MIGRATION_TARGET_TYPE_DISKS" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.migrationTargetType == enum_GroupMigrationTargetType[_]
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.groups.removeGroupMigration

valid {
    input.Body.migratingVm == STRING
    input.ReqMap.group == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.create

enum_ImageImportOsAdaptationParametersLicenseType := [ "COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT", "COMPUTE_ENGINE_LICENSE_TYPE_PAYG", "COMPUTE_ENGINE_LICENSE_TYPE_BYOL" ]
enum_NetworkInterfaceNetworkTier := [ "COMPUTE_ENGINE_NETWORK_TIER_UNSPECIFIED", "NETWORK_TIER_STANDARD", "NETWORK_TIER_PREMIUM" ]
enum_ShieldedInstanceConfigSecureBoot := [ "SECURE_BOOT_UNSPECIFIED", "TRUE", "FALSE" ]

valid {
    input.Body.cloudStorageUri == STRING
    input.Body.diskImageTargetDefaults.additionalLicenses[_] == STRING
    input.Body.diskImageTargetDefaults.dataDiskImageImport.STRING == STRING
    input.Body.diskImageTargetDefaults.description == STRING
    input.Body.diskImageTargetDefaults.encryption.kmsKey == STRING
    input.Body.diskImageTargetDefaults.familyName == STRING
    input.Body.diskImageTargetDefaults.imageName == STRING
    input.Body.diskImageTargetDefaults.labels.STRING == STRING
    input.Body.diskImageTargetDefaults.osAdaptationParameters.generalize == BOOLEAN
    input.Body.diskImageTargetDefaults.osAdaptationParameters.licenseType == enum_ImageImportOsAdaptationParametersLicenseType[_]
    input.Body.diskImageTargetDefaults.singleRegionStorage == BOOLEAN
    input.Body.diskImageTargetDefaults.targetProject == STRING
    input.Body.encryption.kmsKey == STRING
    input.Body.machineImageTargetDefaults.additionalLicenses[_] == STRING
    input.Body.machineImageTargetDefaults.description == STRING
    input.Body.machineImageTargetDefaults.encryption.kmsKey == STRING
    input.Body.machineImageTargetDefaults.labels.STRING == STRING
    input.Body.machineImageTargetDefaults.machineImageName == STRING
    input.Body.machineImageTargetDefaults.machineImageParametersOverrides.machineType == STRING
    input.Body.machineImageTargetDefaults.networkInterfaces[_].externalIp == STRING
    input.Body.machineImageTargetDefaults.networkInterfaces[_].internalIp == STRING
    input.Body.machineImageTargetDefaults.networkInterfaces[_].network == STRING
    input.Body.machineImageTargetDefaults.networkInterfaces[_].networkTier == enum_NetworkInterfaceNetworkTier[_]
    input.Body.machineImageTargetDefaults.networkInterfaces[_].subnetwork == STRING
    input.Body.machineImageTargetDefaults.osAdaptationParameters.generalize == BOOLEAN
    input.Body.machineImageTargetDefaults.osAdaptationParameters.licenseType == enum_ImageImportOsAdaptationParametersLicenseType[_]
    input.Body.machineImageTargetDefaults.serviceAccount.email == STRING
    input.Body.machineImageTargetDefaults.serviceAccount.scopes[_] == STRING
    input.Body.machineImageTargetDefaults.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.machineImageTargetDefaults.shieldedInstanceConfig.enableVtpm == BOOLEAN
    input.Body.machineImageTargetDefaults.shieldedInstanceConfig.secureBoot == enum_ShieldedInstanceConfigSecureBoot[_]
    input.Body.machineImageTargetDefaults.singleRegionStorage == BOOLEAN
    input.Body.machineImageTargetDefaults.skipOsAdaptation.STRING == STRING
    input.Body.machineImageTargetDefaults.tags[_] == STRING
    input.Body.machineImageTargetDefaults.targetProject == STRING
    input.ReqMap.parent == STRING
    input.Qs.imageImportId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.imageImportJobs.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.imageImportJobs.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.imageImportJobs.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.imageImports.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.operations.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.operations.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.operations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.create

valid {
    input.Body.aws.accessKeyCreds.accessKeyId == STRING
    input.Body.aws.accessKeyCreds.secretAccessKey == STRING
    input.Body.aws.accessKeyCreds.sessionToken == STRING
    input.Body.aws.awsRegion == STRING
    input.Body.aws.inventorySecurityGroupNames[_] == STRING
    input.Body.aws.inventoryTagList[_].key == STRING
    input.Body.aws.inventoryTagList[_].value == STRING
    input.Body.aws.migrationResourcesUserTags.STRING == STRING
    input.Body.azure.azureLocation == STRING
    input.Body.azure.clientSecretCreds.clientId == STRING
    input.Body.azure.clientSecretCreds.clientSecret == STRING
    input.Body.azure.clientSecretCreds.tenantId == STRING
    input.Body.azure.migrationResourcesUserTags.STRING == STRING
    input.Body.azure.subscriptionId == STRING
    input.Body.description == STRING
    input.Body.encryption.kmsKey == STRING
    input.Body.labels.STRING == STRING
    input.Body.vmware.password == STRING
    input.Body.vmware.resolvedVcenterHost == STRING
    input.Body.vmware.thumbprint == STRING
    input.Body.vmware.username == STRING
    input.Body.vmware.vcenterIp == STRING
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.sourceId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.datacenterConnectors.create

valid {
    input.Body.registrationId == STRING
    input.Body.serviceAccount == STRING
    input.Body.version == STRING
    input.ReqMap.parent == STRING
    input.Qs.datacenterConnectorId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.datacenterConnectors.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.datacenterConnectors.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.datacenterConnectors.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.datacenterConnectors.upgradeAppliance

valid {
    input.Body.requestId == STRING
    input.ReqMap.datacenterConnector == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.fetchInventory

valid {
    input.ReqMap.source == STRING
    input.Qs.forceRefresh == BOOLEAN
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cloneJobs.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cloneJobs.create

valid {
    input.ReqMap.parent == STRING
    input.Qs.cloneJobId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cloneJobs.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cloneJobs.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.create

enum_BootDiskDefaultsDiskType := [ "COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", "COMPUTE_ENGINE_DISK_TYPE_STANDARD", "COMPUTE_ENGINE_DISK_TYPE_SSD", "COMPUTE_ENGINE_DISK_TYPE_BALANCED", "COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" ]
enum_ComputeEngineTargetDefaultsBootConversion := [ "BOOT_CONVERSION_UNSPECIFIED", "NONE", "BIOS_TO_EFI" ]
enum_ComputeEngineTargetDefaultsDiskType := [ "COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", "COMPUTE_ENGINE_DISK_TYPE_STANDARD", "COMPUTE_ENGINE_DISK_TYPE_SSD", "COMPUTE_ENGINE_DISK_TYPE_BALANCED", "COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" ]
enum_ComputeEngineTargetDefaultsLicenseType := [ "COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT", "COMPUTE_ENGINE_LICENSE_TYPE_PAYG", "COMPUTE_ENGINE_LICENSE_TYPE_BYOL" ]
enum_ComputeSchedulingOnHostMaintenance := [ "ON_HOST_MAINTENANCE_UNSPECIFIED", "TERMINATE", "MIGRATE" ]
enum_ComputeSchedulingRestartType := [ "RESTART_TYPE_UNSPECIFIED", "AUTOMATIC_RESTART", "NO_AUTOMATIC_RESTART" ]
enum_NetworkInterfaceNetworkTier := [ "COMPUTE_ENGINE_NETWORK_TIER_UNSPECIFIED", "NETWORK_TIER_STANDARD", "NETWORK_TIER_PREMIUM" ]
enum_PersistentDiskDefaultsDiskType := [ "COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", "COMPUTE_ENGINE_DISK_TYPE_STANDARD", "COMPUTE_ENGINE_DISK_TYPE_SSD", "COMPUTE_ENGINE_DISK_TYPE_BALANCED", "COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" ]
enum_SchedulingNodeAffinityOperator := [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN" ]

valid {
    input.Body.computeEngineDisksTargetDefaults.disks[_].additionalLabels.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.disks[_].diskName == STRING
    input.Body.computeEngineDisksTargetDefaults.disks[_].diskType == enum_PersistentDiskDefaultsDiskType[_]
    input.Body.computeEngineDisksTargetDefaults.disks[_].encryption.kmsKey == STRING
    input.Body.computeEngineDisksTargetDefaults.disks[_].sourceDiskNumber == INTEGER
    input.Body.computeEngineDisksTargetDefaults.disks[_].vmAttachmentDetails.deviceName == STRING
    input.Body.computeEngineDisksTargetDefaults.disksTargetDefaults.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.targetProject == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.additionalLicenses[_] == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.deviceName == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.diskName == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.diskType == enum_BootDiskDefaultsDiskType[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.encryption.kmsKey == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.image.sourceImage == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.minNodeCpus == INTEGER
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.nodeAffinities[_].key == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.nodeAffinities[_].operator == enum_SchedulingNodeAffinityOperator[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.nodeAffinities[_].values[_] == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.onHostMaintenance == enum_ComputeSchedulingOnHostMaintenance[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.restartType == enum_ComputeSchedulingRestartType[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.enableIntegrityMonitoring == BOOLEAN
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.enableVtpm == BOOLEAN
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.encryption.kmsKey == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.hostname == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.labels.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.machineType == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.machineTypeSeries == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.metadata.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].externalIp == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].internalIp == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].network == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].networkTier == enum_NetworkInterfaceNetworkTier[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].subnetwork == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkTags[_] == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.secureBoot == BOOLEAN
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.serviceAccount == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.vmName == STRING
    input.Body.computeEngineDisksTargetDefaults.zone == STRING
    input.Body.computeEngineTargetDefaults.additionalLicenses[_] == STRING
    input.Body.computeEngineTargetDefaults.bootConversion == enum_ComputeEngineTargetDefaultsBootConversion[_]
    input.Body.computeEngineTargetDefaults.computeScheduling.minNodeCpus == INTEGER
    input.Body.computeEngineTargetDefaults.computeScheduling.nodeAffinities[_].key == STRING
    input.Body.computeEngineTargetDefaults.computeScheduling.nodeAffinities[_].operator == enum_SchedulingNodeAffinityOperator[_]
    input.Body.computeEngineTargetDefaults.computeScheduling.nodeAffinities[_].values[_] == STRING
    input.Body.computeEngineTargetDefaults.computeScheduling.onHostMaintenance == enum_ComputeSchedulingOnHostMaintenance[_]
    input.Body.computeEngineTargetDefaults.computeScheduling.restartType == enum_ComputeSchedulingRestartType[_]
    input.Body.computeEngineTargetDefaults.diskType == enum_ComputeEngineTargetDefaultsDiskType[_]
    input.Body.computeEngineTargetDefaults.enableIntegrityMonitoring == BOOLEAN
    input.Body.computeEngineTargetDefaults.enableVtpm == BOOLEAN
    input.Body.computeEngineTargetDefaults.encryption.kmsKey == STRING
    input.Body.computeEngineTargetDefaults.hostname == STRING
    input.Body.computeEngineTargetDefaults.labels.STRING == STRING
    input.Body.computeEngineTargetDefaults.licenseType == enum_ComputeEngineTargetDefaultsLicenseType[_]
    input.Body.computeEngineTargetDefaults.machineType == STRING
    input.Body.computeEngineTargetDefaults.machineTypeSeries == STRING
    input.Body.computeEngineTargetDefaults.metadata.STRING == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].externalIp == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].internalIp == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].network == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].networkTier == enum_NetworkInterfaceNetworkTier[_]
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].subnetwork == STRING
    input.Body.computeEngineTargetDefaults.networkTags[_] == STRING
    input.Body.computeEngineTargetDefaults.secureBoot == BOOLEAN
    input.Body.computeEngineTargetDefaults.serviceAccount == STRING
    input.Body.computeEngineTargetDefaults.targetProject == STRING
    input.Body.computeEngineTargetDefaults.vmName == STRING
    input.Body.computeEngineTargetDefaults.zone == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.policy.idleDuration == STRING
    input.Body.policy.skipOsAdaptation == BOOLEAN
    input.Body.sourceVmId == STRING
    input.ReqMap.parent == STRING
    input.Qs.migratingVmId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cutoverJobs.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cutoverJobs.create

valid {
    input.ReqMap.parent == STRING
    input.Qs.cutoverJobId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cutoverJobs.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.cutoverJobs.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.finalizeMigration

valid {
    input.Body.STRING == STRING
    input.ReqMap.migratingVm == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.get

enum_ViewParameter := [ "MIGRATING_VM_VIEW_UNSPECIFIED", "MIGRATING_VM_VIEW_BASIC", "MIGRATING_VM_VIEW_FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.list

enum_ViewParameter := [ "MIGRATING_VM_VIEW_UNSPECIFIED", "MIGRATING_VM_VIEW_BASIC", "MIGRATING_VM_VIEW_FULL" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.patch

enum_BootDiskDefaultsDiskType := [ "COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", "COMPUTE_ENGINE_DISK_TYPE_STANDARD", "COMPUTE_ENGINE_DISK_TYPE_SSD", "COMPUTE_ENGINE_DISK_TYPE_BALANCED", "COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" ]
enum_ComputeEngineTargetDefaultsBootConversion := [ "BOOT_CONVERSION_UNSPECIFIED", "NONE", "BIOS_TO_EFI" ]
enum_ComputeEngineTargetDefaultsDiskType := [ "COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", "COMPUTE_ENGINE_DISK_TYPE_STANDARD", "COMPUTE_ENGINE_DISK_TYPE_SSD", "COMPUTE_ENGINE_DISK_TYPE_BALANCED", "COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" ]
enum_ComputeEngineTargetDefaultsLicenseType := [ "COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT", "COMPUTE_ENGINE_LICENSE_TYPE_PAYG", "COMPUTE_ENGINE_LICENSE_TYPE_BYOL" ]
enum_ComputeSchedulingOnHostMaintenance := [ "ON_HOST_MAINTENANCE_UNSPECIFIED", "TERMINATE", "MIGRATE" ]
enum_ComputeSchedulingRestartType := [ "RESTART_TYPE_UNSPECIFIED", "AUTOMATIC_RESTART", "NO_AUTOMATIC_RESTART" ]
enum_NetworkInterfaceNetworkTier := [ "COMPUTE_ENGINE_NETWORK_TIER_UNSPECIFIED", "NETWORK_TIER_STANDARD", "NETWORK_TIER_PREMIUM" ]
enum_PersistentDiskDefaultsDiskType := [ "COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED", "COMPUTE_ENGINE_DISK_TYPE_STANDARD", "COMPUTE_ENGINE_DISK_TYPE_SSD", "COMPUTE_ENGINE_DISK_TYPE_BALANCED", "COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED" ]
enum_SchedulingNodeAffinityOperator := [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN" ]

valid {
    input.Body.computeEngineDisksTargetDefaults.disks[_].additionalLabels.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.disks[_].diskName == STRING
    input.Body.computeEngineDisksTargetDefaults.disks[_].diskType == enum_PersistentDiskDefaultsDiskType[_]
    input.Body.computeEngineDisksTargetDefaults.disks[_].encryption.kmsKey == STRING
    input.Body.computeEngineDisksTargetDefaults.disks[_].sourceDiskNumber == INTEGER
    input.Body.computeEngineDisksTargetDefaults.disks[_].vmAttachmentDetails.deviceName == STRING
    input.Body.computeEngineDisksTargetDefaults.disksTargetDefaults.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.targetProject == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.additionalLicenses[_] == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.deviceName == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.diskName == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.diskType == enum_BootDiskDefaultsDiskType[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.encryption.kmsKey == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.bootDiskDefaults.image.sourceImage == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.minNodeCpus == INTEGER
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.nodeAffinities[_].key == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.nodeAffinities[_].operator == enum_SchedulingNodeAffinityOperator[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.nodeAffinities[_].values[_] == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.onHostMaintenance == enum_ComputeSchedulingOnHostMaintenance[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.computeScheduling.restartType == enum_ComputeSchedulingRestartType[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.enableIntegrityMonitoring == BOOLEAN
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.enableVtpm == BOOLEAN
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.encryption.kmsKey == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.hostname == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.labels.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.machineType == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.machineTypeSeries == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.metadata.STRING == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].externalIp == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].internalIp == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].network == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].networkTier == enum_NetworkInterfaceNetworkTier[_]
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkInterfaces[_].subnetwork == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.networkTags[_] == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.secureBoot == BOOLEAN
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.serviceAccount == STRING
    input.Body.computeEngineDisksTargetDefaults.vmTargetDefaults.vmName == STRING
    input.Body.computeEngineDisksTargetDefaults.zone == STRING
    input.Body.computeEngineTargetDefaults.additionalLicenses[_] == STRING
    input.Body.computeEngineTargetDefaults.bootConversion == enum_ComputeEngineTargetDefaultsBootConversion[_]
    input.Body.computeEngineTargetDefaults.computeScheduling.minNodeCpus == INTEGER
    input.Body.computeEngineTargetDefaults.computeScheduling.nodeAffinities[_].key == STRING
    input.Body.computeEngineTargetDefaults.computeScheduling.nodeAffinities[_].operator == enum_SchedulingNodeAffinityOperator[_]
    input.Body.computeEngineTargetDefaults.computeScheduling.nodeAffinities[_].values[_] == STRING
    input.Body.computeEngineTargetDefaults.computeScheduling.onHostMaintenance == enum_ComputeSchedulingOnHostMaintenance[_]
    input.Body.computeEngineTargetDefaults.computeScheduling.restartType == enum_ComputeSchedulingRestartType[_]
    input.Body.computeEngineTargetDefaults.diskType == enum_ComputeEngineTargetDefaultsDiskType[_]
    input.Body.computeEngineTargetDefaults.enableIntegrityMonitoring == BOOLEAN
    input.Body.computeEngineTargetDefaults.enableVtpm == BOOLEAN
    input.Body.computeEngineTargetDefaults.encryption.kmsKey == STRING
    input.Body.computeEngineTargetDefaults.hostname == STRING
    input.Body.computeEngineTargetDefaults.labels.STRING == STRING
    input.Body.computeEngineTargetDefaults.licenseType == enum_ComputeEngineTargetDefaultsLicenseType[_]
    input.Body.computeEngineTargetDefaults.machineType == STRING
    input.Body.computeEngineTargetDefaults.machineTypeSeries == STRING
    input.Body.computeEngineTargetDefaults.metadata.STRING == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].externalIp == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].internalIp == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].network == STRING
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].networkTier == enum_NetworkInterfaceNetworkTier[_]
    input.Body.computeEngineTargetDefaults.networkInterfaces[_].subnetwork == STRING
    input.Body.computeEngineTargetDefaults.networkTags[_] == STRING
    input.Body.computeEngineTargetDefaults.secureBoot == BOOLEAN
    input.Body.computeEngineTargetDefaults.serviceAccount == STRING
    input.Body.computeEngineTargetDefaults.targetProject == STRING
    input.Body.computeEngineTargetDefaults.vmName == STRING
    input.Body.computeEngineTargetDefaults.zone == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.policy.idleDuration == STRING
    input.Body.policy.skipOsAdaptation == BOOLEAN
    input.Body.sourceVmId == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.pauseMigration

valid {
    input.Body.STRING == STRING
    input.ReqMap.migratingVm == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.replicationCycles.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.replicationCycles.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.resumeMigration

valid {
    input.Body.STRING == STRING
    input.ReqMap.migratingVm == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.migratingVms.startMigration

valid {
    input.Body.STRING == STRING
    input.ReqMap.migratingVm == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.patch

valid {
    input.Body.aws.accessKeyCreds.accessKeyId == STRING
    input.Body.aws.accessKeyCreds.secretAccessKey == STRING
    input.Body.aws.accessKeyCreds.sessionToken == STRING
    input.Body.aws.awsRegion == STRING
    input.Body.aws.inventorySecurityGroupNames[_] == STRING
    input.Body.aws.inventoryTagList[_].key == STRING
    input.Body.aws.inventoryTagList[_].value == STRING
    input.Body.aws.migrationResourcesUserTags.STRING == STRING
    input.Body.azure.azureLocation == STRING
    input.Body.azure.clientSecretCreds.clientId == STRING
    input.Body.azure.clientSecretCreds.clientSecret == STRING
    input.Body.azure.clientSecretCreds.tenantId == STRING
    input.Body.azure.migrationResourcesUserTags.STRING == STRING
    input.Body.azure.subscriptionId == STRING
    input.Body.description == STRING
    input.Body.encryption.kmsKey == STRING
    input.Body.labels.STRING == STRING
    input.Body.vmware.password == STRING
    input.Body.vmware.resolvedVcenterHost == STRING
    input.Body.vmware.thumbprint == STRING
    input.Body.vmware.username == STRING
    input.Body.vmware.vcenterIp == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.utilizationReports.create

enum_UtilizationReportTimeFrame := [ "TIME_FRAME_UNSPECIFIED", "WEEK", "MONTH", "YEAR" ]
enum_VmwareVmDetailsPowerState := [ "POWER_STATE_UNSPECIFIED", "ON", "OFF", "SUSPENDED" ]

valid {
    input.Body.displayName == STRING
    input.Body.timeFrame == enum_UtilizationReportTimeFrame[_]
    input.Body.vms[_].utilization.cpuAveragePercent == INTEGER
    input.Body.vms[_].utilization.cpuMaxPercent == INTEGER
    input.Body.vms[_].utilization.diskIoRateAverageKbps == STRING
    input.Body.vms[_].utilization.diskIoRateMaxKbps == STRING
    input.Body.vms[_].utilization.memoryAveragePercent == INTEGER
    input.Body.vms[_].utilization.memoryMaxPercent == INTEGER
    input.Body.vms[_].utilization.networkThroughputAverageKbps == STRING
    input.Body.vms[_].utilization.networkThroughputMaxKbps == STRING
    input.Body.vms[_].vmId == STRING
    input.Body.vms[_].vmwareVmDetails.committedStorageMb == STRING
    input.Body.vms[_].vmwareVmDetails.cpuCount == INTEGER
    input.Body.vms[_].vmwareVmDetails.datacenterDescription == STRING
    input.Body.vms[_].vmwareVmDetails.datacenterId == STRING
    input.Body.vms[_].vmwareVmDetails.diskCount == INTEGER
    input.Body.vms[_].vmwareVmDetails.displayName == STRING
    input.Body.vms[_].vmwareVmDetails.guestDescription == STRING
    input.Body.vms[_].vmwareVmDetails.memoryMb == INTEGER
    input.Body.vms[_].vmwareVmDetails.powerState == enum_VmwareVmDetailsPowerState[_]
    input.Body.vms[_].vmwareVmDetails.uuid == STRING
    input.Body.vms[_].vmwareVmDetails.vmId == STRING
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.utilizationReportId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.utilizationReports.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.utilizationReports.get

enum_ViewParameter := [ "UTILIZATION_REPORT_VIEW_UNSPECIFIED", "BASIC", "FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.sources.utilizationReports.list

enum_ViewParameter := [ "UTILIZATION_REPORT_VIEW_UNSPECIFIED", "BASIC", "FULL" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.targetProjects.create

valid {
    input.Body.description == STRING
    input.Body.project == STRING
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.targetProjectId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.targetProjects.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.targetProjects.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.targetProjects.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

vmmigration.projects.locations.targetProjects.patch

valid {
    input.Body.description == STRING
    input.Body.project == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}