GKEONPREM

gkeonprem.projects.locations.bareMetalAdminClusters.create

enum_BareMetalNodePoolConfigOperatingSystem := [ "OPERATING_SYSTEM_UNSPECIFIED", "LINUX" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.bareMetalVersion == STRING
    input.Body.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.clusterOperations.enableApplicationLogs == BOOLEAN
    input.Body.controlPlane.apiServerArgs[_].argument == STRING
    input.Body.controlPlane.apiServerArgs[_].value == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.loadBalancer.manualLbConfig.enabled == BOOLEAN
    input.Body.loadBalancer.portConfig.controlPlaneLoadBalancerPort == INTEGER
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.maintenanceConfig.maintenanceAddressCidrBlocks[_] == STRING
    input.Body.name == STRING
    input.Body.networkConfig.islandModeCidr.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.islandModeCidr.serviceAddressCidrBlocks[_] == STRING
    input.Body.nodeAccessConfig.loginUser == STRING
    input.Body.nodeConfig.maxPodsPerNode == STRING
    input.Body.osEnvironmentConfig.packageRepoExcluded == BOOLEAN
    input.Body.proxy.noProxy[_] == STRING
    input.Body.proxy.uri == STRING
    input.Body.securityConfig.authorization.adminUsers[_].username == STRING
    input.Body.storage.lvpNodeMountsConfig.path == STRING
    input.Body.storage.lvpNodeMountsConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.path == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.sharedPathPvCount == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bareMetalAdminClusterId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.enroll

valid {
    input.Body.bareMetalAdminClusterId == STRING
    input.Body.membership == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.get

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

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

gkeonprem.projects.locations.bareMetalAdminClusters.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.list

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

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

gkeonprem.projects.locations.bareMetalAdminClusters.operations.get

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

gkeonprem.projects.locations.bareMetalAdminClusters.operations.list

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

gkeonprem.projects.locations.bareMetalAdminClusters.patch

enum_BareMetalNodePoolConfigOperatingSystem := [ "OPERATING_SYSTEM_UNSPECIFIED", "LINUX" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.bareMetalVersion == STRING
    input.Body.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.clusterOperations.enableApplicationLogs == BOOLEAN
    input.Body.controlPlane.apiServerArgs[_].argument == STRING
    input.Body.controlPlane.apiServerArgs[_].value == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.loadBalancer.manualLbConfig.enabled == BOOLEAN
    input.Body.loadBalancer.portConfig.controlPlaneLoadBalancerPort == INTEGER
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.maintenanceConfig.maintenanceAddressCidrBlocks[_] == STRING
    input.Body.name == STRING
    input.Body.networkConfig.islandModeCidr.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.islandModeCidr.serviceAddressCidrBlocks[_] == STRING
    input.Body.nodeAccessConfig.loginUser == STRING
    input.Body.nodeConfig.maxPodsPerNode == STRING
    input.Body.osEnvironmentConfig.packageRepoExcluded == BOOLEAN
    input.Body.proxy.noProxy[_] == STRING
    input.Body.proxy.uri == STRING
    input.Body.securityConfig.authorization.adminUsers[_].username == STRING
    input.Body.storage.lvpNodeMountsConfig.path == STRING
    input.Body.storage.lvpNodeMountsConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.path == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.sharedPathPvCount == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.queryVersionConfig

valid {
    input.ReqMap.parent == STRING
    input.Qs.upgradeConfig.clusterName == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.setIamPolicy

valid {
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalAdminClusters.unenroll

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.ignoreErrors == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.create

enum_BareMetalNodePoolConfigOperatingSystem := [ "OPERATING_SYSTEM_UNSPECIFIED", "LINUX" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.nodePoolConfig.labels.STRING == STRING
    input.Body.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.nodePoolConfig.taints[_].key == STRING
    input.Body.nodePoolConfig.taints[_].value == STRING
    input.Body.upgradePolicy.parallelUpgradeConfig.concurrentNodes == INTEGER
    input.Body.upgradePolicy.parallelUpgradeConfig.minimumAvailableNodes == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bareMetalNodePoolId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.ignoreErrors == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.enroll

valid {
    input.Body.bareMetalNodePoolId == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.get

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

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

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.list

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

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

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.operations.get

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

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.operations.list

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

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.patch

enum_BareMetalNodePoolConfigOperatingSystem := [ "OPERATING_SYSTEM_UNSPECIFIED", "LINUX" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.nodePoolConfig.labels.STRING == STRING
    input.Body.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.nodePoolConfig.taints[_].key == STRING
    input.Body.nodePoolConfig.taints[_].value == STRING
    input.Body.upgradePolicy.parallelUpgradeConfig.concurrentNodes == INTEGER
    input.Body.upgradePolicy.parallelUpgradeConfig.minimumAvailableNodes == INTEGER
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.setIamPolicy

valid {
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.bareMetalNodePools.unenroll

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.create

enum_BareMetalClusterUpgradePolicyPolicy := [ "NODE_POOL_POLICY_UNSPECIFIED", "SERIAL", "CONCURRENT" ]
enum_BareMetalNodePoolConfigOperatingSystem := [ "OPERATING_SYSTEM_UNSPECIFIED", "LINUX" ]
enum_BareMetalWorkloadNodeConfigContainerRuntime := [ "CONTAINER_RUNTIME_UNSPECIFIED", "CONTAINERD" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.adminClusterMembership == STRING
    input.Body.annotations.STRING == STRING
    input.Body.bareMetalVersion == STRING
    input.Body.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.clusterOperations.enableApplicationLogs == BOOLEAN
    input.Body.controlPlane.apiServerArgs[_].argument == STRING
    input.Body.controlPlane.apiServerArgs[_].value == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.description == STRING
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].addresses[_] == STRING
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].avoidBuggyIps == BOOLEAN
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].manualAssign == BOOLEAN
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].pool == STRING
    input.Body.loadBalancer.bgpLbConfig.asn == STRING
    input.Body.loadBalancer.bgpLbConfig.bgpPeerConfigs[_].asn == STRING
    input.Body.loadBalancer.bgpLbConfig.bgpPeerConfigs[_].controlPlaneNodes[_] == STRING
    input.Body.loadBalancer.bgpLbConfig.bgpPeerConfigs[_].ipAddress == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.loadBalancer.manualLbConfig.enabled == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].addresses[_] == STRING
    input.Body.loadBalancer.metalLbConfig.addressPools[_].avoidBuggyIps == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].manualAssign == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].pool == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.loadBalancer.portConfig.controlPlaneLoadBalancerPort == INTEGER
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.loadBalancer.vipConfig.ingressVip == STRING
    input.Body.maintenanceConfig.maintenanceAddressCidrBlocks[_] == STRING
    input.Body.name == STRING
    input.Body.networkConfig.advancedNetworking == BOOLEAN
    input.Body.networkConfig.islandModeCidr.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.islandModeCidr.serviceAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.multipleNetworkInterfacesConfig.enabled == BOOLEAN
    input.Body.networkConfig.srIovConfig.enabled == BOOLEAN
    input.Body.nodeAccessConfig.loginUser == STRING
    input.Body.nodeConfig.containerRuntime == enum_BareMetalWorkloadNodeConfigContainerRuntime[_]
    input.Body.nodeConfig.maxPodsPerNode == STRING
    input.Body.osEnvironmentConfig.packageRepoExcluded == BOOLEAN
    input.Body.proxy.noProxy[_] == STRING
    input.Body.proxy.uri == STRING
    input.Body.securityConfig.authorization.adminUsers[_].username == STRING
    input.Body.storage.lvpNodeMountsConfig.path == STRING
    input.Body.storage.lvpNodeMountsConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.path == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.sharedPathPvCount == INTEGER
    input.Body.upgradePolicy.policy == enum_BareMetalClusterUpgradePolicyPolicy[_]
    input.ReqMap.parent == STRING
    input.Qs.bareMetalClusterId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.Qs.ignoreErrors == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.enroll

valid {
    input.Body.adminClusterMembership == STRING
    input.Body.bareMetalClusterId == STRING
    input.Body.localName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.get

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

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

gkeonprem.projects.locations.bareMetalClusters.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.list

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

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

gkeonprem.projects.locations.bareMetalClusters.operations.get

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

gkeonprem.projects.locations.bareMetalClusters.operations.list

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

gkeonprem.projects.locations.bareMetalClusters.patch

enum_BareMetalClusterUpgradePolicyPolicy := [ "NODE_POOL_POLICY_UNSPECIFIED", "SERIAL", "CONCURRENT" ]
enum_BareMetalNodePoolConfigOperatingSystem := [ "OPERATING_SYSTEM_UNSPECIFIED", "LINUX" ]
enum_BareMetalWorkloadNodeConfigContainerRuntime := [ "CONTAINER_RUNTIME_UNSPECIFIED", "CONTAINERD" ]
enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]
enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.adminClusterMembership == STRING
    input.Body.annotations.STRING == STRING
    input.Body.bareMetalVersion == STRING
    input.Body.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.clusterOperations.enableApplicationLogs == BOOLEAN
    input.Body.controlPlane.apiServerArgs[_].argument == STRING
    input.Body.controlPlane.apiServerArgs[_].value == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.controlPlane.controlPlaneNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.description == STRING
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].addresses[_] == STRING
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].avoidBuggyIps == BOOLEAN
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].manualAssign == BOOLEAN
    input.Body.loadBalancer.bgpLbConfig.addressPools[_].pool == STRING
    input.Body.loadBalancer.bgpLbConfig.asn == STRING
    input.Body.loadBalancer.bgpLbConfig.bgpPeerConfigs[_].asn == STRING
    input.Body.loadBalancer.bgpLbConfig.bgpPeerConfigs[_].controlPlaneNodes[_] == STRING
    input.Body.loadBalancer.bgpLbConfig.bgpPeerConfigs[_].ipAddress == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.loadBalancer.bgpLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.loadBalancer.manualLbConfig.enabled == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].addresses[_] == STRING
    input.Body.loadBalancer.metalLbConfig.addressPools[_].avoidBuggyIps == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].manualAssign == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].pool == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryBurst == INTEGER
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.registryPullQps == INTEGER
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.kubeletConfig.serializeImagePullsDisabled == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.labels.STRING == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].labels.STRING == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.nodeConfigs[_].nodeIp == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.operatingSystem == enum_BareMetalNodePoolConfigOperatingSystem[_]
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].key == STRING
    input.Body.loadBalancer.metalLbConfig.loadBalancerNodePoolConfig.nodePoolConfig.taints[_].value == STRING
    input.Body.loadBalancer.portConfig.controlPlaneLoadBalancerPort == INTEGER
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.loadBalancer.vipConfig.ingressVip == STRING
    input.Body.maintenanceConfig.maintenanceAddressCidrBlocks[_] == STRING
    input.Body.name == STRING
    input.Body.networkConfig.advancedNetworking == BOOLEAN
    input.Body.networkConfig.islandModeCidr.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.islandModeCidr.serviceAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.multipleNetworkInterfacesConfig.enabled == BOOLEAN
    input.Body.networkConfig.srIovConfig.enabled == BOOLEAN
    input.Body.nodeAccessConfig.loginUser == STRING
    input.Body.nodeConfig.containerRuntime == enum_BareMetalWorkloadNodeConfigContainerRuntime[_]
    input.Body.nodeConfig.maxPodsPerNode == STRING
    input.Body.osEnvironmentConfig.packageRepoExcluded == BOOLEAN
    input.Body.proxy.noProxy[_] == STRING
    input.Body.proxy.uri == STRING
    input.Body.securityConfig.authorization.adminUsers[_].username == STRING
    input.Body.storage.lvpNodeMountsConfig.path == STRING
    input.Body.storage.lvpNodeMountsConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.path == STRING
    input.Body.storage.lvpShareConfig.lvpConfig.storageClass == STRING
    input.Body.storage.lvpShareConfig.sharedPathPvCount == INTEGER
    input.Body.upgradePolicy.policy == enum_BareMetalClusterUpgradePolicyPolicy[_]
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.queryVersionConfig

valid {
    input.ReqMap.parent == STRING
    input.Qs.createConfig.adminClusterMembership == STRING
    input.Qs.createConfig.adminClusterName == STRING
    input.Qs.upgradeConfig.clusterName == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.setIamPolicy

valid {
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.bareMetalClusters.unenroll

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.get

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

gkeonprem.projects.locations.list

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

gkeonprem.projects.locations.operations.cancel

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

gkeonprem.projects.locations.operations.delete

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

gkeonprem.projects.locations.operations.get

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

gkeonprem.projects.locations.operations.list

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

gkeonprem.projects.locations.vmwareAdminClusters.enroll

valid {
    input.Body.membership == STRING
    input.Body.vmwareAdminClusterId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareAdminClusters.get

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

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

gkeonprem.projects.locations.vmwareAdminClusters.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareAdminClusters.list

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

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

gkeonprem.projects.locations.vmwareAdminClusters.operations.get

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

gkeonprem.projects.locations.vmwareAdminClusters.operations.list

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

gkeonprem.projects.locations.vmwareAdminClusters.patch

valid {
    input.Body.addonNode.autoResizeConfig.enabled == BOOLEAN
    input.Body.annotations.STRING == STRING
    input.Body.antiAffinityGroups.aagConfigDisabled == BOOLEAN
    input.Body.authorization.viewerUsers[_].username == STRING
    input.Body.autoRepairConfig.enabled == BOOLEAN
    input.Body.bootstrapClusterMembership == STRING
    input.Body.controlPlaneNode.cpus == STRING
    input.Body.controlPlaneNode.memory == STRING
    input.Body.controlPlaneNode.replicas == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.imageType == STRING
    input.Body.loadBalancer.f5Config.address == STRING
    input.Body.loadBalancer.f5Config.partition == STRING
    input.Body.loadBalancer.f5Config.snatPool == STRING
    input.Body.loadBalancer.manualLbConfig.addonsNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.controlPlaneNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.ingressHttpNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.ingressHttpsNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.konnectivityServerNodePort == INTEGER
    input.Body.loadBalancer.metalLbConfig.STRING == STRING
    input.Body.loadBalancer.vipConfig.addonsVip == STRING
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.name == STRING
    input.Body.networkConfig.dhcpIpConfig.enabled == BOOLEAN
    input.Body.networkConfig.haControlPlaneConfig.controlPlaneIpBlock.gateway == STRING
    input.Body.networkConfig.haControlPlaneConfig.controlPlaneIpBlock.ips[_].hostname == STRING
    input.Body.networkConfig.haControlPlaneConfig.controlPlaneIpBlock.ips[_].ip == STRING
    input.Body.networkConfig.haControlPlaneConfig.controlPlaneIpBlock.netmask == STRING
    input.Body.networkConfig.hostConfig.dnsSearchDomains[_] == STRING
    input.Body.networkConfig.hostConfig.dnsServers[_] == STRING
    input.Body.networkConfig.hostConfig.ntpServers[_] == STRING
    input.Body.networkConfig.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.serviceAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].gateway == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].ips[_].hostname == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].ips[_].ip == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].netmask == STRING
    input.Body.networkConfig.vcenterNetwork == STRING
    input.Body.onPremVersion == STRING
    input.Body.platformConfig.requiredPlatformVersion == STRING
    input.Body.vcenter.address == STRING
    input.Body.vcenter.caCertData == STRING
    input.Body.vcenter.cluster == STRING
    input.Body.vcenter.dataDisk == STRING
    input.Body.vcenter.datacenter == STRING
    input.Body.vcenter.datastore == STRING
    input.Body.vcenter.folder == STRING
    input.Body.vcenter.resourcePool == STRING
    input.Body.vcenter.storagePolicyName == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareAdminClusters.setIamPolicy

valid {
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareAdminClusters.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareAdminClusters.unenroll

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.create

enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]

valid {
    input.Body.adminClusterMembership == STRING
    input.Body.annotations.STRING == STRING
    input.Body.antiAffinityGroups.aagConfigDisabled == BOOLEAN
    input.Body.authorization.adminUsers[_].username == STRING
    input.Body.autoRepairConfig.enabled == BOOLEAN
    input.Body.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.controlPlaneNode.autoResizeConfig.enabled == BOOLEAN
    input.Body.controlPlaneNode.cpus == STRING
    input.Body.controlPlaneNode.memory == STRING
    input.Body.controlPlaneNode.replicas == STRING
    input.Body.controlPlaneNode.vsphereConfig.datastore == STRING
    input.Body.controlPlaneNode.vsphereConfig.storagePolicyName == STRING
    input.Body.dataplaneV2.advancedNetworking == BOOLEAN
    input.Body.dataplaneV2.dataplaneV2Enabled == BOOLEAN
    input.Body.dataplaneV2.forwardMode == STRING
    input.Body.dataplaneV2.windowsDataplaneV2Enabled == BOOLEAN
    input.Body.description == STRING
    input.Body.disableBundledIngress == BOOLEAN
    input.Body.enableControlPlaneV2 == BOOLEAN
    input.Body.etag == STRING
    input.Body.loadBalancer.f5Config.address == STRING
    input.Body.loadBalancer.f5Config.partition == STRING
    input.Body.loadBalancer.f5Config.snatPool == STRING
    input.Body.loadBalancer.manualLbConfig.controlPlaneNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.ingressHttpNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.ingressHttpsNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.konnectivityServerNodePort == INTEGER
    input.Body.loadBalancer.metalLbConfig.addressPools[_].addresses[_] == STRING
    input.Body.loadBalancer.metalLbConfig.addressPools[_].avoidBuggyIps == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].manualAssign == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].pool == STRING
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.loadBalancer.vipConfig.ingressVip == STRING
    input.Body.name == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.gateway == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.ips[_].hostname == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.ips[_].ip == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.netmask == STRING
    input.Body.networkConfig.dhcpIpConfig.enabled == BOOLEAN
    input.Body.networkConfig.hostConfig.dnsSearchDomains[_] == STRING
    input.Body.networkConfig.hostConfig.dnsServers[_] == STRING
    input.Body.networkConfig.hostConfig.ntpServers[_] == STRING
    input.Body.networkConfig.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.serviceAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].gateway == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].ips[_].hostname == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].ips[_].ip == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].netmask == STRING
    input.Body.networkConfig.vcenterNetwork == STRING
    input.Body.onPremVersion == STRING
    input.Body.storage.vsphereCsiDisabled == BOOLEAN
    input.Body.upgradePolicy.controlPlaneOnly == BOOLEAN
    input.Body.vcenter.caCertData == STRING
    input.Body.vcenter.cluster == STRING
    input.Body.vcenter.datacenter == STRING
    input.Body.vcenter.datastore == STRING
    input.Body.vcenter.folder == STRING
    input.Body.vcenter.resourcePool == STRING
    input.Body.vcenter.storagePolicyName == STRING
    input.Body.vmTrackingEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.validateOnly == BOOLEAN
    input.Qs.vmwareClusterId == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.Qs.ignoreErrors == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.enroll

valid {
    input.Body.adminClusterMembership == STRING
    input.Body.localName == STRING
    input.Body.validateOnly == BOOLEAN
    input.Body.vmwareClusterId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.get

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

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

gkeonprem.projects.locations.vmwareClusters.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.list

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

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

gkeonprem.projects.locations.vmwareClusters.operations.get

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

gkeonprem.projects.locations.vmwareClusters.operations.list

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

gkeonprem.projects.locations.vmwareClusters.patch

enum_BinaryAuthorizationEvaluationMode := [ "EVALUATION_MODE_UNSPECIFIED", "DISABLED", "PROJECT_SINGLETON_POLICY_ENFORCE" ]

valid {
    input.Body.adminClusterMembership == STRING
    input.Body.annotations.STRING == STRING
    input.Body.antiAffinityGroups.aagConfigDisabled == BOOLEAN
    input.Body.authorization.adminUsers[_].username == STRING
    input.Body.autoRepairConfig.enabled == BOOLEAN
    input.Body.binaryAuthorization.evaluationMode == enum_BinaryAuthorizationEvaluationMode[_]
    input.Body.controlPlaneNode.autoResizeConfig.enabled == BOOLEAN
    input.Body.controlPlaneNode.cpus == STRING
    input.Body.controlPlaneNode.memory == STRING
    input.Body.controlPlaneNode.replicas == STRING
    input.Body.controlPlaneNode.vsphereConfig.datastore == STRING
    input.Body.controlPlaneNode.vsphereConfig.storagePolicyName == STRING
    input.Body.dataplaneV2.advancedNetworking == BOOLEAN
    input.Body.dataplaneV2.dataplaneV2Enabled == BOOLEAN
    input.Body.dataplaneV2.forwardMode == STRING
    input.Body.dataplaneV2.windowsDataplaneV2Enabled == BOOLEAN
    input.Body.description == STRING
    input.Body.disableBundledIngress == BOOLEAN
    input.Body.enableControlPlaneV2 == BOOLEAN
    input.Body.etag == STRING
    input.Body.loadBalancer.f5Config.address == STRING
    input.Body.loadBalancer.f5Config.partition == STRING
    input.Body.loadBalancer.f5Config.snatPool == STRING
    input.Body.loadBalancer.manualLbConfig.controlPlaneNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.ingressHttpNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.ingressHttpsNodePort == INTEGER
    input.Body.loadBalancer.manualLbConfig.konnectivityServerNodePort == INTEGER
    input.Body.loadBalancer.metalLbConfig.addressPools[_].addresses[_] == STRING
    input.Body.loadBalancer.metalLbConfig.addressPools[_].avoidBuggyIps == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].manualAssign == BOOLEAN
    input.Body.loadBalancer.metalLbConfig.addressPools[_].pool == STRING
    input.Body.loadBalancer.vipConfig.controlPlaneVip == STRING
    input.Body.loadBalancer.vipConfig.ingressVip == STRING
    input.Body.name == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.gateway == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.ips[_].hostname == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.ips[_].ip == STRING
    input.Body.networkConfig.controlPlaneV2Config.controlPlaneIpBlock.netmask == STRING
    input.Body.networkConfig.dhcpIpConfig.enabled == BOOLEAN
    input.Body.networkConfig.hostConfig.dnsSearchDomains[_] == STRING
    input.Body.networkConfig.hostConfig.dnsServers[_] == STRING
    input.Body.networkConfig.hostConfig.ntpServers[_] == STRING
    input.Body.networkConfig.podAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.serviceAddressCidrBlocks[_] == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].gateway == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].ips[_].hostname == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].ips[_].ip == STRING
    input.Body.networkConfig.staticIpConfig.ipBlocks[_].netmask == STRING
    input.Body.networkConfig.vcenterNetwork == STRING
    input.Body.onPremVersion == STRING
    input.Body.storage.vsphereCsiDisabled == BOOLEAN
    input.Body.upgradePolicy.controlPlaneOnly == BOOLEAN
    input.Body.vcenter.caCertData == STRING
    input.Body.vcenter.cluster == STRING
    input.Body.vcenter.datacenter == STRING
    input.Body.vcenter.datastore == STRING
    input.Body.vcenter.folder == STRING
    input.Body.vcenter.resourcePool == STRING
    input.Body.vcenter.storagePolicyName == STRING
    input.Body.vmTrackingEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.queryVersionConfig

valid {
    input.ReqMap.parent == STRING
    input.Qs.createConfig.adminClusterMembership == STRING
    input.Qs.createConfig.adminClusterName == STRING
    input.Qs.upgradeConfig.clusterName == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.setIamPolicy

valid {
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.unenroll

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.create

enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.config.bootDiskSizeGb == STRING
    input.Body.config.cpus == STRING
    input.Body.config.enableLoadBalancer == BOOLEAN
    input.Body.config.image == STRING
    input.Body.config.imageType == STRING
    input.Body.config.labels.STRING == STRING
    input.Body.config.memoryMb == STRING
    input.Body.config.replicas == STRING
    input.Body.config.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.config.taints[_].key == STRING
    input.Body.config.taints[_].value == STRING
    input.Body.config.vsphereConfig.datastore == STRING
    input.Body.config.vsphereConfig.hostGroups[_] == STRING
    input.Body.config.vsphereConfig.tags[_].category == STRING
    input.Body.config.vsphereConfig.tags[_].tag == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.nodePoolAutoscaling.maxReplicas == INTEGER
    input.Body.nodePoolAutoscaling.minReplicas == INTEGER
    input.Body.onPremVersion == STRING
    input.ReqMap.parent == STRING
    input.Qs.validateOnly == BOOLEAN
    input.Qs.vmwareNodePoolId == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.ignoreErrors == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.enroll

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

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.get

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

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

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.list

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

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

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.operations.get

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

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.operations.list

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

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.patch

enum_NodeTaintEffect := [ "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.config.bootDiskSizeGb == STRING
    input.Body.config.cpus == STRING
    input.Body.config.enableLoadBalancer == BOOLEAN
    input.Body.config.image == STRING
    input.Body.config.imageType == STRING
    input.Body.config.labels.STRING == STRING
    input.Body.config.memoryMb == STRING
    input.Body.config.replicas == STRING
    input.Body.config.taints[_].effect == enum_NodeTaintEffect[_]
    input.Body.config.taints[_].key == STRING
    input.Body.config.taints[_].value == STRING
    input.Body.config.vsphereConfig.datastore == STRING
    input.Body.config.vsphereConfig.hostGroups[_] == STRING
    input.Body.config.vsphereConfig.tags[_].category == STRING
    input.Body.config.vsphereConfig.tags[_].tag == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.nodePoolAutoscaling.maxReplicas == INTEGER
    input.Body.nodePoolAutoscaling.minReplicas == INTEGER
    input.Body.onPremVersion == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.setIamPolicy

valid {
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

gkeonprem.projects.locations.vmwareClusters.vmwareNodePools.unenroll

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}