container.projects.aggregated.usableSubnetworks.list

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

container.projects.locations.clusters.checkAutopilotCompatibility

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

container.projects.locations.clusters.completeIpRotation

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

container.projects.locations.clusters.create

enum_AdvancedDatapathObservabilityConfigRelayMode := [ "RELAY_MODE_UNSPECIFIED", "DISABLED", "INTERNAL_VPC_LB", "EXTERNAL_LB" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_CloudRunConfigLoadBalancerType := [ "LOAD_BALANCER_TYPE_UNSPECIFIED", "LOAD_BALANCER_TYPE_EXTERNAL", "LOAD_BALANCER_TYPE_INTERNAL" ]
enum_ClusterAutoscalingAutoscalingProfile := [ "PROFILE_UNSPECIFIED", "OPTIMIZE_UTILIZATION", "BALANCED" ]
enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_ClusterStatus := [ "STATUS_UNSPECIFIED", "PROVISIONING", "RUNNING", "RECONCILING", "STOPPING", "ERROR", "DEGRADED" ]
enum_DNSConfigClusterDns := [ "PROVIDER_UNSPECIFIED", "PLATFORM_DEFAULT", "CLOUD_DNS", "KUBE_DNS" ]
enum_DNSConfigClusterDnsScope := [ "DNS_SCOPE_UNSPECIFIED", "CLUSTER_SCOPE", "VPC_SCOPE" ]
enum_DatabaseEncryptionState := [ "UNKNOWN", "ENCRYPTED", "DECRYPTED" ]
enum_FilterEventType := [ "EVENT_TYPE_UNSPECIFIED", "UPGRADE_AVAILABLE_EVENT", "UPGRADE_EVENT", "SECURITY_BULLETIN_EVENT" ]
enum_GPUDriverInstallationConfigGpuDriverVersion := [ "GPU_DRIVER_VERSION_UNSPECIFIED", "INSTALLATION_DISABLED", "DEFAULT", "LATEST" ]
enum_GPUSharingConfigGpuSharingStrategy := [ "GPU_SHARING_STRATEGY_UNSPECIFIED", "TIME_SHARING", "MPS" ]
enum_GatewayAPIConfigChannel := [ "CHANNEL_UNSPECIFIED", "CHANNEL_DISABLED", "CHANNEL_EXPERIMENTAL", "CHANNEL_STANDARD" ]
enum_IPAllocationPolicyIpv6AccessType := [ "IPV6_ACCESS_TYPE_UNSPECIFIED", "INTERNAL", "EXTERNAL" ]
enum_IPAllocationPolicyStackType := [ "STACK_TYPE_UNSPECIFIED", "IPV4", "IPV4_IPV6" ]
enum_LinuxNodeConfigCgroupMode := [ "CGROUP_MODE_UNSPECIFIED", "CGROUP_MODE_V1", "CGROUP_MODE_V2" ]
enum_LoggingComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "WORKLOADS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_MaintenanceExclusionOptionsScope := [ "NO_UPGRADES", "NO_MINOR_UPGRADES", "NO_MINOR_OR_NODE_UPGRADES" ]
enum_MonitoringComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER", "STORAGE", "HPA", "POD", "DAEMONSET", "DEPLOYMENT", "STATEFULSET", "CADVISOR", "KUBELET", "DCGM" ]
enum_NetworkConfigDatapathProvider := [ "DATAPATH_PROVIDER_UNSPECIFIED", "LEGACY_DATAPATH", "ADVANCED_DATAPATH" ]
enum_NetworkConfigInTransitEncryptionConfig := [ "IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", "IN_TRANSIT_ENCRYPTION_DISABLED", "IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT" ]
enum_NetworkConfigPrivateIpv6GoogleAccess := [ "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED", "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE", "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" ]
enum_NetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_NetworkPolicyProvider := [ "PROVIDER_UNSPECIFIED", "CALICO" ]
enum_NodeAffinityOperator := [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN" ]
enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]
enum_NodePoolStatus := [ "STATUS_UNSPECIFIED", "PROVISIONING", "RUNNING", "RUNNING_WITH_ERROR", "RECONCILING", "STOPPING", "ERROR" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]
enum_PlacementPolicyType := [ "TYPE_UNSPECIFIED", "COMPACT" ]
enum_ReleaseChannelChannel := [ "UNSPECIFIED", "RAPID", "REGULAR", "STABLE" ]
enum_ReservationAffinityConsumeReservationType := [ "UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_SandboxConfigType := [ "UNSPECIFIED", "GVISOR" ]
enum_SecondaryBootDiskMode := [ "MODE_UNSPECIFIED", "CONTAINER_IMAGE_CACHE" ]
enum_SecurityPostureConfigMode := [ "MODE_UNSPECIFIED", "DISABLED", "BASIC", "ENTERPRISE" ]
enum_SecurityPostureConfigVulnerabilityMode := [ "VULNERABILITY_MODE_UNSPECIFIED", "VULNERABILITY_DISABLED", "VULNERABILITY_BASIC", "VULNERABILITY_ENTERPRISE" ]
enum_StatusConditionCanonicalCode := [ "OK", "CANCELLED", "UNKNOWN", "INVALID_ARGUMENT", "DEADLINE_EXCEEDED", "NOT_FOUND", "ALREADY_EXISTS", "PERMISSION_DENIED", "UNAUTHENTICATED", "RESOURCE_EXHAUSTED", "FAILED_PRECONDITION", "ABORTED", "OUT_OF_RANGE", "UNIMPLEMENTED", "INTERNAL", "UNAVAILABLE", "DATA_LOSS" ]
enum_StatusConditionCode := [ "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", "CLOUD_KMS_KEY_ERROR", "CA_EXPIRING" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]
enum_WindowsNodeConfigOsVersion := [ "OS_VERSION_UNSPECIFIED", "OS_VERSION_LTSC2019", "OS_VERSION_LTSC2022" ]
enum_WorkloadMetadataConfigMode := [ "MODE_UNSPECIFIED", "GCE_METADATA", "GKE_METADATA" ]

valid {
    input.Body.cluster.addonsConfig.cloudRunConfig.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.cloudRunConfig.loadBalancerType == enum_CloudRunConfigLoadBalancerType[_]
    input.Body.cluster.addonsConfig.configConnectorConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.dnsCacheConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gcePersistentDiskCsiDriverConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gcpFilestoreCsiDriverConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gcsFuseCsiDriverConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gkeBackupAgentConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.horizontalPodAutoscaling.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.httpLoadBalancing.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.kubernetesDashboard.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.networkPolicyConfig.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.rayOperatorConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.statefulHaConfig.enabled == BOOLEAN
    input.Body.cluster.authenticatorGroupsConfig.enabled == BOOLEAN
    input.Body.cluster.authenticatorGroupsConfig.securityGroup == STRING
    input.Body.cluster.autopilot.enabled == BOOLEAN
    input.Body.cluster.autopilot.workloadPolicyConfig.allowNetAdmin == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningLocations[_] == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.bootDiskKmsKey == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.diskSizeGb == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.diskType == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.imageType == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.autoRepair == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.autoUpgrade == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.description == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.minCpuPlatform == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.oauthScopes[_] == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.serviceAccount == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxSurge == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxUnavailable == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.cluster.autoscaling.autoscalingProfile == enum_ClusterAutoscalingAutoscalingProfile[_]
    input.Body.cluster.autoscaling.enableNodeAutoprovisioning == BOOLEAN
    input.Body.cluster.autoscaling.resourceLimits[_].maximum == STRING
    input.Body.cluster.autoscaling.resourceLimits[_].minimum == STRING
    input.Body.cluster.autoscaling.resourceLimits[_].resourceType == STRING
    input.Body.cluster.binaryAuthorization.enabled == BOOLEAN
    input.Body.cluster.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.cluster.clusterIpv4Cidr == STRING
    input.Body.cluster.conditions[_].canonicalCode == enum_StatusConditionCanonicalCode[_]
    input.Body.cluster.conditions[_].code == enum_StatusConditionCode[_]
    input.Body.cluster.conditions[_].message == STRING
    input.Body.cluster.confidentialNodes.enabled == BOOLEAN
    input.Body.cluster.costManagementConfig.enabled == BOOLEAN
    input.Body.cluster.createTime == STRING
    input.Body.cluster.currentMasterVersion == STRING
    input.Body.cluster.currentNodeCount == INTEGER
    input.Body.cluster.currentNodeVersion == STRING
    input.Body.cluster.databaseEncryption.keyName == STRING
    input.Body.cluster.databaseEncryption.state == enum_DatabaseEncryptionState[_]
    input.Body.cluster.defaultMaxPodsConstraint.maxPodsPerNode == STRING
    input.Body.cluster.description == STRING
    input.Body.cluster.enableK8sBetaApis.enabledApis[_] == STRING
    input.Body.cluster.enableKubernetesAlpha == BOOLEAN
    input.Body.cluster.enableTpu == BOOLEAN
    input.Body.cluster.endpoint == STRING
    input.Body.cluster.enterpriseConfig == {}
    input.Body.cluster.etag == STRING
    input.Body.cluster.expireTime == STRING
    input.Body.cluster.fleet.membership == STRING
    input.Body.cluster.fleet.preRegistered == BOOLEAN
    input.Body.cluster.fleet.project == STRING
    input.Body.cluster.identityServiceConfig.enabled == BOOLEAN
    input.Body.cluster.initialClusterVersion == STRING
    input.Body.cluster.initialNodeCount == INTEGER
    input.Body.cluster.instanceGroupUrls[_] == STRING
    input.Body.cluster.ipAllocationPolicy.clusterIpv4Cidr == STRING
    input.Body.cluster.ipAllocationPolicy.clusterIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.clusterSecondaryRangeName == STRING
    input.Body.cluster.ipAllocationPolicy.createSubnetwork == BOOLEAN
    input.Body.cluster.ipAllocationPolicy.ipv6AccessType == enum_IPAllocationPolicyIpv6AccessType[_]
    input.Body.cluster.ipAllocationPolicy.nodeIpv4Cidr == STRING
    input.Body.cluster.ipAllocationPolicy.nodeIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.cluster.ipAllocationPolicy.servicesIpv4Cidr == STRING
    input.Body.cluster.ipAllocationPolicy.servicesIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.servicesSecondaryRangeName == STRING
    input.Body.cluster.ipAllocationPolicy.stackType == enum_IPAllocationPolicyStackType[_]
    input.Body.cluster.ipAllocationPolicy.subnetworkName == STRING
    input.Body.cluster.ipAllocationPolicy.tpuIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.useIpAliases == BOOLEAN
    input.Body.cluster.ipAllocationPolicy.useRoutes == BOOLEAN
    input.Body.cluster.labelFingerprint == STRING
    input.Body.cluster.legacyAbac.enabled == BOOLEAN
    input.Body.cluster.location == STRING
    input.Body.cluster.locations[_] == STRING
    input.Body.cluster.loggingConfig.componentConfig.enableComponents[_] == enum_LoggingComponentConfigEnableComponents[_]
    input.Body.cluster.loggingService == STRING
    input.Body.cluster.maintenancePolicy.resourceVersion == STRING
    input.Body.cluster.maintenancePolicy.window.dailyMaintenanceWindow.duration == STRING
    input.Body.cluster.maintenancePolicy.window.dailyMaintenanceWindow.startTime == STRING
    input.Body.cluster.maintenancePolicy.window.maintenanceExclusions.STRING.endTime == STRING
    input.Body.cluster.maintenancePolicy.window.maintenanceExclusions.STRING.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.cluster.maintenancePolicy.window.maintenanceExclusions.STRING.startTime == STRING
    input.Body.cluster.maintenancePolicy.window.recurringWindow.recurrence == STRING
    input.Body.cluster.maintenancePolicy.window.recurringWindow.window.endTime == STRING
    input.Body.cluster.maintenancePolicy.window.recurringWindow.window.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.cluster.maintenancePolicy.window.recurringWindow.window.startTime == STRING
    input.Body.cluster.masterAuth.clientCertificate == STRING
    input.Body.cluster.masterAuth.clientCertificateConfig.issueClientCertificate == BOOLEAN
    input.Body.cluster.masterAuth.clientKey == STRING
    input.Body.cluster.masterAuth.clusterCaCertificate == STRING
    input.Body.cluster.masterAuth.password == STRING
    input.Body.cluster.masterAuth.username == STRING
    input.Body.cluster.masterAuthorizedNetworksConfig.cidrBlocks[_].cidrBlock == STRING
    input.Body.cluster.masterAuthorizedNetworksConfig.cidrBlocks[_].displayName == STRING
    input.Body.cluster.masterAuthorizedNetworksConfig.enabled == BOOLEAN
    input.Body.cluster.masterAuthorizedNetworksConfig.gcpPublicCidrsAccessEnabled == BOOLEAN
    input.Body.cluster.meshCertificates.enableCertificates == BOOLEAN
    input.Body.cluster.monitoringConfig.advancedDatapathObservabilityConfig.enableMetrics == BOOLEAN
    input.Body.cluster.monitoringConfig.advancedDatapathObservabilityConfig.enableRelay == BOOLEAN
    input.Body.cluster.monitoringConfig.advancedDatapathObservabilityConfig.relayMode == enum_AdvancedDatapathObservabilityConfigRelayMode[_]
    input.Body.cluster.monitoringConfig.componentConfig.enableComponents[_] == enum_MonitoringComponentConfigEnableComponents[_]
    input.Body.cluster.monitoringConfig.managedPrometheusConfig.enabled == BOOLEAN
    input.Body.cluster.monitoringService == STRING
    input.Body.cluster.name == STRING
    input.Body.cluster.network == STRING
    input.Body.cluster.networkConfig.datapathProvider == enum_NetworkConfigDatapathProvider[_]
    input.Body.cluster.networkConfig.defaultSnatStatus.disabled == BOOLEAN
    input.Body.cluster.networkConfig.dnsConfig.additiveVpcScopeDnsDomain == STRING
    input.Body.cluster.networkConfig.dnsConfig.clusterDns == enum_DNSConfigClusterDns[_]
    input.Body.cluster.networkConfig.dnsConfig.clusterDnsDomain == STRING
    input.Body.cluster.networkConfig.dnsConfig.clusterDnsScope == enum_DNSConfigClusterDnsScope[_]
    input.Body.cluster.networkConfig.enableCiliumClusterwideNetworkPolicy == BOOLEAN
    input.Body.cluster.networkConfig.enableFqdnNetworkPolicy == BOOLEAN
    input.Body.cluster.networkConfig.enableIntraNodeVisibility == BOOLEAN
    input.Body.cluster.networkConfig.enableL4ilbSubsetting == BOOLEAN
    input.Body.cluster.networkConfig.enableMultiNetworking == BOOLEAN
    input.Body.cluster.networkConfig.gatewayApiConfig.channel == enum_GatewayAPIConfigChannel[_]
    input.Body.cluster.networkConfig.inTransitEncryptionConfig == enum_NetworkConfigInTransitEncryptionConfig[_]
    input.Body.cluster.networkConfig.network == STRING
    input.Body.cluster.networkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.cluster.networkConfig.privateIpv6GoogleAccess == enum_NetworkConfigPrivateIpv6GoogleAccess[_]
    input.Body.cluster.networkConfig.serviceExternalIpsConfig.enabled == BOOLEAN
    input.Body.cluster.networkConfig.subnetwork == STRING
    input.Body.cluster.networkPolicy.enabled == BOOLEAN
    input.Body.cluster.networkPolicy.provider == enum_NetworkPolicyProvider[_]
    input.Body.cluster.nodeConfig.accelerators[_].acceleratorCount == STRING
    input.Body.cluster.nodeConfig.accelerators[_].acceleratorType == STRING
    input.Body.cluster.nodeConfig.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.cluster.nodeConfig.accelerators[_].gpuPartitionSize == STRING
    input.Body.cluster.nodeConfig.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.cluster.nodeConfig.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.cluster.nodeConfig.advancedMachineFeatures.enableNestedVirtualization == BOOLEAN
    input.Body.cluster.nodeConfig.advancedMachineFeatures.threadsPerCore == STRING
    input.Body.cluster.nodeConfig.bootDiskKmsKey == STRING
    input.Body.cluster.nodeConfig.confidentialNodes.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.cluster.nodeConfig.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.cluster.nodeConfig.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.diskSizeGb == INTEGER
    input.Body.cluster.nodeConfig.diskType == STRING
    input.Body.cluster.nodeConfig.enableConfidentialStorage == BOOLEAN
    input.Body.cluster.nodeConfig.ephemeralStorageLocalSsdConfig.localSsdCount == INTEGER
    input.Body.cluster.nodeConfig.fastSocket.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.gcfsConfig.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.gvnic.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.imageType == STRING
    input.Body.cluster.nodeConfig.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodeConfig.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodeConfig.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodeConfig.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodeConfig.kubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodeConfig.labels.STRING == STRING
    input.Body.cluster.nodeConfig.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.cluster.nodeConfig.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.cluster.nodeConfig.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.cluster.nodeConfig.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.cluster.nodeConfig.localNvmeSsdBlockConfig.localSsdCount == INTEGER
    input.Body.cluster.nodeConfig.localSsdCount == INTEGER
    input.Body.cluster.nodeConfig.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.cluster.nodeConfig.machineType == STRING
    input.Body.cluster.nodeConfig.metadata.STRING == STRING
    input.Body.cluster.nodeConfig.minCpuPlatform == STRING
    input.Body.cluster.nodeConfig.nodeGroup == STRING
    input.Body.cluster.nodeConfig.oauthScopes[_] == STRING
    input.Body.cluster.nodeConfig.preemptible == BOOLEAN
    input.Body.cluster.nodeConfig.reservationAffinity.consumeReservationType == enum_ReservationAffinityConsumeReservationType[_]
    input.Body.cluster.nodeConfig.reservationAffinity.key == STRING
    input.Body.cluster.nodeConfig.reservationAffinity.values[_] == STRING
    input.Body.cluster.nodeConfig.resourceLabels.STRING == STRING
    input.Body.cluster.nodeConfig.resourceManagerTags.tags.STRING == STRING
    input.Body.cluster.nodeConfig.sandboxConfig.type == enum_SandboxConfigType[_]
    input.Body.cluster.nodeConfig.secondaryBootDiskUpdateStrategy.STRING == STRING
    input.Body.cluster.nodeConfig.secondaryBootDisks[_].diskImage == STRING
    input.Body.cluster.nodeConfig.secondaryBootDisks[_].mode == enum_SecondaryBootDiskMode[_]
    input.Body.cluster.nodeConfig.serviceAccount == STRING
    input.Body.cluster.nodeConfig.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.cluster.nodeConfig.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.cluster.nodeConfig.soleTenantConfig.nodeAffinities[_].key == STRING
    input.Body.cluster.nodeConfig.soleTenantConfig.nodeAffinities[_].operator == enum_NodeAffinityOperator[_]
    input.Body.cluster.nodeConfig.soleTenantConfig.nodeAffinities[_].values[_] == STRING
    input.Body.cluster.nodeConfig.spot == BOOLEAN
    input.Body.cluster.nodeConfig.tags[_] == STRING
    input.Body.cluster.nodeConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.cluster.nodeConfig.taints[_].key == STRING
    input.Body.cluster.nodeConfig.taints[_].value == STRING
    input.Body.cluster.nodeConfig.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.cluster.nodeConfig.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.cluster.nodeIpv4CidrSize == INTEGER
    input.Body.cluster.nodePoolAutoConfig.networkTags.tags[_] == STRING
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodePoolAutoConfig.resourceManagerTags.tags.STRING == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.gcfsConfig.enabled == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodePools[_].autoscaling.autoprovisioned == BOOLEAN
    input.Body.cluster.nodePools[_].autoscaling.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].autoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.cluster.nodePools[_].autoscaling.maxNodeCount == INTEGER
    input.Body.cluster.nodePools[_].autoscaling.minNodeCount == INTEGER
    input.Body.cluster.nodePools[_].autoscaling.totalMaxNodeCount == INTEGER
    input.Body.cluster.nodePools[_].autoscaling.totalMinNodeCount == INTEGER
    input.Body.cluster.nodePools[_].bestEffortProvisioning.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].bestEffortProvisioning.minProvisionNodes == INTEGER
    input.Body.cluster.nodePools[_].conditions[_].canonicalCode == enum_StatusConditionCanonicalCode[_]
    input.Body.cluster.nodePools[_].conditions[_].code == enum_StatusConditionCode[_]
    input.Body.cluster.nodePools[_].conditions[_].message == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].acceleratorCount == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].acceleratorType == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuPartitionSize == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.cluster.nodePools[_].config.advancedMachineFeatures.enableNestedVirtualization == BOOLEAN
    input.Body.cluster.nodePools[_].config.advancedMachineFeatures.threadsPerCore == STRING
    input.Body.cluster.nodePools[_].config.bootDiskKmsKey == STRING
    input.Body.cluster.nodePools[_].config.confidentialNodes.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.cluster.nodePools[_].config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.cluster.nodePools[_].config.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.diskSizeGb == INTEGER
    input.Body.cluster.nodePools[_].config.diskType == STRING
    input.Body.cluster.nodePools[_].config.enableConfidentialStorage == BOOLEAN
    input.Body.cluster.nodePools[_].config.ephemeralStorageLocalSsdConfig.localSsdCount == INTEGER
    input.Body.cluster.nodePools[_].config.fastSocket.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.gcfsConfig.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.gvnic.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.imageType == STRING
    input.Body.cluster.nodePools[_].config.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodePools[_].config.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodePools[_].config.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodePools[_].config.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.kubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodePools[_].config.labels.STRING == STRING
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.cluster.nodePools[_].config.localNvmeSsdBlockConfig.localSsdCount == INTEGER
    input.Body.cluster.nodePools[_].config.localSsdCount == INTEGER
    input.Body.cluster.nodePools[_].config.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.cluster.nodePools[_].config.machineType == STRING
    input.Body.cluster.nodePools[_].config.metadata.STRING == STRING
    input.Body.cluster.nodePools[_].config.minCpuPlatform == STRING
    input.Body.cluster.nodePools[_].config.nodeGroup == STRING
    input.Body.cluster.nodePools[_].config.oauthScopes[_] == STRING
    input.Body.cluster.nodePools[_].config.preemptible == BOOLEAN
    input.Body.cluster.nodePools[_].config.reservationAffinity.consumeReservationType == enum_ReservationAffinityConsumeReservationType[_]
    input.Body.cluster.nodePools[_].config.reservationAffinity.key == STRING
    input.Body.cluster.nodePools[_].config.reservationAffinity.values[_] == STRING
    input.Body.cluster.nodePools[_].config.resourceLabels.STRING == STRING
    input.Body.cluster.nodePools[_].config.resourceManagerTags.tags.STRING == STRING
    input.Body.cluster.nodePools[_].config.sandboxConfig.type == enum_SandboxConfigType[_]
    input.Body.cluster.nodePools[_].config.secondaryBootDiskUpdateStrategy.STRING == STRING
    input.Body.cluster.nodePools[_].config.secondaryBootDisks[_].diskImage == STRING
    input.Body.cluster.nodePools[_].config.secondaryBootDisks[_].mode == enum_SecondaryBootDiskMode[_]
    input.Body.cluster.nodePools[_].config.serviceAccount == STRING
    input.Body.cluster.nodePools[_].config.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.cluster.nodePools[_].config.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.cluster.nodePools[_].config.soleTenantConfig.nodeAffinities[_].key == STRING
    input.Body.cluster.nodePools[_].config.soleTenantConfig.nodeAffinities[_].operator == enum_NodeAffinityOperator[_]
    input.Body.cluster.nodePools[_].config.soleTenantConfig.nodeAffinities[_].values[_] == STRING
    input.Body.cluster.nodePools[_].config.spot == BOOLEAN
    input.Body.cluster.nodePools[_].config.tags[_] == STRING
    input.Body.cluster.nodePools[_].config.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.cluster.nodePools[_].config.taints[_].key == STRING
    input.Body.cluster.nodePools[_].config.taints[_].value == STRING
    input.Body.cluster.nodePools[_].config.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.cluster.nodePools[_].config.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.cluster.nodePools[_].etag == STRING
    input.Body.cluster.nodePools[_].initialNodeCount == INTEGER
    input.Body.cluster.nodePools[_].instanceGroupUrls[_] == STRING
    input.Body.cluster.nodePools[_].locations[_] == STRING
    input.Body.cluster.nodePools[_].management.autoRepair == BOOLEAN
    input.Body.cluster.nodePools[_].management.autoUpgrade == BOOLEAN
    input.Body.cluster.nodePools[_].management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.cluster.nodePools[_].management.upgradeOptions.description == STRING
    input.Body.cluster.nodePools[_].maxPodsConstraint.maxPodsPerNode == STRING
    input.Body.cluster.nodePools[_].name == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalNodeNetworkConfigs[_].network == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalNodeNetworkConfigs[_].subnetwork == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalPodNetworkConfigs[_].maxPodsPerNode.maxPodsPerNode == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalPodNetworkConfigs[_].secondaryPodRange == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalPodNetworkConfigs[_].subnetwork == STRING
    input.Body.cluster.nodePools[_].networkConfig.createPodRange == BOOLEAN
    input.Body.cluster.nodePools[_].networkConfig.enablePrivateNodes == BOOLEAN
    input.Body.cluster.nodePools[_].networkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_NetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.cluster.nodePools[_].networkConfig.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.cluster.nodePools[_].networkConfig.podIpv4CidrBlock == STRING
    input.Body.cluster.nodePools[_].networkConfig.podRange == STRING
    input.Body.cluster.nodePools[_].placementPolicy.policyName == STRING
    input.Body.cluster.nodePools[_].placementPolicy.tpuTopology == STRING
    input.Body.cluster.nodePools[_].placementPolicy.type == enum_PlacementPolicyType[_]
    input.Body.cluster.nodePools[_].podIpv4CidrSize == INTEGER
    input.Body.cluster.nodePools[_].queuedProvisioning.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].selfLink == STRING
    input.Body.cluster.nodePools[_].status == enum_NodePoolStatus[_]
    input.Body.cluster.nodePools[_].statusMessage == STRING
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.cluster.nodePools[_].upgradeSettings.maxSurge == INTEGER
    input.Body.cluster.nodePools[_].upgradeSettings.maxUnavailable == INTEGER
    input.Body.cluster.nodePools[_].upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.cluster.nodePools[_].version == STRING
    input.Body.cluster.notificationConfig.pubsub.enabled == BOOLEAN
    input.Body.cluster.notificationConfig.pubsub.filter.eventType[_] == enum_FilterEventType[_]
    input.Body.cluster.notificationConfig.pubsub.topic == STRING
    input.Body.cluster.parentProductConfig.labels.STRING == STRING
    input.Body.cluster.parentProductConfig.productName == STRING
    input.Body.cluster.privateClusterConfig.enablePrivateEndpoint == BOOLEAN
    input.Body.cluster.privateClusterConfig.enablePrivateNodes == BOOLEAN
    input.Body.cluster.privateClusterConfig.masterGlobalAccessConfig.enabled == BOOLEAN
    input.Body.cluster.privateClusterConfig.masterIpv4CidrBlock == STRING
    input.Body.cluster.privateClusterConfig.peeringName == STRING
    input.Body.cluster.privateClusterConfig.privateEndpoint == STRING
    input.Body.cluster.privateClusterConfig.privateEndpointSubnetwork == STRING
    input.Body.cluster.privateClusterConfig.publicEndpoint == STRING
    input.Body.cluster.releaseChannel.channel == enum_ReleaseChannelChannel[_]
    input.Body.cluster.resourceLabels.STRING == STRING
    input.Body.cluster.resourceUsageExportConfig.bigqueryDestination.datasetId == STRING
    input.Body.cluster.resourceUsageExportConfig.consumptionMeteringConfig.enabled == BOOLEAN
    input.Body.cluster.resourceUsageExportConfig.enableNetworkEgressMetering == BOOLEAN
    input.Body.cluster.securityPostureConfig.mode == enum_SecurityPostureConfigMode[_]
    input.Body.cluster.securityPostureConfig.vulnerabilityMode == enum_SecurityPostureConfigVulnerabilityMode[_]
    input.Body.cluster.selfLink == STRING
    input.Body.cluster.servicesIpv4Cidr == STRING
    input.Body.cluster.shieldedNodes.enabled == BOOLEAN
    input.Body.cluster.status == enum_ClusterStatus[_]
    input.Body.cluster.statusMessage == STRING
    input.Body.cluster.subnetwork == STRING
    input.Body.cluster.tpuIpv4CidrBlock == STRING
    input.Body.cluster.verticalPodAutoscaling.enabled == BOOLEAN
    input.Body.cluster.workloadIdentityConfig.workloadPool == STRING
    input.Body.cluster.zone == STRING
    input.Body.parent == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.clusterId == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.get

valid {
    input.ReqMap.name == STRING
    input.Qs.clusterId == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.getJwks

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

container.projects.locations.clusters.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.completeUpgrade

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

container.projects.locations.clusters.nodePools.create

enum_GPUDriverInstallationConfigGpuDriverVersion := [ "GPU_DRIVER_VERSION_UNSPECIFIED", "INSTALLATION_DISABLED", "DEFAULT", "LATEST" ]
enum_GPUSharingConfigGpuSharingStrategy := [ "GPU_SHARING_STRATEGY_UNSPECIFIED", "TIME_SHARING", "MPS" ]
enum_LinuxNodeConfigCgroupMode := [ "CGROUP_MODE_UNSPECIFIED", "CGROUP_MODE_V1", "CGROUP_MODE_V2" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_NetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_NodeAffinityOperator := [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN" ]
enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]
enum_NodePoolStatus := [ "STATUS_UNSPECIFIED", "PROVISIONING", "RUNNING", "RUNNING_WITH_ERROR", "RECONCILING", "STOPPING", "ERROR" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]
enum_PlacementPolicyType := [ "TYPE_UNSPECIFIED", "COMPACT" ]
enum_ReservationAffinityConsumeReservationType := [ "UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_SandboxConfigType := [ "UNSPECIFIED", "GVISOR" ]
enum_SecondaryBootDiskMode := [ "MODE_UNSPECIFIED", "CONTAINER_IMAGE_CACHE" ]
enum_StatusConditionCanonicalCode := [ "OK", "CANCELLED", "UNKNOWN", "INVALID_ARGUMENT", "DEADLINE_EXCEEDED", "NOT_FOUND", "ALREADY_EXISTS", "PERMISSION_DENIED", "UNAUTHENTICATED", "RESOURCE_EXHAUSTED", "FAILED_PRECONDITION", "ABORTED", "OUT_OF_RANGE", "UNIMPLEMENTED", "INTERNAL", "UNAVAILABLE", "DATA_LOSS" ]
enum_StatusConditionCode := [ "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", "CLOUD_KMS_KEY_ERROR", "CA_EXPIRING" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]
enum_WindowsNodeConfigOsVersion := [ "OS_VERSION_UNSPECIFIED", "OS_VERSION_LTSC2019", "OS_VERSION_LTSC2022" ]
enum_WorkloadMetadataConfigMode := [ "MODE_UNSPECIFIED", "GCE_METADATA", "GKE_METADATA" ]

valid {
    input.Body.clusterId == STRING
    input.Body.nodePool.autoscaling.autoprovisioned == BOOLEAN
    input.Body.nodePool.autoscaling.enabled == BOOLEAN
    input.Body.nodePool.autoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.nodePool.autoscaling.maxNodeCount == INTEGER
    input.Body.nodePool.autoscaling.minNodeCount == INTEGER
    input.Body.nodePool.autoscaling.totalMaxNodeCount == INTEGER
    input.Body.nodePool.autoscaling.totalMinNodeCount == INTEGER
    input.Body.nodePool.bestEffortProvisioning.enabled == BOOLEAN
    input.Body.nodePool.bestEffortProvisioning.minProvisionNodes == INTEGER
    input.Body.nodePool.conditions[_].canonicalCode == enum_StatusConditionCanonicalCode[_]
    input.Body.nodePool.conditions[_].code == enum_StatusConditionCode[_]
    input.Body.nodePool.conditions[_].message == STRING
    input.Body.nodePool.config.accelerators[_].acceleratorCount == STRING
    input.Body.nodePool.config.accelerators[_].acceleratorType == STRING
    input.Body.nodePool.config.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.nodePool.config.accelerators[_].gpuPartitionSize == STRING
    input.Body.nodePool.config.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.nodePool.config.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.nodePool.config.advancedMachineFeatures.enableNestedVirtualization == BOOLEAN
    input.Body.nodePool.config.advancedMachineFeatures.threadsPerCore == STRING
    input.Body.nodePool.config.bootDiskKmsKey == STRING
    input.Body.nodePool.config.confidentialNodes.enabled == BOOLEAN
    input.Body.nodePool.config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.nodePool.config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.nodePool.config.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.nodePool.config.diskSizeGb == INTEGER
    input.Body.nodePool.config.diskType == STRING
    input.Body.nodePool.config.enableConfidentialStorage == BOOLEAN
    input.Body.nodePool.config.ephemeralStorageLocalSsdConfig.localSsdCount == INTEGER
    input.Body.nodePool.config.fastSocket.enabled == BOOLEAN
    input.Body.nodePool.config.gcfsConfig.enabled == BOOLEAN
    input.Body.nodePool.config.gvnic.enabled == BOOLEAN
    input.Body.nodePool.config.imageType == STRING
    input.Body.nodePool.config.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.nodePool.config.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.nodePool.config.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.nodePool.config.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.nodePool.config.kubeletConfig.podPidsLimit == STRING
    input.Body.nodePool.config.labels.STRING == STRING
    input.Body.nodePool.config.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.nodePool.config.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.nodePool.config.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.nodePool.config.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.nodePool.config.localNvmeSsdBlockConfig.localSsdCount == INTEGER
    input.Body.nodePool.config.localSsdCount == INTEGER
    input.Body.nodePool.config.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.nodePool.config.machineType == STRING
    input.Body.nodePool.config.metadata.STRING == STRING
    input.Body.nodePool.config.minCpuPlatform == STRING
    input.Body.nodePool.config.nodeGroup == STRING
    input.Body.nodePool.config.oauthScopes[_] == STRING
    input.Body.nodePool.config.preemptible == BOOLEAN
    input.Body.nodePool.config.reservationAffinity.consumeReservationType == enum_ReservationAffinityConsumeReservationType[_]
    input.Body.nodePool.config.reservationAffinity.key == STRING
    input.Body.nodePool.config.reservationAffinity.values[_] == STRING
    input.Body.nodePool.config.resourceLabels.STRING == STRING
    input.Body.nodePool.config.resourceManagerTags.tags.STRING == STRING
    input.Body.nodePool.config.sandboxConfig.type == enum_SandboxConfigType[_]
    input.Body.nodePool.config.secondaryBootDiskUpdateStrategy.STRING == STRING
    input.Body.nodePool.config.secondaryBootDisks[_].diskImage == STRING
    input.Body.nodePool.config.secondaryBootDisks[_].mode == enum_SecondaryBootDiskMode[_]
    input.Body.nodePool.config.serviceAccount == STRING
    input.Body.nodePool.config.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.nodePool.config.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.nodePool.config.soleTenantConfig.nodeAffinities[_].key == STRING
    input.Body.nodePool.config.soleTenantConfig.nodeAffinities[_].operator == enum_NodeAffinityOperator[_]
    input.Body.nodePool.config.soleTenantConfig.nodeAffinities[_].values[_] == STRING
    input.Body.nodePool.config.spot == BOOLEAN
    input.Body.nodePool.config.tags[_] == STRING
    input.Body.nodePool.config.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.nodePool.config.taints[_].key == STRING
    input.Body.nodePool.config.taints[_].value == STRING
    input.Body.nodePool.config.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.nodePool.config.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.nodePool.etag == STRING
    input.Body.nodePool.initialNodeCount == INTEGER
    input.Body.nodePool.instanceGroupUrls[_] == STRING
    input.Body.nodePool.locations[_] == STRING
    input.Body.nodePool.management.autoRepair == BOOLEAN
    input.Body.nodePool.management.autoUpgrade == BOOLEAN
    input.Body.nodePool.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.nodePool.management.upgradeOptions.description == STRING
    input.Body.nodePool.maxPodsConstraint.maxPodsPerNode == STRING
    input.Body.nodePool.name == STRING
    input.Body.nodePool.networkConfig.additionalNodeNetworkConfigs[_].network == STRING
    input.Body.nodePool.networkConfig.additionalNodeNetworkConfigs[_].subnetwork == STRING
    input.Body.nodePool.networkConfig.additionalPodNetworkConfigs[_].maxPodsPerNode.maxPodsPerNode == STRING
    input.Body.nodePool.networkConfig.additionalPodNetworkConfigs[_].secondaryPodRange == STRING
    input.Body.nodePool.networkConfig.additionalPodNetworkConfigs[_].subnetwork == STRING
    input.Body.nodePool.networkConfig.createPodRange == BOOLEAN
    input.Body.nodePool.networkConfig.enablePrivateNodes == BOOLEAN
    input.Body.nodePool.networkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_NetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.nodePool.networkConfig.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.nodePool.networkConfig.podIpv4CidrBlock == STRING
    input.Body.nodePool.networkConfig.podRange == STRING
    input.Body.nodePool.placementPolicy.policyName == STRING
    input.Body.nodePool.placementPolicy.tpuTopology == STRING
    input.Body.nodePool.placementPolicy.type == enum_PlacementPolicyType[_]
    input.Body.nodePool.podIpv4CidrSize == INTEGER
    input.Body.nodePool.queuedProvisioning.enabled == BOOLEAN
    input.Body.nodePool.selfLink == STRING
    input.Body.nodePool.status == enum_NodePoolStatus[_]
    input.Body.nodePool.statusMessage == STRING
    input.Body.nodePool.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.nodePool.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.nodePool.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.nodePool.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.nodePool.upgradeSettings.maxSurge == INTEGER
    input.Body.nodePool.upgradeSettings.maxUnavailable == INTEGER
    input.Body.nodePool.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.nodePool.version == STRING
    input.Body.parent == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.clusterId == STRING
    input.Qs.nodePoolId == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.get

valid {
    input.ReqMap.name == STRING
    input.Qs.clusterId == STRING
    input.Qs.nodePoolId == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.clusterId == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.rollback

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.respectPdb == BOOLEAN
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.setAutoscaling

enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]

valid {
    input.Body.autoscaling.autoprovisioned == BOOLEAN
    input.Body.autoscaling.enabled == BOOLEAN
    input.Body.autoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.autoscaling.maxNodeCount == INTEGER
    input.Body.autoscaling.minNodeCount == INTEGER
    input.Body.autoscaling.totalMaxNodeCount == INTEGER
    input.Body.autoscaling.totalMinNodeCount == INTEGER
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.setManagement

valid {
    input.Body.clusterId == STRING
    input.Body.management.autoRepair == BOOLEAN
    input.Body.management.autoUpgrade == BOOLEAN
    input.Body.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.management.upgradeOptions.description == STRING
    input.Body.name == STRING
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.setSize

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.nodeCount == INTEGER
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.nodePools.update

enum_GPUDriverInstallationConfigGpuDriverVersion := [ "GPU_DRIVER_VERSION_UNSPECIFIED", "INSTALLATION_DISABLED", "DEFAULT", "LATEST" ]
enum_GPUSharingConfigGpuSharingStrategy := [ "GPU_SHARING_STRATEGY_UNSPECIFIED", "TIME_SHARING", "MPS" ]
enum_LinuxNodeConfigCgroupMode := [ "CGROUP_MODE_UNSPECIFIED", "CGROUP_MODE_V1", "CGROUP_MODE_V2" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_NetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]
enum_WindowsNodeConfigOsVersion := [ "OS_VERSION_UNSPECIFIED", "OS_VERSION_LTSC2019", "OS_VERSION_LTSC2022" ]
enum_WorkloadMetadataConfigMode := [ "MODE_UNSPECIFIED", "GCE_METADATA", "GKE_METADATA" ]

valid {
    input.Body.accelerators[_].acceleratorCount == STRING
    input.Body.accelerators[_].acceleratorType == STRING
    input.Body.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.accelerators[_].gpuPartitionSize == STRING
    input.Body.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.clusterId == STRING
    input.Body.confidentialNodes.enabled == BOOLEAN
    input.Body.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.diskSizeGb == STRING
    input.Body.diskType == STRING
    input.Body.etag == STRING
    input.Body.fastSocket.enabled == BOOLEAN
    input.Body.gcfsConfig.enabled == BOOLEAN
    input.Body.gvnic.enabled == BOOLEAN
    input.Body.imageType == STRING
    input.Body.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.kubeletConfig.podPidsLimit == STRING
    input.Body.labels.labels.STRING == STRING
    input.Body.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.locations[_] == STRING
    input.Body.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.machineType == STRING
    input.Body.name == STRING
    input.Body.nodeNetworkConfig.additionalNodeNetworkConfigs[_].network == STRING
    input.Body.nodeNetworkConfig.additionalNodeNetworkConfigs[_].subnetwork == STRING
    input.Body.nodeNetworkConfig.additionalPodNetworkConfigs[_].maxPodsPerNode.maxPodsPerNode == STRING
    input.Body.nodeNetworkConfig.additionalPodNetworkConfigs[_].secondaryPodRange == STRING
    input.Body.nodeNetworkConfig.additionalPodNetworkConfigs[_].subnetwork == STRING
    input.Body.nodeNetworkConfig.createPodRange == BOOLEAN
    input.Body.nodeNetworkConfig.enablePrivateNodes == BOOLEAN
    input.Body.nodeNetworkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_NetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.nodeNetworkConfig.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.nodeNetworkConfig.podIpv4CidrBlock == STRING
    input.Body.nodeNetworkConfig.podRange == STRING
    input.Body.nodePoolId == STRING
    input.Body.nodeVersion == STRING
    input.Body.projectId == STRING
    input.Body.queuedProvisioning.enabled == BOOLEAN
    input.Body.resourceLabels.labels.STRING == STRING
    input.Body.resourceManagerTags.tags.STRING == STRING
    input.Body.tags.tags[_] == STRING
    input.Body.taints.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.taints.taints[_].key == STRING
    input.Body.taints.taints[_].value == STRING
    input.Body.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.upgradeSettings.maxSurge == INTEGER
    input.Body.upgradeSettings.maxUnavailable == INTEGER
    input.Body.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setAddons

enum_CloudRunConfigLoadBalancerType := [ "LOAD_BALANCER_TYPE_UNSPECIFIED", "LOAD_BALANCER_TYPE_EXTERNAL", "LOAD_BALANCER_TYPE_INTERNAL" ]

valid {
    input.Body.addonsConfig.cloudRunConfig.disabled == BOOLEAN
    input.Body.addonsConfig.cloudRunConfig.loadBalancerType == enum_CloudRunConfigLoadBalancerType[_]
    input.Body.addonsConfig.configConnectorConfig.enabled == BOOLEAN
    input.Body.addonsConfig.dnsCacheConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gcePersistentDiskCsiDriverConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gcpFilestoreCsiDriverConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gcsFuseCsiDriverConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gkeBackupAgentConfig.enabled == BOOLEAN
    input.Body.addonsConfig.horizontalPodAutoscaling.disabled == BOOLEAN
    input.Body.addonsConfig.httpLoadBalancing.disabled == BOOLEAN
    input.Body.addonsConfig.kubernetesDashboard.disabled == BOOLEAN
    input.Body.addonsConfig.networkPolicyConfig.disabled == BOOLEAN
    input.Body.addonsConfig.rayOperatorConfig.enabled == BOOLEAN
    input.Body.addonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled == BOOLEAN
    input.Body.addonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled == BOOLEAN
    input.Body.addonsConfig.statefulHaConfig.enabled == BOOLEAN
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setLegacyAbac

valid {
    input.Body.clusterId == STRING
    input.Body.enabled == BOOLEAN
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setLocations

valid {
    input.Body.clusterId == STRING
    input.Body.locations[_] == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setLogging

valid {
    input.Body.clusterId == STRING
    input.Body.loggingService == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setMaintenancePolicy

enum_MaintenanceExclusionOptionsScope := [ "NO_UPGRADES", "NO_MINOR_UPGRADES", "NO_MINOR_OR_NODE_UPGRADES" ]

valid {
    input.Body.clusterId == STRING
    input.Body.maintenancePolicy.resourceVersion == STRING
    input.Body.maintenancePolicy.window.dailyMaintenanceWindow.duration == STRING
    input.Body.maintenancePolicy.window.dailyMaintenanceWindow.startTime == STRING
    input.Body.maintenancePolicy.window.maintenanceExclusions.STRING.endTime == STRING
    input.Body.maintenancePolicy.window.maintenanceExclusions.STRING.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.maintenancePolicy.window.maintenanceExclusions.STRING.startTime == STRING
    input.Body.maintenancePolicy.window.recurringWindow.recurrence == STRING
    input.Body.maintenancePolicy.window.recurringWindow.window.endTime == STRING
    input.Body.maintenancePolicy.window.recurringWindow.window.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.maintenancePolicy.window.recurringWindow.window.startTime == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setMasterAuth

enum_SetMasterAuthRequestAction := [ "UNKNOWN", "SET_PASSWORD", "GENERATE_PASSWORD", "SET_USERNAME" ]

valid {
    input.Body.action == enum_SetMasterAuthRequestAction[_]
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.update.clientCertificate == STRING
    input.Body.update.clientCertificateConfig.issueClientCertificate == BOOLEAN
    input.Body.update.clientKey == STRING
    input.Body.update.clusterCaCertificate == STRING
    input.Body.update.password == STRING
    input.Body.update.username == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setMonitoring

valid {
    input.Body.clusterId == STRING
    input.Body.monitoringService == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setNetworkPolicy

enum_NetworkPolicyProvider := [ "PROVIDER_UNSPECIFIED", "CALICO" ]

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.networkPolicy.enabled == BOOLEAN
    input.Body.networkPolicy.provider == enum_NetworkPolicyProvider[_]
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.setResourceLabels

valid {
    input.Body.clusterId == STRING
    input.Body.labelFingerprint == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.resourceLabels.STRING == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.startIpRotation

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.rotateCredentials == BOOLEAN
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.update

enum_AdvancedDatapathObservabilityConfigRelayMode := [ "RELAY_MODE_UNSPECIFIED", "DISABLED", "INTERNAL_VPC_LB", "EXTERNAL_LB" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_CloudRunConfigLoadBalancerType := [ "LOAD_BALANCER_TYPE_UNSPECIFIED", "LOAD_BALANCER_TYPE_EXTERNAL", "LOAD_BALANCER_TYPE_INTERNAL" ]
enum_ClusterAutoscalingAutoscalingProfile := [ "PROFILE_UNSPECIFIED", "OPTIMIZE_UTILIZATION", "BALANCED" ]
enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_ClusterUpdateDesiredDatapathProvider := [ "DATAPATH_PROVIDER_UNSPECIFIED", "LEGACY_DATAPATH", "ADVANCED_DATAPATH" ]
enum_ClusterUpdateDesiredInTransitEncryptionConfig := [ "IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", "IN_TRANSIT_ENCRYPTION_DISABLED", "IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT" ]
enum_ClusterUpdateDesiredPrivateIpv6GoogleAccess := [ "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED", "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE", "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" ]
enum_ClusterUpdateDesiredStackType := [ "STACK_TYPE_UNSPECIFIED", "IPV4", "IPV4_IPV6" ]
enum_DNSConfigClusterDns := [ "PROVIDER_UNSPECIFIED", "PLATFORM_DEFAULT", "CLOUD_DNS", "KUBE_DNS" ]
enum_DNSConfigClusterDnsScope := [ "DNS_SCOPE_UNSPECIFIED", "CLUSTER_SCOPE", "VPC_SCOPE" ]
enum_DatabaseEncryptionState := [ "UNKNOWN", "ENCRYPTED", "DECRYPTED" ]
enum_FilterEventType := [ "EVENT_TYPE_UNSPECIFIED", "UPGRADE_AVAILABLE_EVENT", "UPGRADE_EVENT", "SECURITY_BULLETIN_EVENT" ]
enum_GatewayAPIConfigChannel := [ "CHANNEL_UNSPECIFIED", "CHANNEL_DISABLED", "CHANNEL_EXPERIMENTAL", "CHANNEL_STANDARD" ]
enum_LoggingComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "WORKLOADS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_MonitoringComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER", "STORAGE", "HPA", "POD", "DAEMONSET", "DEPLOYMENT", "STATEFULSET", "CADVISOR", "KUBELET", "DCGM" ]
enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]
enum_ReleaseChannelChannel := [ "UNSPECIFIED", "RAPID", "REGULAR", "STABLE" ]
enum_SecurityPostureConfigMode := [ "MODE_UNSPECIFIED", "DISABLED", "BASIC", "ENTERPRISE" ]
enum_SecurityPostureConfigVulnerabilityMode := [ "VULNERABILITY_MODE_UNSPECIFIED", "VULNERABILITY_DISABLED", "VULNERABILITY_BASIC", "VULNERABILITY_ENTERPRISE" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.update.additionalPodRangesConfig.podRangeNames[_] == STRING
    input.Body.update.desiredAddonsConfig.cloudRunConfig.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.cloudRunConfig.loadBalancerType == enum_CloudRunConfigLoadBalancerType[_]
    input.Body.update.desiredAddonsConfig.configConnectorConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.dnsCacheConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gcePersistentDiskCsiDriverConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gcpFilestoreCsiDriverConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gcsFuseCsiDriverConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gkeBackupAgentConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.horizontalPodAutoscaling.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.httpLoadBalancing.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.kubernetesDashboard.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.networkPolicyConfig.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.rayOperatorConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.statefulHaConfig.enabled == BOOLEAN
    input.Body.update.desiredAuthenticatorGroupsConfig.enabled == BOOLEAN
    input.Body.update.desiredAuthenticatorGroupsConfig.securityGroup == STRING
    input.Body.update.desiredAutopilotWorkloadPolicyConfig.allowNetAdmin == BOOLEAN
    input.Body.update.desiredBinaryAuthorization.enabled == BOOLEAN
    input.Body.update.desiredBinaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.update.desiredClusterAutoscaling.autoprovisioningLocations[_] == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.bootDiskKmsKey == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.diskSizeGb == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.diskType == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.imageType == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.autoRepair == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.autoUpgrade == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.description == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.minCpuPlatform == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.oauthScopes[_] == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.serviceAccount == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxSurge == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxUnavailable == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.update.desiredClusterAutoscaling.autoscalingProfile == enum_ClusterAutoscalingAutoscalingProfile[_]
    input.Body.update.desiredClusterAutoscaling.enableNodeAutoprovisioning == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.resourceLimits[_].maximum == STRING
    input.Body.update.desiredClusterAutoscaling.resourceLimits[_].minimum == STRING
    input.Body.update.desiredClusterAutoscaling.resourceLimits[_].resourceType == STRING
    input.Body.update.desiredContainerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.update.desiredContainerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.update.desiredContainerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.update.desiredCostManagementConfig.enabled == BOOLEAN
    input.Body.update.desiredDatabaseEncryption.keyName == STRING
    input.Body.update.desiredDatabaseEncryption.state == enum_DatabaseEncryptionState[_]
    input.Body.update.desiredDatapathProvider == enum_ClusterUpdateDesiredDatapathProvider[_]
    input.Body.update.desiredDefaultSnatStatus.disabled == BOOLEAN
    input.Body.update.desiredDnsConfig.additiveVpcScopeDnsDomain == STRING
    input.Body.update.desiredDnsConfig.clusterDns == enum_DNSConfigClusterDns[_]
    input.Body.update.desiredDnsConfig.clusterDnsDomain == STRING
    input.Body.update.desiredDnsConfig.clusterDnsScope == enum_DNSConfigClusterDnsScope[_]
    input.Body.update.desiredEnableCiliumClusterwideNetworkPolicy == BOOLEAN
    input.Body.update.desiredEnableFqdnNetworkPolicy == BOOLEAN
    input.Body.update.desiredEnableMultiNetworking == BOOLEAN
    input.Body.update.desiredEnablePrivateEndpoint == BOOLEAN
    input.Body.update.desiredFleet.membership == STRING
    input.Body.update.desiredFleet.preRegistered == BOOLEAN
    input.Body.update.desiredFleet.project == STRING
    input.Body.update.desiredGatewayApiConfig.channel == enum_GatewayAPIConfigChannel[_]
    input.Body.update.desiredGcfsConfig.enabled == BOOLEAN
    input.Body.update.desiredIdentityServiceConfig.enabled == BOOLEAN
    input.Body.update.desiredImageType == STRING
    input.Body.update.desiredInTransitEncryptionConfig == enum_ClusterUpdateDesiredInTransitEncryptionConfig[_]
    input.Body.update.desiredIntraNodeVisibilityConfig.enabled == BOOLEAN
    input.Body.update.desiredK8sBetaApis.enabledApis[_] == STRING
    input.Body.update.desiredL4ilbSubsettingConfig.enabled == BOOLEAN
    input.Body.update.desiredLocations[_] == STRING
    input.Body.update.desiredLoggingConfig.componentConfig.enableComponents[_] == enum_LoggingComponentConfigEnableComponents[_]
    input.Body.update.desiredLoggingService == STRING
    input.Body.update.desiredMasterAuthorizedNetworksConfig.cidrBlocks[_].cidrBlock == STRING
    input.Body.update.desiredMasterAuthorizedNetworksConfig.cidrBlocks[_].displayName == STRING
    input.Body.update.desiredMasterAuthorizedNetworksConfig.enabled == BOOLEAN
    input.Body.update.desiredMasterAuthorizedNetworksConfig.gcpPublicCidrsAccessEnabled == BOOLEAN
    input.Body.update.desiredMasterVersion == STRING
    input.Body.update.desiredMeshCertificates.enableCertificates == BOOLEAN
    input.Body.update.desiredMonitoringConfig.advancedDatapathObservabilityConfig.enableMetrics == BOOLEAN
    input.Body.update.desiredMonitoringConfig.advancedDatapathObservabilityConfig.enableRelay == BOOLEAN
    input.Body.update.desiredMonitoringConfig.advancedDatapathObservabilityConfig.relayMode == enum_AdvancedDatapathObservabilityConfigRelayMode[_]
    input.Body.update.desiredMonitoringConfig.componentConfig.enableComponents[_] == enum_MonitoringComponentConfigEnableComponents[_]
    input.Body.update.desiredMonitoringConfig.managedPrometheusConfig.enabled == BOOLEAN
    input.Body.update.desiredMonitoringService == STRING
    input.Body.update.desiredNetworkPerformanceConfig.totalEgressBandwidthTier == enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.update.desiredNodeKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.update.desiredNodeKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.update.desiredNodeKubeletConfig.cpuManagerPolicy == STRING
    input.Body.update.desiredNodeKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.update.desiredNodeKubeletConfig.podPidsLimit == STRING
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.cpuManagerPolicy == STRING
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.podPidsLimit == STRING
    input.Body.update.desiredNodePoolAutoConfigNetworkTags.tags[_] == STRING
    input.Body.update.desiredNodePoolAutoConfigResourceManagerTags.tags.STRING == STRING
    input.Body.update.desiredNodePoolAutoscaling.autoprovisioned == BOOLEAN
    input.Body.update.desiredNodePoolAutoscaling.enabled == BOOLEAN
    input.Body.update.desiredNodePoolAutoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.update.desiredNodePoolAutoscaling.maxNodeCount == INTEGER
    input.Body.update.desiredNodePoolAutoscaling.minNodeCount == INTEGER
    input.Body.update.desiredNodePoolAutoscaling.totalMaxNodeCount == INTEGER
    input.Body.update.desiredNodePoolAutoscaling.totalMinNodeCount == INTEGER
    input.Body.update.desiredNodePoolId == STRING
    input.Body.update.desiredNodePoolLoggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.update.desiredNodeVersion == STRING
    input.Body.update.desiredNotificationConfig.pubsub.enabled == BOOLEAN
    input.Body.update.desiredNotificationConfig.pubsub.filter.eventType[_] == enum_FilterEventType[_]
    input.Body.update.desiredNotificationConfig.pubsub.topic == STRING
    input.Body.update.desiredParentProductConfig.labels.STRING == STRING
    input.Body.update.desiredParentProductConfig.productName == STRING
    input.Body.update.desiredPrivateClusterConfig.enablePrivateEndpoint == BOOLEAN
    input.Body.update.desiredPrivateClusterConfig.enablePrivateNodes == BOOLEAN
    input.Body.update.desiredPrivateClusterConfig.masterGlobalAccessConfig.enabled == BOOLEAN
    input.Body.update.desiredPrivateClusterConfig.masterIpv4CidrBlock == STRING
    input.Body.update.desiredPrivateClusterConfig.peeringName == STRING
    input.Body.update.desiredPrivateClusterConfig.privateEndpoint == STRING
    input.Body.update.desiredPrivateClusterConfig.privateEndpointSubnetwork == STRING
    input.Body.update.desiredPrivateClusterConfig.publicEndpoint == STRING
    input.Body.update.desiredPrivateIpv6GoogleAccess == enum_ClusterUpdateDesiredPrivateIpv6GoogleAccess[_]
    input.Body.update.desiredReleaseChannel.channel == enum_ReleaseChannelChannel[_]
    input.Body.update.desiredResourceUsageExportConfig.bigqueryDestination.datasetId == STRING
    input.Body.update.desiredResourceUsageExportConfig.consumptionMeteringConfig.enabled == BOOLEAN
    input.Body.update.desiredResourceUsageExportConfig.enableNetworkEgressMetering == BOOLEAN
    input.Body.update.desiredSecurityPostureConfig.mode == enum_SecurityPostureConfigMode[_]
    input.Body.update.desiredSecurityPostureConfig.vulnerabilityMode == enum_SecurityPostureConfigVulnerabilityMode[_]
    input.Body.update.desiredServiceExternalIpsConfig.enabled == BOOLEAN
    input.Body.update.desiredShieldedNodes.enabled == BOOLEAN
    input.Body.update.desiredStackType == enum_ClusterUpdateDesiredStackType[_]
    input.Body.update.desiredVerticalPodAutoscaling.enabled == BOOLEAN
    input.Body.update.desiredWorkloadIdentityConfig.workloadPool == STRING
    input.Body.update.enableK8sBetaApis.enabledApis[_] == STRING
    input.Body.update.etag == STRING
    input.Body.update.removedAdditionalPodRangesConfig.podRangeNames[_] == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.updateMaster

valid {
    input.Body.clusterId == STRING
    input.Body.masterVersion == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.clusters.well-known.getOpenid-configuration

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

container.projects.locations.getServerConfig

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

container.projects.locations.list

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

container.projects.locations.operations.cancel

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

container.projects.locations.operations.get

valid {
    input.ReqMap.name == STRING
    input.Qs.operationId == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.locations.operations.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.projectId == STRING
    input.Qs.zone == STRING
    input.ProviderMetadata.Region == STRING
}

container.projects.zones.clusters.addons

enum_CloudRunConfigLoadBalancerType := [ "LOAD_BALANCER_TYPE_UNSPECIFIED", "LOAD_BALANCER_TYPE_EXTERNAL", "LOAD_BALANCER_TYPE_INTERNAL" ]

valid {
    input.Body.addonsConfig.cloudRunConfig.disabled == BOOLEAN
    input.Body.addonsConfig.cloudRunConfig.loadBalancerType == enum_CloudRunConfigLoadBalancerType[_]
    input.Body.addonsConfig.configConnectorConfig.enabled == BOOLEAN
    input.Body.addonsConfig.dnsCacheConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gcePersistentDiskCsiDriverConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gcpFilestoreCsiDriverConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gcsFuseCsiDriverConfig.enabled == BOOLEAN
    input.Body.addonsConfig.gkeBackupAgentConfig.enabled == BOOLEAN
    input.Body.addonsConfig.horizontalPodAutoscaling.disabled == BOOLEAN
    input.Body.addonsConfig.httpLoadBalancing.disabled == BOOLEAN
    input.Body.addonsConfig.kubernetesDashboard.disabled == BOOLEAN
    input.Body.addonsConfig.networkPolicyConfig.disabled == BOOLEAN
    input.Body.addonsConfig.rayOperatorConfig.enabled == BOOLEAN
    input.Body.addonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled == BOOLEAN
    input.Body.addonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled == BOOLEAN
    input.Body.addonsConfig.statefulHaConfig.enabled == BOOLEAN
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.completeIpRotation

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.create

enum_AdvancedDatapathObservabilityConfigRelayMode := [ "RELAY_MODE_UNSPECIFIED", "DISABLED", "INTERNAL_VPC_LB", "EXTERNAL_LB" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_CloudRunConfigLoadBalancerType := [ "LOAD_BALANCER_TYPE_UNSPECIFIED", "LOAD_BALANCER_TYPE_EXTERNAL", "LOAD_BALANCER_TYPE_INTERNAL" ]
enum_ClusterAutoscalingAutoscalingProfile := [ "PROFILE_UNSPECIFIED", "OPTIMIZE_UTILIZATION", "BALANCED" ]
enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_ClusterStatus := [ "STATUS_UNSPECIFIED", "PROVISIONING", "RUNNING", "RECONCILING", "STOPPING", "ERROR", "DEGRADED" ]
enum_DNSConfigClusterDns := [ "PROVIDER_UNSPECIFIED", "PLATFORM_DEFAULT", "CLOUD_DNS", "KUBE_DNS" ]
enum_DNSConfigClusterDnsScope := [ "DNS_SCOPE_UNSPECIFIED", "CLUSTER_SCOPE", "VPC_SCOPE" ]
enum_DatabaseEncryptionState := [ "UNKNOWN", "ENCRYPTED", "DECRYPTED" ]
enum_FilterEventType := [ "EVENT_TYPE_UNSPECIFIED", "UPGRADE_AVAILABLE_EVENT", "UPGRADE_EVENT", "SECURITY_BULLETIN_EVENT" ]
enum_GPUDriverInstallationConfigGpuDriverVersion := [ "GPU_DRIVER_VERSION_UNSPECIFIED", "INSTALLATION_DISABLED", "DEFAULT", "LATEST" ]
enum_GPUSharingConfigGpuSharingStrategy := [ "GPU_SHARING_STRATEGY_UNSPECIFIED", "TIME_SHARING", "MPS" ]
enum_GatewayAPIConfigChannel := [ "CHANNEL_UNSPECIFIED", "CHANNEL_DISABLED", "CHANNEL_EXPERIMENTAL", "CHANNEL_STANDARD" ]
enum_IPAllocationPolicyIpv6AccessType := [ "IPV6_ACCESS_TYPE_UNSPECIFIED", "INTERNAL", "EXTERNAL" ]
enum_IPAllocationPolicyStackType := [ "STACK_TYPE_UNSPECIFIED", "IPV4", "IPV4_IPV6" ]
enum_LinuxNodeConfigCgroupMode := [ "CGROUP_MODE_UNSPECIFIED", "CGROUP_MODE_V1", "CGROUP_MODE_V2" ]
enum_LoggingComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "WORKLOADS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_MaintenanceExclusionOptionsScope := [ "NO_UPGRADES", "NO_MINOR_UPGRADES", "NO_MINOR_OR_NODE_UPGRADES" ]
enum_MonitoringComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER", "STORAGE", "HPA", "POD", "DAEMONSET", "DEPLOYMENT", "STATEFULSET", "CADVISOR", "KUBELET", "DCGM" ]
enum_NetworkConfigDatapathProvider := [ "DATAPATH_PROVIDER_UNSPECIFIED", "LEGACY_DATAPATH", "ADVANCED_DATAPATH" ]
enum_NetworkConfigInTransitEncryptionConfig := [ "IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", "IN_TRANSIT_ENCRYPTION_DISABLED", "IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT" ]
enum_NetworkConfigPrivateIpv6GoogleAccess := [ "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED", "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE", "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" ]
enum_NetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_NetworkPolicyProvider := [ "PROVIDER_UNSPECIFIED", "CALICO" ]
enum_NodeAffinityOperator := [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN" ]
enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]
enum_NodePoolStatus := [ "STATUS_UNSPECIFIED", "PROVISIONING", "RUNNING", "RUNNING_WITH_ERROR", "RECONCILING", "STOPPING", "ERROR" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]
enum_PlacementPolicyType := [ "TYPE_UNSPECIFIED", "COMPACT" ]
enum_ReleaseChannelChannel := [ "UNSPECIFIED", "RAPID", "REGULAR", "STABLE" ]
enum_ReservationAffinityConsumeReservationType := [ "UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_SandboxConfigType := [ "UNSPECIFIED", "GVISOR" ]
enum_SecondaryBootDiskMode := [ "MODE_UNSPECIFIED", "CONTAINER_IMAGE_CACHE" ]
enum_SecurityPostureConfigMode := [ "MODE_UNSPECIFIED", "DISABLED", "BASIC", "ENTERPRISE" ]
enum_SecurityPostureConfigVulnerabilityMode := [ "VULNERABILITY_MODE_UNSPECIFIED", "VULNERABILITY_DISABLED", "VULNERABILITY_BASIC", "VULNERABILITY_ENTERPRISE" ]
enum_StatusConditionCanonicalCode := [ "OK", "CANCELLED", "UNKNOWN", "INVALID_ARGUMENT", "DEADLINE_EXCEEDED", "NOT_FOUND", "ALREADY_EXISTS", "PERMISSION_DENIED", "UNAUTHENTICATED", "RESOURCE_EXHAUSTED", "FAILED_PRECONDITION", "ABORTED", "OUT_OF_RANGE", "UNIMPLEMENTED", "INTERNAL", "UNAVAILABLE", "DATA_LOSS" ]
enum_StatusConditionCode := [ "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", "CLOUD_KMS_KEY_ERROR", "CA_EXPIRING" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]
enum_WindowsNodeConfigOsVersion := [ "OS_VERSION_UNSPECIFIED", "OS_VERSION_LTSC2019", "OS_VERSION_LTSC2022" ]
enum_WorkloadMetadataConfigMode := [ "MODE_UNSPECIFIED", "GCE_METADATA", "GKE_METADATA" ]

valid {
    input.Body.cluster.addonsConfig.cloudRunConfig.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.cloudRunConfig.loadBalancerType == enum_CloudRunConfigLoadBalancerType[_]
    input.Body.cluster.addonsConfig.configConnectorConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.dnsCacheConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gcePersistentDiskCsiDriverConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gcpFilestoreCsiDriverConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gcsFuseCsiDriverConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.gkeBackupAgentConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.horizontalPodAutoscaling.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.httpLoadBalancing.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.kubernetesDashboard.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.networkPolicyConfig.disabled == BOOLEAN
    input.Body.cluster.addonsConfig.rayOperatorConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled == BOOLEAN
    input.Body.cluster.addonsConfig.statefulHaConfig.enabled == BOOLEAN
    input.Body.cluster.authenticatorGroupsConfig.enabled == BOOLEAN
    input.Body.cluster.authenticatorGroupsConfig.securityGroup == STRING
    input.Body.cluster.autopilot.enabled == BOOLEAN
    input.Body.cluster.autopilot.workloadPolicyConfig.allowNetAdmin == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningLocations[_] == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.bootDiskKmsKey == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.diskSizeGb == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.diskType == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.imageType == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.autoRepair == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.autoUpgrade == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.description == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.minCpuPlatform == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.oauthScopes[_] == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.serviceAccount == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxSurge == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxUnavailable == INTEGER
    input.Body.cluster.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.cluster.autoscaling.autoscalingProfile == enum_ClusterAutoscalingAutoscalingProfile[_]
    input.Body.cluster.autoscaling.enableNodeAutoprovisioning == BOOLEAN
    input.Body.cluster.autoscaling.resourceLimits[_].maximum == STRING
    input.Body.cluster.autoscaling.resourceLimits[_].minimum == STRING
    input.Body.cluster.autoscaling.resourceLimits[_].resourceType == STRING
    input.Body.cluster.binaryAuthorization.enabled == BOOLEAN
    input.Body.cluster.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.cluster.clusterIpv4Cidr == STRING
    input.Body.cluster.conditions[_].canonicalCode == enum_StatusConditionCanonicalCode[_]
    input.Body.cluster.conditions[_].code == enum_StatusConditionCode[_]
    input.Body.cluster.conditions[_].message == STRING
    input.Body.cluster.confidentialNodes.enabled == BOOLEAN
    input.Body.cluster.costManagementConfig.enabled == BOOLEAN
    input.Body.cluster.createTime == STRING
    input.Body.cluster.currentMasterVersion == STRING
    input.Body.cluster.currentNodeCount == INTEGER
    input.Body.cluster.currentNodeVersion == STRING
    input.Body.cluster.databaseEncryption.keyName == STRING
    input.Body.cluster.databaseEncryption.state == enum_DatabaseEncryptionState[_]
    input.Body.cluster.defaultMaxPodsConstraint.maxPodsPerNode == STRING
    input.Body.cluster.description == STRING
    input.Body.cluster.enableK8sBetaApis.enabledApis[_] == STRING
    input.Body.cluster.enableKubernetesAlpha == BOOLEAN
    input.Body.cluster.enableTpu == BOOLEAN
    input.Body.cluster.endpoint == STRING
    input.Body.cluster.enterpriseConfig == {}
    input.Body.cluster.etag == STRING
    input.Body.cluster.expireTime == STRING
    input.Body.cluster.fleet.membership == STRING
    input.Body.cluster.fleet.preRegistered == BOOLEAN
    input.Body.cluster.fleet.project == STRING
    input.Body.cluster.identityServiceConfig.enabled == BOOLEAN
    input.Body.cluster.initialClusterVersion == STRING
    input.Body.cluster.initialNodeCount == INTEGER
    input.Body.cluster.instanceGroupUrls[_] == STRING
    input.Body.cluster.ipAllocationPolicy.clusterIpv4Cidr == STRING
    input.Body.cluster.ipAllocationPolicy.clusterIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.clusterSecondaryRangeName == STRING
    input.Body.cluster.ipAllocationPolicy.createSubnetwork == BOOLEAN
    input.Body.cluster.ipAllocationPolicy.ipv6AccessType == enum_IPAllocationPolicyIpv6AccessType[_]
    input.Body.cluster.ipAllocationPolicy.nodeIpv4Cidr == STRING
    input.Body.cluster.ipAllocationPolicy.nodeIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.cluster.ipAllocationPolicy.servicesIpv4Cidr == STRING
    input.Body.cluster.ipAllocationPolicy.servicesIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.servicesSecondaryRangeName == STRING
    input.Body.cluster.ipAllocationPolicy.stackType == enum_IPAllocationPolicyStackType[_]
    input.Body.cluster.ipAllocationPolicy.subnetworkName == STRING
    input.Body.cluster.ipAllocationPolicy.tpuIpv4CidrBlock == STRING
    input.Body.cluster.ipAllocationPolicy.useIpAliases == BOOLEAN
    input.Body.cluster.ipAllocationPolicy.useRoutes == BOOLEAN
    input.Body.cluster.labelFingerprint == STRING
    input.Body.cluster.legacyAbac.enabled == BOOLEAN
    input.Body.cluster.location == STRING
    input.Body.cluster.locations[_] == STRING
    input.Body.cluster.loggingConfig.componentConfig.enableComponents[_] == enum_LoggingComponentConfigEnableComponents[_]
    input.Body.cluster.loggingService == STRING
    input.Body.cluster.maintenancePolicy.resourceVersion == STRING
    input.Body.cluster.maintenancePolicy.window.dailyMaintenanceWindow.duration == STRING
    input.Body.cluster.maintenancePolicy.window.dailyMaintenanceWindow.startTime == STRING
    input.Body.cluster.maintenancePolicy.window.maintenanceExclusions.STRING.endTime == STRING
    input.Body.cluster.maintenancePolicy.window.maintenanceExclusions.STRING.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.cluster.maintenancePolicy.window.maintenanceExclusions.STRING.startTime == STRING
    input.Body.cluster.maintenancePolicy.window.recurringWindow.recurrence == STRING
    input.Body.cluster.maintenancePolicy.window.recurringWindow.window.endTime == STRING
    input.Body.cluster.maintenancePolicy.window.recurringWindow.window.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.cluster.maintenancePolicy.window.recurringWindow.window.startTime == STRING
    input.Body.cluster.masterAuth.clientCertificate == STRING
    input.Body.cluster.masterAuth.clientCertificateConfig.issueClientCertificate == BOOLEAN
    input.Body.cluster.masterAuth.clientKey == STRING
    input.Body.cluster.masterAuth.clusterCaCertificate == STRING
    input.Body.cluster.masterAuth.password == STRING
    input.Body.cluster.masterAuth.username == STRING
    input.Body.cluster.masterAuthorizedNetworksConfig.cidrBlocks[_].cidrBlock == STRING
    input.Body.cluster.masterAuthorizedNetworksConfig.cidrBlocks[_].displayName == STRING
    input.Body.cluster.masterAuthorizedNetworksConfig.enabled == BOOLEAN
    input.Body.cluster.masterAuthorizedNetworksConfig.gcpPublicCidrsAccessEnabled == BOOLEAN
    input.Body.cluster.meshCertificates.enableCertificates == BOOLEAN
    input.Body.cluster.monitoringConfig.advancedDatapathObservabilityConfig.enableMetrics == BOOLEAN
    input.Body.cluster.monitoringConfig.advancedDatapathObservabilityConfig.enableRelay == BOOLEAN
    input.Body.cluster.monitoringConfig.advancedDatapathObservabilityConfig.relayMode == enum_AdvancedDatapathObservabilityConfigRelayMode[_]
    input.Body.cluster.monitoringConfig.componentConfig.enableComponents[_] == enum_MonitoringComponentConfigEnableComponents[_]
    input.Body.cluster.monitoringConfig.managedPrometheusConfig.enabled == BOOLEAN
    input.Body.cluster.monitoringService == STRING
    input.Body.cluster.name == STRING
    input.Body.cluster.network == STRING
    input.Body.cluster.networkConfig.datapathProvider == enum_NetworkConfigDatapathProvider[_]
    input.Body.cluster.networkConfig.defaultSnatStatus.disabled == BOOLEAN
    input.Body.cluster.networkConfig.dnsConfig.additiveVpcScopeDnsDomain == STRING
    input.Body.cluster.networkConfig.dnsConfig.clusterDns == enum_DNSConfigClusterDns[_]
    input.Body.cluster.networkConfig.dnsConfig.clusterDnsDomain == STRING
    input.Body.cluster.networkConfig.dnsConfig.clusterDnsScope == enum_DNSConfigClusterDnsScope[_]
    input.Body.cluster.networkConfig.enableCiliumClusterwideNetworkPolicy == BOOLEAN
    input.Body.cluster.networkConfig.enableFqdnNetworkPolicy == BOOLEAN
    input.Body.cluster.networkConfig.enableIntraNodeVisibility == BOOLEAN
    input.Body.cluster.networkConfig.enableL4ilbSubsetting == BOOLEAN
    input.Body.cluster.networkConfig.enableMultiNetworking == BOOLEAN
    input.Body.cluster.networkConfig.gatewayApiConfig.channel == enum_GatewayAPIConfigChannel[_]
    input.Body.cluster.networkConfig.inTransitEncryptionConfig == enum_NetworkConfigInTransitEncryptionConfig[_]
    input.Body.cluster.networkConfig.network == STRING
    input.Body.cluster.networkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.cluster.networkConfig.privateIpv6GoogleAccess == enum_NetworkConfigPrivateIpv6GoogleAccess[_]
    input.Body.cluster.networkConfig.serviceExternalIpsConfig.enabled == BOOLEAN
    input.Body.cluster.networkConfig.subnetwork == STRING
    input.Body.cluster.networkPolicy.enabled == BOOLEAN
    input.Body.cluster.networkPolicy.provider == enum_NetworkPolicyProvider[_]
    input.Body.cluster.nodeConfig.accelerators[_].acceleratorCount == STRING
    input.Body.cluster.nodeConfig.accelerators[_].acceleratorType == STRING
    input.Body.cluster.nodeConfig.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.cluster.nodeConfig.accelerators[_].gpuPartitionSize == STRING
    input.Body.cluster.nodeConfig.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.cluster.nodeConfig.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.cluster.nodeConfig.advancedMachineFeatures.enableNestedVirtualization == BOOLEAN
    input.Body.cluster.nodeConfig.advancedMachineFeatures.threadsPerCore == STRING
    input.Body.cluster.nodeConfig.bootDiskKmsKey == STRING
    input.Body.cluster.nodeConfig.confidentialNodes.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.cluster.nodeConfig.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.cluster.nodeConfig.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.diskSizeGb == INTEGER
    input.Body.cluster.nodeConfig.diskType == STRING
    input.Body.cluster.nodeConfig.enableConfidentialStorage == BOOLEAN
    input.Body.cluster.nodeConfig.ephemeralStorageLocalSsdConfig.localSsdCount == INTEGER
    input.Body.cluster.nodeConfig.fastSocket.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.gcfsConfig.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.gvnic.enabled == BOOLEAN
    input.Body.cluster.nodeConfig.imageType == STRING
    input.Body.cluster.nodeConfig.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodeConfig.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodeConfig.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodeConfig.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodeConfig.kubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodeConfig.labels.STRING == STRING
    input.Body.cluster.nodeConfig.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.cluster.nodeConfig.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.cluster.nodeConfig.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.cluster.nodeConfig.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.cluster.nodeConfig.localNvmeSsdBlockConfig.localSsdCount == INTEGER
    input.Body.cluster.nodeConfig.localSsdCount == INTEGER
    input.Body.cluster.nodeConfig.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.cluster.nodeConfig.machineType == STRING
    input.Body.cluster.nodeConfig.metadata.STRING == STRING
    input.Body.cluster.nodeConfig.minCpuPlatform == STRING
    input.Body.cluster.nodeConfig.nodeGroup == STRING
    input.Body.cluster.nodeConfig.oauthScopes[_] == STRING
    input.Body.cluster.nodeConfig.preemptible == BOOLEAN
    input.Body.cluster.nodeConfig.reservationAffinity.consumeReservationType == enum_ReservationAffinityConsumeReservationType[_]
    input.Body.cluster.nodeConfig.reservationAffinity.key == STRING
    input.Body.cluster.nodeConfig.reservationAffinity.values[_] == STRING
    input.Body.cluster.nodeConfig.resourceLabels.STRING == STRING
    input.Body.cluster.nodeConfig.resourceManagerTags.tags.STRING == STRING
    input.Body.cluster.nodeConfig.sandboxConfig.type == enum_SandboxConfigType[_]
    input.Body.cluster.nodeConfig.secondaryBootDiskUpdateStrategy.STRING == STRING
    input.Body.cluster.nodeConfig.secondaryBootDisks[_].diskImage == STRING
    input.Body.cluster.nodeConfig.secondaryBootDisks[_].mode == enum_SecondaryBootDiskMode[_]
    input.Body.cluster.nodeConfig.serviceAccount == STRING
    input.Body.cluster.nodeConfig.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.cluster.nodeConfig.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.cluster.nodeConfig.soleTenantConfig.nodeAffinities[_].key == STRING
    input.Body.cluster.nodeConfig.soleTenantConfig.nodeAffinities[_].operator == enum_NodeAffinityOperator[_]
    input.Body.cluster.nodeConfig.soleTenantConfig.nodeAffinities[_].values[_] == STRING
    input.Body.cluster.nodeConfig.spot == BOOLEAN
    input.Body.cluster.nodeConfig.tags[_] == STRING
    input.Body.cluster.nodeConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.cluster.nodeConfig.taints[_].key == STRING
    input.Body.cluster.nodeConfig.taints[_].value == STRING
    input.Body.cluster.nodeConfig.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.cluster.nodeConfig.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.cluster.nodeIpv4CidrSize == INTEGER
    input.Body.cluster.nodePoolAutoConfig.networkTags.tags[_] == STRING
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodePoolAutoConfig.nodeKubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodePoolAutoConfig.resourceManagerTags.tags.STRING == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.gcfsConfig.enabled == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodePools[_].autoscaling.autoprovisioned == BOOLEAN
    input.Body.cluster.nodePools[_].autoscaling.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].autoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.cluster.nodePools[_].autoscaling.maxNodeCount == INTEGER
    input.Body.cluster.nodePools[_].autoscaling.minNodeCount == INTEGER
    input.Body.cluster.nodePools[_].autoscaling.totalMaxNodeCount == INTEGER
    input.Body.cluster.nodePools[_].autoscaling.totalMinNodeCount == INTEGER
    input.Body.cluster.nodePools[_].bestEffortProvisioning.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].bestEffortProvisioning.minProvisionNodes == INTEGER
    input.Body.cluster.nodePools[_].conditions[_].canonicalCode == enum_StatusConditionCanonicalCode[_]
    input.Body.cluster.nodePools[_].conditions[_].code == enum_StatusConditionCode[_]
    input.Body.cluster.nodePools[_].conditions[_].message == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].acceleratorCount == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].acceleratorType == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuPartitionSize == STRING
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.cluster.nodePools[_].config.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.cluster.nodePools[_].config.advancedMachineFeatures.enableNestedVirtualization == BOOLEAN
    input.Body.cluster.nodePools[_].config.advancedMachineFeatures.threadsPerCore == STRING
    input.Body.cluster.nodePools[_].config.bootDiskKmsKey == STRING
    input.Body.cluster.nodePools[_].config.confidentialNodes.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.cluster.nodePools[_].config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.cluster.nodePools[_].config.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.diskSizeGb == INTEGER
    input.Body.cluster.nodePools[_].config.diskType == STRING
    input.Body.cluster.nodePools[_].config.enableConfidentialStorage == BOOLEAN
    input.Body.cluster.nodePools[_].config.ephemeralStorageLocalSsdConfig.localSsdCount == INTEGER
    input.Body.cluster.nodePools[_].config.fastSocket.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.gcfsConfig.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.gvnic.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.imageType == STRING
    input.Body.cluster.nodePools[_].config.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.cluster.nodePools[_].config.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.cluster.nodePools[_].config.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.cluster.nodePools[_].config.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.cluster.nodePools[_].config.kubeletConfig.podPidsLimit == STRING
    input.Body.cluster.nodePools[_].config.labels.STRING == STRING
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.cluster.nodePools[_].config.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.cluster.nodePools[_].config.localNvmeSsdBlockConfig.localSsdCount == INTEGER
    input.Body.cluster.nodePools[_].config.localSsdCount == INTEGER
    input.Body.cluster.nodePools[_].config.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.cluster.nodePools[_].config.machineType == STRING
    input.Body.cluster.nodePools[_].config.metadata.STRING == STRING
    input.Body.cluster.nodePools[_].config.minCpuPlatform == STRING
    input.Body.cluster.nodePools[_].config.nodeGroup == STRING
    input.Body.cluster.nodePools[_].config.oauthScopes[_] == STRING
    input.Body.cluster.nodePools[_].config.preemptible == BOOLEAN
    input.Body.cluster.nodePools[_].config.reservationAffinity.consumeReservationType == enum_ReservationAffinityConsumeReservationType[_]
    input.Body.cluster.nodePools[_].config.reservationAffinity.key == STRING
    input.Body.cluster.nodePools[_].config.reservationAffinity.values[_] == STRING
    input.Body.cluster.nodePools[_].config.resourceLabels.STRING == STRING
    input.Body.cluster.nodePools[_].config.resourceManagerTags.tags.STRING == STRING
    input.Body.cluster.nodePools[_].config.sandboxConfig.type == enum_SandboxConfigType[_]
    input.Body.cluster.nodePools[_].config.secondaryBootDiskUpdateStrategy.STRING == STRING
    input.Body.cluster.nodePools[_].config.secondaryBootDisks[_].diskImage == STRING
    input.Body.cluster.nodePools[_].config.secondaryBootDisks[_].mode == enum_SecondaryBootDiskMode[_]
    input.Body.cluster.nodePools[_].config.serviceAccount == STRING
    input.Body.cluster.nodePools[_].config.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.cluster.nodePools[_].config.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.cluster.nodePools[_].config.soleTenantConfig.nodeAffinities[_].key == STRING
    input.Body.cluster.nodePools[_].config.soleTenantConfig.nodeAffinities[_].operator == enum_NodeAffinityOperator[_]
    input.Body.cluster.nodePools[_].config.soleTenantConfig.nodeAffinities[_].values[_] == STRING
    input.Body.cluster.nodePools[_].config.spot == BOOLEAN
    input.Body.cluster.nodePools[_].config.tags[_] == STRING
    input.Body.cluster.nodePools[_].config.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.cluster.nodePools[_].config.taints[_].key == STRING
    input.Body.cluster.nodePools[_].config.taints[_].value == STRING
    input.Body.cluster.nodePools[_].config.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.cluster.nodePools[_].config.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.cluster.nodePools[_].etag == STRING
    input.Body.cluster.nodePools[_].initialNodeCount == INTEGER
    input.Body.cluster.nodePools[_].instanceGroupUrls[_] == STRING
    input.Body.cluster.nodePools[_].locations[_] == STRING
    input.Body.cluster.nodePools[_].management.autoRepair == BOOLEAN
    input.Body.cluster.nodePools[_].management.autoUpgrade == BOOLEAN
    input.Body.cluster.nodePools[_].management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.cluster.nodePools[_].management.upgradeOptions.description == STRING
    input.Body.cluster.nodePools[_].maxPodsConstraint.maxPodsPerNode == STRING
    input.Body.cluster.nodePools[_].name == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalNodeNetworkConfigs[_].network == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalNodeNetworkConfigs[_].subnetwork == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalPodNetworkConfigs[_].maxPodsPerNode.maxPodsPerNode == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalPodNetworkConfigs[_].secondaryPodRange == STRING
    input.Body.cluster.nodePools[_].networkConfig.additionalPodNetworkConfigs[_].subnetwork == STRING
    input.Body.cluster.nodePools[_].networkConfig.createPodRange == BOOLEAN
    input.Body.cluster.nodePools[_].networkConfig.enablePrivateNodes == BOOLEAN
    input.Body.cluster.nodePools[_].networkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_NetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.cluster.nodePools[_].networkConfig.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.cluster.nodePools[_].networkConfig.podIpv4CidrBlock == STRING
    input.Body.cluster.nodePools[_].networkConfig.podRange == STRING
    input.Body.cluster.nodePools[_].placementPolicy.policyName == STRING
    input.Body.cluster.nodePools[_].placementPolicy.tpuTopology == STRING
    input.Body.cluster.nodePools[_].placementPolicy.type == enum_PlacementPolicyType[_]
    input.Body.cluster.nodePools[_].podIpv4CidrSize == INTEGER
    input.Body.cluster.nodePools[_].queuedProvisioning.enabled == BOOLEAN
    input.Body.cluster.nodePools[_].selfLink == STRING
    input.Body.cluster.nodePools[_].status == enum_NodePoolStatus[_]
    input.Body.cluster.nodePools[_].statusMessage == STRING
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.cluster.nodePools[_].upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.cluster.nodePools[_].upgradeSettings.maxSurge == INTEGER
    input.Body.cluster.nodePools[_].upgradeSettings.maxUnavailable == INTEGER
    input.Body.cluster.nodePools[_].upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.cluster.nodePools[_].version == STRING
    input.Body.cluster.notificationConfig.pubsub.enabled == BOOLEAN
    input.Body.cluster.notificationConfig.pubsub.filter.eventType[_] == enum_FilterEventType[_]
    input.Body.cluster.notificationConfig.pubsub.topic == STRING
    input.Body.cluster.parentProductConfig.labels.STRING == STRING
    input.Body.cluster.parentProductConfig.productName == STRING
    input.Body.cluster.privateClusterConfig.enablePrivateEndpoint == BOOLEAN
    input.Body.cluster.privateClusterConfig.enablePrivateNodes == BOOLEAN
    input.Body.cluster.privateClusterConfig.masterGlobalAccessConfig.enabled == BOOLEAN
    input.Body.cluster.privateClusterConfig.masterIpv4CidrBlock == STRING
    input.Body.cluster.privateClusterConfig.peeringName == STRING
    input.Body.cluster.privateClusterConfig.privateEndpoint == STRING
    input.Body.cluster.privateClusterConfig.privateEndpointSubnetwork == STRING
    input.Body.cluster.privateClusterConfig.publicEndpoint == STRING
    input.Body.cluster.releaseChannel.channel == enum_ReleaseChannelChannel[_]
    input.Body.cluster.resourceLabels.STRING == STRING
    input.Body.cluster.resourceUsageExportConfig.bigqueryDestination.datasetId == STRING
    input.Body.cluster.resourceUsageExportConfig.consumptionMeteringConfig.enabled == BOOLEAN
    input.Body.cluster.resourceUsageExportConfig.enableNetworkEgressMetering == BOOLEAN
    input.Body.cluster.securityPostureConfig.mode == enum_SecurityPostureConfigMode[_]
    input.Body.cluster.securityPostureConfig.vulnerabilityMode == enum_SecurityPostureConfigVulnerabilityMode[_]
    input.Body.cluster.selfLink == STRING
    input.Body.cluster.servicesIpv4Cidr == STRING
    input.Body.cluster.shieldedNodes.enabled == BOOLEAN
    input.Body.cluster.status == enum_ClusterStatus[_]
    input.Body.cluster.statusMessage == STRING
    input.Body.cluster.subnetwork == STRING
    input.Body.cluster.tpuIpv4CidrBlock == STRING
    input.Body.cluster.verticalPodAutoscaling.enabled == BOOLEAN
    input.Body.cluster.workloadIdentityConfig.workloadPool == STRING
    input.Body.cluster.zone == STRING
    input.Body.parent == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.delete

valid {
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.get

valid {
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.legacyAbac

valid {
    input.Body.clusterId == STRING
    input.Body.enabled == BOOLEAN
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.list

valid {
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.parent == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.locations

valid {
    input.Body.clusterId == STRING
    input.Body.locations[_] == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.logging

valid {
    input.Body.clusterId == STRING
    input.Body.loggingService == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.master

valid {
    input.Body.clusterId == STRING
    input.Body.masterVersion == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.monitoring

valid {
    input.Body.clusterId == STRING
    input.Body.monitoringService == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.autoscaling

enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]

valid {
    input.Body.autoscaling.autoprovisioned == BOOLEAN
    input.Body.autoscaling.enabled == BOOLEAN
    input.Body.autoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.autoscaling.maxNodeCount == INTEGER
    input.Body.autoscaling.minNodeCount == INTEGER
    input.Body.autoscaling.totalMaxNodeCount == INTEGER
    input.Body.autoscaling.totalMinNodeCount == INTEGER
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.create

enum_GPUDriverInstallationConfigGpuDriverVersion := [ "GPU_DRIVER_VERSION_UNSPECIFIED", "INSTALLATION_DISABLED", "DEFAULT", "LATEST" ]
enum_GPUSharingConfigGpuSharingStrategy := [ "GPU_SHARING_STRATEGY_UNSPECIFIED", "TIME_SHARING", "MPS" ]
enum_LinuxNodeConfigCgroupMode := [ "CGROUP_MODE_UNSPECIFIED", "CGROUP_MODE_V1", "CGROUP_MODE_V2" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_NetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_NodeAffinityOperator := [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN" ]
enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]
enum_NodePoolStatus := [ "STATUS_UNSPECIFIED", "PROVISIONING", "RUNNING", "RUNNING_WITH_ERROR", "RECONCILING", "STOPPING", "ERROR" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]
enum_PlacementPolicyType := [ "TYPE_UNSPECIFIED", "COMPACT" ]
enum_ReservationAffinityConsumeReservationType := [ "UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_SandboxConfigType := [ "UNSPECIFIED", "GVISOR" ]
enum_SecondaryBootDiskMode := [ "MODE_UNSPECIFIED", "CONTAINER_IMAGE_CACHE" ]
enum_StatusConditionCanonicalCode := [ "OK", "CANCELLED", "UNKNOWN", "INVALID_ARGUMENT", "DEADLINE_EXCEEDED", "NOT_FOUND", "ALREADY_EXISTS", "PERMISSION_DENIED", "UNAUTHENTICATED", "RESOURCE_EXHAUSTED", "FAILED_PRECONDITION", "ABORTED", "OUT_OF_RANGE", "UNIMPLEMENTED", "INTERNAL", "UNAVAILABLE", "DATA_LOSS" ]
enum_StatusConditionCode := [ "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", "CLOUD_KMS_KEY_ERROR", "CA_EXPIRING" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]
enum_WindowsNodeConfigOsVersion := [ "OS_VERSION_UNSPECIFIED", "OS_VERSION_LTSC2019", "OS_VERSION_LTSC2022" ]
enum_WorkloadMetadataConfigMode := [ "MODE_UNSPECIFIED", "GCE_METADATA", "GKE_METADATA" ]

valid {
    input.Body.clusterId == STRING
    input.Body.nodePool.autoscaling.autoprovisioned == BOOLEAN
    input.Body.nodePool.autoscaling.enabled == BOOLEAN
    input.Body.nodePool.autoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.nodePool.autoscaling.maxNodeCount == INTEGER
    input.Body.nodePool.autoscaling.minNodeCount == INTEGER
    input.Body.nodePool.autoscaling.totalMaxNodeCount == INTEGER
    input.Body.nodePool.autoscaling.totalMinNodeCount == INTEGER
    input.Body.nodePool.bestEffortProvisioning.enabled == BOOLEAN
    input.Body.nodePool.bestEffortProvisioning.minProvisionNodes == INTEGER
    input.Body.nodePool.conditions[_].canonicalCode == enum_StatusConditionCanonicalCode[_]
    input.Body.nodePool.conditions[_].code == enum_StatusConditionCode[_]
    input.Body.nodePool.conditions[_].message == STRING
    input.Body.nodePool.config.accelerators[_].acceleratorCount == STRING
    input.Body.nodePool.config.accelerators[_].acceleratorType == STRING
    input.Body.nodePool.config.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.nodePool.config.accelerators[_].gpuPartitionSize == STRING
    input.Body.nodePool.config.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.nodePool.config.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.nodePool.config.advancedMachineFeatures.enableNestedVirtualization == BOOLEAN
    input.Body.nodePool.config.advancedMachineFeatures.threadsPerCore == STRING
    input.Body.nodePool.config.bootDiskKmsKey == STRING
    input.Body.nodePool.config.confidentialNodes.enabled == BOOLEAN
    input.Body.nodePool.config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.nodePool.config.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.nodePool.config.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.nodePool.config.diskSizeGb == INTEGER
    input.Body.nodePool.config.diskType == STRING
    input.Body.nodePool.config.enableConfidentialStorage == BOOLEAN
    input.Body.nodePool.config.ephemeralStorageLocalSsdConfig.localSsdCount == INTEGER
    input.Body.nodePool.config.fastSocket.enabled == BOOLEAN
    input.Body.nodePool.config.gcfsConfig.enabled == BOOLEAN
    input.Body.nodePool.config.gvnic.enabled == BOOLEAN
    input.Body.nodePool.config.imageType == STRING
    input.Body.nodePool.config.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.nodePool.config.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.nodePool.config.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.nodePool.config.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.nodePool.config.kubeletConfig.podPidsLimit == STRING
    input.Body.nodePool.config.labels.STRING == STRING
    input.Body.nodePool.config.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.nodePool.config.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.nodePool.config.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.nodePool.config.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.nodePool.config.localNvmeSsdBlockConfig.localSsdCount == INTEGER
    input.Body.nodePool.config.localSsdCount == INTEGER
    input.Body.nodePool.config.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.nodePool.config.machineType == STRING
    input.Body.nodePool.config.metadata.STRING == STRING
    input.Body.nodePool.config.minCpuPlatform == STRING
    input.Body.nodePool.config.nodeGroup == STRING
    input.Body.nodePool.config.oauthScopes[_] == STRING
    input.Body.nodePool.config.preemptible == BOOLEAN
    input.Body.nodePool.config.reservationAffinity.consumeReservationType == enum_ReservationAffinityConsumeReservationType[_]
    input.Body.nodePool.config.reservationAffinity.key == STRING
    input.Body.nodePool.config.reservationAffinity.values[_] == STRING
    input.Body.nodePool.config.resourceLabels.STRING == STRING
    input.Body.nodePool.config.resourceManagerTags.tags.STRING == STRING
    input.Body.nodePool.config.sandboxConfig.type == enum_SandboxConfigType[_]
    input.Body.nodePool.config.secondaryBootDiskUpdateStrategy.STRING == STRING
    input.Body.nodePool.config.secondaryBootDisks[_].diskImage == STRING
    input.Body.nodePool.config.secondaryBootDisks[_].mode == enum_SecondaryBootDiskMode[_]
    input.Body.nodePool.config.serviceAccount == STRING
    input.Body.nodePool.config.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.nodePool.config.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.nodePool.config.soleTenantConfig.nodeAffinities[_].key == STRING
    input.Body.nodePool.config.soleTenantConfig.nodeAffinities[_].operator == enum_NodeAffinityOperator[_]
    input.Body.nodePool.config.soleTenantConfig.nodeAffinities[_].values[_] == STRING
    input.Body.nodePool.config.spot == BOOLEAN
    input.Body.nodePool.config.tags[_] == STRING
    input.Body.nodePool.config.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.nodePool.config.taints[_].key == STRING
    input.Body.nodePool.config.taints[_].value == STRING
    input.Body.nodePool.config.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.nodePool.config.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.nodePool.etag == STRING
    input.Body.nodePool.initialNodeCount == INTEGER
    input.Body.nodePool.instanceGroupUrls[_] == STRING
    input.Body.nodePool.locations[_] == STRING
    input.Body.nodePool.management.autoRepair == BOOLEAN
    input.Body.nodePool.management.autoUpgrade == BOOLEAN
    input.Body.nodePool.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.nodePool.management.upgradeOptions.description == STRING
    input.Body.nodePool.maxPodsConstraint.maxPodsPerNode == STRING
    input.Body.nodePool.name == STRING
    input.Body.nodePool.networkConfig.additionalNodeNetworkConfigs[_].network == STRING
    input.Body.nodePool.networkConfig.additionalNodeNetworkConfigs[_].subnetwork == STRING
    input.Body.nodePool.networkConfig.additionalPodNetworkConfigs[_].maxPodsPerNode.maxPodsPerNode == STRING
    input.Body.nodePool.networkConfig.additionalPodNetworkConfigs[_].secondaryPodRange == STRING
    input.Body.nodePool.networkConfig.additionalPodNetworkConfigs[_].subnetwork == STRING
    input.Body.nodePool.networkConfig.createPodRange == BOOLEAN
    input.Body.nodePool.networkConfig.enablePrivateNodes == BOOLEAN
    input.Body.nodePool.networkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_NetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.nodePool.networkConfig.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.nodePool.networkConfig.podIpv4CidrBlock == STRING
    input.Body.nodePool.networkConfig.podRange == STRING
    input.Body.nodePool.placementPolicy.policyName == STRING
    input.Body.nodePool.placementPolicy.tpuTopology == STRING
    input.Body.nodePool.placementPolicy.type == enum_PlacementPolicyType[_]
    input.Body.nodePool.podIpv4CidrSize == INTEGER
    input.Body.nodePool.queuedProvisioning.enabled == BOOLEAN
    input.Body.nodePool.selfLink == STRING
    input.Body.nodePool.status == enum_NodePoolStatus[_]
    input.Body.nodePool.statusMessage == STRING
    input.Body.nodePool.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.nodePool.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.nodePool.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.nodePool.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.nodePool.upgradeSettings.maxSurge == INTEGER
    input.Body.nodePool.upgradeSettings.maxUnavailable == INTEGER
    input.Body.nodePool.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.nodePool.version == STRING
    input.Body.parent == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.delete

valid {
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.get

valid {
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.list

valid {
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.parent == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.rollback

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.respectPdb == BOOLEAN
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.setManagement

valid {
    input.Body.clusterId == STRING
    input.Body.management.autoRepair == BOOLEAN
    input.Body.management.autoUpgrade == BOOLEAN
    input.Body.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.management.upgradeOptions.description == STRING
    input.Body.name == STRING
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.setSize

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.nodeCount == INTEGER
    input.Body.nodePoolId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.nodePools.update

enum_GPUDriverInstallationConfigGpuDriverVersion := [ "GPU_DRIVER_VERSION_UNSPECIFIED", "INSTALLATION_DISABLED", "DEFAULT", "LATEST" ]
enum_GPUSharingConfigGpuSharingStrategy := [ "GPU_SHARING_STRATEGY_UNSPECIFIED", "TIME_SHARING", "MPS" ]
enum_LinuxNodeConfigCgroupMode := [ "CGROUP_MODE_UNSPECIFIED", "CGROUP_MODE_V1", "CGROUP_MODE_V2" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_NetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]
enum_WindowsNodeConfigOsVersion := [ "OS_VERSION_UNSPECIFIED", "OS_VERSION_LTSC2019", "OS_VERSION_LTSC2022" ]
enum_WorkloadMetadataConfigMode := [ "MODE_UNSPECIFIED", "GCE_METADATA", "GKE_METADATA" ]

valid {
    input.Body.accelerators[_].acceleratorCount == STRING
    input.Body.accelerators[_].acceleratorType == STRING
    input.Body.accelerators[_].gpuDriverInstallationConfig.gpuDriverVersion == enum_GPUDriverInstallationConfigGpuDriverVersion[_]
    input.Body.accelerators[_].gpuPartitionSize == STRING
    input.Body.accelerators[_].gpuSharingConfig.gpuSharingStrategy == enum_GPUSharingConfigGpuSharingStrategy[_]
    input.Body.accelerators[_].gpuSharingConfig.maxSharedClientsPerGpu == STRING
    input.Body.clusterId == STRING
    input.Body.confidentialNodes.enabled == BOOLEAN
    input.Body.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.containerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.containerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.diskSizeGb == STRING
    input.Body.diskType == STRING
    input.Body.etag == STRING
    input.Body.fastSocket.enabled == BOOLEAN
    input.Body.gcfsConfig.enabled == BOOLEAN
    input.Body.gvnic.enabled == BOOLEAN
    input.Body.imageType == STRING
    input.Body.kubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.kubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.kubeletConfig.cpuManagerPolicy == STRING
    input.Body.kubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.kubeletConfig.podPidsLimit == STRING
    input.Body.labels.labels.STRING == STRING
    input.Body.linuxNodeConfig.cgroupMode == enum_LinuxNodeConfigCgroupMode[_]
    input.Body.linuxNodeConfig.hugepages.hugepageSize1g == INTEGER
    input.Body.linuxNodeConfig.hugepages.hugepageSize2m == INTEGER
    input.Body.linuxNodeConfig.sysctls.STRING == STRING
    input.Body.locations[_] == STRING
    input.Body.loggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.machineType == STRING
    input.Body.name == STRING
    input.Body.nodeNetworkConfig.additionalNodeNetworkConfigs[_].network == STRING
    input.Body.nodeNetworkConfig.additionalNodeNetworkConfigs[_].subnetwork == STRING
    input.Body.nodeNetworkConfig.additionalPodNetworkConfigs[_].maxPodsPerNode.maxPodsPerNode == STRING
    input.Body.nodeNetworkConfig.additionalPodNetworkConfigs[_].secondaryPodRange == STRING
    input.Body.nodeNetworkConfig.additionalPodNetworkConfigs[_].subnetwork == STRING
    input.Body.nodeNetworkConfig.createPodRange == BOOLEAN
    input.Body.nodeNetworkConfig.enablePrivateNodes == BOOLEAN
    input.Body.nodeNetworkConfig.networkPerformanceConfig.totalEgressBandwidthTier == enum_NetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.nodeNetworkConfig.podCidrOverprovisionConfig.disable == BOOLEAN
    input.Body.nodeNetworkConfig.podIpv4CidrBlock == STRING
    input.Body.nodeNetworkConfig.podRange == STRING
    input.Body.nodePoolId == STRING
    input.Body.nodeVersion == STRING
    input.Body.projectId == STRING
    input.Body.queuedProvisioning.enabled == BOOLEAN
    input.Body.resourceLabels.labels.STRING == STRING
    input.Body.resourceManagerTags.tags.STRING == STRING
    input.Body.tags.tags[_] == STRING
    input.Body.taints.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.taints.taints[_].key == STRING
    input.Body.taints.taints[_].value == STRING
    input.Body.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.upgradeSettings.maxSurge == INTEGER
    input.Body.upgradeSettings.maxUnavailable == INTEGER
    input.Body.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.windowsNodeConfig.osVersion == enum_WindowsNodeConfigOsVersion[_]
    input.Body.workloadMetadataConfig.mode == enum_WorkloadMetadataConfigMode[_]
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.nodePoolId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.resourceLabels

valid {
    input.Body.clusterId == STRING
    input.Body.labelFingerprint == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.resourceLabels.STRING == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.setMaintenancePolicy

enum_MaintenanceExclusionOptionsScope := [ "NO_UPGRADES", "NO_MINOR_UPGRADES", "NO_MINOR_OR_NODE_UPGRADES" ]

valid {
    input.Body.clusterId == STRING
    input.Body.maintenancePolicy.resourceVersion == STRING
    input.Body.maintenancePolicy.window.dailyMaintenanceWindow.duration == STRING
    input.Body.maintenancePolicy.window.dailyMaintenanceWindow.startTime == STRING
    input.Body.maintenancePolicy.window.maintenanceExclusions.STRING.endTime == STRING
    input.Body.maintenancePolicy.window.maintenanceExclusions.STRING.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.maintenancePolicy.window.maintenanceExclusions.STRING.startTime == STRING
    input.Body.maintenancePolicy.window.recurringWindow.recurrence == STRING
    input.Body.maintenancePolicy.window.recurringWindow.window.endTime == STRING
    input.Body.maintenancePolicy.window.recurringWindow.window.maintenanceExclusionOptions.scope == enum_MaintenanceExclusionOptionsScope[_]
    input.Body.maintenancePolicy.window.recurringWindow.window.startTime == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.setMasterAuth

enum_SetMasterAuthRequestAction := [ "UNKNOWN", "SET_PASSWORD", "GENERATE_PASSWORD", "SET_USERNAME" ]

valid {
    input.Body.action == enum_SetMasterAuthRequestAction[_]
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.update.clientCertificate == STRING
    input.Body.update.clientCertificateConfig.issueClientCertificate == BOOLEAN
    input.Body.update.clientKey == STRING
    input.Body.update.clusterCaCertificate == STRING
    input.Body.update.password == STRING
    input.Body.update.username == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.setNetworkPolicy

enum_NetworkPolicyProvider := [ "PROVIDER_UNSPECIFIED", "CALICO" ]

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.networkPolicy.enabled == BOOLEAN
    input.Body.networkPolicy.provider == enum_NetworkPolicyProvider[_]
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.startIpRotation

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.rotateCredentials == BOOLEAN
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.clusters.update

enum_AdvancedDatapathObservabilityConfigRelayMode := [ "RELAY_MODE_UNSPECIFIED", "DISABLED", "INTERNAL_VPC_LB", "EXTERNAL_LB" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_CloudRunConfigLoadBalancerType := [ "LOAD_BALANCER_TYPE_UNSPECIFIED", "LOAD_BALANCER_TYPE_EXTERNAL", "LOAD_BALANCER_TYPE_INTERNAL" ]
enum_ClusterAutoscalingAutoscalingProfile := [ "PROFILE_UNSPECIFIED", "OPTIMIZE_UTILIZATION", "BALANCED" ]
enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier := [ "TIER_UNSPECIFIED", "TIER_1" ]
enum_ClusterUpdateDesiredDatapathProvider := [ "DATAPATH_PROVIDER_UNSPECIFIED", "LEGACY_DATAPATH", "ADVANCED_DATAPATH" ]
enum_ClusterUpdateDesiredInTransitEncryptionConfig := [ "IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", "IN_TRANSIT_ENCRYPTION_DISABLED", "IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT" ]
enum_ClusterUpdateDesiredPrivateIpv6GoogleAccess := [ "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED", "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE", "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" ]
enum_ClusterUpdateDesiredStackType := [ "STACK_TYPE_UNSPECIFIED", "IPV4", "IPV4_IPV6" ]
enum_DNSConfigClusterDns := [ "PROVIDER_UNSPECIFIED", "PLATFORM_DEFAULT", "CLOUD_DNS", "KUBE_DNS" ]
enum_DNSConfigClusterDnsScope := [ "DNS_SCOPE_UNSPECIFIED", "CLUSTER_SCOPE", "VPC_SCOPE" ]
enum_DatabaseEncryptionState := [ "UNKNOWN", "ENCRYPTED", "DECRYPTED" ]
enum_FilterEventType := [ "EVENT_TYPE_UNSPECIFIED", "UPGRADE_AVAILABLE_EVENT", "UPGRADE_EVENT", "SECURITY_BULLETIN_EVENT" ]
enum_GatewayAPIConfigChannel := [ "CHANNEL_UNSPECIFIED", "CHANNEL_DISABLED", "CHANNEL_EXPERIMENTAL", "CHANNEL_STANDARD" ]
enum_LoggingComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "WORKLOADS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER" ]
enum_LoggingVariantConfigVariant := [ "VARIANT_UNSPECIFIED", "DEFAULT", "MAX_THROUGHPUT" ]
enum_MonitoringComponentConfigEnableComponents := [ "COMPONENT_UNSPECIFIED", "SYSTEM_COMPONENTS", "APISERVER", "SCHEDULER", "CONTROLLER_MANAGER", "STORAGE", "HPA", "POD", "DAEMONSET", "DEPLOYMENT", "STATEFULSET", "CADVISOR", "KUBELET", "DCGM" ]
enum_NodePoolAutoscalingLocationPolicy := [ "LOCATION_POLICY_UNSPECIFIED", "BALANCED", "ANY" ]
enum_ReleaseChannelChannel := [ "UNSPECIFIED", "RAPID", "REGULAR", "STABLE" ]
enum_SecurityPostureConfigMode := [ "MODE_UNSPECIFIED", "DISABLED", "BASIC", "ENTERPRISE" ]
enum_SecurityPostureConfigVulnerabilityMode := [ "VULNERABILITY_MODE_UNSPECIFIED", "VULNERABILITY_DISABLED", "VULNERABILITY_BASIC", "VULNERABILITY_ENTERPRISE" ]
enum_UpgradeSettingsStrategy := [ "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", "BLUE_GREEN", "SURGE" ]

valid {
    input.Body.clusterId == STRING
    input.Body.name == STRING
    input.Body.projectId == STRING
    input.Body.update.additionalPodRangesConfig.podRangeNames[_] == STRING
    input.Body.update.desiredAddonsConfig.cloudRunConfig.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.cloudRunConfig.loadBalancerType == enum_CloudRunConfigLoadBalancerType[_]
    input.Body.update.desiredAddonsConfig.configConnectorConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.dnsCacheConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gcePersistentDiskCsiDriverConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gcpFilestoreCsiDriverConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gcsFuseCsiDriverConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.gkeBackupAgentConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.horizontalPodAutoscaling.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.httpLoadBalancing.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.kubernetesDashboard.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.networkPolicyConfig.disabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.rayOperatorConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled == BOOLEAN
    input.Body.update.desiredAddonsConfig.statefulHaConfig.enabled == BOOLEAN
    input.Body.update.desiredAuthenticatorGroupsConfig.enabled == BOOLEAN
    input.Body.update.desiredAuthenticatorGroupsConfig.securityGroup == STRING
    input.Body.update.desiredAutopilotWorkloadPolicyConfig.allowNetAdmin == BOOLEAN
    input.Body.update.desiredBinaryAuthorization.enabled == BOOLEAN
    input.Body.update.desiredBinaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.update.desiredClusterAutoscaling.autoprovisioningLocations[_] == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.bootDiskKmsKey == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.diskSizeGb == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.diskType == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.imageType == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.autoRepair == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.autoUpgrade == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.autoUpgradeStartTime == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.management.upgradeOptions.description == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.minCpuPlatform == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.oauthScopes[_] == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.serviceAccount == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.nodePoolSoakDuration == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage == NUMBER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration == STRING
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxSurge == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxUnavailable == INTEGER
    input.Body.update.desiredClusterAutoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.strategy == enum_UpgradeSettingsStrategy[_]
    input.Body.update.desiredClusterAutoscaling.autoscalingProfile == enum_ClusterAutoscalingAutoscalingProfile[_]
    input.Body.update.desiredClusterAutoscaling.enableNodeAutoprovisioning == BOOLEAN
    input.Body.update.desiredClusterAutoscaling.resourceLimits[_].maximum == STRING
    input.Body.update.desiredClusterAutoscaling.resourceLimits[_].minimum == STRING
    input.Body.update.desiredClusterAutoscaling.resourceLimits[_].resourceType == STRING
    input.Body.update.desiredContainerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].fqdns[_] == STRING
    input.Body.update.desiredContainerdConfig.privateRegistryAccessConfig.certificateAuthorityDomainConfig[_].gcpSecretManagerCertificateConfig.secretUri == STRING
    input.Body.update.desiredContainerdConfig.privateRegistryAccessConfig.enabled == BOOLEAN
    input.Body.update.desiredCostManagementConfig.enabled == BOOLEAN
    input.Body.update.desiredDatabaseEncryption.keyName == STRING
    input.Body.update.desiredDatabaseEncryption.state == enum_DatabaseEncryptionState[_]
    input.Body.update.desiredDatapathProvider == enum_ClusterUpdateDesiredDatapathProvider[_]
    input.Body.update.desiredDefaultSnatStatus.disabled == BOOLEAN
    input.Body.update.desiredDnsConfig.additiveVpcScopeDnsDomain == STRING
    input.Body.update.desiredDnsConfig.clusterDns == enum_DNSConfigClusterDns[_]
    input.Body.update.desiredDnsConfig.clusterDnsDomain == STRING
    input.Body.update.desiredDnsConfig.clusterDnsScope == enum_DNSConfigClusterDnsScope[_]
    input.Body.update.desiredEnableCiliumClusterwideNetworkPolicy == BOOLEAN
    input.Body.update.desiredEnableFqdnNetworkPolicy == BOOLEAN
    input.Body.update.desiredEnableMultiNetworking == BOOLEAN
    input.Body.update.desiredEnablePrivateEndpoint == BOOLEAN
    input.Body.update.desiredFleet.membership == STRING
    input.Body.update.desiredFleet.preRegistered == BOOLEAN
    input.Body.update.desiredFleet.project == STRING
    input.Body.update.desiredGatewayApiConfig.channel == enum_GatewayAPIConfigChannel[_]
    input.Body.update.desiredGcfsConfig.enabled == BOOLEAN
    input.Body.update.desiredIdentityServiceConfig.enabled == BOOLEAN
    input.Body.update.desiredImageType == STRING
    input.Body.update.desiredInTransitEncryptionConfig == enum_ClusterUpdateDesiredInTransitEncryptionConfig[_]
    input.Body.update.desiredIntraNodeVisibilityConfig.enabled == BOOLEAN
    input.Body.update.desiredK8sBetaApis.enabledApis[_] == STRING
    input.Body.update.desiredL4ilbSubsettingConfig.enabled == BOOLEAN
    input.Body.update.desiredLocations[_] == STRING
    input.Body.update.desiredLoggingConfig.componentConfig.enableComponents[_] == enum_LoggingComponentConfigEnableComponents[_]
    input.Body.update.desiredLoggingService == STRING
    input.Body.update.desiredMasterAuthorizedNetworksConfig.cidrBlocks[_].cidrBlock == STRING
    input.Body.update.desiredMasterAuthorizedNetworksConfig.cidrBlocks[_].displayName == STRING
    input.Body.update.desiredMasterAuthorizedNetworksConfig.enabled == BOOLEAN
    input.Body.update.desiredMasterAuthorizedNetworksConfig.gcpPublicCidrsAccessEnabled == BOOLEAN
    input.Body.update.desiredMasterVersion == STRING
    input.Body.update.desiredMeshCertificates.enableCertificates == BOOLEAN
    input.Body.update.desiredMonitoringConfig.advancedDatapathObservabilityConfig.enableMetrics == BOOLEAN
    input.Body.update.desiredMonitoringConfig.advancedDatapathObservabilityConfig.enableRelay == BOOLEAN
    input.Body.update.desiredMonitoringConfig.advancedDatapathObservabilityConfig.relayMode == enum_AdvancedDatapathObservabilityConfigRelayMode[_]
    input.Body.update.desiredMonitoringConfig.componentConfig.enableComponents[_] == enum_MonitoringComponentConfigEnableComponents[_]
    input.Body.update.desiredMonitoringConfig.managedPrometheusConfig.enabled == BOOLEAN
    input.Body.update.desiredMonitoringService == STRING
    input.Body.update.desiredNetworkPerformanceConfig.totalEgressBandwidthTier == enum_ClusterNetworkPerformanceConfigTotalEgressBandwidthTier[_]
    input.Body.update.desiredNodeKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.update.desiredNodeKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.update.desiredNodeKubeletConfig.cpuManagerPolicy == STRING
    input.Body.update.desiredNodeKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.update.desiredNodeKubeletConfig.podPidsLimit == STRING
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.cpuCfsQuota == BOOLEAN
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.cpuCfsQuotaPeriod == STRING
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.cpuManagerPolicy == STRING
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.insecureKubeletReadonlyPortEnabled == BOOLEAN
    input.Body.update.desiredNodePoolAutoConfigKubeletConfig.podPidsLimit == STRING
    input.Body.update.desiredNodePoolAutoConfigNetworkTags.tags[_] == STRING
    input.Body.update.desiredNodePoolAutoConfigResourceManagerTags.tags.STRING == STRING
    input.Body.update.desiredNodePoolAutoscaling.autoprovisioned == BOOLEAN
    input.Body.update.desiredNodePoolAutoscaling.enabled == BOOLEAN
    input.Body.update.desiredNodePoolAutoscaling.locationPolicy == enum_NodePoolAutoscalingLocationPolicy[_]
    input.Body.update.desiredNodePoolAutoscaling.maxNodeCount == INTEGER
    input.Body.update.desiredNodePoolAutoscaling.minNodeCount == INTEGER
    input.Body.update.desiredNodePoolAutoscaling.totalMaxNodeCount == INTEGER
    input.Body.update.desiredNodePoolAutoscaling.totalMinNodeCount == INTEGER
    input.Body.update.desiredNodePoolId == STRING
    input.Body.update.desiredNodePoolLoggingConfig.variantConfig.variant == enum_LoggingVariantConfigVariant[_]
    input.Body.update.desiredNodeVersion == STRING
    input.Body.update.desiredNotificationConfig.pubsub.enabled == BOOLEAN
    input.Body.update.desiredNotificationConfig.pubsub.filter.eventType[_] == enum_FilterEventType[_]
    input.Body.update.desiredNotificationConfig.pubsub.topic == STRING
    input.Body.update.desiredParentProductConfig.labels.STRING == STRING
    input.Body.update.desiredParentProductConfig.productName == STRING
    input.Body.update.desiredPrivateClusterConfig.enablePrivateEndpoint == BOOLEAN
    input.Body.update.desiredPrivateClusterConfig.enablePrivateNodes == BOOLEAN
    input.Body.update.desiredPrivateClusterConfig.masterGlobalAccessConfig.enabled == BOOLEAN
    input.Body.update.desiredPrivateClusterConfig.masterIpv4CidrBlock == STRING
    input.Body.update.desiredPrivateClusterConfig.peeringName == STRING
    input.Body.update.desiredPrivateClusterConfig.privateEndpoint == STRING
    input.Body.update.desiredPrivateClusterConfig.privateEndpointSubnetwork == STRING
    input.Body.update.desiredPrivateClusterConfig.publicEndpoint == STRING
    input.Body.update.desiredPrivateIpv6GoogleAccess == enum_ClusterUpdateDesiredPrivateIpv6GoogleAccess[_]
    input.Body.update.desiredReleaseChannel.channel == enum_ReleaseChannelChannel[_]
    input.Body.update.desiredResourceUsageExportConfig.bigqueryDestination.datasetId == STRING
    input.Body.update.desiredResourceUsageExportConfig.consumptionMeteringConfig.enabled == BOOLEAN
    input.Body.update.desiredResourceUsageExportConfig.enableNetworkEgressMetering == BOOLEAN
    input.Body.update.desiredSecurityPostureConfig.mode == enum_SecurityPostureConfigMode[_]
    input.Body.update.desiredSecurityPostureConfig.vulnerabilityMode == enum_SecurityPostureConfigVulnerabilityMode[_]
    input.Body.update.desiredServiceExternalIpsConfig.enabled == BOOLEAN
    input.Body.update.desiredShieldedNodes.enabled == BOOLEAN
    input.Body.update.desiredStackType == enum_ClusterUpdateDesiredStackType[_]
    input.Body.update.desiredVerticalPodAutoscaling.enabled == BOOLEAN
    input.Body.update.desiredWorkloadIdentityConfig.workloadPool == STRING
    input.Body.update.enableK8sBetaApis.enabledApis[_] == STRING
    input.Body.update.etag == STRING
    input.Body.update.removedAdditionalPodRangesConfig.podRangeNames[_] == STRING
    input.Body.zone == STRING
    input.ReqMap.clusterId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.getServerconfig

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

container.projects.zones.operations.cancel

valid {
    input.Body.name == STRING
    input.Body.operationId == STRING
    input.Body.projectId == STRING
    input.Body.zone == STRING
    input.ReqMap.operationId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.operations.get

valid {
    input.ReqMap.operationId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

container.projects.zones.operations.list

valid {
    input.ReqMap.ProjectID == STRING
    input.ReqMap.zone == STRING
    input.Qs.parent == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}