MIGRATIONCENTER

migrationcenter.projects.locations.assets.aggregateValues

valid {
    input.Body.aggregations[_].count.STRING == STRING
    input.Body.aggregations[_].field == STRING
    input.Body.aggregations[_].frequency.STRING == STRING
    input.Body.aggregations[_].histogram.lowerBounds[_] == NUMBER
    input.Body.aggregations[_].sum.STRING == STRING
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.assets.batchDelete

valid {
    input.Body.allowMissing == BOOLEAN
    input.Body.names[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.assets.batchUpdate

valid {
    input.Body.requests[_].asset.attributes.STRING == STRING
    input.Body.requests[_].asset.labels.STRING == STRING
    input.Body.requests[_].requestId == STRING
    input.Body.requests[_].updateMask == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.assets.delete

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

migrationcenter.projects.locations.assets.get

enum_ViewParameter := [ "ASSET_VIEW_UNSPECIFIED", "ASSET_VIEW_BASIC", "ASSET_VIEW_FULL" ]

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

migrationcenter.projects.locations.assets.list

enum_ViewParameter := [ "ASSET_VIEW_UNSPECIFIED", "ASSET_VIEW_BASIC", "ASSET_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
}

migrationcenter.projects.locations.assets.patch

valid {
    input.Body.attributes.STRING == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.assets.reportAssetFrames

enum_AssetFrameCollectionType := [ "SOURCE_TYPE_UNKNOWN", "SOURCE_TYPE_UPLOAD", "SOURCE_TYPE_GUEST_OS_SCAN", "SOURCE_TYPE_INVENTORY_SCAN", "SOURCE_TYPE_CUSTOM", "SOURCE_TYPE_DISCOVERY_CLIENT" ]
enum_AwsEc2PlatformDetailsHyperthreading := [ "HYPERTHREADING_STATUS_UNSPECIFIED", "HYPERTHREADING_STATUS_DISABLED", "HYPERTHREADING_STATUS_ENABLED" ]
enum_AzureVmPlatformDetailsHyperthreading := [ "HYPERTHREADING_STATUS_UNSPECIFIED", "HYPERTHREADING_STATUS_DISABLED", "HYPERTHREADING_STATUS_ENABLED" ]
enum_DiskEntryInterfaceType := [ "INTERFACE_TYPE_UNSPECIFIED", "IDE", "SATA", "SAS", "SCSI", "NVME", "FC", "ISCSI" ]
enum_GenericPlatformDetailsHyperthreading := [ "HYPERTHREADING_STATUS_UNSPECIFIED", "HYPERTHREADING_STATUS_DISABLED", "HYPERTHREADING_STATUS_ENABLED" ]
enum_GuestConfigDetailsSelinuxMode := [ "SE_LINUX_MODE_UNSPECIFIED", "SE_LINUX_MODE_DISABLED", "SE_LINUX_MODE_PERMISSIVE", "SE_LINUX_MODE_ENFORCING" ]
enum_GuestOsDetailsFamily := [ "OS_FAMILY_UNKNOWN", "OS_FAMILY_WINDOWS", "OS_FAMILY_LINUX", "OS_FAMILY_UNIX" ]
enum_MachineArchitectureDetailsFirmwareType := [ "FIRMWARE_TYPE_UNSPECIFIED", "BIOS", "EFI" ]
enum_MachineArchitectureDetailsHyperthreading := [ "CPU_HYPER_THREADING_UNSPECIFIED", "DISABLED", "ENABLED" ]
enum_MachineDetailsPowerState := [ "POWER_STATE_UNSPECIFIED", "PENDING", "ACTIVE", "SUSPENDING", "SUSPENDED", "DELETING", "DELETED" ]
enum_NetworkAddressAssignment := [ "ADDRESS_ASSIGNMENT_UNSPECIFIED", "ADDRESS_ASSIGNMENT_STATIC", "ADDRESS_ASSIGNMENT_DHCP" ]
enum_NetworkConnectionState := [ "STATE_UNSPECIFIED", "OPENING", "OPEN", "LISTEN", "CLOSING", "CLOSED" ]
enum_PhysicalPlatformDetailsHyperthreading := [ "HYPERTHREADING_STATUS_UNSPECIFIED", "HYPERTHREADING_STATUS_DISABLED", "HYPERTHREADING_STATUS_ENABLED" ]
enum_RunningServiceStartMode := [ "START_MODE_UNSPECIFIED", "BOOT", "SYSTEM", "AUTO", "MANUAL", "DISABLED" ]
enum_RunningServiceState := [ "STATE_UNSPECIFIED", "ACTIVE", "PAUSED", "STOPPED" ]
enum_VmwareDiskConfigBackingType := [ "BACKING_TYPE_UNSPECIFIED", "BACKING_TYPE_FLAT_V1", "BACKING_TYPE_FLAT_V2", "BACKING_TYPE_PMEM", "BACKING_TYPE_RDM_V1", "BACKING_TYPE_RDM_V2", "BACKING_TYPE_SESPARSE", "BACKING_TYPE_SESPARSE_V1", "BACKING_TYPE_SESPARSE_V2" ]
enum_VmwareDiskConfigRdmCompatibility := [ "RDM_COMPATIBILITY_UNSPECIFIED", "PHYSICAL_COMPATIBILITY", "VIRTUAL_COMPATIBILITY" ]
enum_VmwareDiskConfigVmdkMode := [ "VMDK_MODE_UNSPECIFIED", "DEPENDENT", "INDEPENDENT_PERSISTENT", "INDEPENDENT_NONPERSISTENT" ]
enum_VmwarePlatformDetailsEsxHyperthreading := [ "HYPERTHREADING_STATUS_UNSPECIFIED", "HYPERTHREADING_STATUS_DISABLED", "HYPERTHREADING_STATUS_ENABLED" ]

valid {
    input.Body.framesData[_].attributes.STRING == STRING
    input.Body.framesData[_].collectionType == enum_AssetFrameCollectionType[_]
    input.Body.framesData[_].labels.STRING == STRING
    input.Body.framesData[_].machineDetails.architecture.bios.biosName == STRING
    input.Body.framesData[_].machineDetails.architecture.bios.id == STRING
    input.Body.framesData[_].machineDetails.architecture.bios.manufacturer == STRING
    input.Body.framesData[_].machineDetails.architecture.bios.releaseDate.day == INTEGER
    input.Body.framesData[_].machineDetails.architecture.bios.releaseDate.month == INTEGER
    input.Body.framesData[_].machineDetails.architecture.bios.releaseDate.year == INTEGER
    input.Body.framesData[_].machineDetails.architecture.bios.smbiosUuid == STRING
    input.Body.framesData[_].machineDetails.architecture.bios.version == STRING
    input.Body.framesData[_].machineDetails.architecture.cpuArchitecture == STRING
    input.Body.framesData[_].machineDetails.architecture.cpuName == STRING
    input.Body.framesData[_].machineDetails.architecture.cpuSocketCount == INTEGER
    input.Body.framesData[_].machineDetails.architecture.cpuThreadCount == INTEGER
    input.Body.framesData[_].machineDetails.architecture.firmwareType == enum_MachineArchitectureDetailsFirmwareType[_]
    input.Body.framesData[_].machineDetails.architecture.hyperthreading == enum_MachineArchitectureDetailsHyperthreading[_]
    input.Body.framesData[_].machineDetails.architecture.vendor == STRING
    input.Body.framesData[_].machineDetails.coreCount == INTEGER
    input.Body.framesData[_].machineDetails.createTime == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].capacityBytes == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].diskLabel == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].diskLabelType == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].freeBytes == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].hwAddress == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].interfaceType == enum_DiskEntryInterfaceType[_]
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].capacityBytes == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].fileSystem == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].freeBytes == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].mountPoint == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].subPartitions == NESTED
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].type == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].partitions.entries[_].uuid == STRING
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].vmware.backingType == enum_VmwareDiskConfigBackingType[_]
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].vmware.rdmCompatibility == enum_VmwareDiskConfigRdmCompatibility[_]
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].vmware.shared == BOOLEAN
    input.Body.framesData[_].machineDetails.disks.disks.entries[_].vmware.vmdkMode == enum_VmwareDiskConfigVmdkMode[_]
    input.Body.framesData[_].machineDetails.disks.totalCapacityBytes == STRING
    input.Body.framesData[_].machineDetails.disks.totalFreeBytes == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.fstab.entries[_].file == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.fstab.entries[_].freq == INTEGER
    input.Body.framesData[_].machineDetails.guestOs.config.fstab.entries[_].mntops == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.fstab.entries[_].passno == INTEGER
    input.Body.framesData[_].machineDetails.guestOs.config.fstab.entries[_].spec == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.fstab.entries[_].vfstype == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.hosts.entries[_].hostNames[_] == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.hosts.entries[_].ip == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.issue == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.nfsExports.entries[_].exportDirectory == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.nfsExports.entries[_].hosts[_] == STRING
    input.Body.framesData[_].machineDetails.guestOs.config.selinuxMode == enum_GuestConfigDetailsSelinuxMode[_]
    input.Body.framesData[_].machineDetails.guestOs.family == enum_GuestOsDetailsFamily[_]
    input.Body.framesData[_].machineDetails.guestOs.osName == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.domain == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.installedApps.entries[_].applicationName == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.installedApps.entries[_].installTime == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.installedApps.entries[_].licenses[_] == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.installedApps.entries[_].path == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.installedApps.entries[_].vendor == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.installedApps.entries[_].version == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.lastBootTime == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.machineName == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].localIpAddress == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].localPort == INTEGER
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].pid == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].processName == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].protocol == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].remoteIpAddress == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].remotePort == INTEGER
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.connections.entries[_].state == enum_NetworkConnectionState[_]
    input.Body.framesData[_].machineDetails.guestOs.runtime.network.scanTime == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.openFileList.entries[_].command == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.openFileList.entries[_].filePath == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.openFileList.entries[_].fileType == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.openFileList.entries[_].user == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.processes.entries[_].attributes.STRING == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.processes.entries[_].cmdline == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.processes.entries[_].exePath == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.processes.entries[_].pid == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.processes.entries[_].user == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.services.entries[_].cmdline == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.services.entries[_].exePath == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.services.entries[_].pid == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.services.entries[_].serviceName == STRING
    input.Body.framesData[_].machineDetails.guestOs.runtime.services.entries[_].startMode == enum_RunningServiceStartMode[_]
    input.Body.framesData[_].machineDetails.guestOs.runtime.services.entries[_].state == enum_RunningServiceState[_]
    input.Body.framesData[_].machineDetails.guestOs.version == STRING
    input.Body.framesData[_].machineDetails.machineName == STRING
    input.Body.framesData[_].machineDetails.memoryMb == INTEGER
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].adapterType == STRING
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].addresses.entries[_].assignment == enum_NetworkAddressAssignment[_]
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].addresses.entries[_].bcast == STRING
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].addresses.entries[_].fqdn == STRING
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].addresses.entries[_].ipAddress == STRING
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].addresses.entries[_].subnetMask == STRING
    input.Body.framesData[_].machineDetails.network.adapters.entries[_].macAddress == STRING
    input.Body.framesData[_].machineDetails.network.primaryIpAddress == STRING
    input.Body.framesData[_].machineDetails.network.primaryMacAddress == STRING
    input.Body.framesData[_].machineDetails.network.publicIpAddress == STRING
    input.Body.framesData[_].machineDetails.platform.awsEc2Details.hyperthreading == enum_AwsEc2PlatformDetailsHyperthreading[_]
    input.Body.framesData[_].machineDetails.platform.awsEc2Details.location == STRING
    input.Body.framesData[_].machineDetails.platform.awsEc2Details.machineTypeLabel == STRING
    input.Body.framesData[_].machineDetails.platform.azureVmDetails.hyperthreading == enum_AzureVmPlatformDetailsHyperthreading[_]
    input.Body.framesData[_].machineDetails.platform.azureVmDetails.location == STRING
    input.Body.framesData[_].machineDetails.platform.azureVmDetails.machineTypeLabel == STRING
    input.Body.framesData[_].machineDetails.platform.azureVmDetails.provisioningState == STRING
    input.Body.framesData[_].machineDetails.platform.genericDetails.hyperthreading == enum_GenericPlatformDetailsHyperthreading[_]
    input.Body.framesData[_].machineDetails.platform.genericDetails.location == STRING
    input.Body.framesData[_].machineDetails.platform.physicalDetails.hyperthreading == enum_PhysicalPlatformDetailsHyperthreading[_]
    input.Body.framesData[_].machineDetails.platform.physicalDetails.location == STRING
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.esxHyperthreading == enum_VmwarePlatformDetailsEsxHyperthreading[_]
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.esxVersion == STRING
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.osid == STRING
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.vcenterFolder == STRING
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.vcenterUri == STRING
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.vcenterVersion == STRING
    input.Body.framesData[_].machineDetails.platform.vmwareDetails.vcenterVmId == STRING
    input.Body.framesData[_].machineDetails.powerState == enum_MachineDetailsPowerState[_]
    input.Body.framesData[_].machineDetails.uuid == STRING
    input.Body.framesData[_].performanceSamples[_].cpu.utilizedPercentage == NUMBER
    input.Body.framesData[_].performanceSamples[_].disk.averageIops == NUMBER
    input.Body.framesData[_].performanceSamples[_].memory.utilizedPercentage == NUMBER
    input.Body.framesData[_].performanceSamples[_].network.averageEgressBps == NUMBER
    input.Body.framesData[_].performanceSamples[_].network.averageIngressBps == NUMBER
    input.Body.framesData[_].performanceSamples[_].sampleTime == STRING
    input.Body.framesData[_].reportTime == STRING
    input.Body.framesData[_].traceToken == STRING
    input.ReqMap.parent == STRING
    input.Qs.source == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.assetsExportJobs.create

valid {
    input.Body.condition.filter == STRING
    input.Body.inventory.STRING == STRING
    input.Body.labels.STRING == STRING
    input.Body.networkDependencies.maxDays == INTEGER
    input.Body.performanceData.maxDays == INTEGER
    input.Body.showHidden == BOOLEAN
    input.Body.signedUriDestination.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.assetsExportJobId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.assetsExportJobs.delete

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

migrationcenter.projects.locations.assetsExportJobs.get

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

migrationcenter.projects.locations.assetsExportJobs.list

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

migrationcenter.projects.locations.assetsExportJobs.run

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

migrationcenter.projects.locations.discoveryClients.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.expireTime == STRING
    input.Body.labels.STRING == STRING
    input.Body.serviceAccount == STRING
    input.Body.source == STRING
    input.Body.ttl == STRING
    input.ReqMap.parent == STRING
    input.Qs.discoveryClientId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.discoveryClients.delete

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

migrationcenter.projects.locations.discoveryClients.get

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

migrationcenter.projects.locations.discoveryClients.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
}

migrationcenter.projects.locations.discoveryClients.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.expireTime == STRING
    input.Body.labels.STRING == STRING
    input.Body.serviceAccount == STRING
    input.Body.source == STRING
    input.Body.ttl == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.discoveryClients.sendHeartbeat

valid {
    input.Body.errors[_].code == INTEGER
    input.Body.errors[_].details[_].STRING == ANY
    input.Body.errors[_].message == STRING
    input.Body.version == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.get

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

migrationcenter.projects.locations.getSettings

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

migrationcenter.projects.locations.groups.addAssets

valid {
    input.Body.allowExisting == BOOLEAN
    input.Body.assets.assetIds[_] == STRING
    input.Body.requestId == STRING
    input.ReqMap.group == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.groups.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.groupId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.groups.delete

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

migrationcenter.projects.locations.groups.get

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

migrationcenter.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
}

migrationcenter.projects.locations.groups.patch

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

migrationcenter.projects.locations.groups.removeAssets

valid {
    input.Body.allowMissing == BOOLEAN
    input.Body.assets.assetIds[_] == STRING
    input.Body.requestId == STRING
    input.ReqMap.group == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.importJobs.create

valid {
    input.Body.assetSource == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.importJobId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.importJobs.delete

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

migrationcenter.projects.locations.importJobs.get

enum_ViewParameter := [ "IMPORT_JOB_VIEW_UNSPECIFIED", "IMPORT_JOB_VIEW_BASIC", "IMPORT_JOB_VIEW_FULL" ]

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

migrationcenter.projects.locations.importJobs.importDataFiles.create

enum_ImportDataFileFormat := [ "IMPORT_JOB_FORMAT_UNSPECIFIED", "IMPORT_JOB_FORMAT_RVTOOLS_XLSX", "IMPORT_JOB_FORMAT_RVTOOLS_CSV", "IMPORT_JOB_FORMAT_EXPORTED_AWS_CSV", "IMPORT_JOB_FORMAT_EXPORTED_AZURE_CSV", "IMPORT_JOB_FORMAT_STRATOZONE_CSV" ]

valid {
    input.Body.displayName == STRING
    input.Body.format == enum_ImportDataFileFormat[_]
    input.Body.uploadFileInfo == {}
    input.ReqMap.parent == STRING
    input.Qs.importDataFileId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.importJobs.importDataFiles.delete

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

migrationcenter.projects.locations.importJobs.importDataFiles.get

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

migrationcenter.projects.locations.importJobs.importDataFiles.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
}

migrationcenter.projects.locations.importJobs.list

enum_ViewParameter := [ "IMPORT_JOB_VIEW_UNSPECIFIED", "IMPORT_JOB_VIEW_BASIC", "IMPORT_JOB_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
}

migrationcenter.projects.locations.importJobs.patch

valid {
    input.Body.assetSource == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.importJobs.run

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

migrationcenter.projects.locations.importJobs.validate

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

migrationcenter.projects.locations.list

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

migrationcenter.projects.locations.operations.cancel

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

migrationcenter.projects.locations.operations.delete

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

migrationcenter.projects.locations.operations.get

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

migrationcenter.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
}

migrationcenter.projects.locations.preferenceSets.create

enum_ComputeEnginePreferencesLicenseType := [ "LICENSE_TYPE_UNSPECIFIED", "LICENSE_TYPE_DEFAULT", "LICENSE_TYPE_BRING_YOUR_OWN_LICENSE" ]
enum_ComputeEnginePreferencesPersistentDiskType := [ "PERSISTENT_DISK_TYPE_UNSPECIFIED", "PERSISTENT_DISK_TYPE_STANDARD", "PERSISTENT_DISK_TYPE_BALANCED", "PERSISTENT_DISK_TYPE_SSD" ]
enum_SoleTenancyPreferencesCommitmentPlan := [ "COMMITMENT_PLAN_UNSPECIFIED", "ON_DEMAND", "COMMITMENT_1_YEAR", "COMMITMENT_3_YEAR" ]
enum_SoleTenancyPreferencesHostMaintenancePolicy := [ "HOST_MAINTENANCE_POLICY_UNSPECIFIED", "HOST_MAINTENANCE_POLICY_DEFAULT", "HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE", "HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP" ]
enum_VirtualMachinePreferencesCommitmentPlan := [ "COMMITMENT_PLAN_UNSPECIFIED", "COMMITMENT_PLAN_NONE", "COMMITMENT_PLAN_ONE_YEAR", "COMMITMENT_PLAN_THREE_YEARS" ]
enum_VirtualMachinePreferencesSizingOptimizationStrategy := [ "SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED", "SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE", "SIZING_OPTIMIZATION_STRATEGY_MODERATE", "SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE" ]
enum_VirtualMachinePreferencesTargetProduct := [ "COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED", "COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE", "COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE", "COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY" ]
enum_VmwareEnginePreferencesCommitmentPlan := [ "COMMITMENT_PLAN_UNSPECIFIED", "ON_DEMAND", "COMMITMENT_1_YEAR_MONTHLY_PAYMENTS", "COMMITMENT_3_YEAR_MONTHLY_PAYMENTS", "COMMITMENT_1_YEAR_UPFRONT_PAYMENT", "COMMITMENT_3_YEAR_UPFRONT_PAYMENT" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.virtualMachinePreferences.commitmentPlan == enum_VirtualMachinePreferencesCommitmentPlan[_]
    input.Body.virtualMachinePreferences.computeEnginePreferences.licenseType == enum_ComputeEnginePreferencesLicenseType[_]
    input.Body.virtualMachinePreferences.computeEnginePreferences.machinePreferences.allowedMachineSeries[_].code == STRING
    input.Body.virtualMachinePreferences.computeEnginePreferences.persistentDiskType == enum_ComputeEnginePreferencesPersistentDiskType[_]
    input.Body.virtualMachinePreferences.regionPreferences.preferredRegions[_] == STRING
    input.Body.virtualMachinePreferences.sizingOptimizationStrategy == enum_VirtualMachinePreferencesSizingOptimizationStrategy[_]
    input.Body.virtualMachinePreferences.soleTenancyPreferences.commitmentPlan == enum_SoleTenancyPreferencesCommitmentPlan[_]
    input.Body.virtualMachinePreferences.soleTenancyPreferences.cpuOvercommitRatio == NUMBER
    input.Body.virtualMachinePreferences.soleTenancyPreferences.hostMaintenancePolicy == enum_SoleTenancyPreferencesHostMaintenancePolicy[_]
    input.Body.virtualMachinePreferences.soleTenancyPreferences.nodeTypes[_].nodeName == STRING
    input.Body.virtualMachinePreferences.targetProduct == enum_VirtualMachinePreferencesTargetProduct[_]
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.commitmentPlan == enum_VmwareEnginePreferencesCommitmentPlan[_]
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.cpuOvercommitRatio == NUMBER
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.memoryOvercommitRatio == NUMBER
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.storageDeduplicationCompressionRatio == NUMBER
    input.ReqMap.parent == STRING
    input.Qs.preferenceSetId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.preferenceSets.delete

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

migrationcenter.projects.locations.preferenceSets.get

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

migrationcenter.projects.locations.preferenceSets.list

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

migrationcenter.projects.locations.preferenceSets.patch

enum_ComputeEnginePreferencesLicenseType := [ "LICENSE_TYPE_UNSPECIFIED", "LICENSE_TYPE_DEFAULT", "LICENSE_TYPE_BRING_YOUR_OWN_LICENSE" ]
enum_ComputeEnginePreferencesPersistentDiskType := [ "PERSISTENT_DISK_TYPE_UNSPECIFIED", "PERSISTENT_DISK_TYPE_STANDARD", "PERSISTENT_DISK_TYPE_BALANCED", "PERSISTENT_DISK_TYPE_SSD" ]
enum_SoleTenancyPreferencesCommitmentPlan := [ "COMMITMENT_PLAN_UNSPECIFIED", "ON_DEMAND", "COMMITMENT_1_YEAR", "COMMITMENT_3_YEAR" ]
enum_SoleTenancyPreferencesHostMaintenancePolicy := [ "HOST_MAINTENANCE_POLICY_UNSPECIFIED", "HOST_MAINTENANCE_POLICY_DEFAULT", "HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE", "HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP" ]
enum_VirtualMachinePreferencesCommitmentPlan := [ "COMMITMENT_PLAN_UNSPECIFIED", "COMMITMENT_PLAN_NONE", "COMMITMENT_PLAN_ONE_YEAR", "COMMITMENT_PLAN_THREE_YEARS" ]
enum_VirtualMachinePreferencesSizingOptimizationStrategy := [ "SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED", "SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE", "SIZING_OPTIMIZATION_STRATEGY_MODERATE", "SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE" ]
enum_VirtualMachinePreferencesTargetProduct := [ "COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED", "COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE", "COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE", "COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY" ]
enum_VmwareEnginePreferencesCommitmentPlan := [ "COMMITMENT_PLAN_UNSPECIFIED", "ON_DEMAND", "COMMITMENT_1_YEAR_MONTHLY_PAYMENTS", "COMMITMENT_3_YEAR_MONTHLY_PAYMENTS", "COMMITMENT_1_YEAR_UPFRONT_PAYMENT", "COMMITMENT_3_YEAR_UPFRONT_PAYMENT" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.virtualMachinePreferences.commitmentPlan == enum_VirtualMachinePreferencesCommitmentPlan[_]
    input.Body.virtualMachinePreferences.computeEnginePreferences.licenseType == enum_ComputeEnginePreferencesLicenseType[_]
    input.Body.virtualMachinePreferences.computeEnginePreferences.machinePreferences.allowedMachineSeries[_].code == STRING
    input.Body.virtualMachinePreferences.computeEnginePreferences.persistentDiskType == enum_ComputeEnginePreferencesPersistentDiskType[_]
    input.Body.virtualMachinePreferences.regionPreferences.preferredRegions[_] == STRING
    input.Body.virtualMachinePreferences.sizingOptimizationStrategy == enum_VirtualMachinePreferencesSizingOptimizationStrategy[_]
    input.Body.virtualMachinePreferences.soleTenancyPreferences.commitmentPlan == enum_SoleTenancyPreferencesCommitmentPlan[_]
    input.Body.virtualMachinePreferences.soleTenancyPreferences.cpuOvercommitRatio == NUMBER
    input.Body.virtualMachinePreferences.soleTenancyPreferences.hostMaintenancePolicy == enum_SoleTenancyPreferencesHostMaintenancePolicy[_]
    input.Body.virtualMachinePreferences.soleTenancyPreferences.nodeTypes[_].nodeName == STRING
    input.Body.virtualMachinePreferences.targetProduct == enum_VirtualMachinePreferencesTargetProduct[_]
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.commitmentPlan == enum_VmwareEnginePreferencesCommitmentPlan[_]
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.cpuOvercommitRatio == NUMBER
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.memoryOvercommitRatio == NUMBER
    input.Body.virtualMachinePreferences.vmwareEnginePreferences.storageDeduplicationCompressionRatio == NUMBER
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.relations.get

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

migrationcenter.projects.locations.relations.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
}

migrationcenter.projects.locations.reportConfigs.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.groupPreferencesetAssignments[_].group == STRING
    input.Body.groupPreferencesetAssignments[_].preferenceSet == STRING
    input.ReqMap.parent == STRING
    input.Qs.reportConfigId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.reportConfigs.delete

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

migrationcenter.projects.locations.reportConfigs.get

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

migrationcenter.projects.locations.reportConfigs.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
}

migrationcenter.projects.locations.reportConfigs.reports.create

enum_ReportState := [ "STATE_UNSPECIFIED", "PENDING", "SUCCEEDED", "FAILED" ]
enum_ReportType := [ "TYPE_UNSPECIFIED", "TOTAL_COST_OF_OWNERSHIP" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.state == enum_ReportState[_]
    input.Body.type == enum_ReportType[_]
    input.ReqMap.parent == STRING
    input.Qs.reportId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.reportConfigs.reports.delete

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

migrationcenter.projects.locations.reportConfigs.reports.get

enum_ViewParameter := [ "REPORT_VIEW_UNSPECIFIED", "REPORT_VIEW_BASIC", "REPORT_VIEW_FULL", "REPORT_VIEW_STANDARD" ]

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

migrationcenter.projects.locations.reportConfigs.reports.list

enum_ViewParameter := [ "REPORT_VIEW_UNSPECIFIED", "REPORT_VIEW_BASIC", "REPORT_VIEW_FULL", "REPORT_VIEW_STANDARD" ]

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
}

migrationcenter.projects.locations.sources.create

enum_SourceType := [ "SOURCE_TYPE_UNKNOWN", "SOURCE_TYPE_UPLOAD", "SOURCE_TYPE_GUEST_OS_SCAN", "SOURCE_TYPE_INVENTORY_SCAN", "SOURCE_TYPE_CUSTOM", "SOURCE_TYPE_DISCOVERY_CLIENT" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.managed == BOOLEAN
    input.Body.priority == INTEGER
    input.Body.type == enum_SourceType[_]
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.sourceId == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.sources.delete

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

migrationcenter.projects.locations.sources.errorFrames.get

enum_ViewParameter := [ "ERROR_FRAME_VIEW_UNSPECIFIED", "ERROR_FRAME_VIEW_BASIC", "ERROR_FRAME_VIEW_FULL" ]

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

migrationcenter.projects.locations.sources.errorFrames.list

enum_ViewParameter := [ "ERROR_FRAME_VIEW_UNSPECIFIED", "ERROR_FRAME_VIEW_BASIC", "ERROR_FRAME_VIEW_FULL" ]

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

migrationcenter.projects.locations.sources.get

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

migrationcenter.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
}

migrationcenter.projects.locations.sources.patch

enum_SourceType := [ "SOURCE_TYPE_UNKNOWN", "SOURCE_TYPE_UPLOAD", "SOURCE_TYPE_GUEST_OS_SCAN", "SOURCE_TYPE_INVENTORY_SCAN", "SOURCE_TYPE_CUSTOM", "SOURCE_TYPE_DISCOVERY_CLIENT" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.managed == BOOLEAN
    input.Body.priority == INTEGER
    input.Body.type == enum_SourceType[_]
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

migrationcenter.projects.locations.updateSettings

valid {
    input.Body.disableCloudLogging == BOOLEAN
    input.Body.preferenceSet == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}