run.customresourcedefinitions.list

valid {
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.parent == STRING
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.authorizeddomains.list

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

run.namespaces.configurations.get

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

run.namespaces.configurations.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.customresourcedefinitions.get

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

run.namespaces.domainmappings.create

enum_DomainMappingSpecCertificateMode := [ "CERTIFICATE_MODE_UNSPECIFIED", "NONE", "AUTOMATIC" ]
enum_ResourceRecordType := [ "RECORD_TYPE_UNSPECIFIED", "A", "AAAA", "CNAME" ]

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.certificateMode == enum_DomainMappingSpecCertificateMode[_]
    input.Body.spec.forceOverride == BOOLEAN
    input.Body.spec.routeName == STRING
    input.Body.status.conditions[_].lastTransitionTime == STRING
    input.Body.status.conditions[_].message == STRING
    input.Body.status.conditions[_].reason == STRING
    input.Body.status.conditions[_].severity == STRING
    input.Body.status.conditions[_].status == STRING
    input.Body.status.conditions[_].type == STRING
    input.Body.status.mappedRouteName == STRING
    input.Body.status.observedGeneration == INTEGER
    input.Body.status.resourceRecords[_].name == STRING
    input.Body.status.resourceRecords[_].rrdata == STRING
    input.Body.status.resourceRecords[_].type == enum_ResourceRecordType[_]
    input.Body.status.url == STRING
    input.ReqMap.parent == STRING
    input.Qs.dryRun == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.domainmappings.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.dryRun == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.domainmappings.get

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

run.namespaces.domainmappings.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.executions.cancel

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

run.namespaces.executions.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.executions.get

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

run.namespaces.executions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.jobs.create

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.runExecutionToken == STRING
    input.Body.spec.startExecutionToken == STRING
    input.Body.spec.template.metadata.annotations.STRING == STRING
    input.Body.spec.template.metadata.clusterName == STRING
    input.Body.spec.template.metadata.creationTimestamp == STRING
    input.Body.spec.template.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.spec.template.metadata.deletionTimestamp == STRING
    input.Body.spec.template.metadata.finalizers[_] == STRING
    input.Body.spec.template.metadata.generateName == STRING
    input.Body.spec.template.metadata.generation == INTEGER
    input.Body.spec.template.metadata.labels.STRING == STRING
    input.Body.spec.template.metadata.name == STRING
    input.Body.spec.template.metadata.namespace == STRING
    input.Body.spec.template.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.spec.template.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].kind == STRING
    input.Body.spec.template.metadata.ownerReferences[_].name == STRING
    input.Body.spec.template.metadata.ownerReferences[_].uid == STRING
    input.Body.spec.template.metadata.resourceVersion == STRING
    input.Body.spec.template.metadata.selfLink == STRING
    input.Body.spec.template.metadata.uid == STRING
    input.Body.spec.template.spec.parallelism == INTEGER
    input.Body.spec.template.spec.taskCount == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].args[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.key == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.key == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].configMapRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].configMapRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].configMapRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].prefix == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].secretRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].secretRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].secretRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].image == STRING
    input.Body.spec.template.spec.template.spec.containers[_].imagePullPolicy == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.grpc.service == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].ports[_].containerPort == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].ports[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].ports[_].protocol == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.grpc.service == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].resources.limits.STRING == STRING
    input.Body.spec.template.spec.template.spec.containers[_].resources.requests.STRING == STRING
    input.Body.spec.template.spec.template.spec.containers[_].securityContext.runAsUser == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.grpc.service == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.path == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].terminationMessagePath == STRING
    input.Body.spec.template.spec.template.spec.containers[_].terminationMessagePolicy == STRING
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].readOnly == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].subPath == STRING
    input.Body.spec.template.spec.template.spec.containers[_].workingDir == STRING
    input.Body.spec.template.spec.template.spec.maxRetries == INTEGER
    input.Body.spec.template.spec.template.spec.serviceAccountName == STRING
    input.Body.spec.template.spec.template.spec.timeoutSeconds == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.defaultMode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.items[_].key == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.items[_].mode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.items[_].path == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.name == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].csi.driver == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].csi.readOnly == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].csi.volumeAttributes.STRING == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].emptyDir.medium == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].name == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].nfs.path == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].nfs.server == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].secret.defaultMode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].secret.items[_].key == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].secret.items[_].mode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].secret.items[_].path == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].secret.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].secret.secretName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.jobs.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.jobs.get

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

run.namespaces.jobs.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.jobs.replaceJob

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.runExecutionToken == STRING
    input.Body.spec.startExecutionToken == STRING
    input.Body.spec.template.metadata.annotations.STRING == STRING
    input.Body.spec.template.metadata.clusterName == STRING
    input.Body.spec.template.metadata.creationTimestamp == STRING
    input.Body.spec.template.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.spec.template.metadata.deletionTimestamp == STRING
    input.Body.spec.template.metadata.finalizers[_] == STRING
    input.Body.spec.template.metadata.generateName == STRING
    input.Body.spec.template.metadata.generation == INTEGER
    input.Body.spec.template.metadata.labels.STRING == STRING
    input.Body.spec.template.metadata.name == STRING
    input.Body.spec.template.metadata.namespace == STRING
    input.Body.spec.template.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.spec.template.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].kind == STRING
    input.Body.spec.template.metadata.ownerReferences[_].name == STRING
    input.Body.spec.template.metadata.ownerReferences[_].uid == STRING
    input.Body.spec.template.metadata.resourceVersion == STRING
    input.Body.spec.template.metadata.selfLink == STRING
    input.Body.spec.template.metadata.uid == STRING
    input.Body.spec.template.spec.parallelism == INTEGER
    input.Body.spec.template.spec.taskCount == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].args[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.key == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.key == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].configMapRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].configMapRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].configMapRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].prefix == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].secretRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].secretRef.name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].envFrom[_].secretRef.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].image == STRING
    input.Body.spec.template.spec.template.spec.containers[_].imagePullPolicy == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.grpc.service == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].ports[_].containerPort == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].ports[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].ports[_].protocol == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.grpc.service == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].readinessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].resources.limits.STRING == STRING
    input.Body.spec.template.spec.template.spec.containers[_].resources.requests.STRING == STRING
    input.Body.spec.template.spec.template.spec.containers[_].securityContext.runAsUser == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.grpc.service == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.path == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.template.spec.containers[_].terminationMessagePath == STRING
    input.Body.spec.template.spec.template.spec.containers[_].terminationMessagePolicy == STRING
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].name == STRING
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].readOnly == BOOLEAN
    input.Body.spec.template.spec.template.spec.containers[_].volumeMounts[_].subPath == STRING
    input.Body.spec.template.spec.template.spec.containers[_].workingDir == STRING
    input.Body.spec.template.spec.template.spec.maxRetries == INTEGER
    input.Body.spec.template.spec.template.spec.serviceAccountName == STRING
    input.Body.spec.template.spec.template.spec.timeoutSeconds == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.defaultMode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.items[_].key == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.items[_].mode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.items[_].path == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.name == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].configMap.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].csi.driver == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].csi.readOnly == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].csi.volumeAttributes.STRING == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].emptyDir.medium == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].name == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].nfs.path == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].nfs.server == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].secret.defaultMode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].secret.items[_].key == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].secret.items[_].mode == INTEGER
    input.Body.spec.template.spec.template.spec.volumes[_].secret.items[_].path == STRING
    input.Body.spec.template.spec.template.spec.volumes[_].secret.optional == BOOLEAN
    input.Body.spec.template.spec.template.spec.volumes[_].secret.secretName == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.jobs.run

valid {
    input.Body.overrides.containerOverrides[_].args[_] == STRING
    input.Body.overrides.containerOverrides[_].clearArgs == BOOLEAN
    input.Body.overrides.containerOverrides[_].env[_].name == STRING
    input.Body.overrides.containerOverrides[_].env[_].value == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.configMapKeyRef.key == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.configMapKeyRef.localObjectReference.name == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.configMapKeyRef.name == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.configMapKeyRef.optional == BOOLEAN
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.secretKeyRef.key == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.secretKeyRef.localObjectReference.name == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.secretKeyRef.name == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueFrom.secretKeyRef.optional == BOOLEAN
    input.Body.overrides.containerOverrides[_].name == STRING
    input.Body.overrides.taskCount == INTEGER
    input.Body.overrides.timeoutSeconds == INTEGER
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.revisions.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.dryRun == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.revisions.get

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

run.namespaces.revisions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.routes.get

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

run.namespaces.routes.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.services.create

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.template.metadata.annotations.STRING == STRING
    input.Body.spec.template.metadata.clusterName == STRING
    input.Body.spec.template.metadata.creationTimestamp == STRING
    input.Body.spec.template.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.spec.template.metadata.deletionTimestamp == STRING
    input.Body.spec.template.metadata.finalizers[_] == STRING
    input.Body.spec.template.metadata.generateName == STRING
    input.Body.spec.template.metadata.generation == INTEGER
    input.Body.spec.template.metadata.labels.STRING == STRING
    input.Body.spec.template.metadata.name == STRING
    input.Body.spec.template.metadata.namespace == STRING
    input.Body.spec.template.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.spec.template.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].kind == STRING
    input.Body.spec.template.metadata.ownerReferences[_].name == STRING
    input.Body.spec.template.metadata.ownerReferences[_].uid == STRING
    input.Body.spec.template.metadata.resourceVersion == STRING
    input.Body.spec.template.metadata.selfLink == STRING
    input.Body.spec.template.metadata.uid == STRING
    input.Body.spec.template.spec.containerConcurrency == INTEGER
    input.Body.spec.template.spec.containers[_].args[_] == STRING
    input.Body.spec.template.spec.containers[_].command[_] == STRING
    input.Body.spec.template.spec.containers[_].env[_].name == STRING
    input.Body.spec.template.spec.containers[_].env[_].value == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.key == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.key == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].envFrom[_].prefix == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].image == STRING
    input.Body.spec.template.spec.containers[_].imagePullPolicy == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].name == STRING
    input.Body.spec.template.spec.containers[_].ports[_].containerPort == INTEGER
    input.Body.spec.template.spec.containers[_].ports[_].name == STRING
    input.Body.spec.template.spec.containers[_].ports[_].protocol == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].resources.limits.STRING == STRING
    input.Body.spec.template.spec.containers[_].resources.requests.STRING == STRING
    input.Body.spec.template.spec.containers[_].securityContext.runAsUser == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].terminationMessagePath == STRING
    input.Body.spec.template.spec.containers[_].terminationMessagePolicy == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].name == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].readOnly == BOOLEAN
    input.Body.spec.template.spec.containers[_].volumeMounts[_].subPath == STRING
    input.Body.spec.template.spec.containers[_].workingDir == STRING
    input.Body.spec.template.spec.enableServiceLinks == BOOLEAN
    input.Body.spec.template.spec.imagePullSecrets[_].name == STRING
    input.Body.spec.template.spec.serviceAccountName == STRING
    input.Body.spec.template.spec.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.defaultMode == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.items[_].key == STRING
    input.Body.spec.template.spec.volumes[_].configMap.items[_].mode == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.items[_].path == STRING
    input.Body.spec.template.spec.volumes[_].configMap.name == STRING
    input.Body.spec.template.spec.volumes[_].configMap.optional == BOOLEAN
    input.Body.spec.template.spec.volumes[_].csi.driver == STRING
    input.Body.spec.template.spec.volumes[_].csi.readOnly == BOOLEAN
    input.Body.spec.template.spec.volumes[_].csi.volumeAttributes.STRING == STRING
    input.Body.spec.template.spec.volumes[_].emptyDir.medium == STRING
    input.Body.spec.template.spec.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.spec.template.spec.volumes[_].name == STRING
    input.Body.spec.template.spec.volumes[_].nfs.path == STRING
    input.Body.spec.template.spec.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.spec.template.spec.volumes[_].nfs.server == STRING
    input.Body.spec.template.spec.volumes[_].secret.defaultMode == INTEGER
    input.Body.spec.template.spec.volumes[_].secret.items[_].key == STRING
    input.Body.spec.template.spec.volumes[_].secret.items[_].mode == INTEGER
    input.Body.spec.template.spec.volumes[_].secret.items[_].path == STRING
    input.Body.spec.template.spec.volumes[_].secret.optional == BOOLEAN
    input.Body.spec.template.spec.volumes[_].secret.secretName == STRING
    input.Body.spec.traffic[_].configurationName == STRING
    input.Body.spec.traffic[_].latestRevision == BOOLEAN
    input.Body.spec.traffic[_].percent == INTEGER
    input.Body.spec.traffic[_].revisionName == STRING
    input.Body.spec.traffic[_].tag == STRING
    input.Body.status.address.url == STRING
    input.Body.status.conditions[_].lastTransitionTime == STRING
    input.Body.status.conditions[_].message == STRING
    input.Body.status.conditions[_].reason == STRING
    input.Body.status.conditions[_].severity == STRING
    input.Body.status.conditions[_].status == STRING
    input.Body.status.conditions[_].type == STRING
    input.Body.status.latestCreatedRevisionName == STRING
    input.Body.status.latestReadyRevisionName == STRING
    input.Body.status.observedGeneration == INTEGER
    input.Body.status.traffic[_].configurationName == STRING
    input.Body.status.traffic[_].latestRevision == BOOLEAN
    input.Body.status.traffic[_].percent == INTEGER
    input.Body.status.traffic[_].revisionName == STRING
    input.Body.status.traffic[_].tag == STRING
    input.Body.status.url == STRING
    input.ReqMap.parent == STRING
    input.Qs.dryRun == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.services.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.dryRun == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.services.get

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

run.namespaces.services.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.namespaces.services.replaceService

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.template.metadata.annotations.STRING == STRING
    input.Body.spec.template.metadata.clusterName == STRING
    input.Body.spec.template.metadata.creationTimestamp == STRING
    input.Body.spec.template.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.spec.template.metadata.deletionTimestamp == STRING
    input.Body.spec.template.metadata.finalizers[_] == STRING
    input.Body.spec.template.metadata.generateName == STRING
    input.Body.spec.template.metadata.generation == INTEGER
    input.Body.spec.template.metadata.labels.STRING == STRING
    input.Body.spec.template.metadata.name == STRING
    input.Body.spec.template.metadata.namespace == STRING
    input.Body.spec.template.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.spec.template.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].kind == STRING
    input.Body.spec.template.metadata.ownerReferences[_].name == STRING
    input.Body.spec.template.metadata.ownerReferences[_].uid == STRING
    input.Body.spec.template.metadata.resourceVersion == STRING
    input.Body.spec.template.metadata.selfLink == STRING
    input.Body.spec.template.metadata.uid == STRING
    input.Body.spec.template.spec.containerConcurrency == INTEGER
    input.Body.spec.template.spec.containers[_].args[_] == STRING
    input.Body.spec.template.spec.containers[_].command[_] == STRING
    input.Body.spec.template.spec.containers[_].env[_].name == STRING
    input.Body.spec.template.spec.containers[_].env[_].value == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.key == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.key == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].envFrom[_].prefix == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].image == STRING
    input.Body.spec.template.spec.containers[_].imagePullPolicy == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].name == STRING
    input.Body.spec.template.spec.containers[_].ports[_].containerPort == INTEGER
    input.Body.spec.template.spec.containers[_].ports[_].name == STRING
    input.Body.spec.template.spec.containers[_].ports[_].protocol == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].resources.limits.STRING == STRING
    input.Body.spec.template.spec.containers[_].resources.requests.STRING == STRING
    input.Body.spec.template.spec.containers[_].securityContext.runAsUser == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].terminationMessagePath == STRING
    input.Body.spec.template.spec.containers[_].terminationMessagePolicy == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].name == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].readOnly == BOOLEAN
    input.Body.spec.template.spec.containers[_].volumeMounts[_].subPath == STRING
    input.Body.spec.template.spec.containers[_].workingDir == STRING
    input.Body.spec.template.spec.enableServiceLinks == BOOLEAN
    input.Body.spec.template.spec.imagePullSecrets[_].name == STRING
    input.Body.spec.template.spec.serviceAccountName == STRING
    input.Body.spec.template.spec.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.defaultMode == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.items[_].key == STRING
    input.Body.spec.template.spec.volumes[_].configMap.items[_].mode == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.items[_].path == STRING
    input.Body.spec.template.spec.volumes[_].configMap.name == STRING
    input.Body.spec.template.spec.volumes[_].configMap.optional == BOOLEAN
    input.Body.spec.template.spec.volumes[_].csi.driver == STRING
    input.Body.spec.template.spec.volumes[_].csi.readOnly == BOOLEAN
    input.Body.spec.template.spec.volumes[_].csi.volumeAttributes.STRING == STRING
    input.Body.spec.template.spec.volumes[_].emptyDir.medium == STRING
    input.Body.spec.template.spec.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.spec.template.spec.volumes[_].name == STRING
    input.Body.spec.template.spec.volumes[_].nfs.path == STRING
    input.Body.spec.template.spec.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.spec.template.spec.volumes[_].nfs.server == STRING
    input.Body.spec.template.spec.volumes[_].secret.defaultMode == INTEGER
    input.Body.spec.template.spec.volumes[_].secret.items[_].key == STRING
    input.Body.spec.template.spec.volumes[_].secret.items[_].mode == INTEGER
    input.Body.spec.template.spec.volumes[_].secret.items[_].path == STRING
    input.Body.spec.template.spec.volumes[_].secret.optional == BOOLEAN
    input.Body.spec.template.spec.volumes[_].secret.secretName == STRING
    input.Body.spec.traffic[_].configurationName == STRING
    input.Body.spec.traffic[_].latestRevision == BOOLEAN
    input.Body.spec.traffic[_].percent == INTEGER
    input.Body.spec.traffic[_].revisionName == STRING
    input.Body.spec.traffic[_].tag == STRING
    input.Body.status.address.url == STRING
    input.Body.status.conditions[_].lastTransitionTime == STRING
    input.Body.status.conditions[_].message == STRING
    input.Body.status.conditions[_].reason == STRING
    input.Body.status.conditions[_].severity == STRING
    input.Body.status.conditions[_].status == STRING
    input.Body.status.conditions[_].type == STRING
    input.Body.status.latestCreatedRevisionName == STRING
    input.Body.status.latestReadyRevisionName == STRING
    input.Body.status.observedGeneration == INTEGER
    input.Body.status.traffic[_].configurationName == STRING
    input.Body.status.traffic[_].latestRevision == BOOLEAN
    input.Body.status.traffic[_].percent == INTEGER
    input.Body.status.traffic[_].revisionName == STRING
    input.Body.status.traffic[_].tag == STRING
    input.Body.status.url == STRING
    input.ReqMap.name == STRING
    input.Qs.dryRun == STRING
    input.ProviderMetadata.Region == STRING
}

run.namespaces.tasks.get

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

run.namespaces.tasks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.authorizeddomains.list

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

run.projects.locations.authorizeddomains.list

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

run.projects.locations.configurations.get

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

run.projects.locations.configurations.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.customresourcedefinitions.get

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

run.projects.locations.customresourcedefinitions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.domainmappings.create

enum_DomainMappingSpecCertificateMode := [ "CERTIFICATE_MODE_UNSPECIFIED", "NONE", "AUTOMATIC" ]
enum_ResourceRecordType := [ "RECORD_TYPE_UNSPECIFIED", "A", "AAAA", "CNAME" ]

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.certificateMode == enum_DomainMappingSpecCertificateMode[_]
    input.Body.spec.forceOverride == BOOLEAN
    input.Body.spec.routeName == STRING
    input.Body.status.conditions[_].lastTransitionTime == STRING
    input.Body.status.conditions[_].message == STRING
    input.Body.status.conditions[_].reason == STRING
    input.Body.status.conditions[_].severity == STRING
    input.Body.status.conditions[_].status == STRING
    input.Body.status.conditions[_].type == STRING
    input.Body.status.mappedRouteName == STRING
    input.Body.status.observedGeneration == INTEGER
    input.Body.status.resourceRecords[_].name == STRING
    input.Body.status.resourceRecords[_].rrdata == STRING
    input.Body.status.resourceRecords[_].type == enum_ResourceRecordType[_]
    input.Body.status.url == STRING
    input.ReqMap.parent == STRING
    input.Qs.dryRun == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.domainmappings.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.dryRun == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.domainmappings.get

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

run.projects.locations.domainmappings.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.exportImage

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

run.projects.locations.exportImageMetadata

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

run.projects.locations.exportMetadata

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

run.projects.locations.jobs.create

enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium := [ "MEDIUM_UNSPECIFIED", "MEMORY" ]
enum_GoogleCloudRunV2JobLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_GoogleCloudRunV2TaskTemplateExecutionEnvironment := [ "EXECUTION_ENVIRONMENT_UNSPECIFIED", "EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2" ]
enum_GoogleCloudRunV2VpcAccessEgress := [ "VPC_EGRESS_UNSPECIFIED", "ALL_TRAFFIC", "PRIVATE_RANGES_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.binaryAuthorization.breakglassJustification == STRING
    input.Body.binaryAuthorization.policy == STRING
    input.Body.binaryAuthorization.useDefault == BOOLEAN
    input.Body.client == STRING
    input.Body.clientVersion == STRING
    input.Body.labels.STRING == STRING
    input.Body.launchStage == enum_GoogleCloudRunV2JobLaunchStage[_]
    input.Body.name == STRING
    input.Body.startExecutionToken == STRING
    input.Body.template.annotations.STRING == STRING
    input.Body.template.labels.STRING == STRING
    input.Body.template.parallelism == INTEGER
    input.Body.template.taskCount == INTEGER
    input.Body.template.template.containers[_].args[_] == STRING
    input.Body.template.template.containers[_].command[_] == STRING
    input.Body.template.template.containers[_].dependsOn[_] == STRING
    input.Body.template.template.containers[_].env[_].name == STRING
    input.Body.template.template.containers[_].env[_].value == STRING
    input.Body.template.template.containers[_].env[_].valueSource.secretKeyRef.secret == STRING
    input.Body.template.template.containers[_].env[_].valueSource.secretKeyRef.version == STRING
    input.Body.template.template.containers[_].image == STRING
    input.Body.template.template.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.template.template.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.template.template.containers[_].livenessProbe.grpc.service == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.template.template.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.template.template.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.template.template.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.template.template.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.template.template.containers[_].name == STRING
    input.Body.template.template.containers[_].ports[_].containerPort == INTEGER
    input.Body.template.template.containers[_].ports[_].name == STRING
    input.Body.template.template.containers[_].resources.cpuIdle == BOOLEAN
    input.Body.template.template.containers[_].resources.limits.STRING == STRING
    input.Body.template.template.containers[_].resources.startupCpuBoost == BOOLEAN
    input.Body.template.template.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.template.template.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.template.template.containers[_].startupProbe.grpc.service == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.path == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.template.template.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.template.template.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.template.template.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.template.template.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.template.template.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.template.template.containers[_].volumeMounts[_].name == STRING
    input.Body.template.template.containers[_].workingDir == STRING
    input.Body.template.template.encryptionKey == STRING
    input.Body.template.template.executionEnvironment == enum_GoogleCloudRunV2TaskTemplateExecutionEnvironment[_]
    input.Body.template.template.maxRetries == INTEGER
    input.Body.template.template.serviceAccount == STRING
    input.Body.template.template.timeout == STRING
    input.Body.template.template.volumes[_].cloudSqlInstance.instances[_] == STRING
    input.Body.template.template.volumes[_].emptyDir.medium == enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium[_]
    input.Body.template.template.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.template.template.volumes[_].gcs.bucket == STRING
    input.Body.template.template.volumes[_].gcs.readOnly == BOOLEAN
    input.Body.template.template.volumes[_].name == STRING
    input.Body.template.template.volumes[_].nfs.path == STRING
    input.Body.template.template.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.template.template.volumes[_].nfs.server == STRING
    input.Body.template.template.volumes[_].secret.defaultMode == INTEGER
    input.Body.template.template.volumes[_].secret.items[_].mode == INTEGER
    input.Body.template.template.volumes[_].secret.items[_].path == STRING
    input.Body.template.template.volumes[_].secret.items[_].version == STRING
    input.Body.template.template.volumes[_].secret.secret == STRING
    input.Body.template.template.vpcAccess.connector == STRING
    input.Body.template.template.vpcAccess.egress == enum_GoogleCloudRunV2VpcAccessEgress[_]
    input.Body.template.template.vpcAccess.networkInterfaces[_].network == STRING
    input.Body.template.template.vpcAccess.networkInterfaces[_].subnetwork == STRING
    input.Body.template.template.vpcAccess.networkInterfaces[_].tags[_] == STRING
    input.ReqMap.parent == STRING
    input.Qs.jobId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.jobs.delete

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

run.projects.locations.jobs.executions.cancel

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

run.projects.locations.jobs.executions.delete

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

run.projects.locations.jobs.executions.exportStatus

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

run.projects.locations.jobs.executions.get

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

run.projects.locations.jobs.executions.list

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

run.projects.locations.jobs.executions.tasks.get

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

run.projects.locations.jobs.executions.tasks.list

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

run.projects.locations.jobs.get

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

run.projects.locations.jobs.getIamPolicy

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

run.projects.locations.jobs.list

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

run.projects.locations.jobs.patch

enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium := [ "MEDIUM_UNSPECIFIED", "MEMORY" ]
enum_GoogleCloudRunV2JobLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_GoogleCloudRunV2TaskTemplateExecutionEnvironment := [ "EXECUTION_ENVIRONMENT_UNSPECIFIED", "EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2" ]
enum_GoogleCloudRunV2VpcAccessEgress := [ "VPC_EGRESS_UNSPECIFIED", "ALL_TRAFFIC", "PRIVATE_RANGES_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.binaryAuthorization.breakglassJustification == STRING
    input.Body.binaryAuthorization.policy == STRING
    input.Body.binaryAuthorization.useDefault == BOOLEAN
    input.Body.client == STRING
    input.Body.clientVersion == STRING
    input.Body.labels.STRING == STRING
    input.Body.launchStage == enum_GoogleCloudRunV2JobLaunchStage[_]
    input.Body.name == STRING
    input.Body.startExecutionToken == STRING
    input.Body.template.annotations.STRING == STRING
    input.Body.template.labels.STRING == STRING
    input.Body.template.parallelism == INTEGER
    input.Body.template.taskCount == INTEGER
    input.Body.template.template.containers[_].args[_] == STRING
    input.Body.template.template.containers[_].command[_] == STRING
    input.Body.template.template.containers[_].dependsOn[_] == STRING
    input.Body.template.template.containers[_].env[_].name == STRING
    input.Body.template.template.containers[_].env[_].value == STRING
    input.Body.template.template.containers[_].env[_].valueSource.secretKeyRef.secret == STRING
    input.Body.template.template.containers[_].env[_].valueSource.secretKeyRef.version == STRING
    input.Body.template.template.containers[_].image == STRING
    input.Body.template.template.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.template.template.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.template.template.containers[_].livenessProbe.grpc.service == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.template.template.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.template.template.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.template.template.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.template.template.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.template.template.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.template.template.containers[_].name == STRING
    input.Body.template.template.containers[_].ports[_].containerPort == INTEGER
    input.Body.template.template.containers[_].ports[_].name == STRING
    input.Body.template.template.containers[_].resources.cpuIdle == BOOLEAN
    input.Body.template.template.containers[_].resources.limits.STRING == STRING
    input.Body.template.template.containers[_].resources.startupCpuBoost == BOOLEAN
    input.Body.template.template.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.template.template.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.template.template.containers[_].startupProbe.grpc.service == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.path == STRING
    input.Body.template.template.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.template.template.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.template.template.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.template.template.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.template.template.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.template.template.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.template.template.containers[_].volumeMounts[_].name == STRING
    input.Body.template.template.containers[_].workingDir == STRING
    input.Body.template.template.encryptionKey == STRING
    input.Body.template.template.executionEnvironment == enum_GoogleCloudRunV2TaskTemplateExecutionEnvironment[_]
    input.Body.template.template.maxRetries == INTEGER
    input.Body.template.template.serviceAccount == STRING
    input.Body.template.template.timeout == STRING
    input.Body.template.template.volumes[_].cloudSqlInstance.instances[_] == STRING
    input.Body.template.template.volumes[_].emptyDir.medium == enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium[_]
    input.Body.template.template.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.template.template.volumes[_].gcs.bucket == STRING
    input.Body.template.template.volumes[_].gcs.readOnly == BOOLEAN
    input.Body.template.template.volumes[_].name == STRING
    input.Body.template.template.volumes[_].nfs.path == STRING
    input.Body.template.template.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.template.template.volumes[_].nfs.server == STRING
    input.Body.template.template.volumes[_].secret.defaultMode == INTEGER
    input.Body.template.template.volumes[_].secret.items[_].mode == INTEGER
    input.Body.template.template.volumes[_].secret.items[_].path == STRING
    input.Body.template.template.volumes[_].secret.items[_].version == STRING
    input.Body.template.template.volumes[_].secret.secret == STRING
    input.Body.template.template.vpcAccess.connector == STRING
    input.Body.template.template.vpcAccess.egress == enum_GoogleCloudRunV2VpcAccessEgress[_]
    input.Body.template.template.vpcAccess.networkInterfaces[_].network == STRING
    input.Body.template.template.vpcAccess.networkInterfaces[_].subnetwork == STRING
    input.Body.template.template.vpcAccess.networkInterfaces[_].tags[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.jobs.run

valid {
    input.Body.etag == STRING
    input.Body.overrides.containerOverrides[_].args[_] == STRING
    input.Body.overrides.containerOverrides[_].clearArgs == BOOLEAN
    input.Body.overrides.containerOverrides[_].env[_].name == STRING
    input.Body.overrides.containerOverrides[_].env[_].value == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueSource.secretKeyRef.secret == STRING
    input.Body.overrides.containerOverrides[_].env[_].valueSource.secretKeyRef.version == STRING
    input.Body.overrides.containerOverrides[_].name == STRING
    input.Body.overrides.taskCount == INTEGER
    input.Body.overrides.timeout == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.jobs.setIamPolicy

enum_GoogleIamV1AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_GoogleIamV1AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    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.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.jobs.testIamPermissions

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

run.projects.locations.list

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

run.projects.locations.operations.delete

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

run.projects.locations.operations.get

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

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

run.projects.locations.operations.wait

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

run.projects.locations.revisions.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.apiVersion == STRING
    input.Qs.dryRun == STRING
    input.Qs.kind == STRING
    input.Qs.propagationPolicy == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.revisions.get

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

run.projects.locations.revisions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.routes.get

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

run.projects.locations.routes.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.continue == STRING
    input.Qs.fieldSelector == STRING
    input.Qs.includeUninitialized == BOOLEAN
    input.Qs.labelSelector == STRING
    input.Qs.limit == INTEGER
    input.Qs.resourceVersion == STRING
    input.Qs.watch == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.services.create

enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium := [ "MEDIUM_UNSPECIFIED", "MEMORY" ]
enum_GoogleCloudRunV2RevisionTemplateExecutionEnvironment := [ "EXECUTION_ENVIRONMENT_UNSPECIFIED", "EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2" ]
enum_GoogleCloudRunV2ServiceIngress := [ "INGRESS_TRAFFIC_UNSPECIFIED", "INGRESS_TRAFFIC_ALL", "INGRESS_TRAFFIC_INTERNAL_ONLY", "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER", "INGRESS_TRAFFIC_NONE" ]
enum_GoogleCloudRunV2ServiceLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_GoogleCloudRunV2TrafficTargetType := [ "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" ]
enum_GoogleCloudRunV2VpcAccessEgress := [ "VPC_EGRESS_UNSPECIFIED", "ALL_TRAFFIC", "PRIVATE_RANGES_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.binaryAuthorization.breakglassJustification == STRING
    input.Body.binaryAuthorization.policy == STRING
    input.Body.binaryAuthorization.useDefault == BOOLEAN
    input.Body.client == STRING
    input.Body.clientVersion == STRING
    input.Body.customAudiences[_] == STRING
    input.Body.defaultUriDisabled == BOOLEAN
    input.Body.description == STRING
    input.Body.ingress == enum_GoogleCloudRunV2ServiceIngress[_]
    input.Body.labels.STRING == STRING
    input.Body.launchStage == enum_GoogleCloudRunV2ServiceLaunchStage[_]
    input.Body.name == STRING
    input.Body.scaling.minInstanceCount == INTEGER
    input.Body.template.annotations.STRING == STRING
    input.Body.template.containers[_].args[_] == STRING
    input.Body.template.containers[_].command[_] == STRING
    input.Body.template.containers[_].dependsOn[_] == STRING
    input.Body.template.containers[_].env[_].name == STRING
    input.Body.template.containers[_].env[_].value == STRING
    input.Body.template.containers[_].env[_].valueSource.secretKeyRef.secret == STRING
    input.Body.template.containers[_].env[_].valueSource.secretKeyRef.version == STRING
    input.Body.template.containers[_].image == STRING
    input.Body.template.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.template.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.template.containers[_].livenessProbe.grpc.service == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.template.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.template.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.template.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.template.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.template.containers[_].name == STRING
    input.Body.template.containers[_].ports[_].containerPort == INTEGER
    input.Body.template.containers[_].ports[_].name == STRING
    input.Body.template.containers[_].resources.cpuIdle == BOOLEAN
    input.Body.template.containers[_].resources.limits.STRING == STRING
    input.Body.template.containers[_].resources.startupCpuBoost == BOOLEAN
    input.Body.template.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.template.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.template.containers[_].startupProbe.grpc.service == STRING
    input.Body.template.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.containers[_].startupProbe.httpGet.path == STRING
    input.Body.template.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.template.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.template.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.template.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.template.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.template.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.template.containers[_].volumeMounts[_].name == STRING
    input.Body.template.containers[_].workingDir == STRING
    input.Body.template.encryptionKey == STRING
    input.Body.template.executionEnvironment == enum_GoogleCloudRunV2RevisionTemplateExecutionEnvironment[_]
    input.Body.template.healthCheckDisabled == BOOLEAN
    input.Body.template.labels.STRING == STRING
    input.Body.template.maxInstanceRequestConcurrency == INTEGER
    input.Body.template.revision == STRING
    input.Body.template.scaling.maxInstanceCount == INTEGER
    input.Body.template.scaling.minInstanceCount == INTEGER
    input.Body.template.serviceAccount == STRING
    input.Body.template.sessionAffinity == BOOLEAN
    input.Body.template.timeout == STRING
    input.Body.template.volumes[_].cloudSqlInstance.instances[_] == STRING
    input.Body.template.volumes[_].emptyDir.medium == enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium[_]
    input.Body.template.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.template.volumes[_].gcs.bucket == STRING
    input.Body.template.volumes[_].gcs.readOnly == BOOLEAN
    input.Body.template.volumes[_].name == STRING
    input.Body.template.volumes[_].nfs.path == STRING
    input.Body.template.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.template.volumes[_].nfs.server == STRING
    input.Body.template.volumes[_].secret.defaultMode == INTEGER
    input.Body.template.volumes[_].secret.items[_].mode == INTEGER
    input.Body.template.volumes[_].secret.items[_].path == STRING
    input.Body.template.volumes[_].secret.items[_].version == STRING
    input.Body.template.volumes[_].secret.secret == STRING
    input.Body.template.vpcAccess.connector == STRING
    input.Body.template.vpcAccess.egress == enum_GoogleCloudRunV2VpcAccessEgress[_]
    input.Body.template.vpcAccess.networkInterfaces[_].network == STRING
    input.Body.template.vpcAccess.networkInterfaces[_].subnetwork == STRING
    input.Body.template.vpcAccess.networkInterfaces[_].tags[_] == STRING
    input.Body.traffic[_].percent == INTEGER
    input.Body.traffic[_].revision == STRING
    input.Body.traffic[_].tag == STRING
    input.Body.traffic[_].type == enum_GoogleCloudRunV2TrafficTargetType[_]
    input.ReqMap.parent == STRING
    input.Qs.serviceId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.services.delete

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

run.projects.locations.services.get

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

run.projects.locations.services.getIamPolicy

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

run.projects.locations.services.list

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

run.projects.locations.services.patch

enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium := [ "MEDIUM_UNSPECIFIED", "MEMORY" ]
enum_GoogleCloudRunV2RevisionTemplateExecutionEnvironment := [ "EXECUTION_ENVIRONMENT_UNSPECIFIED", "EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2" ]
enum_GoogleCloudRunV2ServiceIngress := [ "INGRESS_TRAFFIC_UNSPECIFIED", "INGRESS_TRAFFIC_ALL", "INGRESS_TRAFFIC_INTERNAL_ONLY", "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER", "INGRESS_TRAFFIC_NONE" ]
enum_GoogleCloudRunV2ServiceLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_GoogleCloudRunV2TrafficTargetType := [ "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" ]
enum_GoogleCloudRunV2VpcAccessEgress := [ "VPC_EGRESS_UNSPECIFIED", "ALL_TRAFFIC", "PRIVATE_RANGES_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.binaryAuthorization.breakglassJustification == STRING
    input.Body.binaryAuthorization.policy == STRING
    input.Body.binaryAuthorization.useDefault == BOOLEAN
    input.Body.client == STRING
    input.Body.clientVersion == STRING
    input.Body.customAudiences[_] == STRING
    input.Body.defaultUriDisabled == BOOLEAN
    input.Body.description == STRING
    input.Body.ingress == enum_GoogleCloudRunV2ServiceIngress[_]
    input.Body.labels.STRING == STRING
    input.Body.launchStage == enum_GoogleCloudRunV2ServiceLaunchStage[_]
    input.Body.name == STRING
    input.Body.scaling.minInstanceCount == INTEGER
    input.Body.template.annotations.STRING == STRING
    input.Body.template.containers[_].args[_] == STRING
    input.Body.template.containers[_].command[_] == STRING
    input.Body.template.containers[_].dependsOn[_] == STRING
    input.Body.template.containers[_].env[_].name == STRING
    input.Body.template.containers[_].env[_].value == STRING
    input.Body.template.containers[_].env[_].valueSource.secretKeyRef.secret == STRING
    input.Body.template.containers[_].env[_].valueSource.secretKeyRef.version == STRING
    input.Body.template.containers[_].image == STRING
    input.Body.template.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.template.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.template.containers[_].livenessProbe.grpc.service == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.template.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.template.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.template.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.template.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.template.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.template.containers[_].name == STRING
    input.Body.template.containers[_].ports[_].containerPort == INTEGER
    input.Body.template.containers[_].ports[_].name == STRING
    input.Body.template.containers[_].resources.cpuIdle == BOOLEAN
    input.Body.template.containers[_].resources.limits.STRING == STRING
    input.Body.template.containers[_].resources.startupCpuBoost == BOOLEAN
    input.Body.template.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.template.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.template.containers[_].startupProbe.grpc.service == STRING
    input.Body.template.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.template.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.template.containers[_].startupProbe.httpGet.path == STRING
    input.Body.template.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.template.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.template.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.template.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.template.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.template.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.template.containers[_].volumeMounts[_].name == STRING
    input.Body.template.containers[_].workingDir == STRING
    input.Body.template.encryptionKey == STRING
    input.Body.template.executionEnvironment == enum_GoogleCloudRunV2RevisionTemplateExecutionEnvironment[_]
    input.Body.template.healthCheckDisabled == BOOLEAN
    input.Body.template.labels.STRING == STRING
    input.Body.template.maxInstanceRequestConcurrency == INTEGER
    input.Body.template.revision == STRING
    input.Body.template.scaling.maxInstanceCount == INTEGER
    input.Body.template.scaling.minInstanceCount == INTEGER
    input.Body.template.serviceAccount == STRING
    input.Body.template.sessionAffinity == BOOLEAN
    input.Body.template.timeout == STRING
    input.Body.template.volumes[_].cloudSqlInstance.instances[_] == STRING
    input.Body.template.volumes[_].emptyDir.medium == enum_GoogleCloudRunV2EmptyDirVolumeSourceMedium[_]
    input.Body.template.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.template.volumes[_].gcs.bucket == STRING
    input.Body.template.volumes[_].gcs.readOnly == BOOLEAN
    input.Body.template.volumes[_].name == STRING
    input.Body.template.volumes[_].nfs.path == STRING
    input.Body.template.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.template.volumes[_].nfs.server == STRING
    input.Body.template.volumes[_].secret.defaultMode == INTEGER
    input.Body.template.volumes[_].secret.items[_].mode == INTEGER
    input.Body.template.volumes[_].secret.items[_].path == STRING
    input.Body.template.volumes[_].secret.items[_].version == STRING
    input.Body.template.volumes[_].secret.secret == STRING
    input.Body.template.vpcAccess.connector == STRING
    input.Body.template.vpcAccess.egress == enum_GoogleCloudRunV2VpcAccessEgress[_]
    input.Body.template.vpcAccess.networkInterfaces[_].network == STRING
    input.Body.template.vpcAccess.networkInterfaces[_].subnetwork == STRING
    input.Body.template.vpcAccess.networkInterfaces[_].tags[_] == STRING
    input.Body.traffic[_].percent == INTEGER
    input.Body.traffic[_].revision == STRING
    input.Body.traffic[_].tag == STRING
    input.Body.traffic[_].type == enum_GoogleCloudRunV2TrafficTargetType[_]
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.services.replaceService

valid {
    input.Body.apiVersion == STRING
    input.Body.kind == STRING
    input.Body.metadata.annotations.STRING == STRING
    input.Body.metadata.clusterName == STRING
    input.Body.metadata.creationTimestamp == STRING
    input.Body.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.metadata.deletionTimestamp == STRING
    input.Body.metadata.finalizers[_] == STRING
    input.Body.metadata.generateName == STRING
    input.Body.metadata.generation == INTEGER
    input.Body.metadata.labels.STRING == STRING
    input.Body.metadata.name == STRING
    input.Body.metadata.namespace == STRING
    input.Body.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.metadata.ownerReferences[_].kind == STRING
    input.Body.metadata.ownerReferences[_].name == STRING
    input.Body.metadata.ownerReferences[_].uid == STRING
    input.Body.metadata.resourceVersion == STRING
    input.Body.metadata.selfLink == STRING
    input.Body.metadata.uid == STRING
    input.Body.spec.template.metadata.annotations.STRING == STRING
    input.Body.spec.template.metadata.clusterName == STRING
    input.Body.spec.template.metadata.creationTimestamp == STRING
    input.Body.spec.template.metadata.deletionGracePeriodSeconds == INTEGER
    input.Body.spec.template.metadata.deletionTimestamp == STRING
    input.Body.spec.template.metadata.finalizers[_] == STRING
    input.Body.spec.template.metadata.generateName == STRING
    input.Body.spec.template.metadata.generation == INTEGER
    input.Body.spec.template.metadata.labels.STRING == STRING
    input.Body.spec.template.metadata.name == STRING
    input.Body.spec.template.metadata.namespace == STRING
    input.Body.spec.template.metadata.ownerReferences[_].apiVersion == STRING
    input.Body.spec.template.metadata.ownerReferences[_].blockOwnerDeletion == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].controller == BOOLEAN
    input.Body.spec.template.metadata.ownerReferences[_].kind == STRING
    input.Body.spec.template.metadata.ownerReferences[_].name == STRING
    input.Body.spec.template.metadata.ownerReferences[_].uid == STRING
    input.Body.spec.template.metadata.resourceVersion == STRING
    input.Body.spec.template.metadata.selfLink == STRING
    input.Body.spec.template.metadata.uid == STRING
    input.Body.spec.template.spec.containerConcurrency == INTEGER
    input.Body.spec.template.spec.containers[_].args[_] == STRING
    input.Body.spec.template.spec.containers[_].command[_] == STRING
    input.Body.spec.template.spec.containers[_].env[_].name == STRING
    input.Body.spec.template.spec.containers[_].env[_].value == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.key == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.configMapKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.key == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.name == STRING
    input.Body.spec.template.spec.containers[_].env[_].valueFrom.secretKeyRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].configMapRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].envFrom[_].prefix == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.localObjectReference.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.name == STRING
    input.Body.spec.template.spec.containers[_].envFrom[_].secretRef.optional == BOOLEAN
    input.Body.spec.template.spec.containers[_].image == STRING
    input.Body.spec.template.spec.containers[_].imagePullPolicy == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].livenessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].livenessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].name == STRING
    input.Body.spec.template.spec.containers[_].ports[_].containerPort == INTEGER
    input.Body.spec.template.spec.containers[_].ports[_].name == STRING
    input.Body.spec.template.spec.containers[_].ports[_].protocol == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].readinessProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].readinessProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].resources.limits.STRING == STRING
    input.Body.spec.template.spec.containers[_].resources.requests.STRING == STRING
    input.Body.spec.template.spec.containers[_].securityContext.runAsUser == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.exec.command[_] == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.failureThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.grpc.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.grpc.service == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.host == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].name == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.httpHeaders[_].value == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.path == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.httpGet.scheme == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.initialDelaySeconds == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.periodSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.successThreshold == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.tcpSocket.host == STRING
    input.Body.spec.template.spec.containers[_].startupProbe.tcpSocket.port == INTEGER
    input.Body.spec.template.spec.containers[_].startupProbe.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.containers[_].terminationMessagePath == STRING
    input.Body.spec.template.spec.containers[_].terminationMessagePolicy == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].mountPath == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].name == STRING
    input.Body.spec.template.spec.containers[_].volumeMounts[_].readOnly == BOOLEAN
    input.Body.spec.template.spec.containers[_].volumeMounts[_].subPath == STRING
    input.Body.spec.template.spec.containers[_].workingDir == STRING
    input.Body.spec.template.spec.enableServiceLinks == BOOLEAN
    input.Body.spec.template.spec.imagePullSecrets[_].name == STRING
    input.Body.spec.template.spec.serviceAccountName == STRING
    input.Body.spec.template.spec.timeoutSeconds == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.defaultMode == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.items[_].key == STRING
    input.Body.spec.template.spec.volumes[_].configMap.items[_].mode == INTEGER
    input.Body.spec.template.spec.volumes[_].configMap.items[_].path == STRING
    input.Body.spec.template.spec.volumes[_].configMap.name == STRING
    input.Body.spec.template.spec.volumes[_].configMap.optional == BOOLEAN
    input.Body.spec.template.spec.volumes[_].csi.driver == STRING
    input.Body.spec.template.spec.volumes[_].csi.readOnly == BOOLEAN
    input.Body.spec.template.spec.volumes[_].csi.volumeAttributes.STRING == STRING
    input.Body.spec.template.spec.volumes[_].emptyDir.medium == STRING
    input.Body.spec.template.spec.volumes[_].emptyDir.sizeLimit == STRING
    input.Body.spec.template.spec.volumes[_].name == STRING
    input.Body.spec.template.spec.volumes[_].nfs.path == STRING
    input.Body.spec.template.spec.volumes[_].nfs.readOnly == BOOLEAN
    input.Body.spec.template.spec.volumes[_].nfs.server == STRING
    input.Body.spec.template.spec.volumes[_].secret.defaultMode == INTEGER
    input.Body.spec.template.spec.volumes[_].secret.items[_].key == STRING
    input.Body.spec.template.spec.volumes[_].secret.items[_].mode == INTEGER
    input.Body.spec.template.spec.volumes[_].secret.items[_].path == STRING
    input.Body.spec.template.spec.volumes[_].secret.optional == BOOLEAN
    input.Body.spec.template.spec.volumes[_].secret.secretName == STRING
    input.Body.spec.traffic[_].configurationName == STRING
    input.Body.spec.traffic[_].latestRevision == BOOLEAN
    input.Body.spec.traffic[_].percent == INTEGER
    input.Body.spec.traffic[_].revisionName == STRING
    input.Body.spec.traffic[_].tag == STRING
    input.Body.status.address.url == STRING
    input.Body.status.conditions[_].lastTransitionTime == STRING
    input.Body.status.conditions[_].message == STRING
    input.Body.status.conditions[_].reason == STRING
    input.Body.status.conditions[_].severity == STRING
    input.Body.status.conditions[_].status == STRING
    input.Body.status.conditions[_].type == STRING
    input.Body.status.latestCreatedRevisionName == STRING
    input.Body.status.latestReadyRevisionName == STRING
    input.Body.status.observedGeneration == INTEGER
    input.Body.status.traffic[_].configurationName == STRING
    input.Body.status.traffic[_].latestRevision == BOOLEAN
    input.Body.status.traffic[_].percent == INTEGER
    input.Body.status.traffic[_].revisionName == STRING
    input.Body.status.traffic[_].tag == STRING
    input.Body.status.url == STRING
    input.ReqMap.name == STRING
    input.Qs.dryRun == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.services.revisions.delete

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

run.projects.locations.services.revisions.exportStatus

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

run.projects.locations.services.revisions.get

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

run.projects.locations.services.revisions.list

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

run.projects.locations.services.setIamPolicy

enum_GoogleIamV1AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_GoogleIamV1AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    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.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

run.projects.locations.services.testIamPermissions

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