dataflow.projects.deleteSnapshots

valid {
    input.ReqMap.ProjectID == STRING
    input.Qs.location == STRING
    input.Qs.snapshotId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.aggregated

enum_FilterParameter := [ "UNKNOWN", "ALL", "TERMINATED", "ACTIVE" ]
enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]

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

dataflow.projects.jobs.create

enum_AutoscalingSettingsAlgorithm := [ "AUTOSCALING_ALGORITHM_UNKNOWN", "AUTOSCALING_ALGORITHM_NONE", "AUTOSCALING_ALGORITHM_BASIC" ]
enum_DataSamplingConfigBehaviors := [ "DATA_SAMPLING_BEHAVIOR_UNSPECIFIED", "DISABLED", "ALWAYS_ON", "EXCEPTIONS" ]
enum_EnvironmentFlexResourceSchedulingGoal := [ "FLEXRS_UNSPECIFIED", "FLEXRS_SPEED_OPTIMIZED", "FLEXRS_COST_OPTIMIZED" ]
enum_EnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]
enum_ExecutionStageStateExecutionStageState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_ExecutionStageSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_JobCurrentState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobRequestedState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobType := [ "JOB_TYPE_UNKNOWN", "JOB_TYPE_BATCH", "JOB_TYPE_STREAMING" ]
enum_SdkVersionSdkSupportStatus := [ "UNKNOWN", "SUPPORTED", "STALE", "DEPRECATED", "UNSUPPORTED" ]
enum_TransformSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]
enum_WorkerPoolDefaultPackageSet := [ "DEFAULT_PACKAGE_SET_UNKNOWN", "DEFAULT_PACKAGE_SET_NONE", "DEFAULT_PACKAGE_SET_JAVA", "DEFAULT_PACKAGE_SET_PYTHON" ]
enum_WorkerPoolIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_WorkerPoolTeardownPolicy := [ "TEARDOWN_POLICY_UNKNOWN", "TEARDOWN_ALWAYS", "TEARDOWN_ON_SUCCESS", "TEARDOWN_NEVER" ]

valid {
    input.Body.clientRequestId == STRING
    input.Body.createTime == STRING
    input.Body.createdFromSnapshotId == STRING
    input.Body.currentState == enum_JobCurrentState[_]
    input.Body.currentStateTime == STRING
    input.Body.environment.clusterManagerApiService == STRING
    input.Body.environment.dataset == STRING
    input.Body.environment.debugOptions.dataSampling.behaviors[_] == enum_DataSamplingConfigBehaviors[_]
    input.Body.environment.debugOptions.enableHotKeyLogging == BOOLEAN
    input.Body.environment.experiments[_] == STRING
    input.Body.environment.flexResourceSchedulingGoal == enum_EnvironmentFlexResourceSchedulingGoal[_]
    input.Body.environment.internalExperiments.STRING == ANY
    input.Body.environment.sdkPipelineOptions.STRING == ANY
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.serviceKmsKeyName == STRING
    input.Body.environment.serviceOptions[_] == STRING
    input.Body.environment.streamingMode == enum_EnvironmentStreamingMode[_]
    input.Body.environment.tempStoragePrefix == STRING
    input.Body.environment.userAgent.STRING == ANY
    input.Body.environment.version.STRING == ANY
    input.Body.environment.workerPools[_].autoscalingSettings.algorithm == enum_AutoscalingSettingsAlgorithm[_]
    input.Body.environment.workerPools[_].autoscalingSettings.maxNumWorkers == INTEGER
    input.Body.environment.workerPools[_].dataDisks[_].diskType == STRING
    input.Body.environment.workerPools[_].dataDisks[_].mountPoint == STRING
    input.Body.environment.workerPools[_].dataDisks[_].sizeGb == INTEGER
    input.Body.environment.workerPools[_].defaultPackageSet == enum_WorkerPoolDefaultPackageSet[_]
    input.Body.environment.workerPools[_].diskSizeGb == INTEGER
    input.Body.environment.workerPools[_].diskSourceImage == STRING
    input.Body.environment.workerPools[_].diskType == STRING
    input.Body.environment.workerPools[_].ipConfiguration == enum_WorkerPoolIpConfiguration[_]
    input.Body.environment.workerPools[_].kind == STRING
    input.Body.environment.workerPools[_].machineType == STRING
    input.Body.environment.workerPools[_].metadata.STRING == STRING
    input.Body.environment.workerPools[_].network == STRING
    input.Body.environment.workerPools[_].numThreadsPerWorker == INTEGER
    input.Body.environment.workerPools[_].numWorkers == INTEGER
    input.Body.environment.workerPools[_].onHostMaintenance == STRING
    input.Body.environment.workerPools[_].packages[_].location == STRING
    input.Body.environment.workerPools[_].packages[_].name == STRING
    input.Body.environment.workerPools[_].poolArgs.STRING == ANY
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].capabilities[_] == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].containerImage == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].environmentId == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].useSingleCorePerContainer == BOOLEAN
    input.Body.environment.workerPools[_].subnetwork == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.alsologtostderr == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.baseTaskDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.commandlinesFileName == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.continueOnException == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.dataflowApiVersion == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.harnessCommand == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.languageHint == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logToSerialconsole == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.logUploadLocation == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.oauthScopes[_] == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.reportingEnabled == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.servicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.shuffleServicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.workerId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.streamingWorkerMainClass == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskGroup == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskUser == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.vmId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.workflowFileName == STRING
    input.Body.environment.workerPools[_].teardownPolicy == enum_WorkerPoolTeardownPolicy[_]
    input.Body.environment.workerPools[_].workerHarnessContainerImage == STRING
    input.Body.environment.workerPools[_].zone == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.executionInfo.stages.STRING.stepName[_] == STRING
    input.Body.id == STRING
    input.Body.jobMetadata.bigTableDetails[_].instanceId == STRING
    input.Body.jobMetadata.bigTableDetails[_].projectId == STRING
    input.Body.jobMetadata.bigTableDetails[_].tableId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].dataset == STRING
    input.Body.jobMetadata.bigqueryDetails[_].projectId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].query == STRING
    input.Body.jobMetadata.bigqueryDetails[_].table == STRING
    input.Body.jobMetadata.datastoreDetails[_].namespace == STRING
    input.Body.jobMetadata.datastoreDetails[_].projectId == STRING
    input.Body.jobMetadata.fileDetails[_].filePattern == STRING
    input.Body.jobMetadata.pubsubDetails[_].subscription == STRING
    input.Body.jobMetadata.pubsubDetails[_].topic == STRING
    input.Body.jobMetadata.sdkVersion.sdkSupportStatus == enum_SdkVersionSdkSupportStatus[_]
    input.Body.jobMetadata.sdkVersion.version == STRING
    input.Body.jobMetadata.sdkVersion.versionDisplayName == STRING
    input.Body.jobMetadata.spannerDetails[_].databaseId == STRING
    input.Body.jobMetadata.spannerDetails[_].instanceId == STRING
    input.Body.jobMetadata.spannerDetails[_].projectId == STRING
    input.Body.jobMetadata.userDisplayProperties.STRING == STRING
    input.Body.labels.STRING == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.pipelineDescription.displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.displayData[_].durationValue == STRING
    input.Body.pipelineDescription.displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.displayData[_].int64Value == STRING
    input.Body.pipelineDescription.displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.displayData[_].key == STRING
    input.Body.pipelineDescription.displayData[_].label == STRING
    input.Body.pipelineDescription.displayData[_].namespace == STRING
    input.Body.pipelineDescription.displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.displayData[_].strValue == STRING
    input.Body.pipelineDescription.displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.displayData[_].url == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].originalTransform == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].id == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].kind == enum_ExecutionStageSummaryKind[_]
    input.Body.pipelineDescription.executionPipelineStage[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].prerequisiteStage[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].durationValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].int64Value == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].key == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].label == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].namespace == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].strValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].url == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].id == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].inputCollectionName[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].kind == enum_TransformSummaryKind[_]
    input.Body.pipelineDescription.originalPipelineTransform[_].name == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].outputCollectionName[_] == STRING
    input.Body.pipelineDescription.stepNamesHash == STRING
    input.Body.projectId == STRING
    input.Body.replaceJobId == STRING
    input.Body.replacedByJobId == STRING
    input.Body.requestedState == enum_JobRequestedState[_]
    input.Body.runtimeUpdatableParams.maxNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.minNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.workerUtilizationHint == NUMBER
    input.Body.satisfiesPzs == BOOLEAN
    input.Body.stageStates[_].currentStateTime == STRING
    input.Body.stageStates[_].executionStageName == STRING
    input.Body.stageStates[_].executionStageState == enum_ExecutionStageStateExecutionStageState[_]
    input.Body.startTime == STRING
    input.Body.steps[_].kind == STRING
    input.Body.steps[_].name == STRING
    input.Body.steps[_].properties.STRING == ANY
    input.Body.stepsLocation == STRING
    input.Body.tempFiles[_] == STRING
    input.Body.transformNameMapping.STRING == STRING
    input.Body.type == enum_JobType[_]
    input.ReqMap.ProjectID == STRING
    input.Qs.location == STRING
    input.Qs.replaceJobId == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.debug.getConfig

valid {
    input.Body.componentId == STRING
    input.Body.location == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.debug.sendCapture

enum_SendDebugCaptureRequestDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "RAW", "JSON", "ZLIB", "BROTLI" ]

valid {
    input.Body.componentId == STRING
    input.Body.data == STRING
    input.Body.dataFormat == enum_SendDebugCaptureRequestDataFormat[_]
    input.Body.location == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.get

enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]

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

dataflow.projects.jobs.getMetrics

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.location == STRING
    input.Qs.startTime == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.list

enum_FilterParameter := [ "UNKNOWN", "ALL", "TERMINATED", "ACTIVE" ]
enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]

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

dataflow.projects.jobs.messages.list

enum_MinimumImportanceParameter := [ "JOB_MESSAGE_IMPORTANCE_UNKNOWN", "JOB_MESSAGE_DEBUG", "JOB_MESSAGE_DETAILED", "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" ]

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.endTime == STRING
    input.Qs.location == STRING
    input.Qs.minimumImportance == enum_MinimumImportanceParameter[_]
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.startTime == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.snapshot

valid {
    input.Body.description == STRING
    input.Body.location == STRING
    input.Body.snapshotSources == BOOLEAN
    input.Body.ttl == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.update

enum_AutoscalingSettingsAlgorithm := [ "AUTOSCALING_ALGORITHM_UNKNOWN", "AUTOSCALING_ALGORITHM_NONE", "AUTOSCALING_ALGORITHM_BASIC" ]
enum_DataSamplingConfigBehaviors := [ "DATA_SAMPLING_BEHAVIOR_UNSPECIFIED", "DISABLED", "ALWAYS_ON", "EXCEPTIONS" ]
enum_EnvironmentFlexResourceSchedulingGoal := [ "FLEXRS_UNSPECIFIED", "FLEXRS_SPEED_OPTIMIZED", "FLEXRS_COST_OPTIMIZED" ]
enum_EnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]
enum_ExecutionStageStateExecutionStageState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_ExecutionStageSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_JobCurrentState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobRequestedState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobType := [ "JOB_TYPE_UNKNOWN", "JOB_TYPE_BATCH", "JOB_TYPE_STREAMING" ]
enum_SdkVersionSdkSupportStatus := [ "UNKNOWN", "SUPPORTED", "STALE", "DEPRECATED", "UNSUPPORTED" ]
enum_TransformSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_WorkerPoolDefaultPackageSet := [ "DEFAULT_PACKAGE_SET_UNKNOWN", "DEFAULT_PACKAGE_SET_NONE", "DEFAULT_PACKAGE_SET_JAVA", "DEFAULT_PACKAGE_SET_PYTHON" ]
enum_WorkerPoolIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_WorkerPoolTeardownPolicy := [ "TEARDOWN_POLICY_UNKNOWN", "TEARDOWN_ALWAYS", "TEARDOWN_ON_SUCCESS", "TEARDOWN_NEVER" ]

valid {
    input.Body.clientRequestId == STRING
    input.Body.createTime == STRING
    input.Body.createdFromSnapshotId == STRING
    input.Body.currentState == enum_JobCurrentState[_]
    input.Body.currentStateTime == STRING
    input.Body.environment.clusterManagerApiService == STRING
    input.Body.environment.dataset == STRING
    input.Body.environment.debugOptions.dataSampling.behaviors[_] == enum_DataSamplingConfigBehaviors[_]
    input.Body.environment.debugOptions.enableHotKeyLogging == BOOLEAN
    input.Body.environment.experiments[_] == STRING
    input.Body.environment.flexResourceSchedulingGoal == enum_EnvironmentFlexResourceSchedulingGoal[_]
    input.Body.environment.internalExperiments.STRING == ANY
    input.Body.environment.sdkPipelineOptions.STRING == ANY
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.serviceKmsKeyName == STRING
    input.Body.environment.serviceOptions[_] == STRING
    input.Body.environment.streamingMode == enum_EnvironmentStreamingMode[_]
    input.Body.environment.tempStoragePrefix == STRING
    input.Body.environment.userAgent.STRING == ANY
    input.Body.environment.version.STRING == ANY
    input.Body.environment.workerPools[_].autoscalingSettings.algorithm == enum_AutoscalingSettingsAlgorithm[_]
    input.Body.environment.workerPools[_].autoscalingSettings.maxNumWorkers == INTEGER
    input.Body.environment.workerPools[_].dataDisks[_].diskType == STRING
    input.Body.environment.workerPools[_].dataDisks[_].mountPoint == STRING
    input.Body.environment.workerPools[_].dataDisks[_].sizeGb == INTEGER
    input.Body.environment.workerPools[_].defaultPackageSet == enum_WorkerPoolDefaultPackageSet[_]
    input.Body.environment.workerPools[_].diskSizeGb == INTEGER
    input.Body.environment.workerPools[_].diskSourceImage == STRING
    input.Body.environment.workerPools[_].diskType == STRING
    input.Body.environment.workerPools[_].ipConfiguration == enum_WorkerPoolIpConfiguration[_]
    input.Body.environment.workerPools[_].kind == STRING
    input.Body.environment.workerPools[_].machineType == STRING
    input.Body.environment.workerPools[_].metadata.STRING == STRING
    input.Body.environment.workerPools[_].network == STRING
    input.Body.environment.workerPools[_].numThreadsPerWorker == INTEGER
    input.Body.environment.workerPools[_].numWorkers == INTEGER
    input.Body.environment.workerPools[_].onHostMaintenance == STRING
    input.Body.environment.workerPools[_].packages[_].location == STRING
    input.Body.environment.workerPools[_].packages[_].name == STRING
    input.Body.environment.workerPools[_].poolArgs.STRING == ANY
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].capabilities[_] == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].containerImage == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].environmentId == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].useSingleCorePerContainer == BOOLEAN
    input.Body.environment.workerPools[_].subnetwork == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.alsologtostderr == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.baseTaskDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.commandlinesFileName == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.continueOnException == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.dataflowApiVersion == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.harnessCommand == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.languageHint == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logToSerialconsole == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.logUploadLocation == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.oauthScopes[_] == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.reportingEnabled == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.servicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.shuffleServicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.workerId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.streamingWorkerMainClass == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskGroup == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskUser == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.vmId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.workflowFileName == STRING
    input.Body.environment.workerPools[_].teardownPolicy == enum_WorkerPoolTeardownPolicy[_]
    input.Body.environment.workerPools[_].workerHarnessContainerImage == STRING
    input.Body.environment.workerPools[_].zone == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.executionInfo.stages.STRING.stepName[_] == STRING
    input.Body.id == STRING
    input.Body.jobMetadata.bigTableDetails[_].instanceId == STRING
    input.Body.jobMetadata.bigTableDetails[_].projectId == STRING
    input.Body.jobMetadata.bigTableDetails[_].tableId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].dataset == STRING
    input.Body.jobMetadata.bigqueryDetails[_].projectId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].query == STRING
    input.Body.jobMetadata.bigqueryDetails[_].table == STRING
    input.Body.jobMetadata.datastoreDetails[_].namespace == STRING
    input.Body.jobMetadata.datastoreDetails[_].projectId == STRING
    input.Body.jobMetadata.fileDetails[_].filePattern == STRING
    input.Body.jobMetadata.pubsubDetails[_].subscription == STRING
    input.Body.jobMetadata.pubsubDetails[_].topic == STRING
    input.Body.jobMetadata.sdkVersion.sdkSupportStatus == enum_SdkVersionSdkSupportStatus[_]
    input.Body.jobMetadata.sdkVersion.version == STRING
    input.Body.jobMetadata.sdkVersion.versionDisplayName == STRING
    input.Body.jobMetadata.spannerDetails[_].databaseId == STRING
    input.Body.jobMetadata.spannerDetails[_].instanceId == STRING
    input.Body.jobMetadata.spannerDetails[_].projectId == STRING
    input.Body.jobMetadata.userDisplayProperties.STRING == STRING
    input.Body.labels.STRING == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.pipelineDescription.displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.displayData[_].durationValue == STRING
    input.Body.pipelineDescription.displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.displayData[_].int64Value == STRING
    input.Body.pipelineDescription.displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.displayData[_].key == STRING
    input.Body.pipelineDescription.displayData[_].label == STRING
    input.Body.pipelineDescription.displayData[_].namespace == STRING
    input.Body.pipelineDescription.displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.displayData[_].strValue == STRING
    input.Body.pipelineDescription.displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.displayData[_].url == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].originalTransform == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].id == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].kind == enum_ExecutionStageSummaryKind[_]
    input.Body.pipelineDescription.executionPipelineStage[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].prerequisiteStage[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].durationValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].int64Value == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].key == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].label == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].namespace == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].strValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].url == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].id == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].inputCollectionName[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].kind == enum_TransformSummaryKind[_]
    input.Body.pipelineDescription.originalPipelineTransform[_].name == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].outputCollectionName[_] == STRING
    input.Body.pipelineDescription.stepNamesHash == STRING
    input.Body.projectId == STRING
    input.Body.replaceJobId == STRING
    input.Body.replacedByJobId == STRING
    input.Body.requestedState == enum_JobRequestedState[_]
    input.Body.runtimeUpdatableParams.maxNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.minNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.workerUtilizationHint == NUMBER
    input.Body.satisfiesPzs == BOOLEAN
    input.Body.stageStates[_].currentStateTime == STRING
    input.Body.stageStates[_].executionStageName == STRING
    input.Body.stageStates[_].executionStageState == enum_ExecutionStageStateExecutionStageState[_]
    input.Body.startTime == STRING
    input.Body.steps[_].kind == STRING
    input.Body.steps[_].name == STRING
    input.Body.steps[_].properties.STRING == ANY
    input.Body.stepsLocation == STRING
    input.Body.tempFiles[_] == STRING
    input.Body.transformNameMapping.STRING == STRING
    input.Body.type == enum_JobType[_]
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.location == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.workItems.lease

valid {
    input.Body.currentWorkerTime == STRING
    input.Body.location == STRING
    input.Body.projectNumber == STRING
    input.Body.requestedLeaseDuration == STRING
    input.Body.unifiedWorkerRequest.STRING == ANY
    input.Body.workItemTypes[_] == STRING
    input.Body.workerCapabilities[_] == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.jobs.workItems.reportStatus

enum_CounterMetadataKind := [ "INVALID", "SUM", "MAX", "MIN", "MEAN", "OR", "AND", "SET", "DISTRIBUTION", "LATEST_VALUE" ]
enum_CounterMetadataStandardUnits := [ "BYTES", "BYTES_PER_SEC", "MILLISECONDS", "MICROSECONDS", "NANOSECONDS", "TIMESTAMP_MSEC", "TIMESTAMP_USEC", "TIMESTAMP_NSEC" ]
enum_CounterStructuredNameOrigin := [ "SYSTEM", "USER" ]
enum_CounterStructuredNamePortion := [ "ALL", "KEY", "VALUE" ]
enum_DerivedSourceDerivationMode := [ "SOURCE_DERIVATION_MODE_UNKNOWN", "SOURCE_DERIVATION_MODE_INDEPENDENT", "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" ]
enum_NameAndKindKind := [ "INVALID", "SUM", "MAX", "MIN", "MEAN", "OR", "AND", "SET", "DISTRIBUTION", "LATEST_VALUE" ]
enum_SourceSplitResponseOutcome := [ "SOURCE_SPLIT_OUTCOME_UNKNOWN", "SOURCE_SPLIT_OUTCOME_USE_CURRENT", "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED" ]
enum_SourceSplitShardDerivationMode := [ "SOURCE_DERIVATION_MODE_UNKNOWN", "SOURCE_DERIVATION_MODE_INDEPENDENT", "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" ]

valid {
    input.Body.currentWorkerTime == STRING
    input.Body.location == STRING
    input.Body.projectNumber == STRING
    input.Body.unifiedWorkerRequest.STRING == ANY
    input.Body.workItemStatuses[_].completed == BOOLEAN
    input.Body.workItemStatuses[_].counterUpdates[_].boolean == BOOLEAN
    input.Body.workItemStatuses[_].counterUpdates[_].cumulative == BOOLEAN
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.count.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.count.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.histogram.bucketCounts[_] == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.histogram.firstBucketOffset == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.max.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.max.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.min.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.min.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.sum.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.sum.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.sumOfSquares == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPoint == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointList.elements[_] == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointMean.count.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointMean.count.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointMean.sum == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].integer.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integer.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerGauge.timestamp == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].integerGauge.value.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerGauge.value.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerList.elements[_].highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerList.elements[_].lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.count.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.count.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.sum.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.sum.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].internal == ANY
    input.Body.workItemStatuses[_].counterUpdates[_].nameAndKind.kind == enum_NameAndKindKind[_]
    input.Body.workItemStatuses[_].counterUpdates[_].nameAndKind.name == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].shortId == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].stringList.elements[_] == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.description == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.kind == enum_CounterMetadataKind[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.otherUnits == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.standardUnits == enum_CounterMetadataStandardUnits[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.componentStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.executionStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.inputIndex == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.name == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.origin == enum_CounterStructuredNameOrigin[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.originNamespace == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.originalRequestingStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.originalStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.portion == enum_CounterStructuredNamePortion[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.workerId == STRING
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].errors[_].code == INTEGER
    input.Body.workItemStatuses[_].errors[_].details[_].STRING == ANY
    input.Body.workItemStatuses[_].errors[_].message == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].cumulative == BOOLEAN
    input.Body.workItemStatuses[_].metricUpdates[_].distribution == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].gauge == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].internal == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].kind == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].meanCount == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].meanSum == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].name.context.STRING == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].name.name == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].name.origin == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].scalar == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].set == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].updateTime == STRING
    input.Body.workItemStatuses[_].progress.percentComplete == NUMBER
    input.Body.workItemStatuses[_].progress.position.byteOffset == STRING
    input.Body.workItemStatuses[_].progress.position.concatPosition.index == INTEGER
    input.Body.workItemStatuses[_].progress.position.concatPosition.position == NESTED
    input.Body.workItemStatuses[_].progress.position.end == BOOLEAN
    input.Body.workItemStatuses[_].progress.position.key == STRING
    input.Body.workItemStatuses[_].progress.position.recordIndex == STRING
    input.Body.workItemStatuses[_].progress.position.shufflePosition == STRING
    input.Body.workItemStatuses[_].progress.remainingTime == STRING
    input.Body.workItemStatuses[_].reportIndex == STRING
    input.Body.workItemStatuses[_].reportedProgress.consumedParallelism.isInfinite == BOOLEAN
    input.Body.workItemStatuses[_].reportedProgress.consumedParallelism.value == NUMBER
    input.Body.workItemStatuses[_].reportedProgress.fractionConsumed == NUMBER
    input.Body.workItemStatuses[_].reportedProgress.position.byteOffset == STRING
    input.Body.workItemStatuses[_].reportedProgress.position.concatPosition.index == INTEGER
    input.Body.workItemStatuses[_].reportedProgress.position.concatPosition.position == NESTED
    input.Body.workItemStatuses[_].reportedProgress.position.end == BOOLEAN
    input.Body.workItemStatuses[_].reportedProgress.position.key == STRING
    input.Body.workItemStatuses[_].reportedProgress.position.recordIndex == STRING
    input.Body.workItemStatuses[_].reportedProgress.position.shufflePosition == STRING
    input.Body.workItemStatuses[_].reportedProgress.remainingParallelism.isInfinite == BOOLEAN
    input.Body.workItemStatuses[_].reportedProgress.remainingParallelism.value == NUMBER
    input.Body.workItemStatuses[_].requestedLeaseDuration == STRING
    input.Body.workItemStatuses[_].sourceFork.primary.derivationMode == enum_SourceSplitShardDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.primary.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primary.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primary.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primary.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.primary.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primary.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primary.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primarySource.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residual.derivationMode == enum_SourceSplitShardDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.residual.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residual.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residual.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residual.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.residual.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residual.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residual.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residualSource.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.getMetadata.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceOperationResponse.getMetadata.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.getMetadata.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.outcome == enum_SourceSplitResponseOutcome[_]
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].derivationMode == enum_SourceSplitShardDerivationMode[_]
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.spec.STRING == ANY
    input.Body.workItemStatuses[_].stopPosition.byteOffset == STRING
    input.Body.workItemStatuses[_].stopPosition.concatPosition.index == INTEGER
    input.Body.workItemStatuses[_].stopPosition.concatPosition.position == NESTED
    input.Body.workItemStatuses[_].stopPosition.end == BOOLEAN
    input.Body.workItemStatuses[_].stopPosition.key == STRING
    input.Body.workItemStatuses[_].stopPosition.recordIndex == STRING
    input.Body.workItemStatuses[_].stopPosition.shufflePosition == STRING
    input.Body.workItemStatuses[_].totalThrottlerWaitTimeSeconds == NUMBER
    input.Body.workItemStatuses[_].workItemId == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.flexTemplates.launch

enum_FlexTemplateRuntimeEnvironmentAutoscalingAlgorithm := [ "AUTOSCALING_ALGORITHM_UNKNOWN", "AUTOSCALING_ALGORITHM_NONE", "AUTOSCALING_ALGORITHM_BASIC" ]
enum_FlexTemplateRuntimeEnvironmentFlexrsGoal := [ "FLEXRS_UNSPECIFIED", "FLEXRS_SPEED_OPTIMIZED", "FLEXRS_COST_OPTIMIZED" ]
enum_FlexTemplateRuntimeEnvironmentIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_FlexTemplateRuntimeEnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]
enum_ParameterMetadataParamType := [ "DEFAULT", "TEXT", "GCS_READ_BUCKET", "GCS_WRITE_BUCKET", "GCS_READ_FILE", "GCS_WRITE_FILE", "GCS_READ_FOLDER", "GCS_WRITE_FOLDER", "PUBSUB_TOPIC", "PUBSUB_SUBSCRIPTION", "BIGQUERY_TABLE", "JAVASCRIPT_UDF_FILE", "SERVICE_ACCOUNT", "MACHINE_TYPE", "KMS_KEY_NAME", "WORKER_REGION", "WORKER_ZONE", "BOOLEAN", "ENUM", "NUMBER", "KAFKA_TOPIC", "KAFKA_READ_TOPIC", "KAFKA_WRITE_TOPIC" ]
enum_SDKInfoLanguage := [ "UNKNOWN", "JAVA", "PYTHON", "GO" ]

valid {
    input.Body.launchParameter.containerSpec.defaultEnvironment.additionalExperiments[_] == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.additionalUserLabels.STRING == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.autoscalingAlgorithm == enum_FlexTemplateRuntimeEnvironmentAutoscalingAlgorithm[_]
    input.Body.launchParameter.containerSpec.defaultEnvironment.diskSizeGb == INTEGER
    input.Body.launchParameter.containerSpec.defaultEnvironment.dumpHeapOnOom == BOOLEAN
    input.Body.launchParameter.containerSpec.defaultEnvironment.enableLauncherVmSerialPortLogging == BOOLEAN
    input.Body.launchParameter.containerSpec.defaultEnvironment.enableStreamingEngine == BOOLEAN
    input.Body.launchParameter.containerSpec.defaultEnvironment.flexrsGoal == enum_FlexTemplateRuntimeEnvironmentFlexrsGoal[_]
    input.Body.launchParameter.containerSpec.defaultEnvironment.ipConfiguration == enum_FlexTemplateRuntimeEnvironmentIpConfiguration[_]
    input.Body.launchParameter.containerSpec.defaultEnvironment.kmsKeyName == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.launcherMachineType == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.machineType == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.maxWorkers == INTEGER
    input.Body.launchParameter.containerSpec.defaultEnvironment.network == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.numWorkers == INTEGER
    input.Body.launchParameter.containerSpec.defaultEnvironment.saveHeapDumpsToGcsPath == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.sdkContainerImage == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.serviceAccountEmail == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.stagingLocation == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.streamingMode == enum_FlexTemplateRuntimeEnvironmentStreamingMode[_]
    input.Body.launchParameter.containerSpec.defaultEnvironment.subnetwork == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.tempLocation == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.workerRegion == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.workerZone == STRING
    input.Body.launchParameter.containerSpec.defaultEnvironment.zone == STRING
    input.Body.launchParameter.containerSpec.image == STRING
    input.Body.launchParameter.containerSpec.imageRepositoryCertPath == STRING
    input.Body.launchParameter.containerSpec.imageRepositoryPasswordSecretId == STRING
    input.Body.launchParameter.containerSpec.imageRepositoryUsernameSecretId == STRING
    input.Body.launchParameter.containerSpec.metadata.defaultStreamingMode == STRING
    input.Body.launchParameter.containerSpec.metadata.description == STRING
    input.Body.launchParameter.containerSpec.metadata.name == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].customMetadata.STRING == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].defaultValue == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].enumOptions[_].description == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].enumOptions[_].label == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].enumOptions[_].value == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].groupName == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].helpText == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].hiddenUi == BOOLEAN
    input.Body.launchParameter.containerSpec.metadata.parameters[_].isOptional == BOOLEAN
    input.Body.launchParameter.containerSpec.metadata.parameters[_].label == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].name == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].paramType == enum_ParameterMetadataParamType[_]
    input.Body.launchParameter.containerSpec.metadata.parameters[_].parentName == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].parentTriggerValues[_] == STRING
    input.Body.launchParameter.containerSpec.metadata.parameters[_].regexes[_] == STRING
    input.Body.launchParameter.containerSpec.metadata.streaming == BOOLEAN
    input.Body.launchParameter.containerSpec.metadata.supportsAtLeastOnce == BOOLEAN
    input.Body.launchParameter.containerSpec.metadata.supportsExactlyOnce == BOOLEAN
    input.Body.launchParameter.containerSpec.sdkInfo.language == enum_SDKInfoLanguage[_]
    input.Body.launchParameter.containerSpec.sdkInfo.version == STRING
    input.Body.launchParameter.containerSpecGcsPath == STRING
    input.Body.launchParameter.environment.additionalExperiments[_] == STRING
    input.Body.launchParameter.environment.additionalUserLabels.STRING == STRING
    input.Body.launchParameter.environment.autoscalingAlgorithm == enum_FlexTemplateRuntimeEnvironmentAutoscalingAlgorithm[_]
    input.Body.launchParameter.environment.diskSizeGb == INTEGER
    input.Body.launchParameter.environment.dumpHeapOnOom == BOOLEAN
    input.Body.launchParameter.environment.enableLauncherVmSerialPortLogging == BOOLEAN
    input.Body.launchParameter.environment.enableStreamingEngine == BOOLEAN
    input.Body.launchParameter.environment.flexrsGoal == enum_FlexTemplateRuntimeEnvironmentFlexrsGoal[_]
    input.Body.launchParameter.environment.ipConfiguration == enum_FlexTemplateRuntimeEnvironmentIpConfiguration[_]
    input.Body.launchParameter.environment.kmsKeyName == STRING
    input.Body.launchParameter.environment.launcherMachineType == STRING
    input.Body.launchParameter.environment.machineType == STRING
    input.Body.launchParameter.environment.maxWorkers == INTEGER
    input.Body.launchParameter.environment.network == STRING
    input.Body.launchParameter.environment.numWorkers == INTEGER
    input.Body.launchParameter.environment.saveHeapDumpsToGcsPath == STRING
    input.Body.launchParameter.environment.sdkContainerImage == STRING
    input.Body.launchParameter.environment.serviceAccountEmail == STRING
    input.Body.launchParameter.environment.stagingLocation == STRING
    input.Body.launchParameter.environment.streamingMode == enum_FlexTemplateRuntimeEnvironmentStreamingMode[_]
    input.Body.launchParameter.environment.subnetwork == STRING
    input.Body.launchParameter.environment.tempLocation == STRING
    input.Body.launchParameter.environment.workerRegion == STRING
    input.Body.launchParameter.environment.workerZone == STRING
    input.Body.launchParameter.environment.zone == STRING
    input.Body.launchParameter.jobName == STRING
    input.Body.launchParameter.launchOptions.STRING == STRING
    input.Body.launchParameter.parameters.STRING == STRING
    input.Body.launchParameter.transformNameMappings.STRING == STRING
    input.Body.launchParameter.update == BOOLEAN
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.create

enum_AutoscalingSettingsAlgorithm := [ "AUTOSCALING_ALGORITHM_UNKNOWN", "AUTOSCALING_ALGORITHM_NONE", "AUTOSCALING_ALGORITHM_BASIC" ]
enum_DataSamplingConfigBehaviors := [ "DATA_SAMPLING_BEHAVIOR_UNSPECIFIED", "DISABLED", "ALWAYS_ON", "EXCEPTIONS" ]
enum_EnvironmentFlexResourceSchedulingGoal := [ "FLEXRS_UNSPECIFIED", "FLEXRS_SPEED_OPTIMIZED", "FLEXRS_COST_OPTIMIZED" ]
enum_EnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]
enum_ExecutionStageStateExecutionStageState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_ExecutionStageSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_JobCurrentState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobRequestedState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobType := [ "JOB_TYPE_UNKNOWN", "JOB_TYPE_BATCH", "JOB_TYPE_STREAMING" ]
enum_SdkVersionSdkSupportStatus := [ "UNKNOWN", "SUPPORTED", "STALE", "DEPRECATED", "UNSUPPORTED" ]
enum_TransformSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]
enum_WorkerPoolDefaultPackageSet := [ "DEFAULT_PACKAGE_SET_UNKNOWN", "DEFAULT_PACKAGE_SET_NONE", "DEFAULT_PACKAGE_SET_JAVA", "DEFAULT_PACKAGE_SET_PYTHON" ]
enum_WorkerPoolIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_WorkerPoolTeardownPolicy := [ "TEARDOWN_POLICY_UNKNOWN", "TEARDOWN_ALWAYS", "TEARDOWN_ON_SUCCESS", "TEARDOWN_NEVER" ]

valid {
    input.Body.clientRequestId == STRING
    input.Body.createTime == STRING
    input.Body.createdFromSnapshotId == STRING
    input.Body.currentState == enum_JobCurrentState[_]
    input.Body.currentStateTime == STRING
    input.Body.environment.clusterManagerApiService == STRING
    input.Body.environment.dataset == STRING
    input.Body.environment.debugOptions.dataSampling.behaviors[_] == enum_DataSamplingConfigBehaviors[_]
    input.Body.environment.debugOptions.enableHotKeyLogging == BOOLEAN
    input.Body.environment.experiments[_] == STRING
    input.Body.environment.flexResourceSchedulingGoal == enum_EnvironmentFlexResourceSchedulingGoal[_]
    input.Body.environment.internalExperiments.STRING == ANY
    input.Body.environment.sdkPipelineOptions.STRING == ANY
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.serviceKmsKeyName == STRING
    input.Body.environment.serviceOptions[_] == STRING
    input.Body.environment.streamingMode == enum_EnvironmentStreamingMode[_]
    input.Body.environment.tempStoragePrefix == STRING
    input.Body.environment.userAgent.STRING == ANY
    input.Body.environment.version.STRING == ANY
    input.Body.environment.workerPools[_].autoscalingSettings.algorithm == enum_AutoscalingSettingsAlgorithm[_]
    input.Body.environment.workerPools[_].autoscalingSettings.maxNumWorkers == INTEGER
    input.Body.environment.workerPools[_].dataDisks[_].diskType == STRING
    input.Body.environment.workerPools[_].dataDisks[_].mountPoint == STRING
    input.Body.environment.workerPools[_].dataDisks[_].sizeGb == INTEGER
    input.Body.environment.workerPools[_].defaultPackageSet == enum_WorkerPoolDefaultPackageSet[_]
    input.Body.environment.workerPools[_].diskSizeGb == INTEGER
    input.Body.environment.workerPools[_].diskSourceImage == STRING
    input.Body.environment.workerPools[_].diskType == STRING
    input.Body.environment.workerPools[_].ipConfiguration == enum_WorkerPoolIpConfiguration[_]
    input.Body.environment.workerPools[_].kind == STRING
    input.Body.environment.workerPools[_].machineType == STRING
    input.Body.environment.workerPools[_].metadata.STRING == STRING
    input.Body.environment.workerPools[_].network == STRING
    input.Body.environment.workerPools[_].numThreadsPerWorker == INTEGER
    input.Body.environment.workerPools[_].numWorkers == INTEGER
    input.Body.environment.workerPools[_].onHostMaintenance == STRING
    input.Body.environment.workerPools[_].packages[_].location == STRING
    input.Body.environment.workerPools[_].packages[_].name == STRING
    input.Body.environment.workerPools[_].poolArgs.STRING == ANY
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].capabilities[_] == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].containerImage == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].environmentId == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].useSingleCorePerContainer == BOOLEAN
    input.Body.environment.workerPools[_].subnetwork == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.alsologtostderr == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.baseTaskDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.commandlinesFileName == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.continueOnException == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.dataflowApiVersion == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.harnessCommand == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.languageHint == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logToSerialconsole == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.logUploadLocation == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.oauthScopes[_] == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.reportingEnabled == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.servicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.shuffleServicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.workerId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.streamingWorkerMainClass == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskGroup == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskUser == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.vmId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.workflowFileName == STRING
    input.Body.environment.workerPools[_].teardownPolicy == enum_WorkerPoolTeardownPolicy[_]
    input.Body.environment.workerPools[_].workerHarnessContainerImage == STRING
    input.Body.environment.workerPools[_].zone == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.executionInfo.stages.STRING.stepName[_] == STRING
    input.Body.id == STRING
    input.Body.jobMetadata.bigTableDetails[_].instanceId == STRING
    input.Body.jobMetadata.bigTableDetails[_].projectId == STRING
    input.Body.jobMetadata.bigTableDetails[_].tableId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].dataset == STRING
    input.Body.jobMetadata.bigqueryDetails[_].projectId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].query == STRING
    input.Body.jobMetadata.bigqueryDetails[_].table == STRING
    input.Body.jobMetadata.datastoreDetails[_].namespace == STRING
    input.Body.jobMetadata.datastoreDetails[_].projectId == STRING
    input.Body.jobMetadata.fileDetails[_].filePattern == STRING
    input.Body.jobMetadata.pubsubDetails[_].subscription == STRING
    input.Body.jobMetadata.pubsubDetails[_].topic == STRING
    input.Body.jobMetadata.sdkVersion.sdkSupportStatus == enum_SdkVersionSdkSupportStatus[_]
    input.Body.jobMetadata.sdkVersion.version == STRING
    input.Body.jobMetadata.sdkVersion.versionDisplayName == STRING
    input.Body.jobMetadata.spannerDetails[_].databaseId == STRING
    input.Body.jobMetadata.spannerDetails[_].instanceId == STRING
    input.Body.jobMetadata.spannerDetails[_].projectId == STRING
    input.Body.jobMetadata.userDisplayProperties.STRING == STRING
    input.Body.labels.STRING == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.pipelineDescription.displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.displayData[_].durationValue == STRING
    input.Body.pipelineDescription.displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.displayData[_].int64Value == STRING
    input.Body.pipelineDescription.displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.displayData[_].key == STRING
    input.Body.pipelineDescription.displayData[_].label == STRING
    input.Body.pipelineDescription.displayData[_].namespace == STRING
    input.Body.pipelineDescription.displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.displayData[_].strValue == STRING
    input.Body.pipelineDescription.displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.displayData[_].url == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].originalTransform == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].id == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].kind == enum_ExecutionStageSummaryKind[_]
    input.Body.pipelineDescription.executionPipelineStage[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].prerequisiteStage[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].durationValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].int64Value == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].key == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].label == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].namespace == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].strValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].url == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].id == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].inputCollectionName[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].kind == enum_TransformSummaryKind[_]
    input.Body.pipelineDescription.originalPipelineTransform[_].name == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].outputCollectionName[_] == STRING
    input.Body.pipelineDescription.stepNamesHash == STRING
    input.Body.projectId == STRING
    input.Body.replaceJobId == STRING
    input.Body.replacedByJobId == STRING
    input.Body.requestedState == enum_JobRequestedState[_]
    input.Body.runtimeUpdatableParams.maxNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.minNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.workerUtilizationHint == NUMBER
    input.Body.satisfiesPzs == BOOLEAN
    input.Body.stageStates[_].currentStateTime == STRING
    input.Body.stageStates[_].executionStageName == STRING
    input.Body.stageStates[_].executionStageState == enum_ExecutionStageStateExecutionStageState[_]
    input.Body.startTime == STRING
    input.Body.steps[_].kind == STRING
    input.Body.steps[_].name == STRING
    input.Body.steps[_].properties.STRING == ANY
    input.Body.stepsLocation == STRING
    input.Body.tempFiles[_] == STRING
    input.Body.transformNameMapping.STRING == STRING
    input.Body.type == enum_JobType[_]
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.replaceJobId == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.debug.getConfig

valid {
    input.Body.componentId == STRING
    input.Body.location == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.debug.sendCapture

enum_SendDebugCaptureRequestDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "RAW", "JSON", "ZLIB", "BROTLI" ]

valid {
    input.Body.componentId == STRING
    input.Body.data == STRING
    input.Body.dataFormat == enum_SendDebugCaptureRequestDataFormat[_]
    input.Body.location == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.get

enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]

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

dataflow.projects.locations.jobs.getExecutionDetails

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.getMetrics

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.startTime == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.list

enum_FilterParameter := [ "UNKNOWN", "ALL", "TERMINATED", "ACTIVE" ]
enum_ViewParameter := [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" ]

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

dataflow.projects.locations.jobs.messages.list

enum_MinimumImportanceParameter := [ "JOB_MESSAGE_IMPORTANCE_UNKNOWN", "JOB_MESSAGE_DEBUG", "JOB_MESSAGE_DETAILED", "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" ]

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.endTime == STRING
    input.Qs.minimumImportance == enum_MinimumImportanceParameter[_]
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.startTime == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.snapshot

valid {
    input.Body.description == STRING
    input.Body.location == STRING
    input.Body.snapshotSources == BOOLEAN
    input.Body.ttl == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.snapshots.list

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.stages.getExecutionDetails

valid {
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.stageId == STRING
    input.Qs.endTime == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.startTime == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.update

enum_AutoscalingSettingsAlgorithm := [ "AUTOSCALING_ALGORITHM_UNKNOWN", "AUTOSCALING_ALGORITHM_NONE", "AUTOSCALING_ALGORITHM_BASIC" ]
enum_DataSamplingConfigBehaviors := [ "DATA_SAMPLING_BEHAVIOR_UNSPECIFIED", "DISABLED", "ALWAYS_ON", "EXCEPTIONS" ]
enum_EnvironmentFlexResourceSchedulingGoal := [ "FLEXRS_UNSPECIFIED", "FLEXRS_SPEED_OPTIMIZED", "FLEXRS_COST_OPTIMIZED" ]
enum_EnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]
enum_ExecutionStageStateExecutionStageState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_ExecutionStageSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_JobCurrentState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobRequestedState := [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", "JOB_STATE_RUNNING", "JOB_STATE_DONE", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_UPDATED", "JOB_STATE_DRAINING", "JOB_STATE_DRAINED", "JOB_STATE_PENDING", "JOB_STATE_CANCELLING", "JOB_STATE_QUEUED", "JOB_STATE_RESOURCE_CLEANING_UP" ]
enum_JobType := [ "JOB_TYPE_UNKNOWN", "JOB_TYPE_BATCH", "JOB_TYPE_STREAMING" ]
enum_SdkVersionSdkSupportStatus := [ "UNKNOWN", "SUPPORTED", "STALE", "DEPRECATED", "UNSUPPORTED" ]
enum_TransformSummaryKind := [ "UNKNOWN_KIND", "PAR_DO_KIND", "GROUP_BY_KEY_KIND", "FLATTEN_KIND", "READ_KIND", "WRITE_KIND", "CONSTANT_KIND", "SINGLETON_KIND", "SHUFFLE_KIND" ]
enum_WorkerPoolDefaultPackageSet := [ "DEFAULT_PACKAGE_SET_UNKNOWN", "DEFAULT_PACKAGE_SET_NONE", "DEFAULT_PACKAGE_SET_JAVA", "DEFAULT_PACKAGE_SET_PYTHON" ]
enum_WorkerPoolIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_WorkerPoolTeardownPolicy := [ "TEARDOWN_POLICY_UNKNOWN", "TEARDOWN_ALWAYS", "TEARDOWN_ON_SUCCESS", "TEARDOWN_NEVER" ]

valid {
    input.Body.clientRequestId == STRING
    input.Body.createTime == STRING
    input.Body.createdFromSnapshotId == STRING
    input.Body.currentState == enum_JobCurrentState[_]
    input.Body.currentStateTime == STRING
    input.Body.environment.clusterManagerApiService == STRING
    input.Body.environment.dataset == STRING
    input.Body.environment.debugOptions.dataSampling.behaviors[_] == enum_DataSamplingConfigBehaviors[_]
    input.Body.environment.debugOptions.enableHotKeyLogging == BOOLEAN
    input.Body.environment.experiments[_] == STRING
    input.Body.environment.flexResourceSchedulingGoal == enum_EnvironmentFlexResourceSchedulingGoal[_]
    input.Body.environment.internalExperiments.STRING == ANY
    input.Body.environment.sdkPipelineOptions.STRING == ANY
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.serviceKmsKeyName == STRING
    input.Body.environment.serviceOptions[_] == STRING
    input.Body.environment.streamingMode == enum_EnvironmentStreamingMode[_]
    input.Body.environment.tempStoragePrefix == STRING
    input.Body.environment.userAgent.STRING == ANY
    input.Body.environment.version.STRING == ANY
    input.Body.environment.workerPools[_].autoscalingSettings.algorithm == enum_AutoscalingSettingsAlgorithm[_]
    input.Body.environment.workerPools[_].autoscalingSettings.maxNumWorkers == INTEGER
    input.Body.environment.workerPools[_].dataDisks[_].diskType == STRING
    input.Body.environment.workerPools[_].dataDisks[_].mountPoint == STRING
    input.Body.environment.workerPools[_].dataDisks[_].sizeGb == INTEGER
    input.Body.environment.workerPools[_].defaultPackageSet == enum_WorkerPoolDefaultPackageSet[_]
    input.Body.environment.workerPools[_].diskSizeGb == INTEGER
    input.Body.environment.workerPools[_].diskSourceImage == STRING
    input.Body.environment.workerPools[_].diskType == STRING
    input.Body.environment.workerPools[_].ipConfiguration == enum_WorkerPoolIpConfiguration[_]
    input.Body.environment.workerPools[_].kind == STRING
    input.Body.environment.workerPools[_].machineType == STRING
    input.Body.environment.workerPools[_].metadata.STRING == STRING
    input.Body.environment.workerPools[_].network == STRING
    input.Body.environment.workerPools[_].numThreadsPerWorker == INTEGER
    input.Body.environment.workerPools[_].numWorkers == INTEGER
    input.Body.environment.workerPools[_].onHostMaintenance == STRING
    input.Body.environment.workerPools[_].packages[_].location == STRING
    input.Body.environment.workerPools[_].packages[_].name == STRING
    input.Body.environment.workerPools[_].poolArgs.STRING == ANY
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].capabilities[_] == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].containerImage == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].environmentId == STRING
    input.Body.environment.workerPools[_].sdkHarnessContainerImages[_].useSingleCorePerContainer == BOOLEAN
    input.Body.environment.workerPools[_].subnetwork == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.alsologtostderr == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.baseTaskDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.commandlinesFileName == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.continueOnException == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.dataflowApiVersion == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.harnessCommand == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.languageHint == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logDir == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.logToSerialconsole == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.logUploadLocation == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.oauthScopes[_] == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.baseUrl == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.reportingEnabled == BOOLEAN
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.servicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.shuffleServicePath == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.parallelWorkerSettings.workerId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.streamingWorkerMainClass == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskGroup == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.taskUser == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.tempStoragePrefix == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.vmId == STRING
    input.Body.environment.workerPools[_].taskrunnerSettings.workflowFileName == STRING
    input.Body.environment.workerPools[_].teardownPolicy == enum_WorkerPoolTeardownPolicy[_]
    input.Body.environment.workerPools[_].workerHarnessContainerImage == STRING
    input.Body.environment.workerPools[_].zone == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.executionInfo.stages.STRING.stepName[_] == STRING
    input.Body.id == STRING
    input.Body.jobMetadata.bigTableDetails[_].instanceId == STRING
    input.Body.jobMetadata.bigTableDetails[_].projectId == STRING
    input.Body.jobMetadata.bigTableDetails[_].tableId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].dataset == STRING
    input.Body.jobMetadata.bigqueryDetails[_].projectId == STRING
    input.Body.jobMetadata.bigqueryDetails[_].query == STRING
    input.Body.jobMetadata.bigqueryDetails[_].table == STRING
    input.Body.jobMetadata.datastoreDetails[_].namespace == STRING
    input.Body.jobMetadata.datastoreDetails[_].projectId == STRING
    input.Body.jobMetadata.fileDetails[_].filePattern == STRING
    input.Body.jobMetadata.pubsubDetails[_].subscription == STRING
    input.Body.jobMetadata.pubsubDetails[_].topic == STRING
    input.Body.jobMetadata.sdkVersion.sdkSupportStatus == enum_SdkVersionSdkSupportStatus[_]
    input.Body.jobMetadata.sdkVersion.version == STRING
    input.Body.jobMetadata.sdkVersion.versionDisplayName == STRING
    input.Body.jobMetadata.spannerDetails[_].databaseId == STRING
    input.Body.jobMetadata.spannerDetails[_].instanceId == STRING
    input.Body.jobMetadata.spannerDetails[_].projectId == STRING
    input.Body.jobMetadata.userDisplayProperties.STRING == STRING
    input.Body.labels.STRING == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.pipelineDescription.displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.displayData[_].durationValue == STRING
    input.Body.pipelineDescription.displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.displayData[_].int64Value == STRING
    input.Body.pipelineDescription.displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.displayData[_].key == STRING
    input.Body.pipelineDescription.displayData[_].label == STRING
    input.Body.pipelineDescription.displayData[_].namespace == STRING
    input.Body.pipelineDescription.displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.displayData[_].strValue == STRING
    input.Body.pipelineDescription.displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.displayData[_].url == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].originalTransform == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].componentTransform[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].id == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].inputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].kind == enum_ExecutionStageSummaryKind[_]
    input.Body.pipelineDescription.executionPipelineStage[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].name == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].originalTransformOrCollection == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].sizeBytes == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].outputSource[_].userName == STRING
    input.Body.pipelineDescription.executionPipelineStage[_].prerequisiteStage[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].boolValue == BOOLEAN
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].durationValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].floatValue == NUMBER
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].int64Value == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].javaClassValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].key == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].label == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].namespace == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].shortStrValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].strValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].timestampValue == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].displayData[_].url == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].id == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].inputCollectionName[_] == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].kind == enum_TransformSummaryKind[_]
    input.Body.pipelineDescription.originalPipelineTransform[_].name == STRING
    input.Body.pipelineDescription.originalPipelineTransform[_].outputCollectionName[_] == STRING
    input.Body.pipelineDescription.stepNamesHash == STRING
    input.Body.projectId == STRING
    input.Body.replaceJobId == STRING
    input.Body.replacedByJobId == STRING
    input.Body.requestedState == enum_JobRequestedState[_]
    input.Body.runtimeUpdatableParams.maxNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.minNumWorkers == INTEGER
    input.Body.runtimeUpdatableParams.workerUtilizationHint == NUMBER
    input.Body.satisfiesPzs == BOOLEAN
    input.Body.stageStates[_].currentStateTime == STRING
    input.Body.stageStates[_].executionStageName == STRING
    input.Body.stageStates[_].executionStageState == enum_ExecutionStageStateExecutionStageState[_]
    input.Body.startTime == STRING
    input.Body.steps[_].kind == STRING
    input.Body.steps[_].name == STRING
    input.Body.steps[_].properties.STRING == ANY
    input.Body.stepsLocation == STRING
    input.Body.tempFiles[_] == STRING
    input.Body.transformNameMapping.STRING == STRING
    input.Body.type == enum_JobType[_]
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.workItems.lease

valid {
    input.Body.currentWorkerTime == STRING
    input.Body.location == STRING
    input.Body.projectNumber == STRING
    input.Body.requestedLeaseDuration == STRING
    input.Body.unifiedWorkerRequest.STRING == ANY
    input.Body.workItemTypes[_] == STRING
    input.Body.workerCapabilities[_] == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.jobs.workItems.reportStatus

enum_CounterMetadataKind := [ "INVALID", "SUM", "MAX", "MIN", "MEAN", "OR", "AND", "SET", "DISTRIBUTION", "LATEST_VALUE" ]
enum_CounterMetadataStandardUnits := [ "BYTES", "BYTES_PER_SEC", "MILLISECONDS", "MICROSECONDS", "NANOSECONDS", "TIMESTAMP_MSEC", "TIMESTAMP_USEC", "TIMESTAMP_NSEC" ]
enum_CounterStructuredNameOrigin := [ "SYSTEM", "USER" ]
enum_CounterStructuredNamePortion := [ "ALL", "KEY", "VALUE" ]
enum_DerivedSourceDerivationMode := [ "SOURCE_DERIVATION_MODE_UNKNOWN", "SOURCE_DERIVATION_MODE_INDEPENDENT", "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" ]
enum_NameAndKindKind := [ "INVALID", "SUM", "MAX", "MIN", "MEAN", "OR", "AND", "SET", "DISTRIBUTION", "LATEST_VALUE" ]
enum_SourceSplitResponseOutcome := [ "SOURCE_SPLIT_OUTCOME_UNKNOWN", "SOURCE_SPLIT_OUTCOME_USE_CURRENT", "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED" ]
enum_SourceSplitShardDerivationMode := [ "SOURCE_DERIVATION_MODE_UNKNOWN", "SOURCE_DERIVATION_MODE_INDEPENDENT", "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" ]

valid {
    input.Body.currentWorkerTime == STRING
    input.Body.location == STRING
    input.Body.projectNumber == STRING
    input.Body.unifiedWorkerRequest.STRING == ANY
    input.Body.workItemStatuses[_].completed == BOOLEAN
    input.Body.workItemStatuses[_].counterUpdates[_].boolean == BOOLEAN
    input.Body.workItemStatuses[_].counterUpdates[_].cumulative == BOOLEAN
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.count.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.count.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.histogram.bucketCounts[_] == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.histogram.firstBucketOffset == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.max.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.max.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.min.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.min.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.sum.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.sum.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].distribution.sumOfSquares == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPoint == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointList.elements[_] == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointMean.count.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointMean.count.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].floatingPointMean.sum == NUMBER
    input.Body.workItemStatuses[_].counterUpdates[_].integer.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integer.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerGauge.timestamp == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].integerGauge.value.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerGauge.value.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerList.elements[_].highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerList.elements[_].lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.count.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.count.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.sum.highBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].integerMean.sum.lowBits == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].internal == ANY
    input.Body.workItemStatuses[_].counterUpdates[_].nameAndKind.kind == enum_NameAndKindKind[_]
    input.Body.workItemStatuses[_].counterUpdates[_].nameAndKind.name == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].shortId == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].stringList.elements[_] == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.description == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.kind == enum_CounterMetadataKind[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.otherUnits == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.metadata.standardUnits == enum_CounterMetadataStandardUnits[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.componentStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.executionStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.inputIndex == INTEGER
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.name == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.origin == enum_CounterStructuredNameOrigin[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.originNamespace == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.originalRequestingStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.originalStepName == STRING
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.portion == enum_CounterStructuredNamePortion[_]
    input.Body.workItemStatuses[_].counterUpdates[_].structuredNameAndMetadata.name.workerId == STRING
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.primary.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].dynamicSourceSplit.residual.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].errors[_].code == INTEGER
    input.Body.workItemStatuses[_].errors[_].details[_].STRING == ANY
    input.Body.workItemStatuses[_].errors[_].message == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].cumulative == BOOLEAN
    input.Body.workItemStatuses[_].metricUpdates[_].distribution == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].gauge == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].internal == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].kind == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].meanCount == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].meanSum == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].name.context.STRING == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].name.name == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].name.origin == STRING
    input.Body.workItemStatuses[_].metricUpdates[_].scalar == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].set == ANY
    input.Body.workItemStatuses[_].metricUpdates[_].updateTime == STRING
    input.Body.workItemStatuses[_].progress.percentComplete == NUMBER
    input.Body.workItemStatuses[_].progress.position.byteOffset == STRING
    input.Body.workItemStatuses[_].progress.position.concatPosition.index == INTEGER
    input.Body.workItemStatuses[_].progress.position.concatPosition.position == NESTED
    input.Body.workItemStatuses[_].progress.position.end == BOOLEAN
    input.Body.workItemStatuses[_].progress.position.key == STRING
    input.Body.workItemStatuses[_].progress.position.recordIndex == STRING
    input.Body.workItemStatuses[_].progress.position.shufflePosition == STRING
    input.Body.workItemStatuses[_].progress.remainingTime == STRING
    input.Body.workItemStatuses[_].reportIndex == STRING
    input.Body.workItemStatuses[_].reportedProgress.consumedParallelism.isInfinite == BOOLEAN
    input.Body.workItemStatuses[_].reportedProgress.consumedParallelism.value == NUMBER
    input.Body.workItemStatuses[_].reportedProgress.fractionConsumed == NUMBER
    input.Body.workItemStatuses[_].reportedProgress.position.byteOffset == STRING
    input.Body.workItemStatuses[_].reportedProgress.position.concatPosition.index == INTEGER
    input.Body.workItemStatuses[_].reportedProgress.position.concatPosition.position == NESTED
    input.Body.workItemStatuses[_].reportedProgress.position.end == BOOLEAN
    input.Body.workItemStatuses[_].reportedProgress.position.key == STRING
    input.Body.workItemStatuses[_].reportedProgress.position.recordIndex == STRING
    input.Body.workItemStatuses[_].reportedProgress.position.shufflePosition == STRING
    input.Body.workItemStatuses[_].reportedProgress.remainingParallelism.isInfinite == BOOLEAN
    input.Body.workItemStatuses[_].reportedProgress.remainingParallelism.value == NUMBER
    input.Body.workItemStatuses[_].requestedLeaseDuration == STRING
    input.Body.workItemStatuses[_].sourceFork.primary.derivationMode == enum_SourceSplitShardDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.primary.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primary.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primary.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primary.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.primary.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primary.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primary.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primarySource.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.primarySource.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residual.derivationMode == enum_SourceSplitShardDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.residual.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residual.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residual.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residual.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.residual.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residual.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residual.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residualSource.derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceFork.residualSource.source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.getMetadata.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceOperationResponse.getMetadata.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.getMetadata.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].derivationMode == enum_DerivedSourceDerivationMode[_]
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.bundles[_].source.spec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.outcome == enum_SourceSplitResponseOutcome[_]
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].derivationMode == enum_SourceSplitShardDerivationMode[_]
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.baseSpecs[_].STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.codec.STRING == ANY
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.doesNotNeedSplitting == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.metadata.estimatedSizeBytes == STRING
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.metadata.infinite == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.metadata.producesSortedKeys == BOOLEAN
    input.Body.workItemStatuses[_].sourceOperationResponse.split.shards[_].source.spec.STRING == ANY
    input.Body.workItemStatuses[_].stopPosition.byteOffset == STRING
    input.Body.workItemStatuses[_].stopPosition.concatPosition.index == INTEGER
    input.Body.workItemStatuses[_].stopPosition.concatPosition.position == NESTED
    input.Body.workItemStatuses[_].stopPosition.end == BOOLEAN
    input.Body.workItemStatuses[_].stopPosition.key == STRING
    input.Body.workItemStatuses[_].stopPosition.recordIndex == STRING
    input.Body.workItemStatuses[_].stopPosition.shufflePosition == STRING
    input.Body.workItemStatuses[_].totalThrottlerWaitTimeSeconds == NUMBER
    input.Body.workItemStatuses[_].workItemId == STRING
    input.Body.workerId == STRING
    input.ReqMap.jobId == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.snapshots.delete

valid {
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.snapshotId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.snapshots.get

valid {
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.snapshotId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.snapshots.list

valid {
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.jobId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.templates.create

enum_RuntimeEnvironmentIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_RuntimeEnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]

valid {
    input.Body.environment.additionalExperiments[_] == STRING
    input.Body.environment.additionalUserLabels.STRING == STRING
    input.Body.environment.bypassTempDirValidation == BOOLEAN
    input.Body.environment.diskSizeGb == INTEGER
    input.Body.environment.enableStreamingEngine == BOOLEAN
    input.Body.environment.ipConfiguration == enum_RuntimeEnvironmentIpConfiguration[_]
    input.Body.environment.kmsKeyName == STRING
    input.Body.environment.machineType == STRING
    input.Body.environment.maxWorkers == INTEGER
    input.Body.environment.network == STRING
    input.Body.environment.numWorkers == INTEGER
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.streamingMode == enum_RuntimeEnvironmentStreamingMode[_]
    input.Body.environment.subnetwork == STRING
    input.Body.environment.tempLocation == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.environment.zone == STRING
    input.Body.gcsPath == STRING
    input.Body.jobName == STRING
    input.Body.location == STRING
    input.Body.parameters.STRING == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.templates.get

enum_ViewParameter := [ "METADATA_ONLY" ]

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

dataflow.projects.locations.templates.launch

enum_RuntimeEnvironmentIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_RuntimeEnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]

valid {
    input.Body.environment.additionalExperiments[_] == STRING
    input.Body.environment.additionalUserLabels.STRING == STRING
    input.Body.environment.bypassTempDirValidation == BOOLEAN
    input.Body.environment.diskSizeGb == INTEGER
    input.Body.environment.enableStreamingEngine == BOOLEAN
    input.Body.environment.ipConfiguration == enum_RuntimeEnvironmentIpConfiguration[_]
    input.Body.environment.kmsKeyName == STRING
    input.Body.environment.machineType == STRING
    input.Body.environment.maxWorkers == INTEGER
    input.Body.environment.network == STRING
    input.Body.environment.numWorkers == INTEGER
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.streamingMode == enum_RuntimeEnvironmentStreamingMode[_]
    input.Body.environment.subnetwork == STRING
    input.Body.environment.tempLocation == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.environment.zone == STRING
    input.Body.jobName == STRING
    input.Body.parameters.STRING == STRING
    input.Body.transformNameMapping.STRING == STRING
    input.Body.update == BOOLEAN
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.dynamicTemplate.gcsPath == STRING
    input.Qs.dynamicTemplate.stagingLocation == STRING
    input.Qs.gcsPath == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.locations.workerMessages

enum_WorkerLifecycleEventEvent := [ "UNKNOWN_EVENT", "OS_START", "CONTAINER_START", "NETWORK_UP", "STAGING_FILES_DOWNLOAD_START", "STAGING_FILES_DOWNLOAD_FINISH", "SDK_INSTALL_START", "SDK_INSTALL_FINISH" ]

valid {
    input.Body.location == STRING
    input.Body.workerMessages[_].dataSamplingReport.bytesWrittenDelta == STRING
    input.Body.workerMessages[_].dataSamplingReport.elementsSampledBytes == STRING
    input.Body.workerMessages[_].dataSamplingReport.elementsSampledCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.exceptionsSampledCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.pcollectionsSampledCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.persistenceErrorsCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.translationErrorsCount == STRING
    input.Body.workerMessages[_].labels.STRING == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].metric == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].metricLabels.STRING == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketCounts[_] == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.exponential.numberOfBuckets == INTEGER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.exponential.scale == INTEGER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.linear.numberOfBuckets == INTEGER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.linear.start == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.linear.width == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.count == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.overflowCount == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.overflowMean == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.underflowCount == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.underflowMean == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueInt64 == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricsNamespace == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].originalStep == STRING
    input.Body.workerMessages[_].streamingScalingReport.activeBundleCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.activeThreadCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.maximumBundleCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.maximumBytes == STRING
    input.Body.workerMessages[_].streamingScalingReport.maximumBytesCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.maximumThreadCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.outstandingBundleCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.outstandingBytes == STRING
    input.Body.workerMessages[_].streamingScalingReport.outstandingBytesCount == INTEGER
    input.Body.workerMessages[_].time == STRING
    input.Body.workerMessages[_].workerHealthReport.msg == STRING
    input.Body.workerMessages[_].workerHealthReport.pods[_].STRING == ANY
    input.Body.workerMessages[_].workerHealthReport.reportInterval == STRING
    input.Body.workerMessages[_].workerHealthReport.vmBrokenCode == STRING
    input.Body.workerMessages[_].workerHealthReport.vmIsBroken == BOOLEAN
    input.Body.workerMessages[_].workerHealthReport.vmIsHealthy == BOOLEAN
    input.Body.workerMessages[_].workerHealthReport.vmStartupTime == STRING
    input.Body.workerMessages[_].workerLifecycleEvent.containerStartTime == STRING
    input.Body.workerMessages[_].workerLifecycleEvent.event == enum_WorkerLifecycleEventEvent[_]
    input.Body.workerMessages[_].workerLifecycleEvent.metadata.STRING == STRING
    input.Body.workerMessages[_].workerMessageCode.code == STRING
    input.Body.workerMessages[_].workerMessageCode.parameters.STRING == ANY
    input.Body.workerMessages[_].workerMetrics.containers.STRING == NESTED
    input.Body.workerMessages[_].workerMetrics.cpuTime[_].rate == NUMBER
    input.Body.workerMessages[_].workerMetrics.cpuTime[_].timestamp == STRING
    input.Body.workerMessages[_].workerMetrics.cpuTime[_].totalMs == STRING
    input.Body.workerMessages[_].workerMetrics.gpuUsage[_].timestamp == STRING
    input.Body.workerMessages[_].workerMetrics.gpuUsage[_].utilization.rate == NUMBER
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].currentLimitBytes == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].currentOoms == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].currentRssBytes == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].timestamp == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].totalGbMs == STRING
    input.Body.workerMessages[_].workerShutdownNotice.reason == STRING
    input.Body.workerMessages[_].workerThreadScalingReport.currentThreadCount == INTEGER
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.snapshots.get

valid {
    input.ReqMap.ProjectID == STRING
    input.ReqMap.snapshotId == STRING
    input.Qs.location == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.snapshots.list

valid {
    input.ReqMap.ProjectID == STRING
    input.Qs.jobId == STRING
    input.Qs.location == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.templates.create

enum_RuntimeEnvironmentIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_RuntimeEnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]

valid {
    input.Body.environment.additionalExperiments[_] == STRING
    input.Body.environment.additionalUserLabels.STRING == STRING
    input.Body.environment.bypassTempDirValidation == BOOLEAN
    input.Body.environment.diskSizeGb == INTEGER
    input.Body.environment.enableStreamingEngine == BOOLEAN
    input.Body.environment.ipConfiguration == enum_RuntimeEnvironmentIpConfiguration[_]
    input.Body.environment.kmsKeyName == STRING
    input.Body.environment.machineType == STRING
    input.Body.environment.maxWorkers == INTEGER
    input.Body.environment.network == STRING
    input.Body.environment.numWorkers == INTEGER
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.streamingMode == enum_RuntimeEnvironmentStreamingMode[_]
    input.Body.environment.subnetwork == STRING
    input.Body.environment.tempLocation == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.environment.zone == STRING
    input.Body.gcsPath == STRING
    input.Body.jobName == STRING
    input.Body.location == STRING
    input.Body.parameters.STRING == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.templates.get

enum_ViewParameter := [ "METADATA_ONLY" ]

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

dataflow.projects.templates.launch

enum_RuntimeEnvironmentIpConfiguration := [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", "WORKER_IP_PRIVATE" ]
enum_RuntimeEnvironmentStreamingMode := [ "STREAMING_MODE_UNSPECIFIED", "STREAMING_MODE_EXACTLY_ONCE", "STREAMING_MODE_AT_LEAST_ONCE" ]

valid {
    input.Body.environment.additionalExperiments[_] == STRING
    input.Body.environment.additionalUserLabels.STRING == STRING
    input.Body.environment.bypassTempDirValidation == BOOLEAN
    input.Body.environment.diskSizeGb == INTEGER
    input.Body.environment.enableStreamingEngine == BOOLEAN
    input.Body.environment.ipConfiguration == enum_RuntimeEnvironmentIpConfiguration[_]
    input.Body.environment.kmsKeyName == STRING
    input.Body.environment.machineType == STRING
    input.Body.environment.maxWorkers == INTEGER
    input.Body.environment.network == STRING
    input.Body.environment.numWorkers == INTEGER
    input.Body.environment.serviceAccountEmail == STRING
    input.Body.environment.streamingMode == enum_RuntimeEnvironmentStreamingMode[_]
    input.Body.environment.subnetwork == STRING
    input.Body.environment.tempLocation == STRING
    input.Body.environment.workerRegion == STRING
    input.Body.environment.workerZone == STRING
    input.Body.environment.zone == STRING
    input.Body.jobName == STRING
    input.Body.parameters.STRING == STRING
    input.Body.transformNameMapping.STRING == STRING
    input.Body.update == BOOLEAN
    input.ReqMap.ProjectID == STRING
    input.Qs.dynamicTemplate.gcsPath == STRING
    input.Qs.dynamicTemplate.stagingLocation == STRING
    input.Qs.gcsPath == STRING
    input.Qs.location == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dataflow.projects.workerMessages

enum_WorkerLifecycleEventEvent := [ "UNKNOWN_EVENT", "OS_START", "CONTAINER_START", "NETWORK_UP", "STAGING_FILES_DOWNLOAD_START", "STAGING_FILES_DOWNLOAD_FINISH", "SDK_INSTALL_START", "SDK_INSTALL_FINISH" ]

valid {
    input.Body.location == STRING
    input.Body.workerMessages[_].dataSamplingReport.bytesWrittenDelta == STRING
    input.Body.workerMessages[_].dataSamplingReport.elementsSampledBytes == STRING
    input.Body.workerMessages[_].dataSamplingReport.elementsSampledCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.exceptionsSampledCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.pcollectionsSampledCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.persistenceErrorsCount == STRING
    input.Body.workerMessages[_].dataSamplingReport.translationErrorsCount == STRING
    input.Body.workerMessages[_].labels.STRING == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].metric == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].metricLabels.STRING == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketCounts[_] == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.exponential.numberOfBuckets == INTEGER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.exponential.scale == INTEGER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.linear.numberOfBuckets == INTEGER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.linear.start == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.bucketOptions.linear.width == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.count == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.overflowCount == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.overflowMean == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.underflowCount == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueHistogram.outlierStats.underflowMean == NUMBER
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricValues[_].valueInt64 == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].metricsNamespace == STRING
    input.Body.workerMessages[_].perWorkerMetrics.perStepNamespaceMetrics[_].originalStep == STRING
    input.Body.workerMessages[_].streamingScalingReport.activeBundleCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.activeThreadCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.maximumBundleCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.maximumBytes == STRING
    input.Body.workerMessages[_].streamingScalingReport.maximumBytesCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.maximumThreadCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.outstandingBundleCount == INTEGER
    input.Body.workerMessages[_].streamingScalingReport.outstandingBytes == STRING
    input.Body.workerMessages[_].streamingScalingReport.outstandingBytesCount == INTEGER
    input.Body.workerMessages[_].time == STRING
    input.Body.workerMessages[_].workerHealthReport.msg == STRING
    input.Body.workerMessages[_].workerHealthReport.pods[_].STRING == ANY
    input.Body.workerMessages[_].workerHealthReport.reportInterval == STRING
    input.Body.workerMessages[_].workerHealthReport.vmBrokenCode == STRING
    input.Body.workerMessages[_].workerHealthReport.vmIsBroken == BOOLEAN
    input.Body.workerMessages[_].workerHealthReport.vmIsHealthy == BOOLEAN
    input.Body.workerMessages[_].workerHealthReport.vmStartupTime == STRING
    input.Body.workerMessages[_].workerLifecycleEvent.containerStartTime == STRING
    input.Body.workerMessages[_].workerLifecycleEvent.event == enum_WorkerLifecycleEventEvent[_]
    input.Body.workerMessages[_].workerLifecycleEvent.metadata.STRING == STRING
    input.Body.workerMessages[_].workerMessageCode.code == STRING
    input.Body.workerMessages[_].workerMessageCode.parameters.STRING == ANY
    input.Body.workerMessages[_].workerMetrics.containers.STRING == NESTED
    input.Body.workerMessages[_].workerMetrics.cpuTime[_].rate == NUMBER
    input.Body.workerMessages[_].workerMetrics.cpuTime[_].timestamp == STRING
    input.Body.workerMessages[_].workerMetrics.cpuTime[_].totalMs == STRING
    input.Body.workerMessages[_].workerMetrics.gpuUsage[_].timestamp == STRING
    input.Body.workerMessages[_].workerMetrics.gpuUsage[_].utilization.rate == NUMBER
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].currentLimitBytes == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].currentOoms == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].currentRssBytes == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].timestamp == STRING
    input.Body.workerMessages[_].workerMetrics.memoryInfo[_].totalGbMs == STRING
    input.Body.workerMessages[_].workerShutdownNotice.reason == STRING
    input.Body.workerMessages[_].workerThreadScalingReport.currentThreadCount == INTEGER
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}