osconfig.projects.guestPolicies.create

enum_AptRepositoryArchiveType := [ "ARCHIVE_TYPE_UNSPECIFIED", "DEB", "DEB_SRC" ]
enum_PackageDesiredState := [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", "UPDATED", "REMOVED" ]
enum_PackageManager := [ "MANAGER_UNSPECIFIED", "ANY", "APT", "YUM", "ZYPPER", "GOO" ]
enum_SoftwareRecipeDesiredState := [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", "UPDATED", "REMOVED" ]
enum_SoftwareRecipeStepExtractArchiveType := [ "ARCHIVE_TYPE_UNSPECIFIED", "TAR", "TAR_GZIP", "TAR_BZIP", "TAR_LZMA", "TAR_XZ", "ZIP" ]
enum_SoftwareRecipeStepRunScriptInterpreter := [ "INTERPRETER_UNSPECIFIED", "SHELL", "POWERSHELL" ]

valid {
    input.Body.assignment.groupLabels[_].labels.STRING == STRING
    input.Body.assignment.instanceNamePrefixes[_] == STRING
    input.Body.assignment.instances[_] == STRING
    input.Body.assignment.osTypes[_].osArchitecture == STRING
    input.Body.assignment.osTypes[_].osShortName == STRING
    input.Body.assignment.osTypes[_].osVersion == STRING
    input.Body.assignment.zones[_] == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.packageRepositories[_].apt.archiveType == enum_AptRepositoryArchiveType[_]
    input.Body.packageRepositories[_].apt.components[_] == STRING
    input.Body.packageRepositories[_].apt.distribution == STRING
    input.Body.packageRepositories[_].apt.gpgKey == STRING
    input.Body.packageRepositories[_].apt.uri == STRING
    input.Body.packageRepositories[_].goo.name == STRING
    input.Body.packageRepositories[_].goo.url == STRING
    input.Body.packageRepositories[_].yum.baseUrl == STRING
    input.Body.packageRepositories[_].yum.displayName == STRING
    input.Body.packageRepositories[_].yum.gpgKeys[_] == STRING
    input.Body.packageRepositories[_].yum.id == STRING
    input.Body.packageRepositories[_].zypper.baseUrl == STRING
    input.Body.packageRepositories[_].zypper.displayName == STRING
    input.Body.packageRepositories[_].zypper.gpgKeys[_] == STRING
    input.Body.packageRepositories[_].zypper.id == STRING
    input.Body.packages[_].desiredState == enum_PackageDesiredState[_]
    input.Body.packages[_].manager == enum_PackageManager[_]
    input.Body.packages[_].name == STRING
    input.Body.recipes[_].artifacts[_].allowInsecure == BOOLEAN
    input.Body.recipes[_].artifacts[_].gcs.bucket == STRING
    input.Body.recipes[_].artifacts[_].gcs.generation == STRING
    input.Body.recipes[_].artifacts[_].gcs.object == STRING
    input.Body.recipes[_].artifacts[_].id == STRING
    input.Body.recipes[_].artifacts[_].remote.checksum == STRING
    input.Body.recipes[_].artifacts[_].remote.uri == STRING
    input.Body.recipes[_].desiredState == enum_SoftwareRecipeDesiredState[_]
    input.Body.recipes[_].installSteps[_].archiveExtraction.artifactId == STRING
    input.Body.recipes[_].installSteps[_].archiveExtraction.destination == STRING
    input.Body.recipes[_].installSteps[_].archiveExtraction.type == enum_SoftwareRecipeStepExtractArchiveType[_]
    input.Body.recipes[_].installSteps[_].dpkgInstallation.artifactId == STRING
    input.Body.recipes[_].installSteps[_].fileCopy.artifactId == STRING
    input.Body.recipes[_].installSteps[_].fileCopy.destination == STRING
    input.Body.recipes[_].installSteps[_].fileCopy.overwrite == BOOLEAN
    input.Body.recipes[_].installSteps[_].fileCopy.permissions == STRING
    input.Body.recipes[_].installSteps[_].fileExec.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].installSteps[_].fileExec.args[_] == STRING
    input.Body.recipes[_].installSteps[_].fileExec.artifactId == STRING
    input.Body.recipes[_].installSteps[_].fileExec.localPath == STRING
    input.Body.recipes[_].installSteps[_].msiInstallation.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].installSteps[_].msiInstallation.artifactId == STRING
    input.Body.recipes[_].installSteps[_].msiInstallation.flags[_] == STRING
    input.Body.recipes[_].installSteps[_].rpmInstallation.artifactId == STRING
    input.Body.recipes[_].installSteps[_].scriptRun.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].installSteps[_].scriptRun.interpreter == enum_SoftwareRecipeStepRunScriptInterpreter[_]
    input.Body.recipes[_].installSteps[_].scriptRun.script == STRING
    input.Body.recipes[_].name == STRING
    input.Body.recipes[_].updateSteps[_].archiveExtraction.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].archiveExtraction.destination == STRING
    input.Body.recipes[_].updateSteps[_].archiveExtraction.type == enum_SoftwareRecipeStepExtractArchiveType[_]
    input.Body.recipes[_].updateSteps[_].dpkgInstallation.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].fileCopy.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].fileCopy.destination == STRING
    input.Body.recipes[_].updateSteps[_].fileCopy.overwrite == BOOLEAN
    input.Body.recipes[_].updateSteps[_].fileCopy.permissions == STRING
    input.Body.recipes[_].updateSteps[_].fileExec.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].updateSteps[_].fileExec.args[_] == STRING
    input.Body.recipes[_].updateSteps[_].fileExec.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].fileExec.localPath == STRING
    input.Body.recipes[_].updateSteps[_].msiInstallation.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].updateSteps[_].msiInstallation.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].msiInstallation.flags[_] == STRING
    input.Body.recipes[_].updateSteps[_].rpmInstallation.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].scriptRun.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].updateSteps[_].scriptRun.interpreter == enum_SoftwareRecipeStepRunScriptInterpreter[_]
    input.Body.recipes[_].updateSteps[_].scriptRun.script == STRING
    input.Body.recipes[_].version == STRING
    input.ReqMap.parent == STRING
    input.Qs.guestPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.guestPolicies.delete

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

osconfig.projects.guestPolicies.get

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

osconfig.projects.guestPolicies.list

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

osconfig.projects.guestPolicies.patch

enum_AptRepositoryArchiveType := [ "ARCHIVE_TYPE_UNSPECIFIED", "DEB", "DEB_SRC" ]
enum_PackageDesiredState := [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", "UPDATED", "REMOVED" ]
enum_PackageManager := [ "MANAGER_UNSPECIFIED", "ANY", "APT", "YUM", "ZYPPER", "GOO" ]
enum_SoftwareRecipeDesiredState := [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", "UPDATED", "REMOVED" ]
enum_SoftwareRecipeStepExtractArchiveType := [ "ARCHIVE_TYPE_UNSPECIFIED", "TAR", "TAR_GZIP", "TAR_BZIP", "TAR_LZMA", "TAR_XZ", "ZIP" ]
enum_SoftwareRecipeStepRunScriptInterpreter := [ "INTERPRETER_UNSPECIFIED", "SHELL", "POWERSHELL" ]

valid {
    input.Body.assignment.groupLabels[_].labels.STRING == STRING
    input.Body.assignment.instanceNamePrefixes[_] == STRING
    input.Body.assignment.instances[_] == STRING
    input.Body.assignment.osTypes[_].osArchitecture == STRING
    input.Body.assignment.osTypes[_].osShortName == STRING
    input.Body.assignment.osTypes[_].osVersion == STRING
    input.Body.assignment.zones[_] == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.packageRepositories[_].apt.archiveType == enum_AptRepositoryArchiveType[_]
    input.Body.packageRepositories[_].apt.components[_] == STRING
    input.Body.packageRepositories[_].apt.distribution == STRING
    input.Body.packageRepositories[_].apt.gpgKey == STRING
    input.Body.packageRepositories[_].apt.uri == STRING
    input.Body.packageRepositories[_].goo.name == STRING
    input.Body.packageRepositories[_].goo.url == STRING
    input.Body.packageRepositories[_].yum.baseUrl == STRING
    input.Body.packageRepositories[_].yum.displayName == STRING
    input.Body.packageRepositories[_].yum.gpgKeys[_] == STRING
    input.Body.packageRepositories[_].yum.id == STRING
    input.Body.packageRepositories[_].zypper.baseUrl == STRING
    input.Body.packageRepositories[_].zypper.displayName == STRING
    input.Body.packageRepositories[_].zypper.gpgKeys[_] == STRING
    input.Body.packageRepositories[_].zypper.id == STRING
    input.Body.packages[_].desiredState == enum_PackageDesiredState[_]
    input.Body.packages[_].manager == enum_PackageManager[_]
    input.Body.packages[_].name == STRING
    input.Body.recipes[_].artifacts[_].allowInsecure == BOOLEAN
    input.Body.recipes[_].artifacts[_].gcs.bucket == STRING
    input.Body.recipes[_].artifacts[_].gcs.generation == STRING
    input.Body.recipes[_].artifacts[_].gcs.object == STRING
    input.Body.recipes[_].artifacts[_].id == STRING
    input.Body.recipes[_].artifacts[_].remote.checksum == STRING
    input.Body.recipes[_].artifacts[_].remote.uri == STRING
    input.Body.recipes[_].desiredState == enum_SoftwareRecipeDesiredState[_]
    input.Body.recipes[_].installSteps[_].archiveExtraction.artifactId == STRING
    input.Body.recipes[_].installSteps[_].archiveExtraction.destination == STRING
    input.Body.recipes[_].installSteps[_].archiveExtraction.type == enum_SoftwareRecipeStepExtractArchiveType[_]
    input.Body.recipes[_].installSteps[_].dpkgInstallation.artifactId == STRING
    input.Body.recipes[_].installSteps[_].fileCopy.artifactId == STRING
    input.Body.recipes[_].installSteps[_].fileCopy.destination == STRING
    input.Body.recipes[_].installSteps[_].fileCopy.overwrite == BOOLEAN
    input.Body.recipes[_].installSteps[_].fileCopy.permissions == STRING
    input.Body.recipes[_].installSteps[_].fileExec.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].installSteps[_].fileExec.args[_] == STRING
    input.Body.recipes[_].installSteps[_].fileExec.artifactId == STRING
    input.Body.recipes[_].installSteps[_].fileExec.localPath == STRING
    input.Body.recipes[_].installSteps[_].msiInstallation.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].installSteps[_].msiInstallation.artifactId == STRING
    input.Body.recipes[_].installSteps[_].msiInstallation.flags[_] == STRING
    input.Body.recipes[_].installSteps[_].rpmInstallation.artifactId == STRING
    input.Body.recipes[_].installSteps[_].scriptRun.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].installSteps[_].scriptRun.interpreter == enum_SoftwareRecipeStepRunScriptInterpreter[_]
    input.Body.recipes[_].installSteps[_].scriptRun.script == STRING
    input.Body.recipes[_].name == STRING
    input.Body.recipes[_].updateSteps[_].archiveExtraction.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].archiveExtraction.destination == STRING
    input.Body.recipes[_].updateSteps[_].archiveExtraction.type == enum_SoftwareRecipeStepExtractArchiveType[_]
    input.Body.recipes[_].updateSteps[_].dpkgInstallation.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].fileCopy.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].fileCopy.destination == STRING
    input.Body.recipes[_].updateSteps[_].fileCopy.overwrite == BOOLEAN
    input.Body.recipes[_].updateSteps[_].fileCopy.permissions == STRING
    input.Body.recipes[_].updateSteps[_].fileExec.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].updateSteps[_].fileExec.args[_] == STRING
    input.Body.recipes[_].updateSteps[_].fileExec.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].fileExec.localPath == STRING
    input.Body.recipes[_].updateSteps[_].msiInstallation.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].updateSteps[_].msiInstallation.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].msiInstallation.flags[_] == STRING
    input.Body.recipes[_].updateSteps[_].rpmInstallation.artifactId == STRING
    input.Body.recipes[_].updateSteps[_].scriptRun.allowedExitCodes[_] == INTEGER
    input.Body.recipes[_].updateSteps[_].scriptRun.interpreter == enum_SoftwareRecipeStepRunScriptInterpreter[_]
    input.Body.recipes[_].updateSteps[_].scriptRun.script == STRING
    input.Body.recipes[_].version == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.locations.global.getProjectFeatureSettings

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

osconfig.projects.locations.global.updateProjectFeatureSettings

enum_ProjectFeatureSettingsPatchAndConfigFeatureSet := [ "PATCH_AND_CONFIG_FEATURE_SET_UNSPECIFIED", "OSCONFIG_B", "OSCONFIG_C" ]

valid {
    input.Body.name == STRING
    input.Body.patchAndConfigFeatureSet == enum_ProjectFeatureSettingsPatchAndConfigFeatureSet[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.locations.instanceOSPoliciesCompliances.get

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

osconfig.projects.locations.instanceOSPoliciesCompliances.list

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

osconfig.projects.locations.instances.inventories.get

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

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

osconfig.projects.locations.instances.inventories.list

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

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

osconfig.projects.locations.instances.osPolicyAssignments.reports.get

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

osconfig.projects.locations.instances.osPolicyAssignments.reports.list

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

osconfig.projects.locations.instances.vulnerabilityReports.get

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

osconfig.projects.locations.instances.vulnerabilityReports.list

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

osconfig.projects.locations.osPolicyAssignments.create

enum_OSPolicyMode := [ "MODE_UNSPECIFIED", "VALIDATION", "ENFORCEMENT" ]
enum_OSPolicyResourceExecResourceExecInterpreter := [ "INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL" ]
enum_OSPolicyResourceFileResourceState := [ "DESIRED_STATE_UNSPECIFIED", "PRESENT", "ABSENT", "CONTENTS_MATCH" ]
enum_OSPolicyResourcePackageResourceDesiredState := [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", "REMOVED" ]
enum_OSPolicyResourceRepositoryResourceAptRepositoryArchiveType := [ "ARCHIVE_TYPE_UNSPECIFIED", "DEB", "DEB_SRC" ]

valid {
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.instanceFilter.all == BOOLEAN
    input.Body.instanceFilter.exclusionLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.inclusionLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.inventories[_].osShortName == STRING
    input.Body.instanceFilter.inventories[_].osVersion == STRING
    input.Body.name == STRING
    input.Body.osPolicies[_].allowNoResourceGroupMatch == BOOLEAN
    input.Body.osPolicies[_].description == STRING
    input.Body.osPolicies[_].id == STRING
    input.Body.osPolicies[_].mode == enum_OSPolicyMode[_]
    input.Body.osPolicies[_].resourceGroups[_].inventoryFilters[_].osShortName == STRING
    input.Body.osPolicies[_].resourceGroups[_].inventoryFilters[_].osVersion == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.args[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.interpreter == enum_OSPolicyResourceExecResourceExecInterpreter[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.outputFilePath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.script == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.args[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.interpreter == enum_OSPolicyResourceExecResourceExecInterpreter[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.outputFilePath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.script == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.content == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.path == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.permissions == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.state == enum_OSPolicyResourceFileResourceState[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].id == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.apt.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.pullDeps == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.desiredState == enum_OSPolicyResourcePackageResourceDesiredState[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.googet.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.properties[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.pullDeps == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.yum.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.zypper.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.archiveType == enum_OSPolicyResourceRepositoryResourceAptRepositoryArchiveType[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.components[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.distribution == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.gpgKey == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.goo.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.goo.url == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.baseUrl == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.displayName == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.gpgKeys[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.id == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.baseUrl == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.displayName == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.gpgKeys[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.id == STRING
    input.Body.rollout.disruptionBudget.fixed == INTEGER
    input.Body.rollout.disruptionBudget.percent == INTEGER
    input.Body.rollout.minWaitDuration == STRING
    input.ReqMap.parent == STRING
    input.Qs.osPolicyAssignmentId == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.locations.osPolicyAssignments.delete

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

osconfig.projects.locations.osPolicyAssignments.get

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

osconfig.projects.locations.osPolicyAssignments.list

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

osconfig.projects.locations.osPolicyAssignments.listRevisions

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

osconfig.projects.locations.osPolicyAssignments.operations.cancel

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

osconfig.projects.locations.osPolicyAssignments.operations.get

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

osconfig.projects.locations.osPolicyAssignments.patch

enum_OSPolicyMode := [ "MODE_UNSPECIFIED", "VALIDATION", "ENFORCEMENT" ]
enum_OSPolicyResourceExecResourceExecInterpreter := [ "INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL" ]
enum_OSPolicyResourceFileResourceState := [ "DESIRED_STATE_UNSPECIFIED", "PRESENT", "ABSENT", "CONTENTS_MATCH" ]
enum_OSPolicyResourcePackageResourceDesiredState := [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", "REMOVED" ]
enum_OSPolicyResourceRepositoryResourceAptRepositoryArchiveType := [ "ARCHIVE_TYPE_UNSPECIFIED", "DEB", "DEB_SRC" ]

valid {
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.instanceFilter.all == BOOLEAN
    input.Body.instanceFilter.exclusionLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.inclusionLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.inventories[_].osShortName == STRING
    input.Body.instanceFilter.inventories[_].osVersion == STRING
    input.Body.name == STRING
    input.Body.osPolicies[_].allowNoResourceGroupMatch == BOOLEAN
    input.Body.osPolicies[_].description == STRING
    input.Body.osPolicies[_].id == STRING
    input.Body.osPolicies[_].mode == enum_OSPolicyMode[_]
    input.Body.osPolicies[_].resourceGroups[_].inventoryFilters[_].osShortName == STRING
    input.Body.osPolicies[_].resourceGroups[_].inventoryFilters[_].osVersion == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.args[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.file.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.interpreter == enum_OSPolicyResourceExecResourceExecInterpreter[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.outputFilePath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.enforce.script == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.args[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.file.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.interpreter == enum_OSPolicyResourceExecResourceExecInterpreter[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.outputFilePath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].exec.validate.script == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.content == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.file.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.path == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.permissions == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].file.state == enum_OSPolicyResourceFileResourceState[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].id == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.apt.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.pullDeps == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.deb.source.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.desiredState == enum_OSPolicyResourcePackageResourceDesiredState[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.googet.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.properties[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.msi.source.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.pullDeps == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.allowInsecure == BOOLEAN
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.gcs.bucket == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.gcs.generation == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.gcs.object == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.localPath == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.remote.sha256Checksum == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.rpm.source.remote.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.yum.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].pkg.zypper.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.archiveType == enum_OSPolicyResourceRepositoryResourceAptRepositoryArchiveType[_]
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.components[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.distribution == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.gpgKey == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.apt.uri == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.goo.name == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.goo.url == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.baseUrl == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.displayName == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.gpgKeys[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.yum.id == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.baseUrl == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.displayName == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.gpgKeys[_] == STRING
    input.Body.osPolicies[_].resourceGroups[_].resources[_].repository.zypper.id == STRING
    input.Body.rollout.disruptionBudget.fixed == INTEGER
    input.Body.rollout.disruptionBudget.percent == INTEGER
    input.Body.rollout.minWaitDuration == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.patchDeployments.create

enum_AptSettingsType := [ "TYPE_UNSPECIFIED", "DIST", "UPGRADE" ]
enum_ExecStepConfigInterpreter := [ "INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL" ]
enum_PatchConfigRebootConfig := [ "REBOOT_CONFIG_UNSPECIFIED", "DEFAULT", "ALWAYS", "NEVER" ]
enum_PatchRolloutMode := [ "MODE_UNSPECIFIED", "ZONE_BY_ZONE", "CONCURRENT_ZONES" ]
enum_RecurringScheduleFrequency := [ "FREQUENCY_UNSPECIFIED", "WEEKLY", "MONTHLY", "DAILY" ]
enum_WeekDayOfMonthDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_WeeklyScheduleDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_WindowsUpdateSettingsClassifications := [ "CLASSIFICATION_UNSPECIFIED", "CRITICAL", "SECURITY", "DEFINITION", "DRIVER", "FEATURE_PACK", "SERVICE_PACK", "TOOL", "UPDATE_ROLLUP", "UPDATE" ]

valid {
    input.Body.description == STRING
    input.Body.duration == STRING
    input.Body.instanceFilter.all == BOOLEAN
    input.Body.instanceFilter.groupLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.instanceNamePrefixes[_] == STRING
    input.Body.instanceFilter.instances[_] == STRING
    input.Body.instanceFilter.zones[_] == STRING
    input.Body.name == STRING
    input.Body.oneTimeSchedule.executeTime == STRING
    input.Body.patchConfig.apt.excludes[_] == STRING
    input.Body.patchConfig.apt.exclusivePackages[_] == STRING
    input.Body.patchConfig.apt.type == enum_AptSettingsType[_]
    input.Body.patchConfig.goo.STRING == STRING
    input.Body.patchConfig.migInstancesAllowed == BOOLEAN
    input.Body.patchConfig.postStep.linuxExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.postStep.linuxExecStepConfig.localPath == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.postStep.windowsExecStepConfig.localPath == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.preStep.linuxExecStepConfig.localPath == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.preStep.windowsExecStepConfig.localPath == STRING
    input.Body.patchConfig.rebootConfig == enum_PatchConfigRebootConfig[_]
    input.Body.patchConfig.windowsUpdate.classifications[_] == enum_WindowsUpdateSettingsClassifications[_]
    input.Body.patchConfig.windowsUpdate.excludes[_] == STRING
    input.Body.patchConfig.windowsUpdate.exclusivePatches[_] == STRING
    input.Body.patchConfig.yum.excludes[_] == STRING
    input.Body.patchConfig.yum.exclusivePackages[_] == STRING
    input.Body.patchConfig.yum.minimal == BOOLEAN
    input.Body.patchConfig.yum.security == BOOLEAN
    input.Body.patchConfig.zypper.categories[_] == STRING
    input.Body.patchConfig.zypper.excludes[_] == STRING
    input.Body.patchConfig.zypper.exclusivePatches[_] == STRING
    input.Body.patchConfig.zypper.severities[_] == STRING
    input.Body.patchConfig.zypper.withOptional == BOOLEAN
    input.Body.patchConfig.zypper.withUpdate == BOOLEAN
    input.Body.recurringSchedule.endTime == STRING
    input.Body.recurringSchedule.frequency == enum_RecurringScheduleFrequency[_]
    input.Body.recurringSchedule.monthly.monthDay == INTEGER
    input.Body.recurringSchedule.monthly.weekDayOfMonth.dayOfWeek == enum_WeekDayOfMonthDayOfWeek[_]
    input.Body.recurringSchedule.monthly.weekDayOfMonth.dayOffset == INTEGER
    input.Body.recurringSchedule.monthly.weekDayOfMonth.weekOrdinal == INTEGER
    input.Body.recurringSchedule.startTime == STRING
    input.Body.recurringSchedule.timeOfDay.hours == INTEGER
    input.Body.recurringSchedule.timeOfDay.minutes == INTEGER
    input.Body.recurringSchedule.timeOfDay.nanos == INTEGER
    input.Body.recurringSchedule.timeOfDay.seconds == INTEGER
    input.Body.recurringSchedule.timeZone.id == STRING
    input.Body.recurringSchedule.timeZone.version == STRING
    input.Body.recurringSchedule.weekly.dayOfWeek == enum_WeeklyScheduleDayOfWeek[_]
    input.Body.rollout.disruptionBudget.fixed == INTEGER
    input.Body.rollout.disruptionBudget.percent == INTEGER
    input.Body.rollout.mode == enum_PatchRolloutMode[_]
    input.ReqMap.parent == STRING
    input.Qs.patchDeploymentId == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.patchDeployments.delete

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

osconfig.projects.patchDeployments.get

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

osconfig.projects.patchDeployments.list

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

osconfig.projects.patchDeployments.patch

enum_AptSettingsType := [ "TYPE_UNSPECIFIED", "DIST", "UPGRADE" ]
enum_ExecStepConfigInterpreter := [ "INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL" ]
enum_PatchConfigRebootConfig := [ "REBOOT_CONFIG_UNSPECIFIED", "DEFAULT", "ALWAYS", "NEVER" ]
enum_PatchRolloutMode := [ "MODE_UNSPECIFIED", "ZONE_BY_ZONE", "CONCURRENT_ZONES" ]
enum_RecurringScheduleFrequency := [ "FREQUENCY_UNSPECIFIED", "WEEKLY", "MONTHLY", "DAILY" ]
enum_WeekDayOfMonthDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_WeeklyScheduleDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_WindowsUpdateSettingsClassifications := [ "CLASSIFICATION_UNSPECIFIED", "CRITICAL", "SECURITY", "DEFINITION", "DRIVER", "FEATURE_PACK", "SERVICE_PACK", "TOOL", "UPDATE_ROLLUP", "UPDATE" ]

valid {
    input.Body.description == STRING
    input.Body.duration == STRING
    input.Body.instanceFilter.all == BOOLEAN
    input.Body.instanceFilter.groupLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.instanceNamePrefixes[_] == STRING
    input.Body.instanceFilter.instances[_] == STRING
    input.Body.instanceFilter.zones[_] == STRING
    input.Body.name == STRING
    input.Body.oneTimeSchedule.executeTime == STRING
    input.Body.patchConfig.apt.excludes[_] == STRING
    input.Body.patchConfig.apt.exclusivePackages[_] == STRING
    input.Body.patchConfig.apt.type == enum_AptSettingsType[_]
    input.Body.patchConfig.goo.STRING == STRING
    input.Body.patchConfig.migInstancesAllowed == BOOLEAN
    input.Body.patchConfig.postStep.linuxExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.postStep.linuxExecStepConfig.localPath == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.postStep.windowsExecStepConfig.localPath == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.preStep.linuxExecStepConfig.localPath == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.preStep.windowsExecStepConfig.localPath == STRING
    input.Body.patchConfig.rebootConfig == enum_PatchConfigRebootConfig[_]
    input.Body.patchConfig.windowsUpdate.classifications[_] == enum_WindowsUpdateSettingsClassifications[_]
    input.Body.patchConfig.windowsUpdate.excludes[_] == STRING
    input.Body.patchConfig.windowsUpdate.exclusivePatches[_] == STRING
    input.Body.patchConfig.yum.excludes[_] == STRING
    input.Body.patchConfig.yum.exclusivePackages[_] == STRING
    input.Body.patchConfig.yum.minimal == BOOLEAN
    input.Body.patchConfig.yum.security == BOOLEAN
    input.Body.patchConfig.zypper.categories[_] == STRING
    input.Body.patchConfig.zypper.excludes[_] == STRING
    input.Body.patchConfig.zypper.exclusivePatches[_] == STRING
    input.Body.patchConfig.zypper.severities[_] == STRING
    input.Body.patchConfig.zypper.withOptional == BOOLEAN
    input.Body.patchConfig.zypper.withUpdate == BOOLEAN
    input.Body.recurringSchedule.endTime == STRING
    input.Body.recurringSchedule.frequency == enum_RecurringScheduleFrequency[_]
    input.Body.recurringSchedule.monthly.monthDay == INTEGER
    input.Body.recurringSchedule.monthly.weekDayOfMonth.dayOfWeek == enum_WeekDayOfMonthDayOfWeek[_]
    input.Body.recurringSchedule.monthly.weekDayOfMonth.dayOffset == INTEGER
    input.Body.recurringSchedule.monthly.weekDayOfMonth.weekOrdinal == INTEGER
    input.Body.recurringSchedule.startTime == STRING
    input.Body.recurringSchedule.timeOfDay.hours == INTEGER
    input.Body.recurringSchedule.timeOfDay.minutes == INTEGER
    input.Body.recurringSchedule.timeOfDay.nanos == INTEGER
    input.Body.recurringSchedule.timeOfDay.seconds == INTEGER
    input.Body.recurringSchedule.timeZone.id == STRING
    input.Body.recurringSchedule.timeZone.version == STRING
    input.Body.recurringSchedule.weekly.dayOfWeek == enum_WeeklyScheduleDayOfWeek[_]
    input.Body.rollout.disruptionBudget.fixed == INTEGER
    input.Body.rollout.disruptionBudget.percent == INTEGER
    input.Body.rollout.mode == enum_PatchRolloutMode[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.patchDeployments.pause

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

osconfig.projects.patchDeployments.resume

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

osconfig.projects.patchJobs.cancel

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

osconfig.projects.patchJobs.execute

enum_AptSettingsType := [ "TYPE_UNSPECIFIED", "DIST", "UPGRADE" ]
enum_ExecStepConfigInterpreter := [ "INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL" ]
enum_PatchConfigRebootConfig := [ "REBOOT_CONFIG_UNSPECIFIED", "DEFAULT", "ALWAYS", "NEVER" ]
enum_PatchRolloutMode := [ "MODE_UNSPECIFIED", "ZONE_BY_ZONE", "CONCURRENT_ZONES" ]
enum_WindowsUpdateSettingsClassifications := [ "CLASSIFICATION_UNSPECIFIED", "CRITICAL", "SECURITY", "DEFINITION", "DRIVER", "FEATURE_PACK", "SERVICE_PACK", "TOOL", "UPDATE_ROLLUP", "UPDATE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.dryRun == BOOLEAN
    input.Body.duration == STRING
    input.Body.instanceFilter.all == BOOLEAN
    input.Body.instanceFilter.groupLabels[_].labels.STRING == STRING
    input.Body.instanceFilter.instanceNamePrefixes[_] == STRING
    input.Body.instanceFilter.instances[_] == STRING
    input.Body.instanceFilter.zones[_] == STRING
    input.Body.patchConfig.apt.excludes[_] == STRING
    input.Body.patchConfig.apt.exclusivePackages[_] == STRING
    input.Body.patchConfig.apt.type == enum_AptSettingsType[_]
    input.Body.patchConfig.goo.STRING == STRING
    input.Body.patchConfig.migInstancesAllowed == BOOLEAN
    input.Body.patchConfig.postStep.linuxExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.postStep.linuxExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.postStep.linuxExecStepConfig.localPath == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.postStep.windowsExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.postStep.windowsExecStepConfig.localPath == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.preStep.linuxExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.preStep.linuxExecStepConfig.localPath == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.allowedSuccessCodes[_] == INTEGER
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.bucket == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.generationNumber == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.gcsObject.object == STRING
    input.Body.patchConfig.preStep.windowsExecStepConfig.interpreter == enum_ExecStepConfigInterpreter[_]
    input.Body.patchConfig.preStep.windowsExecStepConfig.localPath == STRING
    input.Body.patchConfig.rebootConfig == enum_PatchConfigRebootConfig[_]
    input.Body.patchConfig.windowsUpdate.classifications[_] == enum_WindowsUpdateSettingsClassifications[_]
    input.Body.patchConfig.windowsUpdate.excludes[_] == STRING
    input.Body.patchConfig.windowsUpdate.exclusivePatches[_] == STRING
    input.Body.patchConfig.yum.excludes[_] == STRING
    input.Body.patchConfig.yum.exclusivePackages[_] == STRING
    input.Body.patchConfig.yum.minimal == BOOLEAN
    input.Body.patchConfig.yum.security == BOOLEAN
    input.Body.patchConfig.zypper.categories[_] == STRING
    input.Body.patchConfig.zypper.excludes[_] == STRING
    input.Body.patchConfig.zypper.exclusivePatches[_] == STRING
    input.Body.patchConfig.zypper.severities[_] == STRING
    input.Body.patchConfig.zypper.withOptional == BOOLEAN
    input.Body.patchConfig.zypper.withUpdate == BOOLEAN
    input.Body.rollout.disruptionBudget.fixed == INTEGER
    input.Body.rollout.disruptionBudget.percent == INTEGER
    input.Body.rollout.mode == enum_PatchRolloutMode[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

osconfig.projects.patchJobs.get

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

osconfig.projects.patchJobs.instanceDetails.list

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

osconfig.projects.patchJobs.list

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

osconfig.projects.zones.instances.lookupEffectiveGuestPolicy

valid {
    input.Body.osArchitecture == STRING
    input.Body.osShortName == STRING
    input.Body.osVersion == STRING
    input.ReqMap.instance == STRING
    input.ProviderMetadata.Region == STRING
}