packages feed

gogol-dataflow 0.3.0 → 0.4.0

raw patch · 36 files changed

+16224/−9590 lines, 36 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

- Network.Google.Dataflow: csnOtherOrigin :: Lens' CounterStructuredName (Maybe Text)
- Network.Google.Dataflow: csnStandardOrigin :: Lens' CounterStructuredName (Maybe Text)
- Network.Google.Dataflow: ctUserStageName :: Lens' ComputationTopology (Maybe Text)
- Network.Google.Dataflow: data ResourceUtilizationReportMetricsItem
- Network.Google.Dataflow: krlPersistentDirectory :: Lens' KeyRangeLocation (Maybe Text)
- Network.Google.Dataflow: resourceUtilizationReportMetricsItem :: HashMap Text JSONValue -> ResourceUtilizationReportMetricsItem
- Network.Google.Dataflow: rurMetrics :: Lens' ResourceUtilizationReport [ResourceUtilizationReportMetricsItem]
- Network.Google.Dataflow: rurmiAddtional :: Lens' ResourceUtilizationReportMetricsItem (HashMap Text JSONValue)
- Network.Google.Dataflow: sGetMetadata :: Lens' SourceOperationRequest (Maybe SourceGetMetadataRequest)
- Network.Google.Dataflow: sSplit :: Lens' SourceOperationRequest (Maybe SourceSplitRequest)
- Network.Google.Dataflow.Types: csnOtherOrigin :: Lens' CounterStructuredName (Maybe Text)
- Network.Google.Dataflow.Types: csnStandardOrigin :: Lens' CounterStructuredName (Maybe Text)
- Network.Google.Dataflow.Types: ctUserStageName :: Lens' ComputationTopology (Maybe Text)
- Network.Google.Dataflow.Types: data ResourceUtilizationReportMetricsItem
- Network.Google.Dataflow.Types: krlPersistentDirectory :: Lens' KeyRangeLocation (Maybe Text)
- Network.Google.Dataflow.Types: resourceUtilizationReportMetricsItem :: HashMap Text JSONValue -> ResourceUtilizationReportMetricsItem
- Network.Google.Dataflow.Types: rurMetrics :: Lens' ResourceUtilizationReport [ResourceUtilizationReportMetricsItem]
- Network.Google.Dataflow.Types: rurmiAddtional :: Lens' ResourceUtilizationReportMetricsItem (HashMap Text JSONValue)
- Network.Google.Dataflow.Types: sGetMetadata :: Lens' SourceOperationRequest (Maybe SourceGetMetadataRequest)
- Network.Google.Dataflow.Types: sSplit :: Lens' SourceOperationRequest (Maybe SourceSplitRequest)
- Network.Google.Resource.Dataflow.Projects.Jobs.Create: pjcBearerToken :: Lens' ProjectsJobsCreate (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.Create: pjcPp :: Lens' ProjectsJobsCreate Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig: pjdgcBearerToken :: Lens' ProjectsJobsDebugGetConfig (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig: pjdgcPp :: Lens' ProjectsJobsDebugGetConfig Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture: pjdscBearerToken :: Lens' ProjectsJobsDebugSendCapture (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture: pjdscPp :: Lens' ProjectsJobsDebugSendCapture Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.Get: pjgBearerToken :: Lens' ProjectsJobsGet (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.Get: pjgPp :: Lens' ProjectsJobsGet Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: pjgmBearerToken :: Lens' ProjectsJobsGetMetrics (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: pjgmPp :: Lens' ProjectsJobsGetMetrics Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.List: pjlBearerToken :: Lens' ProjectsJobsList (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.List: pjlPp :: Lens' ProjectsJobsList Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlBearerToken :: Lens' ProjectsJobsMessagesList (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlPp :: Lens' ProjectsJobsMessagesList Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.Update: pjuBearerToken :: Lens' ProjectsJobsUpdate (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.Update: pjuPp :: Lens' ProjectsJobsUpdate Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease: pjwilBearerToken :: Lens' ProjectsJobsWorkItemsLease (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease: pjwilPp :: Lens' ProjectsJobsWorkItemsLease Bool
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus: pjwirsBearerToken :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus: pjwirsPp :: Lens' ProjectsJobsWorkItemsReportStatus Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create: pljcBearerToken :: Lens' ProjectsLocationsJobsCreate (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create: pljcPp :: Lens' ProjectsLocationsJobsCreate Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get: pljgBearerToken :: Lens' ProjectsLocationsJobsGet (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get: pljgPp :: Lens' ProjectsLocationsJobsGet Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: pljgmBearerToken :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: pljgmPp :: Lens' ProjectsLocationsJobsGetMetrics Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List: pljlBearerToken :: Lens' ProjectsLocationsJobsList (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List: pljlPp :: Lens' ProjectsLocationsJobsList Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlBearerToken :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlPp :: Lens' ProjectsLocationsJobsMessagesList Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update: pljuBearerToken :: Lens' ProjectsLocationsJobsUpdate (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update: pljuPp :: Lens' ProjectsLocationsJobsUpdate Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease: pljwilBearerToken :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease: pljwilPp :: Lens' ProjectsLocationsJobsWorkItemsLease Bool
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus: pljwirsBearerToken :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus: pljwirsPp :: Lens' ProjectsLocationsJobsWorkItemsReportStatus Bool
- Network.Google.Resource.Dataflow.Projects.Templates.Create: ptcBearerToken :: Lens' ProjectsTemplatesCreate (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.Templates.Create: ptcPp :: Lens' ProjectsTemplatesCreate Bool
- Network.Google.Resource.Dataflow.Projects.WorkerMessages: pwmBearerToken :: Lens' ProjectsWorkerMessages (Maybe Text)
- Network.Google.Resource.Dataflow.Projects.WorkerMessages: pwmPp :: Lens' ProjectsWorkerMessages Bool
+ Network.Google.Dataflow: ActuationFailure :: AutoscalingEventEventType
+ Network.Google.Dataflow: All :: CounterStructuredNamePortion
+ Network.Google.Dataflow: And :: NameAndKindKind
+ Network.Google.Dataflow: AutoscalingAlgorithmBasic :: AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow: AutoscalingAlgorithmNone :: AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow: AutoscalingAlgorithmUnknown :: AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow: Bytes :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: BytesPerSec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: CMKAnd :: CounterMetadataKind
+ Network.Google.Dataflow: CMKDistribution :: CounterMetadataKind
+ Network.Google.Dataflow: CMKInvalid :: CounterMetadataKind
+ Network.Google.Dataflow: CMKLatestValue :: CounterMetadataKind
+ Network.Google.Dataflow: CMKMax :: CounterMetadataKind
+ Network.Google.Dataflow: CMKMean :: CounterMetadataKind
+ Network.Google.Dataflow: CMKMin :: CounterMetadataKind
+ Network.Google.Dataflow: CMKOR :: CounterMetadataKind
+ Network.Google.Dataflow: CMKSet :: CounterMetadataKind
+ Network.Google.Dataflow: CMKSum :: CounterMetadataKind
+ Network.Google.Dataflow: ConstantKind :: TransformSummaryKind
+ Network.Google.Dataflow: ContainerStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: CurrentNumWorkersChanged :: AutoscalingEventEventType
+ Network.Google.Dataflow: DSDMSourceDerivationModeChildOfCurrent :: DerivedSourceDerivationMode
+ Network.Google.Dataflow: DSDMSourceDerivationModeIndependent :: DerivedSourceDerivationMode
+ Network.Google.Dataflow: DSDMSourceDerivationModeSiblingOfCurrent :: DerivedSourceDerivationMode
+ Network.Google.Dataflow: DSDMSourceDerivationModeUnknown :: DerivedSourceDerivationMode
+ Network.Google.Dataflow: DefaultPackageSetJava :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow: DefaultPackageSetNone :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow: DefaultPackageSetPython :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow: DefaultPackageSetUnknown :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow: Deprecated :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow: Distribution :: NameAndKindKind
+ Network.Google.Dataflow: ESSESSJobStateCancelled :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateCancelling :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateDone :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateDrained :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateDraining :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateFailed :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStatePending :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateQueued :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateRunning :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateStopped :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateUnknown :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSESSJobStateUpdated :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: ESSKConstantKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKFlattenKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKGroupByKeyKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKParDoKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKReadKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKShuffleKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKSingletonKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKUnknownKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: ESSKWriteKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow: FlattenKind :: TransformSummaryKind
+ Network.Google.Dataflow: GroupByKeyKind :: TransformSummaryKind
+ Network.Google.Dataflow: Invalid :: NameAndKindKind
+ Network.Google.Dataflow: JRSJobStateCancelled :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateCancelling :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateDone :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateDrained :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateDraining :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateFailed :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStatePending :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateQueued :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateRunning :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateStopped :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateUnknown :: JobRequestedState
+ Network.Google.Dataflow: JRSJobStateUpdated :: JobRequestedState
+ Network.Google.Dataflow: JobMessageBasic :: JobMessageMessageImportance
+ Network.Google.Dataflow: JobMessageDebug :: JobMessageMessageImportance
+ Network.Google.Dataflow: JobMessageDetailed :: JobMessageMessageImportance
+ Network.Google.Dataflow: JobMessageError :: JobMessageMessageImportance
+ Network.Google.Dataflow: JobMessageImportanceUnknown :: JobMessageMessageImportance
+ Network.Google.Dataflow: JobMessageWarning :: JobMessageMessageImportance
+ Network.Google.Dataflow: JobStateCancelled :: JobCurrentState
+ Network.Google.Dataflow: JobStateCancelling :: JobCurrentState
+ Network.Google.Dataflow: JobStateDone :: JobCurrentState
+ Network.Google.Dataflow: JobStateDrained :: JobCurrentState
+ Network.Google.Dataflow: JobStateDraining :: JobCurrentState
+ Network.Google.Dataflow: JobStateFailed :: JobCurrentState
+ Network.Google.Dataflow: JobStatePending :: JobCurrentState
+ Network.Google.Dataflow: JobStateQueued :: JobCurrentState
+ Network.Google.Dataflow: JobStateRunning :: JobCurrentState
+ Network.Google.Dataflow: JobStateStopped :: JobCurrentState
+ Network.Google.Dataflow: JobStateUnknown :: JobCurrentState
+ Network.Google.Dataflow: JobStateUpdated :: JobCurrentState
+ Network.Google.Dataflow: JobTypeBatch :: JobType
+ Network.Google.Dataflow: JobTypeStreaming :: JobType
+ Network.Google.Dataflow: JobTypeUnknown :: JobType
+ Network.Google.Dataflow: Key :: CounterStructuredNamePortion
+ Network.Google.Dataflow: LatestValue :: NameAndKindKind
+ Network.Google.Dataflow: Max :: NameAndKindKind
+ Network.Google.Dataflow: Mean :: NameAndKindKind
+ Network.Google.Dataflow: Microseconds :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: Milliseconds :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: Min :: NameAndKindKind
+ Network.Google.Dataflow: Nanoseconds :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: NetworkUp :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: NoChange :: AutoscalingEventEventType
+ Network.Google.Dataflow: OR :: NameAndKindKind
+ Network.Google.Dataflow: OSStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: ParDoKind :: TransformSummaryKind
+ Network.Google.Dataflow: ReadKind :: TransformSummaryKind
+ Network.Google.Dataflow: SdkInstallFinish :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: SdkInstallStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: Set :: NameAndKindKind
+ Network.Google.Dataflow: ShuffleKind :: TransformSummaryKind
+ Network.Google.Dataflow: SingletonKind :: TransformSummaryKind
+ Network.Google.Dataflow: SourceDerivationModeChildOfCurrent :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow: SourceDerivationModeIndependent :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow: SourceDerivationModeSiblingOfCurrent :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow: SourceDerivationModeUnknown :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow: SourceSplitOutcomeSplittingHAppened :: SourceSplitResponseOutcome
+ Network.Google.Dataflow: SourceSplitOutcomeUnknown :: SourceSplitResponseOutcome
+ Network.Google.Dataflow: SourceSplitOutcomeUseCurrent :: SourceSplitResponseOutcome
+ Network.Google.Dataflow: StagingFilesDownloadFinish :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: StagingFilesDownloadStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: Stale :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow: StreamingComputationTaskStart :: StreamingComputationTaskTaskType
+ Network.Google.Dataflow: StreamingComputationTaskStop :: StreamingComputationTaskTaskType
+ Network.Google.Dataflow: StreamingComputationTaskUnknown :: StreamingComputationTaskTaskType
+ Network.Google.Dataflow: Sum :: NameAndKindKind
+ Network.Google.Dataflow: Supported :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow: System :: CounterStructuredNameOrigin
+ Network.Google.Dataflow: TargetNumWorkersChanged :: AutoscalingEventEventType
+ Network.Google.Dataflow: TeardownAlways :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow: TeardownNever :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow: TeardownOnSuccess :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow: TeardownPolicyUnknown :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow: TimestampMsec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: TimestampNsec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: TimestampUsec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow: TypeUnknown :: AutoscalingEventEventType
+ Network.Google.Dataflow: Unknown :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow: UnknownEvent :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow: UnknownKind :: TransformSummaryKind
+ Network.Google.Dataflow: Unsupported :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow: User :: CounterStructuredNameOrigin
+ Network.Google.Dataflow: Value :: CounterStructuredNamePortion
+ Network.Google.Dataflow: WorkerIPPrivate :: WorkerPoolIPConfiguration
+ Network.Google.Dataflow: WorkerIPPublic :: WorkerPoolIPConfiguration
+ Network.Google.Dataflow: WorkerIPUnspecified :: WorkerPoolIPConfiguration
+ Network.Google.Dataflow: WriteKind :: TransformSummaryKind
+ Network.Google.Dataflow: X1 :: Xgafv
+ Network.Google.Dataflow: X2 :: Xgafv
+ Network.Google.Dataflow: aeCurrentNumWorkers :: Lens' AutoscalingEvent (Maybe Int64)
+ Network.Google.Dataflow: aeDescription :: Lens' AutoscalingEvent (Maybe StructuredMessage)
+ Network.Google.Dataflow: aeEventType :: Lens' AutoscalingEvent (Maybe AutoscalingEventEventType)
+ Network.Google.Dataflow: aeTargetNumWorkers :: Lens' AutoscalingEvent (Maybe Int64)
+ Network.Google.Dataflow: aeTime :: Lens' AutoscalingEvent (Maybe UTCTime)
+ Network.Google.Dataflow: aeWorkerPool :: Lens' AutoscalingEvent (Maybe Text)
+ Network.Google.Dataflow: asrFractionOfRemainder :: Lens' ApproximateSplitRequest (Maybe Double)
+ Network.Google.Dataflow: autoscalingEvent :: AutoscalingEvent
+ Network.Google.Dataflow: bigQueryIODetails :: BigQueryIODetails
+ Network.Google.Dataflow: bigTableIODetails :: BigTableIODetails
+ Network.Google.Dataflow: bqiodDataSet :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow: bqiodProjectId :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow: bqiodQuery :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow: bqiodTable :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow: btiodInstanceId :: Lens' BigTableIODetails (Maybe Text)
+ Network.Google.Dataflow: btiodProjectId :: Lens' BigTableIODetails (Maybe Text)
+ Network.Google.Dataflow: btiodTableId :: Lens' BigTableIODetails (Maybe Text)
+ Network.Google.Dataflow: cjftrLocation :: Lens' CreateJobFromTemplateRequest (Maybe Text)
+ Network.Google.Dataflow: componentSource :: ComponentSource
+ Network.Google.Dataflow: componentTransform :: ComponentTransform
+ Network.Google.Dataflow: computeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/compute.readonly"]
+ Network.Google.Dataflow: computeScope :: Proxy '["https://www.googleapis.com/auth/compute"]
+ Network.Google.Dataflow: cpuTime :: CPUTime
+ Network.Google.Dataflow: csName :: Lens' ComponentSource (Maybe Text)
+ Network.Google.Dataflow: csOriginalTransformOrCollection :: Lens' ComponentSource (Maybe Text)
+ Network.Google.Dataflow: csUserName :: Lens' ComponentSource (Maybe Text)
+ Network.Google.Dataflow: csnInputIndex :: Lens' CounterStructuredName (Maybe Int32)
+ Network.Google.Dataflow: csnOrigin :: Lens' CounterStructuredName (Maybe CounterStructuredNameOrigin)
+ Network.Google.Dataflow: csnOriginNamespace :: Lens' CounterStructuredName (Maybe Text)
+ Network.Google.Dataflow: csnOriginalRequestingStepName :: Lens' CounterStructuredName (Maybe Text)
+ Network.Google.Dataflow: ctName :: Lens' ComponentTransform (Maybe Text)
+ Network.Google.Dataflow: ctOriginalTransform :: Lens' ComponentTransform (Maybe Text)
+ Network.Google.Dataflow: ctRate :: Lens' CPUTime (Maybe Double)
+ Network.Google.Dataflow: ctTimestamp :: Lens' CPUTime (Maybe UTCTime)
+ Network.Google.Dataflow: ctTotalMs :: Lens' CPUTime (Maybe Word64)
+ Network.Google.Dataflow: ctUserName :: Lens' ComponentTransform (Maybe Text)
+ Network.Google.Dataflow: cuIntegerGauge :: Lens' CounterUpdate (Maybe IntegerGauge)
+ Network.Google.Dataflow: data AutoscalingEvent
+ Network.Google.Dataflow: data AutoscalingEventEventType
+ Network.Google.Dataflow: data AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow: data BigQueryIODetails
+ Network.Google.Dataflow: data BigTableIODetails
+ Network.Google.Dataflow: data CPUTime
+ Network.Google.Dataflow: data ComponentSource
+ Network.Google.Dataflow: data ComponentTransform
+ Network.Google.Dataflow: data CounterMetadataKind
+ Network.Google.Dataflow: data CounterMetadataStandardUnits
+ Network.Google.Dataflow: data CounterStructuredNameOrigin
+ Network.Google.Dataflow: data CounterStructuredNamePortion
+ Network.Google.Dataflow: data DatastoreIODetails
+ Network.Google.Dataflow: data DerivedSourceDerivationMode
+ Network.Google.Dataflow: data DisplayData
+ Network.Google.Dataflow: data ExecutionStageState
+ Network.Google.Dataflow: data ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow: data ExecutionStageSummary
+ Network.Google.Dataflow: data ExecutionStageSummaryKind
+ Network.Google.Dataflow: data FileIODetails
+ Network.Google.Dataflow: data GetTemplateResponse
+ Network.Google.Dataflow: data Histogram
+ Network.Google.Dataflow: data IntegerGauge
+ Network.Google.Dataflow: data JobCurrentState
+ Network.Google.Dataflow: data JobMessageMessageImportance
+ Network.Google.Dataflow: data JobMetadata
+ Network.Google.Dataflow: data JobRequestedState
+ Network.Google.Dataflow: data JobType
+ Network.Google.Dataflow: data LaunchTemplateParameters
+ Network.Google.Dataflow: data LaunchTemplateParametersParameters
+ Network.Google.Dataflow: data LaunchTemplateResponse
+ Network.Google.Dataflow: data NameAndKindKind
+ Network.Google.Dataflow: data Parameter
+ Network.Google.Dataflow: data ParameterMetadata
+ Network.Google.Dataflow: data PipelineDescription
+ Network.Google.Dataflow: data PubSubIODetails
+ Network.Google.Dataflow: data RuntimeEnvironmentAdditionalUserLabels
+ Network.Google.Dataflow: data SdkVersion
+ Network.Google.Dataflow: data SdkVersionSdkSupportStatus
+ Network.Google.Dataflow: data Snapshot
+ Network.Google.Dataflow: data SnapshotJobRequest
+ Network.Google.Dataflow: data SourceSplitResponseOutcome
+ Network.Google.Dataflow: data SourceSplitShardDerivationMode
+ Network.Google.Dataflow: data SpannerIODetails
+ Network.Google.Dataflow: data StageSource
+ Network.Google.Dataflow: data StreamingApplianceSnapshotConfig
+ Network.Google.Dataflow: data StreamingComputationTaskTaskType
+ Network.Google.Dataflow: data StructuredMessage
+ Network.Google.Dataflow: data TemplateMetadata
+ Network.Google.Dataflow: data TransformSummary
+ Network.Google.Dataflow: data TransformSummaryKind
+ Network.Google.Dataflow: data WorkerLifecycleEvent
+ Network.Google.Dataflow: data WorkerLifecycleEventEvent
+ Network.Google.Dataflow: data WorkerLifecycleEventMetadata
+ Network.Google.Dataflow: data WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow: data WorkerPoolIPConfiguration
+ Network.Google.Dataflow: data WorkerPoolTeardownPolicy
+ Network.Google.Dataflow: data WorkerShutdownNotice
+ Network.Google.Dataflow: data WorkerShutdownNoticeResponse
+ Network.Google.Dataflow: data Xgafv
+ Network.Google.Dataflow: datastoreIODetails :: DatastoreIODetails
+ Network.Google.Dataflow: ddBoolValue :: Lens' DisplayData (Maybe Bool)
+ Network.Google.Dataflow: ddDurationValue :: Lens' DisplayData (Maybe Scientific)
+ Network.Google.Dataflow: ddFloatValue :: Lens' DisplayData (Maybe Double)
+ Network.Google.Dataflow: ddInt64Value :: Lens' DisplayData (Maybe Int64)
+ Network.Google.Dataflow: ddJavaClassValue :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: ddKey :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: ddLabel :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: ddNamespace :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: ddShortStrValue :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: ddStrValue :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: ddTimestampValue :: Lens' DisplayData (Maybe UTCTime)
+ Network.Google.Dataflow: ddURL :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow: diodNamespace :: Lens' DatastoreIODetails (Maybe Text)
+ Network.Google.Dataflow: diodProjectId :: Lens' DatastoreIODetails (Maybe Text)
+ Network.Google.Dataflow: displayData :: DisplayData
+ Network.Google.Dataflow: duHistogram :: Lens' DistributionUpdate (Maybe Histogram)
+ Network.Google.Dataflow: essComponentSource :: Lens' ExecutionStageSummary [ComponentSource]
+ Network.Google.Dataflow: essComponentTransform :: Lens' ExecutionStageSummary [ComponentTransform]
+ Network.Google.Dataflow: essCurrentStateTime :: Lens' ExecutionStageState (Maybe UTCTime)
+ Network.Google.Dataflow: essExecutionStageName :: Lens' ExecutionStageState (Maybe Text)
+ Network.Google.Dataflow: essExecutionStageState :: Lens' ExecutionStageState (Maybe ExecutionStageStateExecutionStageState)
+ Network.Google.Dataflow: essId :: Lens' ExecutionStageSummary (Maybe Text)
+ Network.Google.Dataflow: essInputSource :: Lens' ExecutionStageSummary [StageSource]
+ Network.Google.Dataflow: essKind :: Lens' ExecutionStageSummary (Maybe ExecutionStageSummaryKind)
+ Network.Google.Dataflow: essName :: Lens' ExecutionStageSummary (Maybe Text)
+ Network.Google.Dataflow: essOutputSource :: Lens' ExecutionStageSummary [StageSource]
+ Network.Google.Dataflow: executionStageState :: ExecutionStageState
+ Network.Google.Dataflow: executionStageSummary :: ExecutionStageSummary
+ Network.Google.Dataflow: fileIODetails :: FileIODetails
+ Network.Google.Dataflow: fiodFilePattern :: Lens' FileIODetails (Maybe Text)
+ Network.Google.Dataflow: gdcrLocation :: Lens' GetDebugConfigRequest (Maybe Text)
+ Network.Google.Dataflow: getTemplateResponse :: GetTemplateResponse
+ Network.Google.Dataflow: gtrMetadata :: Lens' GetTemplateResponse (Maybe TemplateMetadata)
+ Network.Google.Dataflow: gtrStatus :: Lens' GetTemplateResponse (Maybe Status)
+ Network.Google.Dataflow: hBucketCounts :: Lens' Histogram [Int64]
+ Network.Google.Dataflow: hFirstBucketOffSet :: Lens' Histogram (Maybe Int32)
+ Network.Google.Dataflow: histogram :: Histogram
+ Network.Google.Dataflow: igTimestamp :: Lens' IntegerGauge (Maybe UTCTime)
+ Network.Google.Dataflow: igValue :: Lens' IntegerGauge (Maybe SplitInt64)
+ Network.Google.Dataflow: integerGauge :: IntegerGauge
+ Network.Google.Dataflow: jCreatedFromSnapshotId :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jJobMetadata :: Lens' Job (Maybe JobMetadata)
+ Network.Google.Dataflow: jPipelineDescription :: Lens' Job (Maybe PipelineDescription)
+ Network.Google.Dataflow: jStageStates :: Lens' Job [ExecutionStageState]
+ Network.Google.Dataflow: jStartTime :: Lens' Job (Maybe UTCTime)
+ Network.Google.Dataflow: jStepsLocation :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jmBigQueryDetails :: Lens' JobMetadata [BigQueryIODetails]
+ Network.Google.Dataflow: jmBigTableDetails :: Lens' JobMetadata [BigTableIODetails]
+ Network.Google.Dataflow: jmDatastoreDetails :: Lens' JobMetadata [DatastoreIODetails]
+ Network.Google.Dataflow: jmFileDetails :: Lens' JobMetadata [FileIODetails]
+ Network.Google.Dataflow: jmPubsubDetails :: Lens' JobMetadata [PubSubIODetails]
+ Network.Google.Dataflow: jmSdkVersion :: Lens' JobMetadata (Maybe SdkVersion)
+ Network.Google.Dataflow: jmSpannerDetails :: Lens' JobMetadata [SpannerIODetails]
+ Network.Google.Dataflow: jobMetadata :: JobMetadata
+ Network.Google.Dataflow: krlDeprecatedPersistentDirectory :: Lens' KeyRangeLocation (Maybe Text)
+ Network.Google.Dataflow: launchTemplateParameters :: LaunchTemplateParameters
+ Network.Google.Dataflow: launchTemplateParametersParameters :: HashMap Text Text -> LaunchTemplateParametersParameters
+ Network.Google.Dataflow: launchTemplateResponse :: LaunchTemplateResponse
+ Network.Google.Dataflow: ljmrAutoscalingEvents :: Lens' ListJobMessagesResponse [AutoscalingEvent]
+ Network.Google.Dataflow: ltpEnvironment :: Lens' LaunchTemplateParameters (Maybe RuntimeEnvironment)
+ Network.Google.Dataflow: ltpJobName :: Lens' LaunchTemplateParameters (Maybe Text)
+ Network.Google.Dataflow: ltpParameters :: Lens' LaunchTemplateParameters (Maybe LaunchTemplateParametersParameters)
+ Network.Google.Dataflow: ltppAddtional :: Lens' LaunchTemplateParametersParameters (HashMap Text Text)
+ Network.Google.Dataflow: ltrJob :: Lens' LaunchTemplateResponse (Maybe Job)
+ Network.Google.Dataflow: mtCounterPrefix :: Lens' MapTask (Maybe Text)
+ Network.Google.Dataflow: muDistribution :: Lens' MetricUpdate (Maybe JSONValue)
+ Network.Google.Dataflow: muGauge :: Lens' MetricUpdate (Maybe JSONValue)
+ Network.Google.Dataflow: parKey :: Lens' Parameter (Maybe Text)
+ Network.Google.Dataflow: parValue :: Lens' Parameter (Maybe JSONValue)
+ Network.Google.Dataflow: parameter :: Parameter
+ Network.Google.Dataflow: parameterMetadata :: ParameterMetadata
+ Network.Google.Dataflow: pdDisplayData :: Lens' PipelineDescription [DisplayData]
+ Network.Google.Dataflow: pdExecutionPipelineStage :: Lens' PipelineDescription [ExecutionStageSummary]
+ Network.Google.Dataflow: pdOriginalPipelineTransform :: Lens' PipelineDescription [TransformSummary]
+ Network.Google.Dataflow: pipelineDescription :: PipelineDescription
+ Network.Google.Dataflow: pmHelpText :: Lens' ParameterMetadata (Maybe Text)
+ Network.Google.Dataflow: pmIsOptional :: Lens' ParameterMetadata (Maybe Bool)
+ Network.Google.Dataflow: pmLabel :: Lens' ParameterMetadata (Maybe Text)
+ Network.Google.Dataflow: pmName :: Lens' ParameterMetadata (Maybe Text)
+ Network.Google.Dataflow: pmRegexes :: Lens' ParameterMetadata [Text]
+ Network.Google.Dataflow: psiodSubscription :: Lens' PubSubIODetails (Maybe Text)
+ Network.Google.Dataflow: psiodTopic :: Lens' PubSubIODetails (Maybe Text)
+ Network.Google.Dataflow: pubSubIODetails :: PubSubIODetails
+ Network.Google.Dataflow: reAdditionalExperiments :: Lens' RuntimeEnvironment [Text]
+ Network.Google.Dataflow: reAdditionalUserLabels :: Lens' RuntimeEnvironment (Maybe RuntimeEnvironmentAdditionalUserLabels)
+ Network.Google.Dataflow: reMachineType :: Lens' RuntimeEnvironment (Maybe Text)
+ Network.Google.Dataflow: reNetwork :: Lens' RuntimeEnvironment (Maybe Text)
+ Network.Google.Dataflow: reNumWorkers :: Lens' RuntimeEnvironment (Maybe Int32)
+ Network.Google.Dataflow: reSubnetwork :: Lens' RuntimeEnvironment (Maybe Text)
+ Network.Google.Dataflow: reaulAddtional :: Lens' RuntimeEnvironmentAdditionalUserLabels (HashMap Text Text)
+ Network.Google.Dataflow: runtimeEnvironmentAdditionalUserLabels :: HashMap Text Text -> RuntimeEnvironmentAdditionalUserLabels
+ Network.Google.Dataflow: rurCPUTime :: Lens' ResourceUtilizationReport [CPUTime]
+ Network.Google.Dataflow: sCreationTime :: Lens' Snapshot (Maybe UTCTime)
+ Network.Google.Dataflow: sId :: Lens' Snapshot (Maybe Text)
+ Network.Google.Dataflow: sProjectId :: Lens' Snapshot (Maybe Text)
+ Network.Google.Dataflow: sSourceJobId :: Lens' Snapshot (Maybe Text)
+ Network.Google.Dataflow: sTtl :: Lens' Snapshot (Maybe Scientific)
+ Network.Google.Dataflow: sascImportStateEndpoint :: Lens' StreamingApplianceSnapshotConfig (Maybe Text)
+ Network.Google.Dataflow: sascSnapshotId :: Lens' StreamingApplianceSnapshotConfig (Maybe Text)
+ Network.Google.Dataflow: sctWindmillServiceEndpoint :: Lens' StreamingConfigTask (Maybe Text)
+ Network.Google.Dataflow: sctWindmillServicePort :: Lens' StreamingConfigTask (Maybe Int64)
+ Network.Google.Dataflow: sdcrLocation :: Lens' SendDebugCaptureRequest (Maybe Text)
+ Network.Google.Dataflow: sdkVersion :: SdkVersion
+ Network.Google.Dataflow: siodDatabaseId :: Lens' SpannerIODetails (Maybe Text)
+ Network.Google.Dataflow: siodInstanceId :: Lens' SpannerIODetails (Maybe Text)
+ Network.Google.Dataflow: siodProjectId :: Lens' SpannerIODetails (Maybe Text)
+ Network.Google.Dataflow: sjrLocation :: Lens' SnapshotJobRequest (Maybe Text)
+ Network.Google.Dataflow: sjrTtl :: Lens' SnapshotJobRequest (Maybe Scientific)
+ Network.Google.Dataflow: smMessageKey :: Lens' StructuredMessage (Maybe Text)
+ Network.Google.Dataflow: smMessageText :: Lens' StructuredMessage (Maybe Text)
+ Network.Google.Dataflow: smParameters :: Lens' StructuredMessage [Parameter]
+ Network.Google.Dataflow: snapshot :: Snapshot
+ Network.Google.Dataflow: snapshotJobRequest :: SnapshotJobRequest
+ Network.Google.Dataflow: souGetMetadata :: Lens' SourceOperationRequest (Maybe SourceGetMetadataRequest)
+ Network.Google.Dataflow: souName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow: souOriginalName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow: souSplit :: Lens' SourceOperationRequest (Maybe SourceSplitRequest)
+ Network.Google.Dataflow: souStageName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow: souSystemName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow: spannerIODetails :: SpannerIODetails
+ Network.Google.Dataflow: ssName :: Lens' StageSource (Maybe Text)
+ Network.Google.Dataflow: ssOriginalTransformOrCollection :: Lens' StageSource (Maybe Text)
+ Network.Google.Dataflow: ssSizeBytes :: Lens' StageSource (Maybe Int64)
+ Network.Google.Dataflow: ssUserName :: Lens' StageSource (Maybe Text)
+ Network.Google.Dataflow: sstSnapshotConfig :: Lens' StreamingSetupTask (Maybe StreamingApplianceSnapshotConfig)
+ Network.Google.Dataflow: stageSource :: StageSource
+ Network.Google.Dataflow: streamingApplianceSnapshotConfig :: StreamingApplianceSnapshotConfig
+ Network.Google.Dataflow: structuredMessage :: StructuredMessage
+ Network.Google.Dataflow: svSdkSupportStatus :: Lens' SdkVersion (Maybe SdkVersionSdkSupportStatus)
+ Network.Google.Dataflow: svVersion :: Lens' SdkVersion (Maybe Text)
+ Network.Google.Dataflow: svVersionDisplayName :: Lens' SdkVersion (Maybe Text)
+ Network.Google.Dataflow: swmrLocation :: Lens' SendWorkerMessagesRequest (Maybe Text)
+ Network.Google.Dataflow: templateMetadata :: TemplateMetadata
+ Network.Google.Dataflow: tmDescription :: Lens' TemplateMetadata (Maybe Text)
+ Network.Google.Dataflow: tmName :: Lens' TemplateMetadata (Maybe Text)
+ Network.Google.Dataflow: tmParameters :: Lens' TemplateMetadata [ParameterMetadata]
+ Network.Google.Dataflow: transformSummary :: TransformSummary
+ Network.Google.Dataflow: tsDisplayData :: Lens' TransformSummary [DisplayData]
+ Network.Google.Dataflow: tsId :: Lens' TransformSummary (Maybe Text)
+ Network.Google.Dataflow: tsInputCollectionName :: Lens' TransformSummary [Text]
+ Network.Google.Dataflow: tsKind :: Lens' TransformSummary (Maybe TransformSummaryKind)
+ Network.Google.Dataflow: tsName :: Lens' TransformSummary (Maybe Text)
+ Network.Google.Dataflow: tsOutputCollectionName :: Lens' TransformSummary [Text]
+ Network.Google.Dataflow: wisTotalThrottlerWaitTimeSeconds :: Lens' WorkItemStatus (Maybe Double)
+ Network.Google.Dataflow: wleContainerStartTime :: Lens' WorkerLifecycleEvent (Maybe UTCTime)
+ Network.Google.Dataflow: wleEvent :: Lens' WorkerLifecycleEvent (Maybe WorkerLifecycleEventEvent)
+ Network.Google.Dataflow: wleMetadata :: Lens' WorkerLifecycleEvent (Maybe WorkerLifecycleEventMetadata)
+ Network.Google.Dataflow: wlemAddtional :: Lens' WorkerLifecycleEventMetadata (HashMap Text Text)
+ Network.Google.Dataflow: wmWorkerLifecycleEvent :: Lens' WorkerMessage (Maybe WorkerLifecycleEvent)
+ Network.Google.Dataflow: wmWorkerShutdownNotice :: Lens' WorkerMessage (Maybe WorkerShutdownNotice)
+ Network.Google.Dataflow: wmrWorkerShutdownNoticeResponse :: Lens' WorkerMessageResponse (Maybe WorkerShutdownNoticeResponse)
+ Network.Google.Dataflow: workerLifecycleEvent :: WorkerLifecycleEvent
+ Network.Google.Dataflow: workerLifecycleEventMetadata :: HashMap Text Text -> WorkerLifecycleEventMetadata
+ Network.Google.Dataflow: workerShutdownNotice :: WorkerShutdownNotice
+ Network.Google.Dataflow: workerShutdownNoticeResponse :: WorkerShutdownNoticeResponse
+ Network.Google.Dataflow: wsnReason :: Lens' WorkerShutdownNotice (Maybe Text)
+ Network.Google.Dataflow.Types: ActuationFailure :: AutoscalingEventEventType
+ Network.Google.Dataflow.Types: All :: CounterStructuredNamePortion
+ Network.Google.Dataflow.Types: And :: NameAndKindKind
+ Network.Google.Dataflow.Types: AutoscalingAlgorithmBasic :: AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow.Types: AutoscalingAlgorithmNone :: AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow.Types: AutoscalingAlgorithmUnknown :: AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow.Types: Bytes :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: BytesPerSec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: CMKAnd :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKDistribution :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKInvalid :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKLatestValue :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKMax :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKMean :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKMin :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKOR :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKSet :: CounterMetadataKind
+ Network.Google.Dataflow.Types: CMKSum :: CounterMetadataKind
+ Network.Google.Dataflow.Types: ConstantKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: ContainerStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: CurrentNumWorkersChanged :: AutoscalingEventEventType
+ Network.Google.Dataflow.Types: DSDMSourceDerivationModeChildOfCurrent :: DerivedSourceDerivationMode
+ Network.Google.Dataflow.Types: DSDMSourceDerivationModeIndependent :: DerivedSourceDerivationMode
+ Network.Google.Dataflow.Types: DSDMSourceDerivationModeSiblingOfCurrent :: DerivedSourceDerivationMode
+ Network.Google.Dataflow.Types: DSDMSourceDerivationModeUnknown :: DerivedSourceDerivationMode
+ Network.Google.Dataflow.Types: DefaultPackageSetJava :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow.Types: DefaultPackageSetNone :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow.Types: DefaultPackageSetPython :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow.Types: DefaultPackageSetUnknown :: WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow.Types: Deprecated :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow.Types: Distribution :: NameAndKindKind
+ Network.Google.Dataflow.Types: ESSESSJobStateCancelled :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateCancelling :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateDone :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateDrained :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateDraining :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateFailed :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStatePending :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateQueued :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateRunning :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateStopped :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateUnknown :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSESSJobStateUpdated :: ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: ESSKConstantKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKFlattenKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKGroupByKeyKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKParDoKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKReadKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKShuffleKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKSingletonKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKUnknownKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: ESSKWriteKind :: ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: FlattenKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: GroupByKeyKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: Invalid :: NameAndKindKind
+ Network.Google.Dataflow.Types: JRSJobStateCancelled :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateCancelling :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateDone :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateDrained :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateDraining :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateFailed :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStatePending :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateQueued :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateRunning :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateStopped :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateUnknown :: JobRequestedState
+ Network.Google.Dataflow.Types: JRSJobStateUpdated :: JobRequestedState
+ Network.Google.Dataflow.Types: JobMessageBasic :: JobMessageMessageImportance
+ Network.Google.Dataflow.Types: JobMessageDebug :: JobMessageMessageImportance
+ Network.Google.Dataflow.Types: JobMessageDetailed :: JobMessageMessageImportance
+ Network.Google.Dataflow.Types: JobMessageError :: JobMessageMessageImportance
+ Network.Google.Dataflow.Types: JobMessageImportanceUnknown :: JobMessageMessageImportance
+ Network.Google.Dataflow.Types: JobMessageWarning :: JobMessageMessageImportance
+ Network.Google.Dataflow.Types: JobStateCancelled :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateCancelling :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateDone :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateDrained :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateDraining :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateFailed :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStatePending :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateQueued :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateRunning :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateStopped :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateUnknown :: JobCurrentState
+ Network.Google.Dataflow.Types: JobStateUpdated :: JobCurrentState
+ Network.Google.Dataflow.Types: JobTypeBatch :: JobType
+ Network.Google.Dataflow.Types: JobTypeStreaming :: JobType
+ Network.Google.Dataflow.Types: JobTypeUnknown :: JobType
+ Network.Google.Dataflow.Types: Key :: CounterStructuredNamePortion
+ Network.Google.Dataflow.Types: LatestValue :: NameAndKindKind
+ Network.Google.Dataflow.Types: Max :: NameAndKindKind
+ Network.Google.Dataflow.Types: Mean :: NameAndKindKind
+ Network.Google.Dataflow.Types: Microseconds :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: Milliseconds :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: Min :: NameAndKindKind
+ Network.Google.Dataflow.Types: Nanoseconds :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: NetworkUp :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: NoChange :: AutoscalingEventEventType
+ Network.Google.Dataflow.Types: OR :: NameAndKindKind
+ Network.Google.Dataflow.Types: OSStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: ParDoKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: ReadKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: SdkInstallFinish :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: SdkInstallStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: Set :: NameAndKindKind
+ Network.Google.Dataflow.Types: ShuffleKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: SingletonKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: SourceDerivationModeChildOfCurrent :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow.Types: SourceDerivationModeIndependent :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow.Types: SourceDerivationModeSiblingOfCurrent :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow.Types: SourceDerivationModeUnknown :: SourceSplitShardDerivationMode
+ Network.Google.Dataflow.Types: SourceSplitOutcomeSplittingHAppened :: SourceSplitResponseOutcome
+ Network.Google.Dataflow.Types: SourceSplitOutcomeUnknown :: SourceSplitResponseOutcome
+ Network.Google.Dataflow.Types: SourceSplitOutcomeUseCurrent :: SourceSplitResponseOutcome
+ Network.Google.Dataflow.Types: StagingFilesDownloadFinish :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: StagingFilesDownloadStart :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: Stale :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow.Types: StreamingComputationTaskStart :: StreamingComputationTaskTaskType
+ Network.Google.Dataflow.Types: StreamingComputationTaskStop :: StreamingComputationTaskTaskType
+ Network.Google.Dataflow.Types: StreamingComputationTaskUnknown :: StreamingComputationTaskTaskType
+ Network.Google.Dataflow.Types: Sum :: NameAndKindKind
+ Network.Google.Dataflow.Types: Supported :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow.Types: System :: CounterStructuredNameOrigin
+ Network.Google.Dataflow.Types: TargetNumWorkersChanged :: AutoscalingEventEventType
+ Network.Google.Dataflow.Types: TeardownAlways :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow.Types: TeardownNever :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow.Types: TeardownOnSuccess :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow.Types: TeardownPolicyUnknown :: WorkerPoolTeardownPolicy
+ Network.Google.Dataflow.Types: TimestampMsec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: TimestampNsec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: TimestampUsec :: CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: TypeUnknown :: AutoscalingEventEventType
+ Network.Google.Dataflow.Types: Unknown :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow.Types: UnknownEvent :: WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: UnknownKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: Unsupported :: SdkVersionSdkSupportStatus
+ Network.Google.Dataflow.Types: User :: CounterStructuredNameOrigin
+ Network.Google.Dataflow.Types: Value :: CounterStructuredNamePortion
+ Network.Google.Dataflow.Types: WorkerIPPrivate :: WorkerPoolIPConfiguration
+ Network.Google.Dataflow.Types: WorkerIPPublic :: WorkerPoolIPConfiguration
+ Network.Google.Dataflow.Types: WorkerIPUnspecified :: WorkerPoolIPConfiguration
+ Network.Google.Dataflow.Types: WriteKind :: TransformSummaryKind
+ Network.Google.Dataflow.Types: X1 :: Xgafv
+ Network.Google.Dataflow.Types: X2 :: Xgafv
+ Network.Google.Dataflow.Types: aeCurrentNumWorkers :: Lens' AutoscalingEvent (Maybe Int64)
+ Network.Google.Dataflow.Types: aeDescription :: Lens' AutoscalingEvent (Maybe StructuredMessage)
+ Network.Google.Dataflow.Types: aeEventType :: Lens' AutoscalingEvent (Maybe AutoscalingEventEventType)
+ Network.Google.Dataflow.Types: aeTargetNumWorkers :: Lens' AutoscalingEvent (Maybe Int64)
+ Network.Google.Dataflow.Types: aeTime :: Lens' AutoscalingEvent (Maybe UTCTime)
+ Network.Google.Dataflow.Types: aeWorkerPool :: Lens' AutoscalingEvent (Maybe Text)
+ Network.Google.Dataflow.Types: asrFractionOfRemainder :: Lens' ApproximateSplitRequest (Maybe Double)
+ Network.Google.Dataflow.Types: autoscalingEvent :: AutoscalingEvent
+ Network.Google.Dataflow.Types: bigQueryIODetails :: BigQueryIODetails
+ Network.Google.Dataflow.Types: bigTableIODetails :: BigTableIODetails
+ Network.Google.Dataflow.Types: bqiodDataSet :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: bqiodProjectId :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: bqiodQuery :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: bqiodTable :: Lens' BigQueryIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: btiodInstanceId :: Lens' BigTableIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: btiodProjectId :: Lens' BigTableIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: btiodTableId :: Lens' BigTableIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: cjftrLocation :: Lens' CreateJobFromTemplateRequest (Maybe Text)
+ Network.Google.Dataflow.Types: componentSource :: ComponentSource
+ Network.Google.Dataflow.Types: componentTransform :: ComponentTransform
+ Network.Google.Dataflow.Types: computeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/compute.readonly"]
+ Network.Google.Dataflow.Types: computeScope :: Proxy '["https://www.googleapis.com/auth/compute"]
+ Network.Google.Dataflow.Types: cpuTime :: CPUTime
+ Network.Google.Dataflow.Types: csName :: Lens' ComponentSource (Maybe Text)
+ Network.Google.Dataflow.Types: csOriginalTransformOrCollection :: Lens' ComponentSource (Maybe Text)
+ Network.Google.Dataflow.Types: csUserName :: Lens' ComponentSource (Maybe Text)
+ Network.Google.Dataflow.Types: csnInputIndex :: Lens' CounterStructuredName (Maybe Int32)
+ Network.Google.Dataflow.Types: csnOrigin :: Lens' CounterStructuredName (Maybe CounterStructuredNameOrigin)
+ Network.Google.Dataflow.Types: csnOriginNamespace :: Lens' CounterStructuredName (Maybe Text)
+ Network.Google.Dataflow.Types: csnOriginalRequestingStepName :: Lens' CounterStructuredName (Maybe Text)
+ Network.Google.Dataflow.Types: ctName :: Lens' ComponentTransform (Maybe Text)
+ Network.Google.Dataflow.Types: ctOriginalTransform :: Lens' ComponentTransform (Maybe Text)
+ Network.Google.Dataflow.Types: ctRate :: Lens' CPUTime (Maybe Double)
+ Network.Google.Dataflow.Types: ctTimestamp :: Lens' CPUTime (Maybe UTCTime)
+ Network.Google.Dataflow.Types: ctTotalMs :: Lens' CPUTime (Maybe Word64)
+ Network.Google.Dataflow.Types: ctUserName :: Lens' ComponentTransform (Maybe Text)
+ Network.Google.Dataflow.Types: cuIntegerGauge :: Lens' CounterUpdate (Maybe IntegerGauge)
+ Network.Google.Dataflow.Types: data AutoscalingEvent
+ Network.Google.Dataflow.Types: data AutoscalingEventEventType
+ Network.Google.Dataflow.Types: data AutoscalingSettingsAlgorithm
+ Network.Google.Dataflow.Types: data BigQueryIODetails
+ Network.Google.Dataflow.Types: data BigTableIODetails
+ Network.Google.Dataflow.Types: data CPUTime
+ Network.Google.Dataflow.Types: data ComponentSource
+ Network.Google.Dataflow.Types: data ComponentTransform
+ Network.Google.Dataflow.Types: data CounterMetadataKind
+ Network.Google.Dataflow.Types: data CounterMetadataStandardUnits
+ Network.Google.Dataflow.Types: data CounterStructuredNameOrigin
+ Network.Google.Dataflow.Types: data CounterStructuredNamePortion
+ Network.Google.Dataflow.Types: data DatastoreIODetails
+ Network.Google.Dataflow.Types: data DerivedSourceDerivationMode
+ Network.Google.Dataflow.Types: data DisplayData
+ Network.Google.Dataflow.Types: data ExecutionStageState
+ Network.Google.Dataflow.Types: data ExecutionStageStateExecutionStageState
+ Network.Google.Dataflow.Types: data ExecutionStageSummary
+ Network.Google.Dataflow.Types: data ExecutionStageSummaryKind
+ Network.Google.Dataflow.Types: data FileIODetails
+ Network.Google.Dataflow.Types: data GetTemplateResponse
+ Network.Google.Dataflow.Types: data Histogram
+ Network.Google.Dataflow.Types: data IntegerGauge
+ Network.Google.Dataflow.Types: data JobCurrentState
+ Network.Google.Dataflow.Types: data JobMessageMessageImportance
+ Network.Google.Dataflow.Types: data JobMetadata
+ Network.Google.Dataflow.Types: data JobRequestedState
+ Network.Google.Dataflow.Types: data JobType
+ Network.Google.Dataflow.Types: data LaunchTemplateParameters
+ Network.Google.Dataflow.Types: data LaunchTemplateParametersParameters
+ Network.Google.Dataflow.Types: data LaunchTemplateResponse
+ Network.Google.Dataflow.Types: data NameAndKindKind
+ Network.Google.Dataflow.Types: data Parameter
+ Network.Google.Dataflow.Types: data ParameterMetadata
+ Network.Google.Dataflow.Types: data PipelineDescription
+ Network.Google.Dataflow.Types: data PubSubIODetails
+ Network.Google.Dataflow.Types: data RuntimeEnvironmentAdditionalUserLabels
+ Network.Google.Dataflow.Types: data SdkVersion
+ Network.Google.Dataflow.Types: data SdkVersionSdkSupportStatus
+ Network.Google.Dataflow.Types: data Snapshot
+ Network.Google.Dataflow.Types: data SnapshotJobRequest
+ Network.Google.Dataflow.Types: data SourceSplitResponseOutcome
+ Network.Google.Dataflow.Types: data SourceSplitShardDerivationMode
+ Network.Google.Dataflow.Types: data SpannerIODetails
+ Network.Google.Dataflow.Types: data StageSource
+ Network.Google.Dataflow.Types: data StreamingApplianceSnapshotConfig
+ Network.Google.Dataflow.Types: data StreamingComputationTaskTaskType
+ Network.Google.Dataflow.Types: data StructuredMessage
+ Network.Google.Dataflow.Types: data TemplateMetadata
+ Network.Google.Dataflow.Types: data TransformSummary
+ Network.Google.Dataflow.Types: data TransformSummaryKind
+ Network.Google.Dataflow.Types: data WorkerLifecycleEvent
+ Network.Google.Dataflow.Types: data WorkerLifecycleEventEvent
+ Network.Google.Dataflow.Types: data WorkerLifecycleEventMetadata
+ Network.Google.Dataflow.Types: data WorkerPoolDefaultPackageSet
+ Network.Google.Dataflow.Types: data WorkerPoolIPConfiguration
+ Network.Google.Dataflow.Types: data WorkerPoolTeardownPolicy
+ Network.Google.Dataflow.Types: data WorkerShutdownNotice
+ Network.Google.Dataflow.Types: data WorkerShutdownNoticeResponse
+ Network.Google.Dataflow.Types: data Xgafv
+ Network.Google.Dataflow.Types: datastoreIODetails :: DatastoreIODetails
+ Network.Google.Dataflow.Types: ddBoolValue :: Lens' DisplayData (Maybe Bool)
+ Network.Google.Dataflow.Types: ddDurationValue :: Lens' DisplayData (Maybe Scientific)
+ Network.Google.Dataflow.Types: ddFloatValue :: Lens' DisplayData (Maybe Double)
+ Network.Google.Dataflow.Types: ddInt64Value :: Lens' DisplayData (Maybe Int64)
+ Network.Google.Dataflow.Types: ddJavaClassValue :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: ddKey :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: ddLabel :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: ddNamespace :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: ddShortStrValue :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: ddStrValue :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: ddTimestampValue :: Lens' DisplayData (Maybe UTCTime)
+ Network.Google.Dataflow.Types: ddURL :: Lens' DisplayData (Maybe Text)
+ Network.Google.Dataflow.Types: diodNamespace :: Lens' DatastoreIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: diodProjectId :: Lens' DatastoreIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: displayData :: DisplayData
+ Network.Google.Dataflow.Types: duHistogram :: Lens' DistributionUpdate (Maybe Histogram)
+ Network.Google.Dataflow.Types: essComponentSource :: Lens' ExecutionStageSummary [ComponentSource]
+ Network.Google.Dataflow.Types: essComponentTransform :: Lens' ExecutionStageSummary [ComponentTransform]
+ Network.Google.Dataflow.Types: essCurrentStateTime :: Lens' ExecutionStageState (Maybe UTCTime)
+ Network.Google.Dataflow.Types: essExecutionStageName :: Lens' ExecutionStageState (Maybe Text)
+ Network.Google.Dataflow.Types: essExecutionStageState :: Lens' ExecutionStageState (Maybe ExecutionStageStateExecutionStageState)
+ Network.Google.Dataflow.Types: essId :: Lens' ExecutionStageSummary (Maybe Text)
+ Network.Google.Dataflow.Types: essInputSource :: Lens' ExecutionStageSummary [StageSource]
+ Network.Google.Dataflow.Types: essKind :: Lens' ExecutionStageSummary (Maybe ExecutionStageSummaryKind)
+ Network.Google.Dataflow.Types: essName :: Lens' ExecutionStageSummary (Maybe Text)
+ Network.Google.Dataflow.Types: essOutputSource :: Lens' ExecutionStageSummary [StageSource]
+ Network.Google.Dataflow.Types: executionStageState :: ExecutionStageState
+ Network.Google.Dataflow.Types: executionStageSummary :: ExecutionStageSummary
+ Network.Google.Dataflow.Types: fileIODetails :: FileIODetails
+ Network.Google.Dataflow.Types: fiodFilePattern :: Lens' FileIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: gdcrLocation :: Lens' GetDebugConfigRequest (Maybe Text)
+ Network.Google.Dataflow.Types: getTemplateResponse :: GetTemplateResponse
+ Network.Google.Dataflow.Types: gtrMetadata :: Lens' GetTemplateResponse (Maybe TemplateMetadata)
+ Network.Google.Dataflow.Types: gtrStatus :: Lens' GetTemplateResponse (Maybe Status)
+ Network.Google.Dataflow.Types: hBucketCounts :: Lens' Histogram [Int64]
+ Network.Google.Dataflow.Types: hFirstBucketOffSet :: Lens' Histogram (Maybe Int32)
+ Network.Google.Dataflow.Types: histogram :: Histogram
+ Network.Google.Dataflow.Types: igTimestamp :: Lens' IntegerGauge (Maybe UTCTime)
+ Network.Google.Dataflow.Types: igValue :: Lens' IntegerGauge (Maybe SplitInt64)
+ Network.Google.Dataflow.Types: integerGauge :: IntegerGauge
+ Network.Google.Dataflow.Types: jCreatedFromSnapshotId :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jJobMetadata :: Lens' Job (Maybe JobMetadata)
+ Network.Google.Dataflow.Types: jPipelineDescription :: Lens' Job (Maybe PipelineDescription)
+ Network.Google.Dataflow.Types: jStageStates :: Lens' Job [ExecutionStageState]
+ Network.Google.Dataflow.Types: jStartTime :: Lens' Job (Maybe UTCTime)
+ Network.Google.Dataflow.Types: jStepsLocation :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jmBigQueryDetails :: Lens' JobMetadata [BigQueryIODetails]
+ Network.Google.Dataflow.Types: jmBigTableDetails :: Lens' JobMetadata [BigTableIODetails]
+ Network.Google.Dataflow.Types: jmDatastoreDetails :: Lens' JobMetadata [DatastoreIODetails]
+ Network.Google.Dataflow.Types: jmFileDetails :: Lens' JobMetadata [FileIODetails]
+ Network.Google.Dataflow.Types: jmPubsubDetails :: Lens' JobMetadata [PubSubIODetails]
+ Network.Google.Dataflow.Types: jmSdkVersion :: Lens' JobMetadata (Maybe SdkVersion)
+ Network.Google.Dataflow.Types: jmSpannerDetails :: Lens' JobMetadata [SpannerIODetails]
+ Network.Google.Dataflow.Types: jobMetadata :: JobMetadata
+ Network.Google.Dataflow.Types: krlDeprecatedPersistentDirectory :: Lens' KeyRangeLocation (Maybe Text)
+ Network.Google.Dataflow.Types: launchTemplateParameters :: LaunchTemplateParameters
+ Network.Google.Dataflow.Types: launchTemplateParametersParameters :: HashMap Text Text -> LaunchTemplateParametersParameters
+ Network.Google.Dataflow.Types: launchTemplateResponse :: LaunchTemplateResponse
+ Network.Google.Dataflow.Types: ljmrAutoscalingEvents :: Lens' ListJobMessagesResponse [AutoscalingEvent]
+ Network.Google.Dataflow.Types: ltpEnvironment :: Lens' LaunchTemplateParameters (Maybe RuntimeEnvironment)
+ Network.Google.Dataflow.Types: ltpJobName :: Lens' LaunchTemplateParameters (Maybe Text)
+ Network.Google.Dataflow.Types: ltpParameters :: Lens' LaunchTemplateParameters (Maybe LaunchTemplateParametersParameters)
+ Network.Google.Dataflow.Types: ltppAddtional :: Lens' LaunchTemplateParametersParameters (HashMap Text Text)
+ Network.Google.Dataflow.Types: ltrJob :: Lens' LaunchTemplateResponse (Maybe Job)
+ Network.Google.Dataflow.Types: mtCounterPrefix :: Lens' MapTask (Maybe Text)
+ Network.Google.Dataflow.Types: muDistribution :: Lens' MetricUpdate (Maybe JSONValue)
+ Network.Google.Dataflow.Types: muGauge :: Lens' MetricUpdate (Maybe JSONValue)
+ Network.Google.Dataflow.Types: parKey :: Lens' Parameter (Maybe Text)
+ Network.Google.Dataflow.Types: parValue :: Lens' Parameter (Maybe JSONValue)
+ Network.Google.Dataflow.Types: parameter :: Parameter
+ Network.Google.Dataflow.Types: parameterMetadata :: ParameterMetadata
+ Network.Google.Dataflow.Types: pdDisplayData :: Lens' PipelineDescription [DisplayData]
+ Network.Google.Dataflow.Types: pdExecutionPipelineStage :: Lens' PipelineDescription [ExecutionStageSummary]
+ Network.Google.Dataflow.Types: pdOriginalPipelineTransform :: Lens' PipelineDescription [TransformSummary]
+ Network.Google.Dataflow.Types: pipelineDescription :: PipelineDescription
+ Network.Google.Dataflow.Types: pmHelpText :: Lens' ParameterMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: pmIsOptional :: Lens' ParameterMetadata (Maybe Bool)
+ Network.Google.Dataflow.Types: pmLabel :: Lens' ParameterMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: pmName :: Lens' ParameterMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: pmRegexes :: Lens' ParameterMetadata [Text]
+ Network.Google.Dataflow.Types: psiodSubscription :: Lens' PubSubIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: psiodTopic :: Lens' PubSubIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: pubSubIODetails :: PubSubIODetails
+ Network.Google.Dataflow.Types: reAdditionalExperiments :: Lens' RuntimeEnvironment [Text]
+ Network.Google.Dataflow.Types: reAdditionalUserLabels :: Lens' RuntimeEnvironment (Maybe RuntimeEnvironmentAdditionalUserLabels)
+ Network.Google.Dataflow.Types: reMachineType :: Lens' RuntimeEnvironment (Maybe Text)
+ Network.Google.Dataflow.Types: reNetwork :: Lens' RuntimeEnvironment (Maybe Text)
+ Network.Google.Dataflow.Types: reNumWorkers :: Lens' RuntimeEnvironment (Maybe Int32)
+ Network.Google.Dataflow.Types: reSubnetwork :: Lens' RuntimeEnvironment (Maybe Text)
+ Network.Google.Dataflow.Types: reaulAddtional :: Lens' RuntimeEnvironmentAdditionalUserLabels (HashMap Text Text)
+ Network.Google.Dataflow.Types: runtimeEnvironmentAdditionalUserLabels :: HashMap Text Text -> RuntimeEnvironmentAdditionalUserLabels
+ Network.Google.Dataflow.Types: rurCPUTime :: Lens' ResourceUtilizationReport [CPUTime]
+ Network.Google.Dataflow.Types: sCreationTime :: Lens' Snapshot (Maybe UTCTime)
+ Network.Google.Dataflow.Types: sId :: Lens' Snapshot (Maybe Text)
+ Network.Google.Dataflow.Types: sProjectId :: Lens' Snapshot (Maybe Text)
+ Network.Google.Dataflow.Types: sSourceJobId :: Lens' Snapshot (Maybe Text)
+ Network.Google.Dataflow.Types: sTtl :: Lens' Snapshot (Maybe Scientific)
+ Network.Google.Dataflow.Types: sascImportStateEndpoint :: Lens' StreamingApplianceSnapshotConfig (Maybe Text)
+ Network.Google.Dataflow.Types: sascSnapshotId :: Lens' StreamingApplianceSnapshotConfig (Maybe Text)
+ Network.Google.Dataflow.Types: sctWindmillServiceEndpoint :: Lens' StreamingConfigTask (Maybe Text)
+ Network.Google.Dataflow.Types: sctWindmillServicePort :: Lens' StreamingConfigTask (Maybe Int64)
+ Network.Google.Dataflow.Types: sdcrLocation :: Lens' SendDebugCaptureRequest (Maybe Text)
+ Network.Google.Dataflow.Types: sdkVersion :: SdkVersion
+ Network.Google.Dataflow.Types: siodDatabaseId :: Lens' SpannerIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: siodInstanceId :: Lens' SpannerIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: siodProjectId :: Lens' SpannerIODetails (Maybe Text)
+ Network.Google.Dataflow.Types: sjrLocation :: Lens' SnapshotJobRequest (Maybe Text)
+ Network.Google.Dataflow.Types: sjrTtl :: Lens' SnapshotJobRequest (Maybe Scientific)
+ Network.Google.Dataflow.Types: smMessageKey :: Lens' StructuredMessage (Maybe Text)
+ Network.Google.Dataflow.Types: smMessageText :: Lens' StructuredMessage (Maybe Text)
+ Network.Google.Dataflow.Types: smParameters :: Lens' StructuredMessage [Parameter]
+ Network.Google.Dataflow.Types: snapshot :: Snapshot
+ Network.Google.Dataflow.Types: snapshotJobRequest :: SnapshotJobRequest
+ Network.Google.Dataflow.Types: souGetMetadata :: Lens' SourceOperationRequest (Maybe SourceGetMetadataRequest)
+ Network.Google.Dataflow.Types: souName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow.Types: souOriginalName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow.Types: souSplit :: Lens' SourceOperationRequest (Maybe SourceSplitRequest)
+ Network.Google.Dataflow.Types: souStageName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow.Types: souSystemName :: Lens' SourceOperationRequest (Maybe Text)
+ Network.Google.Dataflow.Types: spannerIODetails :: SpannerIODetails
+ Network.Google.Dataflow.Types: ssName :: Lens' StageSource (Maybe Text)
+ Network.Google.Dataflow.Types: ssOriginalTransformOrCollection :: Lens' StageSource (Maybe Text)
+ Network.Google.Dataflow.Types: ssSizeBytes :: Lens' StageSource (Maybe Int64)
+ Network.Google.Dataflow.Types: ssUserName :: Lens' StageSource (Maybe Text)
+ Network.Google.Dataflow.Types: sstSnapshotConfig :: Lens' StreamingSetupTask (Maybe StreamingApplianceSnapshotConfig)
+ Network.Google.Dataflow.Types: stageSource :: StageSource
+ Network.Google.Dataflow.Types: streamingApplianceSnapshotConfig :: StreamingApplianceSnapshotConfig
+ Network.Google.Dataflow.Types: structuredMessage :: StructuredMessage
+ Network.Google.Dataflow.Types: svSdkSupportStatus :: Lens' SdkVersion (Maybe SdkVersionSdkSupportStatus)
+ Network.Google.Dataflow.Types: svVersion :: Lens' SdkVersion (Maybe Text)
+ Network.Google.Dataflow.Types: svVersionDisplayName :: Lens' SdkVersion (Maybe Text)
+ Network.Google.Dataflow.Types: swmrLocation :: Lens' SendWorkerMessagesRequest (Maybe Text)
+ Network.Google.Dataflow.Types: templateMetadata :: TemplateMetadata
+ Network.Google.Dataflow.Types: tmDescription :: Lens' TemplateMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: tmName :: Lens' TemplateMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: tmParameters :: Lens' TemplateMetadata [ParameterMetadata]
+ Network.Google.Dataflow.Types: transformSummary :: TransformSummary
+ Network.Google.Dataflow.Types: tsDisplayData :: Lens' TransformSummary [DisplayData]
+ Network.Google.Dataflow.Types: tsId :: Lens' TransformSummary (Maybe Text)
+ Network.Google.Dataflow.Types: tsInputCollectionName :: Lens' TransformSummary [Text]
+ Network.Google.Dataflow.Types: tsKind :: Lens' TransformSummary (Maybe TransformSummaryKind)
+ Network.Google.Dataflow.Types: tsName :: Lens' TransformSummary (Maybe Text)
+ Network.Google.Dataflow.Types: tsOutputCollectionName :: Lens' TransformSummary [Text]
+ Network.Google.Dataflow.Types: wisTotalThrottlerWaitTimeSeconds :: Lens' WorkItemStatus (Maybe Double)
+ Network.Google.Dataflow.Types: wleContainerStartTime :: Lens' WorkerLifecycleEvent (Maybe UTCTime)
+ Network.Google.Dataflow.Types: wleEvent :: Lens' WorkerLifecycleEvent (Maybe WorkerLifecycleEventEvent)
+ Network.Google.Dataflow.Types: wleMetadata :: Lens' WorkerLifecycleEvent (Maybe WorkerLifecycleEventMetadata)
+ Network.Google.Dataflow.Types: wlemAddtional :: Lens' WorkerLifecycleEventMetadata (HashMap Text Text)
+ Network.Google.Dataflow.Types: wmWorkerLifecycleEvent :: Lens' WorkerMessage (Maybe WorkerLifecycleEvent)
+ Network.Google.Dataflow.Types: wmWorkerShutdownNotice :: Lens' WorkerMessage (Maybe WorkerShutdownNotice)
+ Network.Google.Dataflow.Types: wmrWorkerShutdownNoticeResponse :: Lens' WorkerMessageResponse (Maybe WorkerShutdownNoticeResponse)
+ Network.Google.Dataflow.Types: workerLifecycleEvent :: WorkerLifecycleEvent
+ Network.Google.Dataflow.Types: workerLifecycleEventMetadata :: HashMap Text Text -> WorkerLifecycleEventMetadata
+ Network.Google.Dataflow.Types: workerShutdownNotice :: WorkerShutdownNotice
+ Network.Google.Dataflow.Types: workerShutdownNoticeResponse :: WorkerShutdownNoticeResponse
+ Network.Google.Dataflow.Types: wsnReason :: Lens' WorkerShutdownNotice (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: data ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated.ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated.ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated.ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated.ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated.ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaAccessToken :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaCallback :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaFilter :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaLocation :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaPageSize :: Lens' ProjectsJobsAggregated (Maybe Int32)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaPageToken :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaProjectId :: Lens' ProjectsJobsAggregated Text
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaUploadProtocol :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaUploadType :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaView :: Lens' ProjectsJobsAggregated (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: pjaXgafv :: Lens' ProjectsJobsAggregated (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: projectsJobsAggregated :: Text -> ProjectsJobsAggregated
+ Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated: type ProjectsJobsAggregatedResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs:aggregated" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "filter" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListJobsResponse
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: data ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot.ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot.ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot.ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot.ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot.ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsAccessToken :: Lens' ProjectsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsCallback :: Lens' ProjectsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsJobId :: Lens' ProjectsJobsSnapshot Text
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsPayload :: Lens' ProjectsJobsSnapshot SnapshotJobRequest
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsProjectId :: Lens' ProjectsJobsSnapshot Text
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsUploadProtocol :: Lens' ProjectsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsUploadType :: Lens' ProjectsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: pjsXgafv :: Lens' ProjectsJobsSnapshot (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: projectsJobsSnapshot :: Text -> SnapshotJobRequest -> Text -> ProjectsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot: type ProjectsJobsSnapshotResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> CaptureMode "jobId" "snapshot" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SnapshotJobRequest :> Post '[JSON] Snapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: data ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig.ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig.ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig.ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig.ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig.ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcAccessToken :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcCallback :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcJobId :: Lens' ProjectsLocationsJobsDebugGetConfig Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcLocation :: Lens' ProjectsLocationsJobsDebugGetConfig Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcPayload :: Lens' ProjectsLocationsJobsDebugGetConfig GetDebugConfigRequest
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcProjectId :: Lens' ProjectsLocationsJobsDebugGetConfig Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcUploadProtocol :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcUploadType :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: pljdgcXgafv :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: projectsLocationsJobsDebugGetConfig :: Text -> Text -> GetDebugConfigRequest -> Text -> ProjectsLocationsJobsDebugGetConfig
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig: type ProjectsLocationsJobsDebugGetConfigResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> "debug" :> "getConfig" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] GetDebugConfigRequest :> Post '[JSON] GetDebugConfigResponse
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: data ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture.ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture.ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture.ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture.ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture.ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscAccessToken :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscCallback :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscJobId :: Lens' ProjectsLocationsJobsDebugSendCapture Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscLocation :: Lens' ProjectsLocationsJobsDebugSendCapture Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscPayload :: Lens' ProjectsLocationsJobsDebugSendCapture SendDebugCaptureRequest
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscProjectId :: Lens' ProjectsLocationsJobsDebugSendCapture Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscUploadProtocol :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscUploadType :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: pljdscXgafv :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: projectsLocationsJobsDebugSendCapture :: Text -> Text -> SendDebugCaptureRequest -> Text -> ProjectsLocationsJobsDebugSendCapture
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture: type ProjectsLocationsJobsDebugSendCaptureResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> "debug" :> "sendCapture" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SendDebugCaptureRequest :> Post '[JSON] SendDebugCaptureResponse
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: data ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot.ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot.ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot.ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot.ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot.ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsAccessToken :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsCallback :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsJobId :: Lens' ProjectsLocationsJobsSnapshot Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsLocation :: Lens' ProjectsLocationsJobsSnapshot Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsPayload :: Lens' ProjectsLocationsJobsSnapshot SnapshotJobRequest
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsProjectId :: Lens' ProjectsLocationsJobsSnapshot Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsUploadProtocol :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsUploadType :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: pljsXgafv :: Lens' ProjectsLocationsJobsSnapshot (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: projectsLocationsJobsSnapshot :: Text -> Text -> SnapshotJobRequest -> Text -> ProjectsLocationsJobsSnapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot: type ProjectsLocationsJobsSnapshotResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> CaptureMode "jobId" "snapshot" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SnapshotJobRequest :> Post '[JSON] Snapshot
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: data ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create.ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create.ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create.ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create.ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create.ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcAccessToken :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcCallback :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcLocation :: Lens' ProjectsLocationsTemplatesCreate Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcPayload :: Lens' ProjectsLocationsTemplatesCreate CreateJobFromTemplateRequest
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcProjectId :: Lens' ProjectsLocationsTemplatesCreate Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcUploadProtocol :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcUploadType :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: pltcXgafv :: Lens' ProjectsLocationsTemplatesCreate (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: projectsLocationsTemplatesCreate :: Text -> CreateJobFromTemplateRequest -> Text -> ProjectsLocationsTemplatesCreate
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create: type ProjectsLocationsTemplatesCreateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "templates" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] CreateJobFromTemplateRequest :> Post '[JSON] Job
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: data ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get.ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get.ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get.ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get.ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get.ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgAccessToken :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgCallback :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgGcsPath :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgLocation :: Lens' ProjectsLocationsTemplatesGet Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgProjectId :: Lens' ProjectsLocationsTemplatesGet Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgUploadProtocol :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgUploadType :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgView :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: pltgXgafv :: Lens' ProjectsLocationsTemplatesGet (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: projectsLocationsTemplatesGet :: Text -> Text -> ProjectsLocationsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get: type ProjectsLocationsTemplatesGetResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "templates:get" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "gcsPath" Text :> QueryParam "view" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GetTemplateResponse
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: data ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch.ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch.ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch.ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch.ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch.ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlAccessToken :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlCallback :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlDynamicTemplateGcsPath :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlDynamicTemplateStagingLocation :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlGcsPath :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlLocation :: Lens' ProjectsLocationsTemplatesLaunch Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlPayload :: Lens' ProjectsLocationsTemplatesLaunch LaunchTemplateParameters
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlProjectId :: Lens' ProjectsLocationsTemplatesLaunch Text
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlUploadProtocol :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlUploadType :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlValidateOnly :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Bool)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: pltlXgafv :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: projectsLocationsTemplatesLaunch :: Text -> LaunchTemplateParameters -> Text -> ProjectsLocationsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch: type ProjectsLocationsTemplatesLaunchResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "templates:launch" :> QueryParam "$.xgafv" Xgafv :> QueryParam "validateOnly" Bool :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "dynamicTemplate.stagingLocation" Text :> QueryParam "gcsPath" Text :> QueryParam "callback" Text :> QueryParam "dynamicTemplate.gcsPath" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] LaunchTemplateParameters :> Post '[JSON] LaunchTemplateResponse
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: data ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages.ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages.ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages.ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages.ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages.ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmAccessToken :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmCallback :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmLocation :: Lens' ProjectsLocationsWorkerMessages Text
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmPayload :: Lens' ProjectsLocationsWorkerMessages SendWorkerMessagesRequest
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmProjectId :: Lens' ProjectsLocationsWorkerMessages Text
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmUploadProtocol :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmUploadType :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: plwmXgafv :: Lens' ProjectsLocationsWorkerMessages (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: projectsLocationsWorkerMessages :: Text -> SendWorkerMessagesRequest -> Text -> ProjectsLocationsWorkerMessages
+ Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages: type ProjectsLocationsWorkerMessagesResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "WorkerMessages" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SendWorkerMessagesRequest :> Post '[JSON] SendWorkerMessagesResponse
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: data ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Templates.Get.ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Templates.Get.ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Templates.Get.ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Templates.Get.ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Templates.Get.ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: projectsTemplatesGet :: Text -> ProjectsTemplatesGet
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgAccessToken :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgCallback :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgGcsPath :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgLocation :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgProjectId :: Lens' ProjectsTemplatesGet Text
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgUploadProtocol :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgUploadType :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgView :: Lens' ProjectsTemplatesGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: ptgXgafv :: Lens' ProjectsTemplatesGet (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Templates.Get: type ProjectsTemplatesGetResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "templates:get" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "gcsPath" Text :> QueryParam "view" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GetTemplateResponse
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: data ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: instance Data.Data.Data Network.Google.Resource.Dataflow.Projects.Templates.Launch.ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: instance GHC.Classes.Eq Network.Google.Resource.Dataflow.Projects.Templates.Launch.ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: instance GHC.Generics.Generic Network.Google.Resource.Dataflow.Projects.Templates.Launch.ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: instance GHC.Show.Show Network.Google.Resource.Dataflow.Projects.Templates.Launch.ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Dataflow.Projects.Templates.Launch.ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: projectsTemplatesLaunch :: LaunchTemplateParameters -> Text -> ProjectsTemplatesLaunch
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlAccessToken :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlCallback :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlDynamicTemplateGcsPath :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlDynamicTemplateStagingLocation :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlGcsPath :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlLocation :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlPayload :: Lens' ProjectsTemplatesLaunch LaunchTemplateParameters
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlProjectId :: Lens' ProjectsTemplatesLaunch Text
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlUploadProtocol :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlUploadType :: Lens' ProjectsTemplatesLaunch (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlValidateOnly :: Lens' ProjectsTemplatesLaunch (Maybe Bool)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: ptlXgafv :: Lens' ProjectsTemplatesLaunch (Maybe Xgafv)
+ Network.Google.Resource.Dataflow.Projects.Templates.Launch: type ProjectsTemplatesLaunchResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "templates:launch" :> QueryParam "$.xgafv" Xgafv :> QueryParam "validateOnly" Bool :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "dynamicTemplate.stagingLocation" Text :> QueryParam "gcsPath" Text :> QueryParam "callback" Text :> QueryParam "dynamicTemplate.gcsPath" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] LaunchTemplateParameters :> Post '[JSON] LaunchTemplateResponse
- Network.Google.Dataflow: apRemainingTime :: Lens' ApproximateProgress (Maybe Text)
+ Network.Google.Dataflow: apRemainingTime :: Lens' ApproximateProgress (Maybe Scientific)
- Network.Google.Dataflow: asAlgorithm :: Lens' AutoscalingSettings (Maybe Text)
+ Network.Google.Dataflow: asAlgorithm :: Lens' AutoscalingSettings (Maybe AutoscalingSettingsAlgorithm)
- Network.Google.Dataflow: cmKind :: Lens' CounterMetadata (Maybe Text)
+ Network.Google.Dataflow: cmKind :: Lens' CounterMetadata (Maybe CounterMetadataKind)
- Network.Google.Dataflow: cmStandardUnits :: Lens' CounterMetadata (Maybe Text)
+ Network.Google.Dataflow: cmStandardUnits :: Lens' CounterMetadata (Maybe CounterMetadataStandardUnits)
- Network.Google.Dataflow: csnPortion :: Lens' CounterStructuredName (Maybe Text)
+ Network.Google.Dataflow: csnPortion :: Lens' CounterStructuredName (Maybe CounterStructuredNamePortion)
- Network.Google.Dataflow: dsDerivationMode :: Lens' DerivedSource (Maybe Text)
+ Network.Google.Dataflow: dsDerivationMode :: Lens' DerivedSource (Maybe DerivedSourceDerivationMode)
- Network.Google.Dataflow: jCreateTime :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jCreateTime :: Lens' Job (Maybe UTCTime)
- Network.Google.Dataflow: jCurrentState :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jCurrentState :: Lens' Job (Maybe JobCurrentState)
- Network.Google.Dataflow: jCurrentStateTime :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jCurrentStateTime :: Lens' Job (Maybe UTCTime)
- Network.Google.Dataflow: jRequestedState :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jRequestedState :: Lens' Job (Maybe JobRequestedState)
- Network.Google.Dataflow: jType :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow: jType :: Lens' Job (Maybe JobType)
- Network.Google.Dataflow: jmMessageImportance :: Lens' JobMessage (Maybe Text)
+ Network.Google.Dataflow: jmMessageImportance :: Lens' JobMessage (Maybe JobMessageMessageImportance)
- Network.Google.Dataflow: jmMetricTime :: Lens' JobMetrics (Maybe Text)
+ Network.Google.Dataflow: jmMetricTime :: Lens' JobMetrics (Maybe UTCTime)
- Network.Google.Dataflow: jmTime :: Lens' JobMessage (Maybe Text)
+ Network.Google.Dataflow: jmTime :: Lens' JobMessage (Maybe UTCTime)
- Network.Google.Dataflow: lwirCurrentWorkerTime :: Lens' LeaseWorkItemRequest (Maybe Text)
+ Network.Google.Dataflow: lwirCurrentWorkerTime :: Lens' LeaseWorkItemRequest (Maybe UTCTime)
- Network.Google.Dataflow: lwirRequestedLeaseDuration :: Lens' LeaseWorkItemRequest (Maybe Text)
+ Network.Google.Dataflow: lwirRequestedLeaseDuration :: Lens' LeaseWorkItemRequest (Maybe Scientific)
- Network.Google.Dataflow: muUpdateTime :: Lens' MetricUpdate (Maybe Text)
+ Network.Google.Dataflow: muUpdateTime :: Lens' MetricUpdate (Maybe UTCTime)
- Network.Google.Dataflow: nakKind :: Lens' NameAndKind (Maybe Text)
+ Network.Google.Dataflow: nakKind :: Lens' NameAndKind (Maybe NameAndKindKind)
- Network.Google.Dataflow: rwisrCurrentWorkerTime :: Lens' ReportWorkItemStatusRequest (Maybe Text)
+ Network.Google.Dataflow: rwisrCurrentWorkerTime :: Lens' ReportWorkItemStatusRequest (Maybe UTCTime)
- Network.Google.Dataflow: sctTaskType :: Lens' StreamingComputationTask (Maybe Text)
+ Network.Google.Dataflow: sctTaskType :: Lens' StreamingComputationTask (Maybe StreamingComputationTaskTaskType)
- Network.Google.Dataflow: ssrOutcome :: Lens' SourceSplitResponse (Maybe Text)
+ Network.Google.Dataflow: ssrOutcome :: Lens' SourceSplitResponse (Maybe SourceSplitResponseOutcome)
- Network.Google.Dataflow: sssDerivationMode :: Lens' SourceSplitShard (Maybe Text)
+ Network.Google.Dataflow: sssDerivationMode :: Lens' SourceSplitShard (Maybe SourceSplitShardDerivationMode)
- Network.Google.Dataflow: type DataflowAPI = ProjectsTemplatesCreateResource :<|> (ProjectsJobsDebugGetConfigResource :<|> (ProjectsJobsDebugSendCaptureResource :<|> (ProjectsJobsWorkItemsLeaseResource :<|> (ProjectsJobsWorkItemsReportStatusResource :<|> (ProjectsJobsMessagesListResource :<|> (ProjectsJobsListResource :<|> (ProjectsJobsGetResource :<|> (ProjectsJobsCreateResource :<|> (ProjectsJobsUpdateResource :<|> (ProjectsJobsGetMetricsResource :<|> (ProjectsLocationsJobsWorkItemsLeaseResource :<|> (ProjectsLocationsJobsWorkItemsReportStatusResource :<|> (ProjectsLocationsJobsMessagesListResource :<|> (ProjectsLocationsJobsListResource :<|> (ProjectsLocationsJobsGetResource :<|> (ProjectsLocationsJobsCreateResource :<|> (ProjectsLocationsJobsUpdateResource :<|> (ProjectsLocationsJobsGetMetricsResource :<|> ProjectsWorkerMessagesResource))))))))))))))))))
+ Network.Google.Dataflow: type DataflowAPI = ProjectsTemplatesLaunchResource :<|> ProjectsTemplatesGetResource :<|> ProjectsTemplatesCreateResource :<|> ProjectsJobsDebugGetConfigResource :<|> ProjectsJobsDebugSendCaptureResource :<|> ProjectsJobsWorkItemsLeaseResource :<|> ProjectsJobsWorkItemsReportStatusResource :<|> ProjectsJobsMessagesListResource :<|> ProjectsJobsSnapshotResource :<|> ProjectsJobsListResource :<|> ProjectsJobsAggregatedResource :<|> ProjectsJobsGetResource :<|> ProjectsJobsCreateResource :<|> ProjectsJobsUpdateResource :<|> ProjectsJobsGetMetricsResource :<|> ProjectsLocationsTemplatesLaunchResource :<|> ProjectsLocationsTemplatesGetResource :<|> ProjectsLocationsTemplatesCreateResource :<|> ProjectsLocationsJobsDebugGetConfigResource :<|> ProjectsLocationsJobsDebugSendCaptureResource :<|> ProjectsLocationsJobsWorkItemsLeaseResource :<|> ProjectsLocationsJobsWorkItemsReportStatusResource :<|> ProjectsLocationsJobsMessagesListResource :<|> ProjectsLocationsJobsSnapshotResource :<|> ProjectsLocationsJobsListResource :<|> ProjectsLocationsJobsGetResource :<|> ProjectsLocationsJobsCreateResource :<|> ProjectsLocationsJobsUpdateResource :<|> ProjectsLocationsJobsGetMetricsResource :<|> ProjectsLocationsWorkerMessagesResource :<|> ProjectsWorkerMessagesResource
- Network.Google.Dataflow: whrReportInterval :: Lens' WorkerHealthReport (Maybe Text)
+ Network.Google.Dataflow: whrReportInterval :: Lens' WorkerHealthReport (Maybe Scientific)
- Network.Google.Dataflow: whrVMStartupTime :: Lens' WorkerHealthReport (Maybe Text)
+ Network.Google.Dataflow: whrVMStartupTime :: Lens' WorkerHealthReport (Maybe UTCTime)
- Network.Google.Dataflow: whrrReportInterval :: Lens' WorkerHealthReportResponse (Maybe Text)
+ Network.Google.Dataflow: whrrReportInterval :: Lens' WorkerHealthReportResponse (Maybe Scientific)
- Network.Google.Dataflow: wiLeaseExpireTime :: Lens' WorkItem (Maybe Text)
+ Network.Google.Dataflow: wiLeaseExpireTime :: Lens' WorkItem (Maybe UTCTime)
- Network.Google.Dataflow: wiReportStatusInterval :: Lens' WorkItem (Maybe Text)
+ Network.Google.Dataflow: wiReportStatusInterval :: Lens' WorkItem (Maybe Scientific)
- Network.Google.Dataflow: wisRequestedLeaseDuration :: Lens' WorkItemStatus (Maybe Text)
+ Network.Google.Dataflow: wisRequestedLeaseDuration :: Lens' WorkItemStatus (Maybe Scientific)
- Network.Google.Dataflow: wissLeaseExpireTime :: Lens' WorkItemServiceState (Maybe Text)
+ Network.Google.Dataflow: wissLeaseExpireTime :: Lens' WorkItemServiceState (Maybe UTCTime)
- Network.Google.Dataflow: wissReportStatusInterval :: Lens' WorkItemServiceState (Maybe Text)
+ Network.Google.Dataflow: wissReportStatusInterval :: Lens' WorkItemServiceState (Maybe Scientific)
- Network.Google.Dataflow: wmTime :: Lens' WorkerMessage (Maybe Text)
+ Network.Google.Dataflow: wmTime :: Lens' WorkerMessage (Maybe UTCTime)
- Network.Google.Dataflow: wpDefaultPackageSet :: Lens' WorkerPool (Maybe Text)
+ Network.Google.Dataflow: wpDefaultPackageSet :: Lens' WorkerPool (Maybe WorkerPoolDefaultPackageSet)
- Network.Google.Dataflow: wpIPConfiguration :: Lens' WorkerPool (Maybe Text)
+ Network.Google.Dataflow: wpIPConfiguration :: Lens' WorkerPool (Maybe WorkerPoolIPConfiguration)
- Network.Google.Dataflow: wpTeardownPolicy :: Lens' WorkerPool (Maybe Text)
+ Network.Google.Dataflow: wpTeardownPolicy :: Lens' WorkerPool (Maybe WorkerPoolTeardownPolicy)
- Network.Google.Dataflow.Types: apRemainingTime :: Lens' ApproximateProgress (Maybe Text)
+ Network.Google.Dataflow.Types: apRemainingTime :: Lens' ApproximateProgress (Maybe Scientific)
- Network.Google.Dataflow.Types: asAlgorithm :: Lens' AutoscalingSettings (Maybe Text)
+ Network.Google.Dataflow.Types: asAlgorithm :: Lens' AutoscalingSettings (Maybe AutoscalingSettingsAlgorithm)
- Network.Google.Dataflow.Types: cmKind :: Lens' CounterMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: cmKind :: Lens' CounterMetadata (Maybe CounterMetadataKind)
- Network.Google.Dataflow.Types: cmStandardUnits :: Lens' CounterMetadata (Maybe Text)
+ Network.Google.Dataflow.Types: cmStandardUnits :: Lens' CounterMetadata (Maybe CounterMetadataStandardUnits)
- Network.Google.Dataflow.Types: csnPortion :: Lens' CounterStructuredName (Maybe Text)
+ Network.Google.Dataflow.Types: csnPortion :: Lens' CounterStructuredName (Maybe CounterStructuredNamePortion)
- Network.Google.Dataflow.Types: dsDerivationMode :: Lens' DerivedSource (Maybe Text)
+ Network.Google.Dataflow.Types: dsDerivationMode :: Lens' DerivedSource (Maybe DerivedSourceDerivationMode)
- Network.Google.Dataflow.Types: jCreateTime :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jCreateTime :: Lens' Job (Maybe UTCTime)
- Network.Google.Dataflow.Types: jCurrentState :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jCurrentState :: Lens' Job (Maybe JobCurrentState)
- Network.Google.Dataflow.Types: jCurrentStateTime :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jCurrentStateTime :: Lens' Job (Maybe UTCTime)
- Network.Google.Dataflow.Types: jRequestedState :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jRequestedState :: Lens' Job (Maybe JobRequestedState)
- Network.Google.Dataflow.Types: jType :: Lens' Job (Maybe Text)
+ Network.Google.Dataflow.Types: jType :: Lens' Job (Maybe JobType)
- Network.Google.Dataflow.Types: jmMessageImportance :: Lens' JobMessage (Maybe Text)
+ Network.Google.Dataflow.Types: jmMessageImportance :: Lens' JobMessage (Maybe JobMessageMessageImportance)
- Network.Google.Dataflow.Types: jmMetricTime :: Lens' JobMetrics (Maybe Text)
+ Network.Google.Dataflow.Types: jmMetricTime :: Lens' JobMetrics (Maybe UTCTime)
- Network.Google.Dataflow.Types: jmTime :: Lens' JobMessage (Maybe Text)
+ Network.Google.Dataflow.Types: jmTime :: Lens' JobMessage (Maybe UTCTime)
- Network.Google.Dataflow.Types: lwirCurrentWorkerTime :: Lens' LeaseWorkItemRequest (Maybe Text)
+ Network.Google.Dataflow.Types: lwirCurrentWorkerTime :: Lens' LeaseWorkItemRequest (Maybe UTCTime)
- Network.Google.Dataflow.Types: lwirRequestedLeaseDuration :: Lens' LeaseWorkItemRequest (Maybe Text)
+ Network.Google.Dataflow.Types: lwirRequestedLeaseDuration :: Lens' LeaseWorkItemRequest (Maybe Scientific)
- Network.Google.Dataflow.Types: muUpdateTime :: Lens' MetricUpdate (Maybe Text)
+ Network.Google.Dataflow.Types: muUpdateTime :: Lens' MetricUpdate (Maybe UTCTime)
- Network.Google.Dataflow.Types: nakKind :: Lens' NameAndKind (Maybe Text)
+ Network.Google.Dataflow.Types: nakKind :: Lens' NameAndKind (Maybe NameAndKindKind)
- Network.Google.Dataflow.Types: rwisrCurrentWorkerTime :: Lens' ReportWorkItemStatusRequest (Maybe Text)
+ Network.Google.Dataflow.Types: rwisrCurrentWorkerTime :: Lens' ReportWorkItemStatusRequest (Maybe UTCTime)
- Network.Google.Dataflow.Types: sctTaskType :: Lens' StreamingComputationTask (Maybe Text)
+ Network.Google.Dataflow.Types: sctTaskType :: Lens' StreamingComputationTask (Maybe StreamingComputationTaskTaskType)
- Network.Google.Dataflow.Types: ssrOutcome :: Lens' SourceSplitResponse (Maybe Text)
+ Network.Google.Dataflow.Types: ssrOutcome :: Lens' SourceSplitResponse (Maybe SourceSplitResponseOutcome)
- Network.Google.Dataflow.Types: sssDerivationMode :: Lens' SourceSplitShard (Maybe Text)
+ Network.Google.Dataflow.Types: sssDerivationMode :: Lens' SourceSplitShard (Maybe SourceSplitShardDerivationMode)
- Network.Google.Dataflow.Types: whrReportInterval :: Lens' WorkerHealthReport (Maybe Text)
+ Network.Google.Dataflow.Types: whrReportInterval :: Lens' WorkerHealthReport (Maybe Scientific)
- Network.Google.Dataflow.Types: whrVMStartupTime :: Lens' WorkerHealthReport (Maybe Text)
+ Network.Google.Dataflow.Types: whrVMStartupTime :: Lens' WorkerHealthReport (Maybe UTCTime)
- Network.Google.Dataflow.Types: whrrReportInterval :: Lens' WorkerHealthReportResponse (Maybe Text)
+ Network.Google.Dataflow.Types: whrrReportInterval :: Lens' WorkerHealthReportResponse (Maybe Scientific)
- Network.Google.Dataflow.Types: wiLeaseExpireTime :: Lens' WorkItem (Maybe Text)
+ Network.Google.Dataflow.Types: wiLeaseExpireTime :: Lens' WorkItem (Maybe UTCTime)
- Network.Google.Dataflow.Types: wiReportStatusInterval :: Lens' WorkItem (Maybe Text)
+ Network.Google.Dataflow.Types: wiReportStatusInterval :: Lens' WorkItem (Maybe Scientific)
- Network.Google.Dataflow.Types: wisRequestedLeaseDuration :: Lens' WorkItemStatus (Maybe Text)
+ Network.Google.Dataflow.Types: wisRequestedLeaseDuration :: Lens' WorkItemStatus (Maybe Scientific)
- Network.Google.Dataflow.Types: wissLeaseExpireTime :: Lens' WorkItemServiceState (Maybe Text)
+ Network.Google.Dataflow.Types: wissLeaseExpireTime :: Lens' WorkItemServiceState (Maybe UTCTime)
- Network.Google.Dataflow.Types: wissReportStatusInterval :: Lens' WorkItemServiceState (Maybe Text)
+ Network.Google.Dataflow.Types: wissReportStatusInterval :: Lens' WorkItemServiceState (Maybe Scientific)
- Network.Google.Dataflow.Types: wmTime :: Lens' WorkerMessage (Maybe Text)
+ Network.Google.Dataflow.Types: wmTime :: Lens' WorkerMessage (Maybe UTCTime)
- Network.Google.Dataflow.Types: wpDefaultPackageSet :: Lens' WorkerPool (Maybe Text)
+ Network.Google.Dataflow.Types: wpDefaultPackageSet :: Lens' WorkerPool (Maybe WorkerPoolDefaultPackageSet)
- Network.Google.Dataflow.Types: wpIPConfiguration :: Lens' WorkerPool (Maybe Text)
+ Network.Google.Dataflow.Types: wpIPConfiguration :: Lens' WorkerPool (Maybe WorkerPoolIPConfiguration)
- Network.Google.Dataflow.Types: wpTeardownPolicy :: Lens' WorkerPool (Maybe Text)
+ Network.Google.Dataflow.Types: wpTeardownPolicy :: Lens' WorkerPool (Maybe WorkerPoolTeardownPolicy)
- Network.Google.Resource.Dataflow.Projects.Jobs.Create: pjcXgafv :: Lens' ProjectsJobsCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Create: pjcXgafv :: Lens' ProjectsJobsCreate (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.Create: type ProjectsJobsCreateResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "location" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "replaceJobId" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Job :> Post '[JSON] Job)))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.Create: type ProjectsJobsCreateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "replaceJobId" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Job :> Post '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig: pjdgcXgafv :: Lens' ProjectsJobsDebugGetConfig (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig: pjdgcXgafv :: Lens' ProjectsJobsDebugGetConfig (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig: type ProjectsJobsDebugGetConfigResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> ("debug" :> ("getConfig" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] GetDebugConfigRequest :> Post '[JSON] GetDebugConfigResponse)))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig: type ProjectsJobsDebugGetConfigResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> "debug" :> "getConfig" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] GetDebugConfigRequest :> Post '[JSON] GetDebugConfigResponse
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture: pjdscXgafv :: Lens' ProjectsJobsDebugSendCapture (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture: pjdscXgafv :: Lens' ProjectsJobsDebugSendCapture (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture: type ProjectsJobsDebugSendCaptureResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> ("debug" :> ("sendCapture" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SendDebugCaptureRequest :> Post '[JSON] SendDebugCaptureResponse)))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture: type ProjectsJobsDebugSendCaptureResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> "debug" :> "sendCapture" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SendDebugCaptureRequest :> Post '[JSON] SendDebugCaptureResponse
- Network.Google.Resource.Dataflow.Projects.Jobs.Get: pjgXgafv :: Lens' ProjectsJobsGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Get: pjgXgafv :: Lens' ProjectsJobsGet (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.Get: type ProjectsJobsGetResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "location" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Job))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.Get: type ProjectsJobsGetResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: pjgmStartTime :: Lens' ProjectsJobsGetMetrics (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: pjgmStartTime :: Lens' ProjectsJobsGetMetrics (Maybe UTCTime)
- Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: pjgmXgafv :: Lens' ProjectsJobsGetMetrics (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: pjgmXgafv :: Lens' ProjectsJobsGetMetrics (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: type ProjectsJobsGetMetricsResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> ("metrics" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "location" Text :> (QueryParam "startTime" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] JobMetrics)))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics: type ProjectsJobsGetMetricsResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> "metrics" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "startTime" DateTime' :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] JobMetrics
- Network.Google.Resource.Dataflow.Projects.Jobs.List: pjlXgafv :: Lens' ProjectsJobsList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.List: pjlXgafv :: Lens' ProjectsJobsList (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.List: type ProjectsJobsListResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "location" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListJobsResponse))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.List: type ProjectsJobsListResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "filter" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListJobsResponse
- Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlEndTime :: Lens' ProjectsJobsMessagesList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlEndTime :: Lens' ProjectsJobsMessagesList (Maybe UTCTime)
- Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlStartTime :: Lens' ProjectsJobsMessagesList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlStartTime :: Lens' ProjectsJobsMessagesList (Maybe UTCTime)
- Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlXgafv :: Lens' ProjectsJobsMessagesList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: pjmlXgafv :: Lens' ProjectsJobsMessagesList (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: type ProjectsJobsMessagesListResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> ("messages" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "location" Text :> (QueryParam "startTime" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "endTime" Text :> (QueryParam "minimumImportance" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListJobMessagesResponse)))))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List: type ProjectsJobsMessagesListResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> "messages" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "startTime" DateTime' :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "endTime" DateTime' :> QueryParam "minimumImportance" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListJobMessagesResponse
- Network.Google.Resource.Dataflow.Projects.Jobs.Update: pjuXgafv :: Lens' ProjectsJobsUpdate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.Update: pjuXgafv :: Lens' ProjectsJobsUpdate (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.Update: type ProjectsJobsUpdateResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "location" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Job :> Put '[JSON] Job))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.Update: type ProjectsJobsUpdateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "location" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Job :> Put '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease: pjwilXgafv :: Lens' ProjectsJobsWorkItemsLease (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease: pjwilXgafv :: Lens' ProjectsJobsWorkItemsLease (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease: type ProjectsJobsWorkItemsLeaseResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> ("workItems:lease" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] LeaseWorkItemRequest :> Post '[JSON] LeaseWorkItemResponse))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease: type ProjectsJobsWorkItemsLeaseResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> "workItems:lease" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] LeaseWorkItemRequest :> Post '[JSON] LeaseWorkItemResponse
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus: pjwirsXgafv :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus: pjwirsXgafv :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus: type ProjectsJobsWorkItemsReportStatusResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("jobs" :> (Capture "jobId" Text :> ("workItems:reportStatus" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ReportWorkItemStatusRequest :> Post '[JSON] ReportWorkItemStatusResponse))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus: type ProjectsJobsWorkItemsReportStatusResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "jobs" :> Capture "jobId" Text :> "workItems:reportStatus" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ReportWorkItemStatusRequest :> Post '[JSON] ReportWorkItemStatusResponse
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create: pljcXgafv :: Lens' ProjectsLocationsJobsCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create: pljcXgafv :: Lens' ProjectsLocationsJobsCreate (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create: type ProjectsLocationsJobsCreateResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "replaceJobId" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Job :> Post '[JSON] Job))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create: type ProjectsLocationsJobsCreateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "replaceJobId" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Job :> Post '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get: pljgXgafv :: Lens' ProjectsLocationsJobsGet (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get: pljgXgafv :: Lens' ProjectsLocationsJobsGet (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get: type ProjectsLocationsJobsGetResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (Capture "jobId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Job)))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get: type ProjectsLocationsJobsGetResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: pljgmStartTime :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: pljgmStartTime :: Lens' ProjectsLocationsJobsGetMetrics (Maybe UTCTime)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: pljgmXgafv :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: pljgmXgafv :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: type ProjectsLocationsJobsGetMetricsResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (Capture "jobId" Text :> ("metrics" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "startTime" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] JobMetrics))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics: type ProjectsLocationsJobsGetMetricsResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> "metrics" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "startTime" DateTime' :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] JobMetrics
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List: pljlXgafv :: Lens' ProjectsLocationsJobsList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List: pljlXgafv :: Lens' ProjectsLocationsJobsList (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List: type ProjectsLocationsJobsListResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListJobsResponse)))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List: type ProjectsLocationsJobsListResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "view" Text :> QueryParam "filter" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListJobsResponse
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlEndTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlEndTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe UTCTime)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlStartTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlStartTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe UTCTime)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlXgafv :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: pljmlXgafv :: Lens' ProjectsLocationsJobsMessagesList (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: type ProjectsLocationsJobsMessagesListResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (Capture "jobId" Text :> ("messages" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "startTime" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "endTime" Text :> (QueryParam "minimumImportance" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListJobMessagesResponse))))))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List: type ProjectsLocationsJobsMessagesListResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> "messages" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "startTime" DateTime' :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "endTime" DateTime' :> QueryParam "minimumImportance" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListJobMessagesResponse
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update: pljuXgafv :: Lens' ProjectsLocationsJobsUpdate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update: pljuXgafv :: Lens' ProjectsLocationsJobsUpdate (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update: type ProjectsLocationsJobsUpdateResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (Capture "jobId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Job :> Put '[JSON] Job)))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update: type ProjectsLocationsJobsUpdateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Job :> Put '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease: pljwilXgafv :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease: pljwilXgafv :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease: type ProjectsLocationsJobsWorkItemsLeaseResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (Capture "jobId" Text :> ("workItems:lease" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] LeaseWorkItemRequest :> Post '[JSON] LeaseWorkItemResponse))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease: type ProjectsLocationsJobsWorkItemsLeaseResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> "workItems:lease" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] LeaseWorkItemRequest :> Post '[JSON] LeaseWorkItemResponse
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus: pljwirsXgafv :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus: pljwirsXgafv :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus: type ProjectsLocationsJobsWorkItemsReportStatusResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("locations" :> (Capture "location" Text :> ("jobs" :> (Capture "jobId" Text :> ("workItems:reportStatus" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ReportWorkItemStatusRequest :> Post '[JSON] ReportWorkItemStatusResponse))))))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus: type ProjectsLocationsJobsWorkItemsReportStatusResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "jobs" :> Capture "jobId" Text :> "workItems:reportStatus" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ReportWorkItemStatusRequest :> Post '[JSON] ReportWorkItemStatusResponse
- Network.Google.Resource.Dataflow.Projects.Templates.Create: ptcXgafv :: Lens' ProjectsTemplatesCreate (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.Templates.Create: ptcXgafv :: Lens' ProjectsTemplatesCreate (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.Templates.Create: type ProjectsTemplatesCreateResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("templates" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreateJobFromTemplateRequest :> Post '[JSON] Job))))))))))))
+ Network.Google.Resource.Dataflow.Projects.Templates.Create: type ProjectsTemplatesCreateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "templates" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] CreateJobFromTemplateRequest :> Post '[JSON] Job
- Network.Google.Resource.Dataflow.Projects.WorkerMessages: pwmXgafv :: Lens' ProjectsWorkerMessages (Maybe Text)
+ Network.Google.Resource.Dataflow.Projects.WorkerMessages: pwmXgafv :: Lens' ProjectsWorkerMessages (Maybe Xgafv)
- Network.Google.Resource.Dataflow.Projects.WorkerMessages: type ProjectsWorkerMessagesResource = "v1b3" :> ("projects" :> (Capture "projectId" Text :> ("WorkerMessages" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SendWorkerMessagesRequest :> Post '[JSON] SendWorkerMessagesResponse))))))))))))
+ Network.Google.Resource.Dataflow.Projects.WorkerMessages: type ProjectsWorkerMessagesResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "WorkerMessages" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SendWorkerMessagesRequest :> Post '[JSON] SendWorkerMessagesResponse

Files

gen/Network/Google/Dataflow.hs view
@@ -15,21 +15,26 @@ -- -- Manages Google Cloud Dataflow projects on Google Cloud Platform. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference>+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> module Network.Google.Dataflow     (     -- * Service Configuration       dataflowService      -- * OAuth Scopes+    , computeScope     , userInfoEmailScope     , cloudPlatformScope+    , computeReadOnlyScope      -- * API Declaration     , DataflowAPI      -- * Resources +    -- ** dataflow.projects.jobs.aggregated+    , module Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated+     -- ** dataflow.projects.jobs.create     , module Network.Google.Resource.Dataflow.Projects.Jobs.Create @@ -51,6 +56,9 @@     -- ** dataflow.projects.jobs.messages.list     , module Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List +    -- ** dataflow.projects.jobs.snapshot+    , module Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot+     -- ** dataflow.projects.jobs.update     , module Network.Google.Resource.Dataflow.Projects.Jobs.Update @@ -63,6 +71,12 @@     -- ** dataflow.projects.locations.jobs.create     , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create +    -- ** dataflow.projects.locations.jobs.debug.getConfig+    , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig++    -- ** dataflow.projects.locations.jobs.debug.sendCapture+    , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture+     -- ** dataflow.projects.locations.jobs.get     , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get @@ -75,6 +89,9 @@     -- ** dataflow.projects.locations.jobs.messages.list     , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List +    -- ** dataflow.projects.locations.jobs.snapshot+    , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot+     -- ** dataflow.projects.locations.jobs.update     , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update @@ -84,14 +101,35 @@     -- ** dataflow.projects.locations.jobs.workItems.reportStatus     , module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus +    -- ** dataflow.projects.locations.templates.create+    , module Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create++    -- ** dataflow.projects.locations.templates.get+    , module Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get++    -- ** dataflow.projects.locations.templates.launch+    , module Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch++    -- ** dataflow.projects.locations.workerMessages+    , module Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages+     -- ** dataflow.projects.templates.create     , module Network.Google.Resource.Dataflow.Projects.Templates.Create +    -- ** dataflow.projects.templates.get+    , module Network.Google.Resource.Dataflow.Projects.Templates.Get++    -- ** dataflow.projects.templates.launch+    , module Network.Google.Resource.Dataflow.Projects.Templates.Launch+     -- ** dataflow.projects.workerMessages     , module Network.Google.Resource.Dataflow.Projects.WorkerMessages      -- * Types +    -- ** NameAndKindKind+    , NameAndKindKind (..)+     -- ** JobExecutionInfoStages     , JobExecutionInfoStages     , jobExecutionInfoStages@@ -101,7 +139,6 @@     , ComputationTopology     , computationTopology     , ctStateFamilies-    , ctUserStageName     , ctInputs     , ctKeyRanges     , ctOutputs@@ -115,14 +152,19 @@     , ssrShards     , ssrOutcome -    -- ** ResourceUtilizationReportMetricsItem-    , ResourceUtilizationReportMetricsItem-    , resourceUtilizationReportMetricsItem-    , rurmiAddtional+    -- ** ParameterMetadata+    , ParameterMetadata+    , parameterMetadata+    , pmHelpText+    , pmIsOptional+    , pmName+    , pmRegexes+    , pmLabel      -- ** CreateJobFromTemplateRequest     , CreateJobFromTemplateRequest     , createJobFromTemplateRequest+    , cjftrLocation     , cjftrEnvironment     , cjftrJobName     , cjftrGcsPath@@ -173,6 +215,15 @@     , whrPods     , whrVMStartupTime +    -- ** Snapshot+    , Snapshot+    , snapshot+    , sCreationTime+    , sTtl+    , sSourceJobId+    , sId+    , sProjectId+     -- ** SourceSplitOptions     , SourceSplitOptions     , sourceSplitOptions@@ -205,6 +256,19 @@     , ioOriginalName     , ioOnlyCountKeyBytes +    -- ** IntegerGauge+    , IntegerGauge+    , integerGauge+    , igValue+    , igTimestamp++    -- ** LaunchTemplateParameters+    , LaunchTemplateParameters+    , launchTemplateParameters+    , ltpEnvironment+    , ltpJobName+    , ltpParameters+     -- ** ReportWorkItemStatusRequest     , ReportWorkItemStatusRequest     , reportWorkItemStatusRequest@@ -213,11 +277,20 @@     , rwisrWorkItemStatuses     , rwisrWorkerId +    -- ** JobType+    , JobType (..)+     -- ** EnvironmentVersion     , EnvironmentVersion     , environmentVersion     , evAddtional +    -- ** StreamingApplianceSnapshotConfig+    , StreamingApplianceSnapshotConfig+    , streamingApplianceSnapshotConfig+    , sascImportStateEndpoint+    , sascSnapshotId+     -- ** Sink     , Sink     , sink@@ -234,10 +307,33 @@     , workerHealthReportResponse     , whrrReportInterval +    -- ** DisplayData+    , DisplayData+    , displayData+    , ddDurationValue+    , ddBoolValue+    , ddTimestampValue+    , ddURL+    , ddNamespace+    , ddJavaClassValue+    , ddShortStrValue+    , ddKey+    , ddInt64Value+    , ddFloatValue+    , ddStrValue+    , ddLabel+     -- ** SendDebugCaptureResponse     , SendDebugCaptureResponse     , sendDebugCaptureResponse +    -- ** StructuredMessage+    , StructuredMessage+    , structuredMessage+    , smMessageText+    , smMessageKey+    , smParameters+     -- ** JobLabels     , JobLabels     , jobLabels@@ -250,18 +346,53 @@     , msnContext     , msnName +    -- ** BigQueryIODetails+    , BigQueryIODetails+    , bigQueryIODetails+    , bqiodDataSet+    , bqiodQuery+    , bqiodProjectId+    , bqiodTable++    -- ** FileIODetails+    , FileIODetails+    , fileIODetails+    , fiodFilePattern++    -- ** WorkerPoolTeardownPolicy+    , WorkerPoolTeardownPolicy (..)+     -- ** CounterStructuredName     , CounterStructuredName     , counterStructuredName-    , csnStandardOrigin+    , csnOrigin+    , csnOriginNamespace     , csnComponentStepName-    , csnOtherOrigin     , csnPortion     , csnOriginalStepName     , csnName     , csnExecutionStepName+    , csnOriginalRequestingStepName+    , csnInputIndex     , csnWorkerId +    -- ** JobMetadata+    , JobMetadata+    , jobMetadata+    , jmSpannerDetails+    , jmBigTableDetails+    , jmSdkVersion+    , jmPubsubDetails+    , jmFileDetails+    , jmBigQueryDetails+    , jmDatastoreDetails++    -- ** GetTemplateResponse+    , GetTemplateResponse+    , getTemplateResponse+    , gtrStatus+    , gtrMetadata+     -- ** WriteInstruction     , WriteInstruction     , writeInstruction@@ -286,8 +417,10 @@     , muMeanSum     , muInternal     , muSet+    , muDistribution     , muCumulative     , muKind+    , muGauge     , muUpdateTime     , muMeanCount     , muName@@ -298,6 +431,13 @@     , sourceGetMetadataResponse     , sgmrMetadata +    -- ** TemplateMetadata+    , TemplateMetadata+    , templateMetadata+    , tmName+    , tmParameters+    , tmDescription+     -- ** Environment     , Environment     , environment@@ -332,6 +472,7 @@     , cuInternal     , cuStringList     , cuShortId+    , cuIntegerGauge     , cuDistribution     , cuCumulative     , cuStructuredNameAndMetadata@@ -346,6 +487,9 @@     , streamingStageLocation     , sslStreamId +    -- ** AutoscalingSettingsAlgorithm+    , AutoscalingSettingsAlgorithm (..)+     -- ** DerivedSource     , DerivedSource     , derivedSource@@ -358,9 +502,13 @@     , jmMetrics     , jmMetricTime +    -- ** TransformSummaryKind+    , TransformSummaryKind (..)+     -- ** SendDebugCaptureRequest     , SendDebugCaptureRequest     , sendDebugCaptureRequest+    , sdcrLocation     , sdcrData     , sdcrComponentId     , sdcrWorkerId@@ -370,6 +518,7 @@     , workItemStatus     , wisReportedProgress     , wisProgress+    , wisTotalThrottlerWaitTimeSeconds     , wisSourceOperationResponse     , wisStopPosition     , wisDynamicSourceSplit@@ -398,6 +547,16 @@     , wmcParameters     , wmcCode +    -- ** TransformSummary+    , TransformSummary+    , transformSummary+    , tsDisplayData+    , tsKind+    , tsOutputCollectionName+    , tsInputCollectionName+    , tsName+    , tsId+     -- ** JobTransformNameMApping     , JobTransformNameMApping     , jobTransformNameMApping@@ -462,6 +621,13 @@     , fpmCount     , fpmSum +    -- ** CPUTime+    , CPUTime+    , cpuTime+    , ctTotalMs+    , ctRate+    , ctTimestamp+     -- ** LeaseWorkItemRequest     , LeaseWorkItemRequest     , leaseWorkItemRequest@@ -478,6 +644,9 @@     , sorSplit     , sorGetMetadata +    -- ** CounterStructuredNamePortion+    , CounterStructuredNamePortion (..)+     -- ** TopologyConfigUserStageToComputationNameMap     , TopologyConfigUserStageToComputationNameMap     , topologyConfigUserStageToComputationNameMap@@ -489,6 +658,15 @@     , stCommand     , stExitCode +    -- ** JobMessageMessageImportance+    , JobMessageMessageImportance (..)++    -- ** DatastoreIODetails+    , DatastoreIODetails+    , datastoreIODetails+    , diodNamespace+    , diodProjectId+     -- ** StatusDetailsItem     , StatusDetailsItem     , statusDetailsItem@@ -518,6 +696,7 @@     , ApproximateSplitRequest     , approximateSplitRequest     , asrFractionConsumed+    , asrFractionOfRemainder     , asrPosition      -- ** SplitInt64@@ -541,6 +720,13 @@     , getDebugConfigResponse     , gdcrConfig +    -- ** SdkVersion+    , SdkVersion+    , sdkVersion+    , svSdkSupportStatus+    , svVersionDisplayName+    , svVersion+     -- ** WorkItemServiceStateHarnessData     , WorkItemServiceStateHarnessData     , workItemServiceStateHarnessData@@ -555,24 +741,35 @@     -- ** ResourceUtilizationReport     , ResourceUtilizationReport     , resourceUtilizationReport-    , rurMetrics+    , rurCPUTime      -- ** FailedLocation     , FailedLocation     , failedLocation     , flName +    -- ** SourceSplitResponseOutcome+    , SourceSplitResponseOutcome (..)+     -- ** WorkerMessageResponse     , WorkerMessageResponse     , workerMessageResponse     , wmrWorkerHealthReportResponse     , wmrWorkerMetricsResponse+    , wmrWorkerShutdownNoticeResponse      -- ** CreateJobFromTemplateRequestParameters     , CreateJobFromTemplateRequestParameters     , createJobFromTemplateRequestParameters     , cjftrpAddtional +    -- ** BigTableIODetails+    , BigTableIODetails+    , bigTableIODetails+    , btiodInstanceId+    , btiodProjectId+    , btiodTableId+     -- ** WorkItemServiceState     , WorkItemServiceState     , workItemServiceState@@ -585,6 +782,11 @@     , wissSplitRequest     , wissMetricShortId +    -- ** LaunchTemplateResponse+    , LaunchTemplateResponse+    , launchTemplateResponse+    , ltrJob+     -- ** StreamingSetupTask     , StreamingSetupTask     , streamingSetupTask@@ -592,6 +794,7 @@     , sstReceiveWorkPort     , sstWorkerHarnessPort     , sstDrain+    , sstSnapshotConfig      -- ** PartialGroupByKeyInstructionInputElementCodec     , PartialGroupByKeyInstructionInputElementCodec@@ -602,6 +805,7 @@     , MapTask     , mapTask     , mtInstructions+    , mtCounterPrefix     , mtSystemName     , mtStageName @@ -615,12 +819,21 @@     , sinkCodec     , scAddtional +    -- ** SourceSplitShardDerivationMode+    , SourceSplitShardDerivationMode (..)++    -- ** WorkerPoolDefaultPackageSet+    , WorkerPoolDefaultPackageSet (..)+     -- ** IntegerMean     , IntegerMean     , integerMean     , imCount     , imSum +    -- ** CounterMetadataKind+    , CounterMetadataKind (..)+     -- ** WorkerHealthReportPodsItem     , WorkerHealthReportPodsItem     , workerHealthReportPodsItem@@ -644,6 +857,11 @@     , slCustomSourceLocation     , slPubsubLocation +    -- ** WorkerLifecycleEventMetadata+    , WorkerLifecycleEventMetadata+    , workerLifecycleEventMetadata+    , wlemAddtional+     -- ** WorkerPoolPoolArgs     , WorkerPoolPoolArgs     , workerPoolPoolArgs@@ -652,9 +870,15 @@     -- ** RuntimeEnvironment     , RuntimeEnvironment     , runtimeEnvironment+    , reNumWorkers+    , reNetwork     , reZone     , reBypassTempDirValidation+    , reSubnetwork+    , reMachineType+    , reAdditionalUserLabels     , reServiceAccountEmail+    , reAdditionalExperiments     , reMaxWorkers     , reTempLocation @@ -671,6 +895,9 @@     , sendWorkerMessagesResponse     , swmrWorkerMessageResponses +    -- ** JobCurrentState+    , JobCurrentState (..)+     -- ** StreamingSideInputLocation     , StreamingSideInputLocation     , streamingSideInputLocation@@ -680,6 +907,7 @@     -- ** GetDebugConfigRequest     , GetDebugConfigRequest     , getDebugConfigRequest+    , gdcrLocation     , gdcrComponentId     , gdcrWorkerId @@ -689,6 +917,11 @@     , csnamName     , csnamMetadata +    -- ** WorkerShutdownNotice+    , WorkerShutdownNotice+    , workerShutdownNotice+    , wsnReason+     -- ** StreamingComputationTask     , StreamingComputationTask     , streamingComputationTask@@ -696,6 +929,13 @@     , sctDataDisks     , sctComputationRanges +    -- ** PipelineDescription+    , PipelineDescription+    , pipelineDescription+    , pdExecutionPipelineStage+    , pdDisplayData+    , pdOriginalPipelineTransform+     -- ** JobMessage     , JobMessage     , jobMessage@@ -704,17 +944,42 @@     , jmMessageImportance     , jmId +    -- ** WorkerLifecycleEvent+    , WorkerLifecycleEvent+    , workerLifecycleEvent+    , wleEvent+    , wleContainerStartTime+    , wleMetadata++    -- ** RuntimeEnvironmentAdditionalUserLabels+    , RuntimeEnvironmentAdditionalUserLabels+    , runtimeEnvironmentAdditionalUserLabels+    , reaulAddtional++    -- ** CounterMetadataStandardUnits+    , CounterMetadataStandardUnits (..)+     -- ** SeqMapTaskOutputInfo     , SeqMapTaskOutputInfo     , seqMapTaskOutputInfo     , smtoiSink     , smtoiTag +    -- ** PubSubIODetails+    , PubSubIODetails+    , pubSubIODetails+    , psiodTopic+    , psiodSubscription+     -- ** SourceGetMetadataRequest     , SourceGetMetadataRequest     , sourceGetMetadataRequest     , sgmrSource +    -- ** WorkerShutdownNoticeResponse+    , WorkerShutdownNoticeResponse+    , workerShutdownNoticeResponse+     -- ** SeqMapTaskUserFn     , SeqMapTaskUserFn     , seqMapTaskUserFn@@ -728,14 +993,20 @@     -- ** Job     , Job     , job+    , jStepsLocation+    , jCreatedFromSnapshotId     , jRequestedState+    , jJobMetadata     , jLocation+    , jStartTime     , jEnvironment     , jClientRequestId+    , jStageStates     , jCurrentState     , jReplacedByJobId     , jTempFiles     , jSteps+    , jPipelineDescription     , jExecutionInfo     , jName     , jTransformNameMApping@@ -747,6 +1018,9 @@     , jReplaceJobId     , jCreateTime +    -- ** AutoscalingEventEventType+    , AutoscalingEventEventType (..)+     -- ** ReadInstruction     , ReadInstruction     , readInstruction@@ -760,6 +1034,9 @@     , arpRemainingParallelism     , arpPosition +    -- ** DerivedSourceDerivationMode+    , DerivedSourceDerivationMode (..)+     -- ** SinkSpec     , SinkSpec     , sinkSpec@@ -797,12 +1074,36 @@     , sName     , sProperties +    -- ** ComponentSource+    , ComponentSource+    , componentSource+    , csUserName+    , csName+    , csOriginalTransformOrCollection++    -- ** ExecutionStageSummaryKind+    , ExecutionStageSummaryKind (..)++    -- ** Xgafv+    , Xgafv (..)+     -- ** Package     , Package     , package     , pLocation     , pName +    -- ** ExecutionStageSummary+    , ExecutionStageSummary+    , executionStageSummary+    , essOutputSource+    , essKind+    , essInputSource+    , essName+    , essComponentSource+    , essId+    , essComponentTransform+     -- ** WorkerMessageCodeParameters     , WorkerMessageCodeParameters     , workerMessageCodeParameters@@ -814,6 +1115,12 @@     , dssResidual     , dssPrimary +    -- ** SnapshotJobRequest+    , SnapshotJobRequest+    , snapshotJobRequest+    , sjrTtl+    , sjrLocation+     -- ** ReportWorkItemStatusResponse     , ReportWorkItemStatusResponse     , reportWorkItemStatusResponse@@ -844,6 +1151,11 @@     , ljrFailedLocation     , ljrJobs +    -- ** LaunchTemplateParametersParameters+    , LaunchTemplateParametersParameters+    , launchTemplateParametersParameters+    , ltppAddtional+     -- ** Source     , Source     , source@@ -867,17 +1179,28 @@     , wmTime     , wmWorkerMessageCode     , wmWorkerMetrics+    , wmWorkerLifecycleEvent+    , wmWorkerShutdownNotice     , wmLabels      -- ** KeyRangeLocation     , KeyRangeLocation     , keyRangeLocation-    , krlPersistentDirectory     , krlDataDisk+    , krlDeprecatedPersistentDirectory     , krlStart     , krlDeliveryEndpoint     , krlEnd +    -- ** Histogram+    , Histogram+    , histogram+    , hBucketCounts+    , hFirstBucketOffSet++    -- ** JobRequestedState+    , JobRequestedState (..)+     -- ** MultiOutputInfo     , MultiOutputInfo     , multiOutputInfo@@ -893,6 +1216,12 @@     , pgbkiInputElementCodec     , pgbkiOriginalCombineValuesInputStoreName +    -- ** WorkerLifecycleEventEvent+    , WorkerLifecycleEventEvent (..)++    -- ** ExecutionStageStateExecutionStageState+    , ExecutionStageStateExecutionStageState (..)+     -- ** ParDoInstruction     , ParDoInstruction     , parDoInstruction@@ -913,6 +1242,7 @@     , duMax     , duCount     , duMin+    , duHistogram     , duSumOfSquares     , duSum @@ -944,6 +1274,8 @@     , streamingConfigTask     , sctUserStepToStateFamilyNameMap     , sctStreamingComputationConfigs+    , sctWindmillServiceEndpoint+    , sctWindmillServicePort      -- ** MetricShortId     , MetricShortId@@ -954,6 +1286,7 @@     -- ** SendWorkerMessagesRequest     , SendWorkerMessagesRequest     , sendWorkerMessagesRequest+    , swmrLocation     , swmrWorkerMessages      -- ** SourceSplitShard@@ -969,6 +1302,16 @@     , siiKind     , siiSources +    -- ** ComponentTransform+    , ComponentTransform+    , componentTransform+    , ctOriginalTransform+    , ctUserName+    , ctName++    -- ** WorkerPoolIPConfiguration+    , WorkerPoolIPConfiguration (..)+     -- ** JobExecutionInfo     , JobExecutionInfo     , jobExecutionInfo@@ -992,6 +1335,16 @@     , krddaStart     , krddaEnd +    -- ** AutoscalingEvent+    , AutoscalingEvent+    , autoscalingEvent+    , aeCurrentNumWorkers+    , aeTime+    , aeEventType+    , aeTargetNumWorkers+    , aeWorkerPool+    , aeDescription+     -- ** SourceSplitRequest     , SourceSplitRequest     , sourceSplitRequest@@ -1003,6 +1356,7 @@     , listJobMessagesResponse     , ljmrJobMessages     , ljmrNextPageToken+    , ljmrAutoscalingEvents      -- ** PubsubLocation     , PubsubLocation@@ -1020,6 +1374,9 @@     , floatingPointList     , fplElements +    -- ** CounterStructuredNameOrigin+    , CounterStructuredNameOrigin (..)+     -- ** InstructionInput     , InstructionInput     , instructionInput@@ -1036,17 +1393,49 @@     , smtStageName     , smtUserFn +    -- ** StreamingComputationTaskTaskType+    , StreamingComputationTaskTaskType (..)+     -- ** StreamingConfigTaskUserStepToStateFamilyNameMap     , StreamingConfigTaskUserStepToStateFamilyNameMap     , streamingConfigTaskUserStepToStateFamilyNameMap     , sctustsfnmAddtional +    -- ** ExecutionStageState+    , ExecutionStageState+    , executionStageState+    , essExecutionStageName+    , essCurrentStateTime+    , essExecutionStageState++    -- ** StageSource+    , StageSource+    , stageSource+    , ssSizeBytes+    , ssUserName+    , ssName+    , ssOriginalTransformOrCollection+     -- ** SourceOperationRequest     , SourceOperationRequest     , sourceOperationRequest-    , sSplit-    , sGetMetadata+    , souSplit+    , souGetMetadata+    , souName+    , souSystemName+    , souStageName+    , souOriginalName +    -- ** SdkVersionSdkSupportStatus+    , SdkVersionSdkSupportStatus (..)++    -- ** SpannerIODetails+    , SpannerIODetails+    , spannerIODetails+    , siodInstanceId+    , siodDatabaseId+    , siodProjectId+     -- ** LeaseWorkItemResponse     , LeaseWorkItemResponse     , leaseWorkItemResponse@@ -1061,10 +1450,17 @@     , pShufflePosition     , pKey     , pEnd++    -- ** Parameter+    , Parameter+    , parameter+    , parValue+    , parKey     ) where  import           Network.Google.Dataflow.Types import           Network.Google.Prelude+import           Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated import           Network.Google.Resource.Dataflow.Projects.Jobs.Create import           Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig import           Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture@@ -1072,44 +1468,65 @@ import           Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics import           Network.Google.Resource.Dataflow.Projects.Jobs.List import           Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List+import           Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot import           Network.Google.Resource.Dataflow.Projects.Jobs.Update import           Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease import           Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create+import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig+import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List+import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease import           Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus+import           Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create+import           Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get+import           Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch+import           Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages import           Network.Google.Resource.Dataflow.Projects.Templates.Create+import           Network.Google.Resource.Dataflow.Projects.Templates.Get+import           Network.Google.Resource.Dataflow.Projects.Templates.Launch import           Network.Google.Resource.Dataflow.Projects.WorkerMessages  {- $resources TODO -} --- | Represents the entirety of the methods and resources available for the Google Dataflow API service.+-- | Represents the entirety of the methods and resources available for the Dataflow API service. type DataflowAPI =-     ProjectsTemplatesCreateResource :<|>-       ProjectsJobsDebugGetConfigResource+     ProjectsTemplatesLaunchResource :<|>+       ProjectsTemplatesGetResource+       :<|> ProjectsTemplatesCreateResource+       :<|> ProjectsJobsDebugGetConfigResource        :<|> ProjectsJobsDebugSendCaptureResource        :<|> ProjectsJobsWorkItemsLeaseResource        :<|> ProjectsJobsWorkItemsReportStatusResource        :<|> ProjectsJobsMessagesListResource+       :<|> ProjectsJobsSnapshotResource        :<|> ProjectsJobsListResource+       :<|> ProjectsJobsAggregatedResource        :<|> ProjectsJobsGetResource        :<|> ProjectsJobsCreateResource        :<|> ProjectsJobsUpdateResource        :<|> ProjectsJobsGetMetricsResource+       :<|> ProjectsLocationsTemplatesLaunchResource+       :<|> ProjectsLocationsTemplatesGetResource+       :<|> ProjectsLocationsTemplatesCreateResource+       :<|> ProjectsLocationsJobsDebugGetConfigResource+       :<|> ProjectsLocationsJobsDebugSendCaptureResource        :<|> ProjectsLocationsJobsWorkItemsLeaseResource        :<|>        ProjectsLocationsJobsWorkItemsReportStatusResource        :<|> ProjectsLocationsJobsMessagesListResource+       :<|> ProjectsLocationsJobsSnapshotResource        :<|> ProjectsLocationsJobsListResource        :<|> ProjectsLocationsJobsGetResource        :<|> ProjectsLocationsJobsCreateResource        :<|> ProjectsLocationsJobsUpdateResource        :<|> ProjectsLocationsJobsGetMetricsResource+       :<|> ProjectsLocationsWorkerMessagesResource        :<|> ProjectsWorkerMessagesResource
gen/Network/Google/Dataflow/Types.hs view
@@ -20,9 +20,14 @@       dataflowService      -- * OAuth Scopes+    , computeScope     , userInfoEmailScope     , cloudPlatformScope+    , computeReadOnlyScope +    -- * NameAndKindKind+    , NameAndKindKind (..)+     -- * JobExecutionInfoStages     , JobExecutionInfoStages     , jobExecutionInfoStages@@ -32,7 +37,6 @@     , ComputationTopology     , computationTopology     , ctStateFamilies-    , ctUserStageName     , ctInputs     , ctKeyRanges     , ctOutputs@@ -46,14 +50,19 @@     , ssrShards     , ssrOutcome -    -- * ResourceUtilizationReportMetricsItem-    , ResourceUtilizationReportMetricsItem-    , resourceUtilizationReportMetricsItem-    , rurmiAddtional+    -- * ParameterMetadata+    , ParameterMetadata+    , parameterMetadata+    , pmHelpText+    , pmIsOptional+    , pmName+    , pmRegexes+    , pmLabel      -- * CreateJobFromTemplateRequest     , CreateJobFromTemplateRequest     , createJobFromTemplateRequest+    , cjftrLocation     , cjftrEnvironment     , cjftrJobName     , cjftrGcsPath@@ -104,6 +113,15 @@     , whrPods     , whrVMStartupTime +    -- * Snapshot+    , Snapshot+    , snapshot+    , sCreationTime+    , sTtl+    , sSourceJobId+    , sId+    , sProjectId+     -- * SourceSplitOptions     , SourceSplitOptions     , sourceSplitOptions@@ -136,6 +154,19 @@     , ioOriginalName     , ioOnlyCountKeyBytes +    -- * IntegerGauge+    , IntegerGauge+    , integerGauge+    , igValue+    , igTimestamp++    -- * LaunchTemplateParameters+    , LaunchTemplateParameters+    , launchTemplateParameters+    , ltpEnvironment+    , ltpJobName+    , ltpParameters+     -- * ReportWorkItemStatusRequest     , ReportWorkItemStatusRequest     , reportWorkItemStatusRequest@@ -144,11 +175,20 @@     , rwisrWorkItemStatuses     , rwisrWorkerId +    -- * JobType+    , JobType (..)+     -- * EnvironmentVersion     , EnvironmentVersion     , environmentVersion     , evAddtional +    -- * StreamingApplianceSnapshotConfig+    , StreamingApplianceSnapshotConfig+    , streamingApplianceSnapshotConfig+    , sascImportStateEndpoint+    , sascSnapshotId+     -- * Sink     , Sink     , sink@@ -165,10 +205,33 @@     , workerHealthReportResponse     , whrrReportInterval +    -- * DisplayData+    , DisplayData+    , displayData+    , ddDurationValue+    , ddBoolValue+    , ddTimestampValue+    , ddURL+    , ddNamespace+    , ddJavaClassValue+    , ddShortStrValue+    , ddKey+    , ddInt64Value+    , ddFloatValue+    , ddStrValue+    , ddLabel+     -- * SendDebugCaptureResponse     , SendDebugCaptureResponse     , sendDebugCaptureResponse +    -- * StructuredMessage+    , StructuredMessage+    , structuredMessage+    , smMessageText+    , smMessageKey+    , smParameters+     -- * JobLabels     , JobLabels     , jobLabels@@ -181,18 +244,53 @@     , msnContext     , msnName +    -- * BigQueryIODetails+    , BigQueryIODetails+    , bigQueryIODetails+    , bqiodDataSet+    , bqiodQuery+    , bqiodProjectId+    , bqiodTable++    -- * FileIODetails+    , FileIODetails+    , fileIODetails+    , fiodFilePattern++    -- * WorkerPoolTeardownPolicy+    , WorkerPoolTeardownPolicy (..)+     -- * CounterStructuredName     , CounterStructuredName     , counterStructuredName-    , csnStandardOrigin+    , csnOrigin+    , csnOriginNamespace     , csnComponentStepName-    , csnOtherOrigin     , csnPortion     , csnOriginalStepName     , csnName     , csnExecutionStepName+    , csnOriginalRequestingStepName+    , csnInputIndex     , csnWorkerId +    -- * JobMetadata+    , JobMetadata+    , jobMetadata+    , jmSpannerDetails+    , jmBigTableDetails+    , jmSdkVersion+    , jmPubsubDetails+    , jmFileDetails+    , jmBigQueryDetails+    , jmDatastoreDetails++    -- * GetTemplateResponse+    , GetTemplateResponse+    , getTemplateResponse+    , gtrStatus+    , gtrMetadata+     -- * WriteInstruction     , WriteInstruction     , writeInstruction@@ -217,8 +315,10 @@     , muMeanSum     , muInternal     , muSet+    , muDistribution     , muCumulative     , muKind+    , muGauge     , muUpdateTime     , muMeanCount     , muName@@ -229,6 +329,13 @@     , sourceGetMetadataResponse     , sgmrMetadata +    -- * TemplateMetadata+    , TemplateMetadata+    , templateMetadata+    , tmName+    , tmParameters+    , tmDescription+     -- * Environment     , Environment     , environment@@ -263,6 +370,7 @@     , cuInternal     , cuStringList     , cuShortId+    , cuIntegerGauge     , cuDistribution     , cuCumulative     , cuStructuredNameAndMetadata@@ -277,6 +385,9 @@     , streamingStageLocation     , sslStreamId +    -- * AutoscalingSettingsAlgorithm+    , AutoscalingSettingsAlgorithm (..)+     -- * DerivedSource     , DerivedSource     , derivedSource@@ -289,9 +400,13 @@     , jmMetrics     , jmMetricTime +    -- * TransformSummaryKind+    , TransformSummaryKind (..)+     -- * SendDebugCaptureRequest     , SendDebugCaptureRequest     , sendDebugCaptureRequest+    , sdcrLocation     , sdcrData     , sdcrComponentId     , sdcrWorkerId@@ -301,6 +416,7 @@     , workItemStatus     , wisReportedProgress     , wisProgress+    , wisTotalThrottlerWaitTimeSeconds     , wisSourceOperationResponse     , wisStopPosition     , wisDynamicSourceSplit@@ -329,6 +445,16 @@     , wmcParameters     , wmcCode +    -- * TransformSummary+    , TransformSummary+    , transformSummary+    , tsDisplayData+    , tsKind+    , tsOutputCollectionName+    , tsInputCollectionName+    , tsName+    , tsId+     -- * JobTransformNameMApping     , JobTransformNameMApping     , jobTransformNameMApping@@ -393,6 +519,13 @@     , fpmCount     , fpmSum +    -- * CPUTime+    , CPUTime+    , cpuTime+    , ctTotalMs+    , ctRate+    , ctTimestamp+     -- * LeaseWorkItemRequest     , LeaseWorkItemRequest     , leaseWorkItemRequest@@ -409,6 +542,9 @@     , sorSplit     , sorGetMetadata +    -- * CounterStructuredNamePortion+    , CounterStructuredNamePortion (..)+     -- * TopologyConfigUserStageToComputationNameMap     , TopologyConfigUserStageToComputationNameMap     , topologyConfigUserStageToComputationNameMap@@ -420,6 +556,15 @@     , stCommand     , stExitCode +    -- * JobMessageMessageImportance+    , JobMessageMessageImportance (..)++    -- * DatastoreIODetails+    , DatastoreIODetails+    , datastoreIODetails+    , diodNamespace+    , diodProjectId+     -- * StatusDetailsItem     , StatusDetailsItem     , statusDetailsItem@@ -449,6 +594,7 @@     , ApproximateSplitRequest     , approximateSplitRequest     , asrFractionConsumed+    , asrFractionOfRemainder     , asrPosition      -- * SplitInt64@@ -472,6 +618,13 @@     , getDebugConfigResponse     , gdcrConfig +    -- * SdkVersion+    , SdkVersion+    , sdkVersion+    , svSdkSupportStatus+    , svVersionDisplayName+    , svVersion+     -- * WorkItemServiceStateHarnessData     , WorkItemServiceStateHarnessData     , workItemServiceStateHarnessData@@ -486,24 +639,35 @@     -- * ResourceUtilizationReport     , ResourceUtilizationReport     , resourceUtilizationReport-    , rurMetrics+    , rurCPUTime      -- * FailedLocation     , FailedLocation     , failedLocation     , flName +    -- * SourceSplitResponseOutcome+    , SourceSplitResponseOutcome (..)+     -- * WorkerMessageResponse     , WorkerMessageResponse     , workerMessageResponse     , wmrWorkerHealthReportResponse     , wmrWorkerMetricsResponse+    , wmrWorkerShutdownNoticeResponse      -- * CreateJobFromTemplateRequestParameters     , CreateJobFromTemplateRequestParameters     , createJobFromTemplateRequestParameters     , cjftrpAddtional +    -- * BigTableIODetails+    , BigTableIODetails+    , bigTableIODetails+    , btiodInstanceId+    , btiodProjectId+    , btiodTableId+     -- * WorkItemServiceState     , WorkItemServiceState     , workItemServiceState@@ -516,6 +680,11 @@     , wissSplitRequest     , wissMetricShortId +    -- * LaunchTemplateResponse+    , LaunchTemplateResponse+    , launchTemplateResponse+    , ltrJob+     -- * StreamingSetupTask     , StreamingSetupTask     , streamingSetupTask@@ -523,6 +692,7 @@     , sstReceiveWorkPort     , sstWorkerHarnessPort     , sstDrain+    , sstSnapshotConfig      -- * PartialGroupByKeyInstructionInputElementCodec     , PartialGroupByKeyInstructionInputElementCodec@@ -533,6 +703,7 @@     , MapTask     , mapTask     , mtInstructions+    , mtCounterPrefix     , mtSystemName     , mtStageName @@ -546,12 +717,21 @@     , sinkCodec     , scAddtional +    -- * SourceSplitShardDerivationMode+    , SourceSplitShardDerivationMode (..)++    -- * WorkerPoolDefaultPackageSet+    , WorkerPoolDefaultPackageSet (..)+     -- * IntegerMean     , IntegerMean     , integerMean     , imCount     , imSum +    -- * CounterMetadataKind+    , CounterMetadataKind (..)+     -- * WorkerHealthReportPodsItem     , WorkerHealthReportPodsItem     , workerHealthReportPodsItem@@ -575,6 +755,11 @@     , slCustomSourceLocation     , slPubsubLocation +    -- * WorkerLifecycleEventMetadata+    , WorkerLifecycleEventMetadata+    , workerLifecycleEventMetadata+    , wlemAddtional+     -- * WorkerPoolPoolArgs     , WorkerPoolPoolArgs     , workerPoolPoolArgs@@ -583,9 +768,15 @@     -- * RuntimeEnvironment     , RuntimeEnvironment     , runtimeEnvironment+    , reNumWorkers+    , reNetwork     , reZone     , reBypassTempDirValidation+    , reSubnetwork+    , reMachineType+    , reAdditionalUserLabels     , reServiceAccountEmail+    , reAdditionalExperiments     , reMaxWorkers     , reTempLocation @@ -602,6 +793,9 @@     , sendWorkerMessagesResponse     , swmrWorkerMessageResponses +    -- * JobCurrentState+    , JobCurrentState (..)+     -- * StreamingSideInputLocation     , StreamingSideInputLocation     , streamingSideInputLocation@@ -611,6 +805,7 @@     -- * GetDebugConfigRequest     , GetDebugConfigRequest     , getDebugConfigRequest+    , gdcrLocation     , gdcrComponentId     , gdcrWorkerId @@ -620,6 +815,11 @@     , csnamName     , csnamMetadata +    -- * WorkerShutdownNotice+    , WorkerShutdownNotice+    , workerShutdownNotice+    , wsnReason+     -- * StreamingComputationTask     , StreamingComputationTask     , streamingComputationTask@@ -627,6 +827,13 @@     , sctDataDisks     , sctComputationRanges +    -- * PipelineDescription+    , PipelineDescription+    , pipelineDescription+    , pdExecutionPipelineStage+    , pdDisplayData+    , pdOriginalPipelineTransform+     -- * JobMessage     , JobMessage     , jobMessage@@ -635,17 +842,42 @@     , jmMessageImportance     , jmId +    -- * WorkerLifecycleEvent+    , WorkerLifecycleEvent+    , workerLifecycleEvent+    , wleEvent+    , wleContainerStartTime+    , wleMetadata++    -- * RuntimeEnvironmentAdditionalUserLabels+    , RuntimeEnvironmentAdditionalUserLabels+    , runtimeEnvironmentAdditionalUserLabels+    , reaulAddtional++    -- * CounterMetadataStandardUnits+    , CounterMetadataStandardUnits (..)+     -- * SeqMapTaskOutputInfo     , SeqMapTaskOutputInfo     , seqMapTaskOutputInfo     , smtoiSink     , smtoiTag +    -- * PubSubIODetails+    , PubSubIODetails+    , pubSubIODetails+    , psiodTopic+    , psiodSubscription+     -- * SourceGetMetadataRequest     , SourceGetMetadataRequest     , sourceGetMetadataRequest     , sgmrSource +    -- * WorkerShutdownNoticeResponse+    , WorkerShutdownNoticeResponse+    , workerShutdownNoticeResponse+     -- * SeqMapTaskUserFn     , SeqMapTaskUserFn     , seqMapTaskUserFn@@ -659,14 +891,20 @@     -- * Job     , Job     , job+    , jStepsLocation+    , jCreatedFromSnapshotId     , jRequestedState+    , jJobMetadata     , jLocation+    , jStartTime     , jEnvironment     , jClientRequestId+    , jStageStates     , jCurrentState     , jReplacedByJobId     , jTempFiles     , jSteps+    , jPipelineDescription     , jExecutionInfo     , jName     , jTransformNameMApping@@ -678,6 +916,9 @@     , jReplaceJobId     , jCreateTime +    -- * AutoscalingEventEventType+    , AutoscalingEventEventType (..)+     -- * ReadInstruction     , ReadInstruction     , readInstruction@@ -691,6 +932,9 @@     , arpRemainingParallelism     , arpPosition +    -- * DerivedSourceDerivationMode+    , DerivedSourceDerivationMode (..)+     -- * SinkSpec     , SinkSpec     , sinkSpec@@ -728,12 +972,36 @@     , sName     , sProperties +    -- * ComponentSource+    , ComponentSource+    , componentSource+    , csUserName+    , csName+    , csOriginalTransformOrCollection++    -- * ExecutionStageSummaryKind+    , ExecutionStageSummaryKind (..)++    -- * Xgafv+    , Xgafv (..)+     -- * Package     , Package     , package     , pLocation     , pName +    -- * ExecutionStageSummary+    , ExecutionStageSummary+    , executionStageSummary+    , essOutputSource+    , essKind+    , essInputSource+    , essName+    , essComponentSource+    , essId+    , essComponentTransform+     -- * WorkerMessageCodeParameters     , WorkerMessageCodeParameters     , workerMessageCodeParameters@@ -745,6 +1013,12 @@     , dssResidual     , dssPrimary +    -- * SnapshotJobRequest+    , SnapshotJobRequest+    , snapshotJobRequest+    , sjrTtl+    , sjrLocation+     -- * ReportWorkItemStatusResponse     , ReportWorkItemStatusResponse     , reportWorkItemStatusResponse@@ -775,6 +1049,11 @@     , ljrFailedLocation     , ljrJobs +    -- * LaunchTemplateParametersParameters+    , LaunchTemplateParametersParameters+    , launchTemplateParametersParameters+    , ltppAddtional+     -- * Source     , Source     , source@@ -798,17 +1077,28 @@     , wmTime     , wmWorkerMessageCode     , wmWorkerMetrics+    , wmWorkerLifecycleEvent+    , wmWorkerShutdownNotice     , wmLabels      -- * KeyRangeLocation     , KeyRangeLocation     , keyRangeLocation-    , krlPersistentDirectory     , krlDataDisk+    , krlDeprecatedPersistentDirectory     , krlStart     , krlDeliveryEndpoint     , krlEnd +    -- * Histogram+    , Histogram+    , histogram+    , hBucketCounts+    , hFirstBucketOffSet++    -- * JobRequestedState+    , JobRequestedState (..)+     -- * MultiOutputInfo     , MultiOutputInfo     , multiOutputInfo@@ -824,6 +1114,12 @@     , pgbkiInputElementCodec     , pgbkiOriginalCombineValuesInputStoreName +    -- * WorkerLifecycleEventEvent+    , WorkerLifecycleEventEvent (..)++    -- * ExecutionStageStateExecutionStageState+    , ExecutionStageStateExecutionStageState (..)+     -- * ParDoInstruction     , ParDoInstruction     , parDoInstruction@@ -844,6 +1140,7 @@     , duMax     , duCount     , duMin+    , duHistogram     , duSumOfSquares     , duSum @@ -875,6 +1172,8 @@     , streamingConfigTask     , sctUserStepToStateFamilyNameMap     , sctStreamingComputationConfigs+    , sctWindmillServiceEndpoint+    , sctWindmillServicePort      -- * MetricShortId     , MetricShortId@@ -885,6 +1184,7 @@     -- * SendWorkerMessagesRequest     , SendWorkerMessagesRequest     , sendWorkerMessagesRequest+    , swmrLocation     , swmrWorkerMessages      -- * SourceSplitShard@@ -900,6 +1200,16 @@     , siiKind     , siiSources +    -- * ComponentTransform+    , ComponentTransform+    , componentTransform+    , ctOriginalTransform+    , ctUserName+    , ctName++    -- * WorkerPoolIPConfiguration+    , WorkerPoolIPConfiguration (..)+     -- * JobExecutionInfo     , JobExecutionInfo     , jobExecutionInfo@@ -923,6 +1233,16 @@     , krddaStart     , krddaEnd +    -- * AutoscalingEvent+    , AutoscalingEvent+    , autoscalingEvent+    , aeCurrentNumWorkers+    , aeTime+    , aeEventType+    , aeTargetNumWorkers+    , aeWorkerPool+    , aeDescription+     -- * SourceSplitRequest     , SourceSplitRequest     , sourceSplitRequest@@ -934,6 +1254,7 @@     , listJobMessagesResponse     , ljmrJobMessages     , ljmrNextPageToken+    , ljmrAutoscalingEvents      -- * PubsubLocation     , PubsubLocation@@ -951,6 +1272,9 @@     , floatingPointList     , fplElements +    -- * CounterStructuredNameOrigin+    , CounterStructuredNameOrigin (..)+     -- * InstructionInput     , InstructionInput     , instructionInput@@ -967,17 +1291,49 @@     , smtStageName     , smtUserFn +    -- * StreamingComputationTaskTaskType+    , StreamingComputationTaskTaskType (..)+     -- * StreamingConfigTaskUserStepToStateFamilyNameMap     , StreamingConfigTaskUserStepToStateFamilyNameMap     , streamingConfigTaskUserStepToStateFamilyNameMap     , sctustsfnmAddtional +    -- * ExecutionStageState+    , ExecutionStageState+    , executionStageState+    , essExecutionStageName+    , essCurrentStateTime+    , essExecutionStageState++    -- * StageSource+    , StageSource+    , stageSource+    , ssSizeBytes+    , ssUserName+    , ssName+    , ssOriginalTransformOrCollection+     -- * SourceOperationRequest     , SourceOperationRequest     , sourceOperationRequest-    , sSplit-    , sGetMetadata+    , souSplit+    , souGetMetadata+    , souName+    , souSystemName+    , souStageName+    , souOriginalName +    -- * SdkVersionSdkSupportStatus+    , SdkVersionSdkSupportStatus (..)++    -- * SpannerIODetails+    , SpannerIODetails+    , spannerIODetails+    , siodInstanceId+    , siodDatabaseId+    , siodProjectId+     -- * LeaseWorkItemResponse     , LeaseWorkItemResponse     , leaseWorkItemResponse@@ -992,18 +1348,28 @@     , pShufflePosition     , pKey     , pEnd++    -- * Parameter+    , Parameter+    , parameter+    , parValue+    , parKey     ) where  import           Network.Google.Dataflow.Types.Product import           Network.Google.Dataflow.Types.Sum import           Network.Google.Prelude --- | Default request referring to version 'v1b3' of the Google Dataflow API. This contains the host and root path used as a starting point for constructing service requests.+-- | Default request referring to version 'v1b3' of the Dataflow API. This contains the host and root path used as a starting point for constructing service requests. dataflowService :: ServiceConfig dataflowService   = defaultService (ServiceId "dataflow:v1b3")       "dataflow.googleapis.com" +-- | View and manage your Google Compute Engine resources+computeScope :: Proxy '["https://www.googleapis.com/auth/compute"]+computeScope = Proxy;+ -- | View your email address userInfoEmailScope :: Proxy '["https://www.googleapis.com/auth/userinfo.email"] userInfoEmailScope = Proxy;@@ -1011,3 +1377,7 @@ -- | View and manage your data across Google Cloud Platform services cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"] cloudPlatformScope = Proxy;++-- | View your Google Compute Engine resources+computeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/compute.readonly"]+computeReadOnlyScope = Proxy;
gen/Network/Google/Dataflow/Types/Product.hs view
@@ -60,8850 +60,11596 @@ -- /See:/ 'computationTopology' smart constructor. data ComputationTopology = ComputationTopology'     { _ctStateFamilies   :: !(Maybe [StateFamilyConfig])-    , _ctUserStageName   :: !(Maybe Text)-    , _ctInputs          :: !(Maybe [StreamLocation])-    , _ctKeyRanges       :: !(Maybe [KeyRangeLocation])-    , _ctOutputs         :: !(Maybe [StreamLocation])-    , _ctComputationId   :: !(Maybe Text)-    , _ctSystemStageName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ComputationTopology' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ctStateFamilies'------ * 'ctUserStageName'------ * 'ctInputs'------ * 'ctKeyRanges'------ * 'ctOutputs'------ * 'ctComputationId'------ * 'ctSystemStageName'-computationTopology-    :: ComputationTopology-computationTopology =-    ComputationTopology'-    { _ctStateFamilies = Nothing-    , _ctUserStageName = Nothing-    , _ctInputs = Nothing-    , _ctKeyRanges = Nothing-    , _ctOutputs = Nothing-    , _ctComputationId = Nothing-    , _ctSystemStageName = Nothing-    }---- | The state family values.-ctStateFamilies :: Lens' ComputationTopology [StateFamilyConfig]-ctStateFamilies-  = lens _ctStateFamilies-      (\ s a -> s{_ctStateFamilies = a})-      . _Default-      . _Coerce---- | The user stage name.-ctUserStageName :: Lens' ComputationTopology (Maybe Text)-ctUserStageName-  = lens _ctUserStageName-      (\ s a -> s{_ctUserStageName = a})---- | The inputs to the computation.-ctInputs :: Lens' ComputationTopology [StreamLocation]-ctInputs-  = lens _ctInputs (\ s a -> s{_ctInputs = a}) .-      _Default-      . _Coerce---- | The key ranges processed by the computation.-ctKeyRanges :: Lens' ComputationTopology [KeyRangeLocation]-ctKeyRanges-  = lens _ctKeyRanges (\ s a -> s{_ctKeyRanges = a}) .-      _Default-      . _Coerce---- | The outputs from the computation.-ctOutputs :: Lens' ComputationTopology [StreamLocation]-ctOutputs-  = lens _ctOutputs (\ s a -> s{_ctOutputs = a}) .-      _Default-      . _Coerce---- | The ID of the computation.-ctComputationId :: Lens' ComputationTopology (Maybe Text)-ctComputationId-  = lens _ctComputationId-      (\ s a -> s{_ctComputationId = a})---- | The system stage name.-ctSystemStageName :: Lens' ComputationTopology (Maybe Text)-ctSystemStageName-  = lens _ctSystemStageName-      (\ s a -> s{_ctSystemStageName = a})--instance FromJSON ComputationTopology where-        parseJSON-          = withObject "ComputationTopology"-              (\ o ->-                 ComputationTopology' <$>-                   (o .:? "stateFamilies" .!= mempty) <*>-                     (o .:? "userStageName")-                     <*> (o .:? "inputs" .!= mempty)-                     <*> (o .:? "keyRanges" .!= mempty)-                     <*> (o .:? "outputs" .!= mempty)-                     <*> (o .:? "computationId")-                     <*> (o .:? "systemStageName"))--instance ToJSON ComputationTopology where-        toJSON ComputationTopology'{..}-          = object-              (catMaybes-                 [("stateFamilies" .=) <$> _ctStateFamilies,-                  ("userStageName" .=) <$> _ctUserStageName,-                  ("inputs" .=) <$> _ctInputs,-                  ("keyRanges" .=) <$> _ctKeyRanges,-                  ("outputs" .=) <$> _ctOutputs,-                  ("computationId" .=) <$> _ctComputationId,-                  ("systemStageName" .=) <$> _ctSystemStageName])---- | The response to a SourceSplitRequest.------ /See:/ 'sourceSplitResponse' smart constructor.-data SourceSplitResponse = SourceSplitResponse'-    { _ssrBundles :: !(Maybe [DerivedSource])-    , _ssrShards  :: !(Maybe [SourceSplitShard])-    , _ssrOutcome :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceSplitResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssrBundles'------ * 'ssrShards'------ * 'ssrOutcome'-sourceSplitResponse-    :: SourceSplitResponse-sourceSplitResponse =-    SourceSplitResponse'-    { _ssrBundles = Nothing-    , _ssrShards = Nothing-    , _ssrOutcome = Nothing-    }---- | If outcome is SPLITTING_HAPPENED, then this is a list of bundles into--- which the source was split. Otherwise this field is ignored. This list--- can be empty, which means the source represents an empty input.-ssrBundles :: Lens' SourceSplitResponse [DerivedSource]-ssrBundles-  = lens _ssrBundles (\ s a -> s{_ssrBundles = a}) .-      _Default-      . _Coerce---- | DEPRECATED in favor of bundles.-ssrShards :: Lens' SourceSplitResponse [SourceSplitShard]-ssrShards-  = lens _ssrShards (\ s a -> s{_ssrShards = a}) .-      _Default-      . _Coerce---- | Indicates whether splitting happened and produced a list of bundles. If--- this is USE_CURRENT_SOURCE_AS_IS, the current source should be processed--- \"as is\" without splitting. \"bundles\" is ignored in this case. If--- this is SPLITTING_HAPPENED, then \"bundles\" contains a list of bundles--- into which the source was split.-ssrOutcome :: Lens' SourceSplitResponse (Maybe Text)-ssrOutcome-  = lens _ssrOutcome (\ s a -> s{_ssrOutcome = a})--instance FromJSON SourceSplitResponse where-        parseJSON-          = withObject "SourceSplitResponse"-              (\ o ->-                 SourceSplitResponse' <$>-                   (o .:? "bundles" .!= mempty) <*>-                     (o .:? "shards" .!= mempty)-                     <*> (o .:? "outcome"))--instance ToJSON SourceSplitResponse where-        toJSON SourceSplitResponse'{..}-          = object-              (catMaybes-                 [("bundles" .=) <$> _ssrBundles,-                  ("shards" .=) <$> _ssrShards,-                  ("outcome" .=) <$> _ssrOutcome])------- /See:/ 'resourceUtilizationReportMetricsItem' smart constructor.-newtype ResourceUtilizationReportMetricsItem = ResourceUtilizationReportMetricsItem'-    { _rurmiAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceUtilizationReportMetricsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rurmiAddtional'-resourceUtilizationReportMetricsItem-    :: HashMap Text JSONValue -- ^ 'rurmiAddtional'-    -> ResourceUtilizationReportMetricsItem-resourceUtilizationReportMetricsItem pRurmiAddtional_ =-    ResourceUtilizationReportMetricsItem'-    { _rurmiAddtional = _Coerce # pRurmiAddtional_-    }---- | Properties of the object.-rurmiAddtional :: Lens' ResourceUtilizationReportMetricsItem (HashMap Text JSONValue)-rurmiAddtional-  = lens _rurmiAddtional-      (\ s a -> s{_rurmiAddtional = a})-      . _Coerce--instance FromJSON-         ResourceUtilizationReportMetricsItem where-        parseJSON-          = withObject "ResourceUtilizationReportMetricsItem"-              (\ o ->-                 ResourceUtilizationReportMetricsItem' <$>-                   (parseJSONObject o))--instance ToJSON ResourceUtilizationReportMetricsItem-         where-        toJSON = toJSON . _rurmiAddtional---- | A request to create a Cloud Dataflow job from a template.------ /See:/ 'createJobFromTemplateRequest' smart constructor.-data CreateJobFromTemplateRequest = CreateJobFromTemplateRequest'-    { _cjftrEnvironment :: !(Maybe RuntimeEnvironment)-    , _cjftrJobName     :: !(Maybe Text)-    , _cjftrGcsPath     :: !(Maybe Text)-    , _cjftrParameters  :: !(Maybe CreateJobFromTemplateRequestParameters)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateJobFromTemplateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cjftrEnvironment'------ * 'cjftrJobName'------ * 'cjftrGcsPath'------ * 'cjftrParameters'-createJobFromTemplateRequest-    :: CreateJobFromTemplateRequest-createJobFromTemplateRequest =-    CreateJobFromTemplateRequest'-    { _cjftrEnvironment = Nothing-    , _cjftrJobName = Nothing-    , _cjftrGcsPath = Nothing-    , _cjftrParameters = Nothing-    }---- | The runtime environment for the job.-cjftrEnvironment :: Lens' CreateJobFromTemplateRequest (Maybe RuntimeEnvironment)-cjftrEnvironment-  = lens _cjftrEnvironment-      (\ s a -> s{_cjftrEnvironment = a})---- | Required. The job name to use for the created job.-cjftrJobName :: Lens' CreateJobFromTemplateRequest (Maybe Text)-cjftrJobName-  = lens _cjftrJobName (\ s a -> s{_cjftrJobName = a})---- | Required. A Cloud Storage path to the template from which to create the--- job. Must be a valid Cloud Storage URL, beginning with \`gs:\/\/\`.-cjftrGcsPath :: Lens' CreateJobFromTemplateRequest (Maybe Text)-cjftrGcsPath-  = lens _cjftrGcsPath (\ s a -> s{_cjftrGcsPath = a})---- | The runtime parameters to pass to the job.-cjftrParameters :: Lens' CreateJobFromTemplateRequest (Maybe CreateJobFromTemplateRequestParameters)-cjftrParameters-  = lens _cjftrParameters-      (\ s a -> s{_cjftrParameters = a})--instance FromJSON CreateJobFromTemplateRequest where-        parseJSON-          = withObject "CreateJobFromTemplateRequest"-              (\ o ->-                 CreateJobFromTemplateRequest' <$>-                   (o .:? "environment") <*> (o .:? "jobName") <*>-                     (o .:? "gcsPath")-                     <*> (o .:? "parameters"))--instance ToJSON CreateJobFromTemplateRequest where-        toJSON CreateJobFromTemplateRequest'{..}-          = object-              (catMaybes-                 [("environment" .=) <$> _cjftrEnvironment,-                  ("jobName" .=) <$> _cjftrJobName,-                  ("gcsPath" .=) <$> _cjftrGcsPath,-                  ("parameters" .=) <$> _cjftrParameters])---- | The \`Status\` type defines a logical error model that is suitable for--- different programming environments, including REST APIs and RPC APIs. It--- is used by [gRPC](https:\/\/github.com\/grpc). The error model is--- designed to be: - Simple to use and understand for most users - Flexible--- enough to meet unexpected needs # Overview The \`Status\` message--- contains three pieces of data: error code, error message, and error--- details. The error code should be an enum value of google.rpc.Code, but--- it may accept additional error codes if needed. The error message should--- be a developer-facing English message that helps developers *understand*--- and *resolve* the error. If a localized user-facing error message is--- needed, put the localized message in the error details or localize it in--- the client. The optional error details may contain arbitrary information--- about the error. There is a predefined set of error detail types in the--- package \`google.rpc\` which can be used for common error conditions. #--- Language mapping The \`Status\` message is the logical representation of--- the error model, but it is not necessarily the actual wire format. When--- the \`Status\` message is exposed in different client libraries and--- different wire protocols, it can be mapped differently. For example, it--- will likely be mapped to some exceptions in Java, but more likely mapped--- to some error codes in C. # Other uses The error model and the--- \`Status\` message can be used in a variety of environments, either with--- or without APIs, to provide a consistent developer experience across--- different environments. Example uses of this error model include: ---- Partial errors. If a service needs to return partial errors to the--- client, it may embed the \`Status\` in the normal response to indicate--- the partial errors. - Workflow errors. A typical workflow has multiple--- steps. Each step may have a \`Status\` message for error reporting--- purpose. - Batch operations. If a client uses batch request and batch--- response, the \`Status\` message should be used directly inside batch--- response, one for each error sub-response. - Asynchronous operations. If--- an API call embeds asynchronous operation results in its response, the--- status of those operations should be represented directly using the--- \`Status\` message. - Logging. If some API errors are stored in logs,--- the message \`Status\` could be used directly after any stripping needed--- for security\/privacy reasons.------ /See:/ 'status' smart constructor.-data Status = Status'-    { _sDetails :: !(Maybe [StatusDetailsItem])-    , _sCode    :: !(Maybe (Textual Int32))-    , _sMessage :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Status' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sDetails'------ * 'sCode'------ * 'sMessage'-status-    :: Status-status =-    Status'-    { _sDetails = Nothing-    , _sCode = Nothing-    , _sMessage = Nothing-    }---- | A list of messages that carry the error details. There will be a common--- set of message types for APIs to use.-sDetails :: Lens' Status [StatusDetailsItem]-sDetails-  = lens _sDetails (\ s a -> s{_sDetails = a}) .-      _Default-      . _Coerce---- | The status code, which should be an enum value of google.rpc.Code.-sCode :: Lens' Status (Maybe Int32)-sCode-  = lens _sCode (\ s a -> s{_sCode = a}) .-      mapping _Coerce---- | A developer-facing error message, which should be in English. Any--- user-facing error message should be localized and sent in the--- google.rpc.Status.details field, or localized by the client.-sMessage :: Lens' Status (Maybe Text)-sMessage = lens _sMessage (\ s a -> s{_sMessage = a})--instance FromJSON Status where-        parseJSON-          = withObject "Status"-              (\ o ->-                 Status' <$>-                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>-                     (o .:? "message"))--instance ToJSON Status where-        toJSON Status'{..}-          = object-              (catMaybes-                 [("details" .=) <$> _sDetails,-                  ("code" .=) <$> _sCode,-                  ("message" .=) <$> _sMessage])---- | Basic metadata about a counter.------ /See:/ 'nameAndKind' smart constructor.-data NameAndKind = NameAndKind'-    { _nakKind :: !(Maybe Text)-    , _nakName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NameAndKind' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nakKind'------ * 'nakName'-nameAndKind-    :: NameAndKind-nameAndKind =-    NameAndKind'-    { _nakKind = Nothing-    , _nakName = Nothing-    }---- | Counter aggregation kind.-nakKind :: Lens' NameAndKind (Maybe Text)-nakKind = lens _nakKind (\ s a -> s{_nakKind = a})---- | Name of the counter.-nakName :: Lens' NameAndKind (Maybe Text)-nakName = lens _nakName (\ s a -> s{_nakName = a})--instance FromJSON NameAndKind where-        parseJSON-          = withObject "NameAndKind"-              (\ o ->-                 NameAndKind' <$> (o .:? "kind") <*> (o .:? "name"))--instance ToJSON NameAndKind where-        toJSON NameAndKind'{..}-          = object-              (catMaybes-                 [("kind" .=) <$> _nakKind, ("name" .=) <$> _nakName])---- | A metric value representing a list of integers.------ /See:/ 'integerList' smart constructor.-newtype IntegerList = IntegerList'-    { _ilElements :: Maybe [SplitInt64]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'IntegerList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ilElements'-integerList-    :: IntegerList-integerList =-    IntegerList'-    { _ilElements = Nothing-    }---- | Elements of the list.-ilElements :: Lens' IntegerList [SplitInt64]-ilElements-  = lens _ilElements (\ s a -> s{_ilElements = a}) .-      _Default-      . _Coerce--instance FromJSON IntegerList where-        parseJSON-          = withObject "IntegerList"-              (\ o ->-                 IntegerList' <$> (o .:? "elements" .!= mempty))--instance ToJSON IntegerList where-        toJSON IntegerList'{..}-          = object-              (catMaybes [("elements" .=) <$> _ilElements])---- | WorkItem represents basic information about a WorkItem to be executed in--- the cloud.------ /See:/ 'workItem' smart constructor.-data WorkItem = WorkItem'-    { _wiJobId                    :: !(Maybe Text)-    , _wiReportStatusInterval     :: !(Maybe Text)-    , _wiShellTask                :: !(Maybe ShellTask)-    , _wiStreamingSetupTask       :: !(Maybe StreamingSetupTask)-    , _wiInitialReportIndex       :: !(Maybe (Textual Int64))-    , _wiMapTask                  :: !(Maybe MapTask)-    , _wiPackages                 :: !(Maybe [Package])-    , _wiStreamingComputationTask :: !(Maybe StreamingComputationTask)-    , _wiSourceOperationTask      :: !(Maybe SourceOperationRequest)-    , _wiId                       :: !(Maybe (Textual Int64))-    , _wiProjectId                :: !(Maybe Text)-    , _wiLeaseExpireTime          :: !(Maybe Text)-    , _wiConfiguration            :: !(Maybe Text)-    , _wiStreamingConfigTask      :: !(Maybe StreamingConfigTask)-    , _wiSeqMapTask               :: !(Maybe SeqMapTask)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wiJobId'------ * 'wiReportStatusInterval'------ * 'wiShellTask'------ * 'wiStreamingSetupTask'------ * 'wiInitialReportIndex'------ * 'wiMapTask'------ * 'wiPackages'------ * 'wiStreamingComputationTask'------ * 'wiSourceOperationTask'------ * 'wiId'------ * 'wiProjectId'------ * 'wiLeaseExpireTime'------ * 'wiConfiguration'------ * 'wiStreamingConfigTask'------ * 'wiSeqMapTask'-workItem-    :: WorkItem-workItem =-    WorkItem'-    { _wiJobId = Nothing-    , _wiReportStatusInterval = Nothing-    , _wiShellTask = Nothing-    , _wiStreamingSetupTask = Nothing-    , _wiInitialReportIndex = Nothing-    , _wiMapTask = Nothing-    , _wiPackages = Nothing-    , _wiStreamingComputationTask = Nothing-    , _wiSourceOperationTask = Nothing-    , _wiId = Nothing-    , _wiProjectId = Nothing-    , _wiLeaseExpireTime = Nothing-    , _wiConfiguration = Nothing-    , _wiStreamingConfigTask = Nothing-    , _wiSeqMapTask = Nothing-    }---- | Identifies the workflow job this WorkItem belongs to.-wiJobId :: Lens' WorkItem (Maybe Text)-wiJobId = lens _wiJobId (\ s a -> s{_wiJobId = a})---- | Recommended reporting interval.-wiReportStatusInterval :: Lens' WorkItem (Maybe Text)-wiReportStatusInterval-  = lens _wiReportStatusInterval-      (\ s a -> s{_wiReportStatusInterval = a})---- | Additional information for ShellTask WorkItems.-wiShellTask :: Lens' WorkItem (Maybe ShellTask)-wiShellTask-  = lens _wiShellTask (\ s a -> s{_wiShellTask = a})---- | Additional information for StreamingSetupTask WorkItems.-wiStreamingSetupTask :: Lens' WorkItem (Maybe StreamingSetupTask)-wiStreamingSetupTask-  = lens _wiStreamingSetupTask-      (\ s a -> s{_wiStreamingSetupTask = a})---- | The initial index to use when reporting the status of the WorkItem.-wiInitialReportIndex :: Lens' WorkItem (Maybe Int64)-wiInitialReportIndex-  = lens _wiInitialReportIndex-      (\ s a -> s{_wiInitialReportIndex = a})-      . mapping _Coerce---- | Additional information for MapTask WorkItems.-wiMapTask :: Lens' WorkItem (Maybe MapTask)-wiMapTask-  = lens _wiMapTask (\ s a -> s{_wiMapTask = a})---- | Any required packages that need to be fetched in order to execute this--- WorkItem.-wiPackages :: Lens' WorkItem [Package]-wiPackages-  = lens _wiPackages (\ s a -> s{_wiPackages = a}) .-      _Default-      . _Coerce---- | Additional information for StreamingComputationTask WorkItems.-wiStreamingComputationTask :: Lens' WorkItem (Maybe StreamingComputationTask)-wiStreamingComputationTask-  = lens _wiStreamingComputationTask-      (\ s a -> s{_wiStreamingComputationTask = a})---- | Additional information for source operation WorkItems.-wiSourceOperationTask :: Lens' WorkItem (Maybe SourceOperationRequest)-wiSourceOperationTask-  = lens _wiSourceOperationTask-      (\ s a -> s{_wiSourceOperationTask = a})---- | Identifies this WorkItem.-wiId :: Lens' WorkItem (Maybe Int64)-wiId-  = lens _wiId (\ s a -> s{_wiId = a}) .-      mapping _Coerce---- | Identifies the cloud project this WorkItem belongs to.-wiProjectId :: Lens' WorkItem (Maybe Text)-wiProjectId-  = lens _wiProjectId (\ s a -> s{_wiProjectId = a})---- | Time when the lease on this Work will expire.-wiLeaseExpireTime :: Lens' WorkItem (Maybe Text)-wiLeaseExpireTime-  = lens _wiLeaseExpireTime-      (\ s a -> s{_wiLeaseExpireTime = a})---- | Work item-specific configuration as an opaque blob.-wiConfiguration :: Lens' WorkItem (Maybe Text)-wiConfiguration-  = lens _wiConfiguration-      (\ s a -> s{_wiConfiguration = a})---- | Additional information for StreamingConfigTask WorkItems.-wiStreamingConfigTask :: Lens' WorkItem (Maybe StreamingConfigTask)-wiStreamingConfigTask-  = lens _wiStreamingConfigTask-      (\ s a -> s{_wiStreamingConfigTask = a})---- | Additional information for SeqMapTask WorkItems.-wiSeqMapTask :: Lens' WorkItem (Maybe SeqMapTask)-wiSeqMapTask-  = lens _wiSeqMapTask (\ s a -> s{_wiSeqMapTask = a})--instance FromJSON WorkItem where-        parseJSON-          = withObject "WorkItem"-              (\ o ->-                 WorkItem' <$>-                   (o .:? "jobId") <*> (o .:? "reportStatusInterval")-                     <*> (o .:? "shellTask")-                     <*> (o .:? "streamingSetupTask")-                     <*> (o .:? "initialReportIndex")-                     <*> (o .:? "mapTask")-                     <*> (o .:? "packages" .!= mempty)-                     <*> (o .:? "streamingComputationTask")-                     <*> (o .:? "sourceOperationTask")-                     <*> (o .:? "id")-                     <*> (o .:? "projectId")-                     <*> (o .:? "leaseExpireTime")-                     <*> (o .:? "configuration")-                     <*> (o .:? "streamingConfigTask")-                     <*> (o .:? "seqMapTask"))--instance ToJSON WorkItem where-        toJSON WorkItem'{..}-          = object-              (catMaybes-                 [("jobId" .=) <$> _wiJobId,-                  ("reportStatusInterval" .=) <$>-                    _wiReportStatusInterval,-                  ("shellTask" .=) <$> _wiShellTask,-                  ("streamingSetupTask" .=) <$> _wiStreamingSetupTask,-                  ("initialReportIndex" .=) <$> _wiInitialReportIndex,-                  ("mapTask" .=) <$> _wiMapTask,-                  ("packages" .=) <$> _wiPackages,-                  ("streamingComputationTask" .=) <$>-                    _wiStreamingComputationTask,-                  ("sourceOperationTask" .=) <$>-                    _wiSourceOperationTask,-                  ("id" .=) <$> _wiId,-                  ("projectId" .=) <$> _wiProjectId,-                  ("leaseExpireTime" .=) <$> _wiLeaseExpireTime,-                  ("configuration" .=) <$> _wiConfiguration,-                  ("streamingConfigTask" .=) <$>-                    _wiStreamingConfigTask,-                  ("seqMapTask" .=) <$> _wiSeqMapTask])---- | WorkerHealthReport contains information about the health of a worker.--- The VM should be identified by the labels attached to the WorkerMessage--- that this health ping belongs to.------ /See:/ 'workerHealthReport' smart constructor.-data WorkerHealthReport = WorkerHealthReport'-    { _whrVMIsHealthy    :: !(Maybe Bool)-    , _whrReportInterval :: !(Maybe Text)-    , _whrPods           :: !(Maybe [WorkerHealthReportPodsItem])-    , _whrVMStartupTime  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerHealthReport' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'whrVMIsHealthy'------ * 'whrReportInterval'------ * 'whrPods'------ * 'whrVMStartupTime'-workerHealthReport-    :: WorkerHealthReport-workerHealthReport =-    WorkerHealthReport'-    { _whrVMIsHealthy = Nothing-    , _whrReportInterval = Nothing-    , _whrPods = Nothing-    , _whrVMStartupTime = Nothing-    }---- | Whether the VM is healthy.-whrVMIsHealthy :: Lens' WorkerHealthReport (Maybe Bool)-whrVMIsHealthy-  = lens _whrVMIsHealthy-      (\ s a -> s{_whrVMIsHealthy = a})---- | The interval at which the worker is sending health reports. The default--- value of 0 should be interpreted as the field is not being explicitly--- set by the worker.-whrReportInterval :: Lens' WorkerHealthReport (Maybe Text)-whrReportInterval-  = lens _whrReportInterval-      (\ s a -> s{_whrReportInterval = a})---- | The pods running on the worker. See:--- http:\/\/kubernetes.io\/v1.1\/docs\/api-reference\/v1\/definitions.html#_v1_pod--- This field is used by the worker to send the status of the indvidual--- containers running on each worker.-whrPods :: Lens' WorkerHealthReport [WorkerHealthReportPodsItem]-whrPods-  = lens _whrPods (\ s a -> s{_whrPods = a}) . _Default-      . _Coerce---- | The time the VM was booted.-whrVMStartupTime :: Lens' WorkerHealthReport (Maybe Text)-whrVMStartupTime-  = lens _whrVMStartupTime-      (\ s a -> s{_whrVMStartupTime = a})--instance FromJSON WorkerHealthReport where-        parseJSON-          = withObject "WorkerHealthReport"-              (\ o ->-                 WorkerHealthReport' <$>-                   (o .:? "vmIsHealthy") <*> (o .:? "reportInterval")-                     <*> (o .:? "pods" .!= mempty)-                     <*> (o .:? "vmStartupTime"))--instance ToJSON WorkerHealthReport where-        toJSON WorkerHealthReport'{..}-          = object-              (catMaybes-                 [("vmIsHealthy" .=) <$> _whrVMIsHealthy,-                  ("reportInterval" .=) <$> _whrReportInterval,-                  ("pods" .=) <$> _whrPods,-                  ("vmStartupTime" .=) <$> _whrVMStartupTime])---- | Hints for splitting a Source into bundles (parts for parallel--- processing) using SourceSplitRequest.------ /See:/ 'sourceSplitOptions' smart constructor.-data SourceSplitOptions = SourceSplitOptions'-    { _ssoDesiredShardSizeBytes  :: !(Maybe (Textual Int64))-    , _ssoDesiredBundleSizeBytes :: !(Maybe (Textual Int64))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceSplitOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssoDesiredShardSizeBytes'------ * 'ssoDesiredBundleSizeBytes'-sourceSplitOptions-    :: SourceSplitOptions-sourceSplitOptions =-    SourceSplitOptions'-    { _ssoDesiredShardSizeBytes = Nothing-    , _ssoDesiredBundleSizeBytes = Nothing-    }---- | DEPRECATED in favor of desired_bundle_size_bytes.-ssoDesiredShardSizeBytes :: Lens' SourceSplitOptions (Maybe Int64)-ssoDesiredShardSizeBytes-  = lens _ssoDesiredShardSizeBytes-      (\ s a -> s{_ssoDesiredShardSizeBytes = a})-      . mapping _Coerce---- | The source should be split into a set of bundles where the estimated--- size of each is approximately this many bytes.-ssoDesiredBundleSizeBytes :: Lens' SourceSplitOptions (Maybe Int64)-ssoDesiredBundleSizeBytes-  = lens _ssoDesiredBundleSizeBytes-      (\ s a -> s{_ssoDesiredBundleSizeBytes = a})-      . mapping _Coerce--instance FromJSON SourceSplitOptions where-        parseJSON-          = withObject "SourceSplitOptions"-              (\ o ->-                 SourceSplitOptions' <$>-                   (o .:? "desiredShardSizeBytes") <*>-                     (o .:? "desiredBundleSizeBytes"))--instance ToJSON SourceSplitOptions where-        toJSON SourceSplitOptions'{..}-          = object-              (catMaybes-                 [("desiredShardSizeBytes" .=) <$>-                    _ssoDesiredShardSizeBytes,-                  ("desiredBundleSizeBytes" .=) <$>-                    _ssoDesiredBundleSizeBytes])---- | Metadata to set on the Google Compute Engine VMs.------ /See:/ 'workerPoolMetadata' smart constructor.-newtype WorkerPoolMetadata = WorkerPoolMetadata'-    { _wpmAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerPoolMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wpmAddtional'-workerPoolMetadata-    :: HashMap Text Text -- ^ 'wpmAddtional'-    -> WorkerPoolMetadata-workerPoolMetadata pWpmAddtional_ =-    WorkerPoolMetadata'-    { _wpmAddtional = _Coerce # pWpmAddtional_-    }--wpmAddtional :: Lens' WorkerPoolMetadata (HashMap Text Text)-wpmAddtional-  = lens _wpmAddtional (\ s a -> s{_wpmAddtional = a})-      . _Coerce--instance FromJSON WorkerPoolMetadata where-        parseJSON-          = withObject "WorkerPoolMetadata"-              (\ o -> WorkerPoolMetadata' <$> (parseJSONObject o))--instance ToJSON WorkerPoolMetadata where-        toJSON = toJSON . _wpmAddtional---- | Settings for WorkerPool autoscaling.------ /See:/ 'autoscalingSettings' smart constructor.-data AutoscalingSettings = AutoscalingSettings'-    { _asMaxNumWorkers :: !(Maybe (Textual Int32))-    , _asAlgorithm     :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalingSettings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asMaxNumWorkers'------ * 'asAlgorithm'-autoscalingSettings-    :: AutoscalingSettings-autoscalingSettings =-    AutoscalingSettings'-    { _asMaxNumWorkers = Nothing-    , _asAlgorithm = Nothing-    }---- | The maximum number of workers to cap scaling at.-asMaxNumWorkers :: Lens' AutoscalingSettings (Maybe Int32)-asMaxNumWorkers-  = lens _asMaxNumWorkers-      (\ s a -> s{_asMaxNumWorkers = a})-      . mapping _Coerce---- | The algorithm to use for autoscaling.-asAlgorithm :: Lens' AutoscalingSettings (Maybe Text)-asAlgorithm-  = lens _asAlgorithm (\ s a -> s{_asAlgorithm = a})--instance FromJSON AutoscalingSettings where-        parseJSON-          = withObject "AutoscalingSettings"-              (\ o ->-                 AutoscalingSettings' <$>-                   (o .:? "maxNumWorkers") <*> (o .:? "algorithm"))--instance ToJSON AutoscalingSettings where-        toJSON AutoscalingSettings'{..}-          = object-              (catMaybes-                 [("maxNumWorkers" .=) <$> _asMaxNumWorkers,-                  ("algorithm" .=) <$> _asAlgorithm])---- | Contains information about how a particular google.dataflow.v1beta3.Step--- will be executed.------ /See:/ 'jobExecutionStageInfo' smart constructor.-newtype JobExecutionStageInfo = JobExecutionStageInfo'-    { _jesiStepName :: Maybe [Text]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'JobExecutionStageInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jesiStepName'-jobExecutionStageInfo-    :: JobExecutionStageInfo-jobExecutionStageInfo =-    JobExecutionStageInfo'-    { _jesiStepName = Nothing-    }---- | The steps associated with the execution stage. Note that stages may have--- several steps, and that a given step might be run by more than one--- stage.-jesiStepName :: Lens' JobExecutionStageInfo [Text]-jesiStepName-  = lens _jesiStepName (\ s a -> s{_jesiStepName = a})-      . _Default-      . _Coerce--instance FromJSON JobExecutionStageInfo where-        parseJSON-          = withObject "JobExecutionStageInfo"-              (\ o ->-                 JobExecutionStageInfo' <$>-                   (o .:? "stepName" .!= mempty))--instance ToJSON JobExecutionStageInfo where-        toJSON JobExecutionStageInfo'{..}-          = object-              (catMaybes [("stepName" .=) <$> _jesiStepName])---- | An output of an instruction.------ /See:/ 'instructionOutput' smart constructor.-data InstructionOutput = InstructionOutput'-    { _ioOnlyCountValueBytes :: !(Maybe Bool)-    , _ioCodec               :: !(Maybe InstructionOutputCodec)-    , _ioName                :: !(Maybe Text)-    , _ioSystemName          :: !(Maybe Text)-    , _ioOriginalName        :: !(Maybe Text)-    , _ioOnlyCountKeyBytes   :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstructionOutput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ioOnlyCountValueBytes'------ * 'ioCodec'------ * 'ioName'------ * 'ioSystemName'------ * 'ioOriginalName'------ * 'ioOnlyCountKeyBytes'-instructionOutput-    :: InstructionOutput-instructionOutput =-    InstructionOutput'-    { _ioOnlyCountValueBytes = Nothing-    , _ioCodec = Nothing-    , _ioName = Nothing-    , _ioSystemName = Nothing-    , _ioOriginalName = Nothing-    , _ioOnlyCountKeyBytes = Nothing-    }---- | For system-generated byte and mean byte metrics, certain instructions--- should only report the value size.-ioOnlyCountValueBytes :: Lens' InstructionOutput (Maybe Bool)-ioOnlyCountValueBytes-  = lens _ioOnlyCountValueBytes-      (\ s a -> s{_ioOnlyCountValueBytes = a})---- | The codec to use to encode data being written via this output.-ioCodec :: Lens' InstructionOutput (Maybe InstructionOutputCodec)-ioCodec = lens _ioCodec (\ s a -> s{_ioCodec = a})---- | The user-provided name of this output.-ioName :: Lens' InstructionOutput (Maybe Text)-ioName = lens _ioName (\ s a -> s{_ioName = a})---- | System-defined name of this output. Unique across the workflow.-ioSystemName :: Lens' InstructionOutput (Maybe Text)-ioSystemName-  = lens _ioSystemName (\ s a -> s{_ioSystemName = a})---- | System-defined name for this output in the original workflow graph.--- Outputs that do not contribute to an original instruction do not set--- this.-ioOriginalName :: Lens' InstructionOutput (Maybe Text)-ioOriginalName-  = lens _ioOriginalName-      (\ s a -> s{_ioOriginalName = a})---- | For system-generated byte and mean byte metrics, certain instructions--- should only report the key size.-ioOnlyCountKeyBytes :: Lens' InstructionOutput (Maybe Bool)-ioOnlyCountKeyBytes-  = lens _ioOnlyCountKeyBytes-      (\ s a -> s{_ioOnlyCountKeyBytes = a})--instance FromJSON InstructionOutput where-        parseJSON-          = withObject "InstructionOutput"-              (\ o ->-                 InstructionOutput' <$>-                   (o .:? "onlyCountValueBytes") <*> (o .:? "codec") <*>-                     (o .:? "name")-                     <*> (o .:? "systemName")-                     <*> (o .:? "originalName")-                     <*> (o .:? "onlyCountKeyBytes"))--instance ToJSON InstructionOutput where-        toJSON InstructionOutput'{..}-          = object-              (catMaybes-                 [("onlyCountValueBytes" .=) <$>-                    _ioOnlyCountValueBytes,-                  ("codec" .=) <$> _ioCodec, ("name" .=) <$> _ioName,-                  ("systemName" .=) <$> _ioSystemName,-                  ("originalName" .=) <$> _ioOriginalName,-                  ("onlyCountKeyBytes" .=) <$> _ioOnlyCountKeyBytes])---- | Request to report the status of WorkItems.------ /See:/ 'reportWorkItemStatusRequest' smart constructor.-data ReportWorkItemStatusRequest = ReportWorkItemStatusRequest'-    { _rwisrCurrentWorkerTime :: !(Maybe Text)-    , _rwisrLocation          :: !(Maybe Text)-    , _rwisrWorkItemStatuses  :: !(Maybe [WorkItemStatus])-    , _rwisrWorkerId          :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ReportWorkItemStatusRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rwisrCurrentWorkerTime'------ * 'rwisrLocation'------ * 'rwisrWorkItemStatuses'------ * 'rwisrWorkerId'-reportWorkItemStatusRequest-    :: ReportWorkItemStatusRequest-reportWorkItemStatusRequest =-    ReportWorkItemStatusRequest'-    { _rwisrCurrentWorkerTime = Nothing-    , _rwisrLocation = Nothing-    , _rwisrWorkItemStatuses = Nothing-    , _rwisrWorkerId = Nothing-    }---- | The current timestamp at the worker.-rwisrCurrentWorkerTime :: Lens' ReportWorkItemStatusRequest (Maybe Text)-rwisrCurrentWorkerTime-  = lens _rwisrCurrentWorkerTime-      (\ s a -> s{_rwisrCurrentWorkerTime = a})---- | The location which contains the WorkItem\'s job.-rwisrLocation :: Lens' ReportWorkItemStatusRequest (Maybe Text)-rwisrLocation-  = lens _rwisrLocation-      (\ s a -> s{_rwisrLocation = a})---- | The order is unimportant, except that the order of the--- WorkItemServiceState messages in the ReportWorkItemStatusResponse--- corresponds to the order of WorkItemStatus messages here.-rwisrWorkItemStatuses :: Lens' ReportWorkItemStatusRequest [WorkItemStatus]-rwisrWorkItemStatuses-  = lens _rwisrWorkItemStatuses-      (\ s a -> s{_rwisrWorkItemStatuses = a})-      . _Default-      . _Coerce---- | The ID of the worker reporting the WorkItem status. If this does not--- match the ID of the worker which the Dataflow service believes currently--- has the lease on the WorkItem, the report will be dropped (with an error--- response).-rwisrWorkerId :: Lens' ReportWorkItemStatusRequest (Maybe Text)-rwisrWorkerId-  = lens _rwisrWorkerId-      (\ s a -> s{_rwisrWorkerId = a})--instance FromJSON ReportWorkItemStatusRequest where-        parseJSON-          = withObject "ReportWorkItemStatusRequest"-              (\ o ->-                 ReportWorkItemStatusRequest' <$>-                   (o .:? "currentWorkerTime") <*> (o .:? "location")-                     <*> (o .:? "workItemStatuses" .!= mempty)-                     <*> (o .:? "workerId"))--instance ToJSON ReportWorkItemStatusRequest where-        toJSON ReportWorkItemStatusRequest'{..}-          = object-              (catMaybes-                 [("currentWorkerTime" .=) <$>-                    _rwisrCurrentWorkerTime,-                  ("location" .=) <$> _rwisrLocation,-                  ("workItemStatuses" .=) <$> _rwisrWorkItemStatuses,-                  ("workerId" .=) <$> _rwisrWorkerId])---- | A structure describing which components and their versions of the--- service are required in order to run the job.------ /See:/ 'environmentVersion' smart constructor.-newtype EnvironmentVersion = EnvironmentVersion'-    { _evAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnvironmentVersion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'evAddtional'-environmentVersion-    :: HashMap Text JSONValue -- ^ 'evAddtional'-    -> EnvironmentVersion-environmentVersion pEvAddtional_ =-    EnvironmentVersion'-    { _evAddtional = _Coerce # pEvAddtional_-    }---- | Properties of the object.-evAddtional :: Lens' EnvironmentVersion (HashMap Text JSONValue)-evAddtional-  = lens _evAddtional (\ s a -> s{_evAddtional = a}) .-      _Coerce--instance FromJSON EnvironmentVersion where-        parseJSON-          = withObject "EnvironmentVersion"-              (\ o -> EnvironmentVersion' <$> (parseJSONObject o))--instance ToJSON EnvironmentVersion where-        toJSON = toJSON . _evAddtional---- | A sink that records can be encoded and written to.------ /See:/ 'sink' smart constructor.-data Sink = Sink'-    { _sCodec :: !(Maybe SinkCodec)-    , _sSpec  :: !(Maybe SinkSpec)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Sink' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sCodec'------ * 'sSpec'-sink-    :: Sink-sink =-    Sink'-    { _sCodec = Nothing-    , _sSpec = Nothing-    }---- | The codec to use to encode data written to the sink.-sCodec :: Lens' Sink (Maybe SinkCodec)-sCodec = lens _sCodec (\ s a -> s{_sCodec = a})---- | The sink to write to, plus its parameters.-sSpec :: Lens' Sink (Maybe SinkSpec)-sSpec = lens _sSpec (\ s a -> s{_sSpec = a})--instance FromJSON Sink where-        parseJSON-          = withObject "Sink"-              (\ o -> Sink' <$> (o .:? "codec") <*> (o .:? "spec"))--instance ToJSON Sink where-        toJSON Sink'{..}-          = object-              (catMaybes-                 [("codec" .=) <$> _sCodec, ("spec" .=) <$> _sSpec])---- | A metric value representing a list of strings.------ /See:/ 'stringList' smart constructor.-newtype StringList = StringList'-    { _slElements :: Maybe [Text]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StringList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slElements'-stringList-    :: StringList-stringList =-    StringList'-    { _slElements = Nothing-    }---- | Elements of the list.-slElements :: Lens' StringList [Text]-slElements-  = lens _slElements (\ s a -> s{_slElements = a}) .-      _Default-      . _Coerce--instance FromJSON StringList where-        parseJSON-          = withObject "StringList"-              (\ o ->-                 StringList' <$> (o .:? "elements" .!= mempty))--instance ToJSON StringList where-        toJSON StringList'{..}-          = object-              (catMaybes [("elements" .=) <$> _slElements])---- | WorkerHealthReportResponse contains information returned to the worker--- in response to a health ping.------ /See:/ 'workerHealthReportResponse' smart constructor.-newtype WorkerHealthReportResponse = WorkerHealthReportResponse'-    { _whrrReportInterval :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerHealthReportResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'whrrReportInterval'-workerHealthReportResponse-    :: WorkerHealthReportResponse-workerHealthReportResponse =-    WorkerHealthReportResponse'-    { _whrrReportInterval = Nothing-    }---- | A positive value indicates the worker should change its reporting--- interval to the specified value. The default value of zero means no--- change in report rate is requested by the server.-whrrReportInterval :: Lens' WorkerHealthReportResponse (Maybe Text)-whrrReportInterval-  = lens _whrrReportInterval-      (\ s a -> s{_whrrReportInterval = a})--instance FromJSON WorkerHealthReportResponse where-        parseJSON-          = withObject "WorkerHealthReportResponse"-              (\ o ->-                 WorkerHealthReportResponse' <$>-                   (o .:? "reportInterval"))--instance ToJSON WorkerHealthReportResponse where-        toJSON WorkerHealthReportResponse'{..}-          = object-              (catMaybes-                 [("reportInterval" .=) <$> _whrrReportInterval])---- | Response to a send capture request. nothing------ /See:/ 'sendDebugCaptureResponse' smart constructor.-data SendDebugCaptureResponse =-    SendDebugCaptureResponse'-    deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SendDebugCaptureResponse' with the minimum fields required to make a request.----sendDebugCaptureResponse-    :: SendDebugCaptureResponse-sendDebugCaptureResponse = SendDebugCaptureResponse'--instance FromJSON SendDebugCaptureResponse where-        parseJSON-          = withObject "SendDebugCaptureResponse"-              (\ o -> pure SendDebugCaptureResponse')--instance ToJSON SendDebugCaptureResponse where-        toJSON = const emptyObject---- | User-defined labels for this job. The labels map can contain no more--- than 64 entries. Entries of the labels map are UTF8 strings that comply--- with the following restrictions: * Keys must conform to regexp:--- \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp:--- [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally--- constrained to be \<= 128 bytes in size.------ /See:/ 'jobLabels' smart constructor.-newtype JobLabels = JobLabels'-    { _jlAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'JobLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jlAddtional'-jobLabels-    :: HashMap Text Text -- ^ 'jlAddtional'-    -> JobLabels-jobLabels pJlAddtional_ =-    JobLabels'-    { _jlAddtional = _Coerce # pJlAddtional_-    }--jlAddtional :: Lens' JobLabels (HashMap Text Text)-jlAddtional-  = lens _jlAddtional (\ s a -> s{_jlAddtional = a}) .-      _Coerce--instance FromJSON JobLabels where-        parseJSON-          = withObject "JobLabels"-              (\ o -> JobLabels' <$> (parseJSONObject o))--instance ToJSON JobLabels where-        toJSON = toJSON . _jlAddtional---- | Identifies a metric, by describing the source which generated the--- metric.------ /See:/ 'metricStructuredName' smart constructor.-data MetricStructuredName = MetricStructuredName'-    { _msnOrigin  :: !(Maybe Text)-    , _msnContext :: !(Maybe MetricStructuredNameContext)-    , _msnName    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MetricStructuredName' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'msnOrigin'------ * 'msnContext'------ * 'msnName'-metricStructuredName-    :: MetricStructuredName-metricStructuredName =-    MetricStructuredName'-    { _msnOrigin = Nothing-    , _msnContext = Nothing-    , _msnName = Nothing-    }---- | Origin (namespace) of metric name. May be blank for user-define metrics;--- will be \"dataflow\" for metrics defined by the Dataflow service or SDK.-msnOrigin :: Lens' MetricStructuredName (Maybe Text)-msnOrigin-  = lens _msnOrigin (\ s a -> s{_msnOrigin = a})---- | Zero or more labeled fields which identify the part of the job this--- metric is associated with, such as the name of a step or collection. For--- example, built-in counters associated with steps will have--- context[\'step\'] = . Counters associated with PCollections in the SDK--- will have context[\'pcollection\'] = .-msnContext :: Lens' MetricStructuredName (Maybe MetricStructuredNameContext)-msnContext-  = lens _msnContext (\ s a -> s{_msnContext = a})---- | Worker-defined metric name.-msnName :: Lens' MetricStructuredName (Maybe Text)-msnName = lens _msnName (\ s a -> s{_msnName = a})--instance FromJSON MetricStructuredName where-        parseJSON-          = withObject "MetricStructuredName"-              (\ o ->-                 MetricStructuredName' <$>-                   (o .:? "origin") <*> (o .:? "context") <*>-                     (o .:? "name"))--instance ToJSON MetricStructuredName where-        toJSON MetricStructuredName'{..}-          = object-              (catMaybes-                 [("origin" .=) <$> _msnOrigin,-                  ("context" .=) <$> _msnContext,-                  ("name" .=) <$> _msnName])---- | Identifies a counter within a per-job namespace. Counters whose--- structured names are the same get merged into a single value for the--- job.------ /See:/ 'counterStructuredName' smart constructor.-data CounterStructuredName = CounterStructuredName'-    { _csnStandardOrigin    :: !(Maybe Text)-    , _csnComponentStepName :: !(Maybe Text)-    , _csnOtherOrigin       :: !(Maybe Text)-    , _csnPortion           :: !(Maybe Text)-    , _csnOriginalStepName  :: !(Maybe Text)-    , _csnName              :: !(Maybe Text)-    , _csnExecutionStepName :: !(Maybe Text)-    , _csnWorkerId          :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CounterStructuredName' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csnStandardOrigin'------ * 'csnComponentStepName'------ * 'csnOtherOrigin'------ * 'csnPortion'------ * 'csnOriginalStepName'------ * 'csnName'------ * 'csnExecutionStepName'------ * 'csnWorkerId'-counterStructuredName-    :: CounterStructuredName-counterStructuredName =-    CounterStructuredName'-    { _csnStandardOrigin = Nothing-    , _csnComponentStepName = Nothing-    , _csnOtherOrigin = Nothing-    , _csnPortion = Nothing-    , _csnOriginalStepName = Nothing-    , _csnName = Nothing-    , _csnExecutionStepName = Nothing-    , _csnWorkerId = Nothing-    }---- | One of the standard Origins defined above.-csnStandardOrigin :: Lens' CounterStructuredName (Maybe Text)-csnStandardOrigin-  = lens _csnStandardOrigin-      (\ s a -> s{_csnStandardOrigin = a})---- | Name of the optimized step being executed by the workers.-csnComponentStepName :: Lens' CounterStructuredName (Maybe Text)-csnComponentStepName-  = lens _csnComponentStepName-      (\ s a -> s{_csnComponentStepName = a})---- | A string containing the origin of the counter.-csnOtherOrigin :: Lens' CounterStructuredName (Maybe Text)-csnOtherOrigin-  = lens _csnOtherOrigin-      (\ s a -> s{_csnOtherOrigin = a})---- | Portion of this counter, either key or value.-csnPortion :: Lens' CounterStructuredName (Maybe Text)-csnPortion-  = lens _csnPortion (\ s a -> s{_csnPortion = a})---- | System generated name of the original step in the user\'s graph, before--- optimization.-csnOriginalStepName :: Lens' CounterStructuredName (Maybe Text)-csnOriginalStepName-  = lens _csnOriginalStepName-      (\ s a -> s{_csnOriginalStepName = a})---- | Counter name. Not necessarily globally-unique, but unique within the--- context of the other fields. Required.-csnName :: Lens' CounterStructuredName (Maybe Text)-csnName = lens _csnName (\ s a -> s{_csnName = a})---- | Name of the stage. An execution step contains multiple component steps.-csnExecutionStepName :: Lens' CounterStructuredName (Maybe Text)-csnExecutionStepName-  = lens _csnExecutionStepName-      (\ s a -> s{_csnExecutionStepName = a})---- | ID of a particular worker.-csnWorkerId :: Lens' CounterStructuredName (Maybe Text)-csnWorkerId-  = lens _csnWorkerId (\ s a -> s{_csnWorkerId = a})--instance FromJSON CounterStructuredName where-        parseJSON-          = withObject "CounterStructuredName"-              (\ o ->-                 CounterStructuredName' <$>-                   (o .:? "standardOrigin") <*>-                     (o .:? "componentStepName")-                     <*> (o .:? "otherOrigin")-                     <*> (o .:? "portion")-                     <*> (o .:? "originalStepName")-                     <*> (o .:? "name")-                     <*> (o .:? "executionStepName")-                     <*> (o .:? "workerId"))--instance ToJSON CounterStructuredName where-        toJSON CounterStructuredName'{..}-          = object-              (catMaybes-                 [("standardOrigin" .=) <$> _csnStandardOrigin,-                  ("componentStepName" .=) <$> _csnComponentStepName,-                  ("otherOrigin" .=) <$> _csnOtherOrigin,-                  ("portion" .=) <$> _csnPortion,-                  ("originalStepName" .=) <$> _csnOriginalStepName,-                  ("name" .=) <$> _csnName,-                  ("executionStepName" .=) <$> _csnExecutionStepName,-                  ("workerId" .=) <$> _csnWorkerId])---- | An instruction that writes records. Takes one input, produces no--- outputs.------ /See:/ 'writeInstruction' smart constructor.-data WriteInstruction = WriteInstruction'-    { _wiSink  :: !(Maybe Sink)-    , _wiInput :: !(Maybe InstructionInput)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WriteInstruction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wiSink'------ * 'wiInput'-writeInstruction-    :: WriteInstruction-writeInstruction =-    WriteInstruction'-    { _wiSink = Nothing-    , _wiInput = Nothing-    }---- | The sink to write to.-wiSink :: Lens' WriteInstruction (Maybe Sink)-wiSink = lens _wiSink (\ s a -> s{_wiSink = a})---- | The input.-wiInput :: Lens' WriteInstruction (Maybe InstructionInput)-wiInput = lens _wiInput (\ s a -> s{_wiInput = a})--instance FromJSON WriteInstruction where-        parseJSON-          = withObject "WriteInstruction"-              (\ o ->-                 WriteInstruction' <$>-                   (o .:? "sink") <*> (o .:? "input"))--instance ToJSON WriteInstruction where-        toJSON WriteInstruction'{..}-          = object-              (catMaybes-                 [("sink" .=) <$> _wiSink, ("input" .=) <$> _wiInput])---- | A description of the process that generated the request.------ /See:/ 'environmentUserAgent' smart constructor.-newtype EnvironmentUserAgent = EnvironmentUserAgent'-    { _euaAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnvironmentUserAgent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'euaAddtional'-environmentUserAgent-    :: HashMap Text JSONValue -- ^ 'euaAddtional'-    -> EnvironmentUserAgent-environmentUserAgent pEuaAddtional_ =-    EnvironmentUserAgent'-    { _euaAddtional = _Coerce # pEuaAddtional_-    }---- | Properties of the object.-euaAddtional :: Lens' EnvironmentUserAgent (HashMap Text JSONValue)-euaAddtional-  = lens _euaAddtional (\ s a -> s{_euaAddtional = a})-      . _Coerce--instance FromJSON EnvironmentUserAgent where-        parseJSON-          = withObject "EnvironmentUserAgent"-              (\ o ->-                 EnvironmentUserAgent' <$> (parseJSONObject o))--instance ToJSON EnvironmentUserAgent where-        toJSON = toJSON . _euaAddtional---- | Describes the data disk used by a workflow job.------ /See:/ 'disk' smart constructor.-data Disk = Disk'-    { _dSizeGb     :: !(Maybe (Textual Int32))-    , _dDiskType   :: !(Maybe Text)-    , _dMountPoint :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Disk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dSizeGb'------ * 'dDiskType'------ * 'dMountPoint'-disk-    :: Disk-disk =-    Disk'-    { _dSizeGb = Nothing-    , _dDiskType = Nothing-    , _dMountPoint = Nothing-    }---- | Size of disk in GB. If zero or unspecified, the service will attempt to--- choose a reasonable default.-dSizeGb :: Lens' Disk (Maybe Int32)-dSizeGb-  = lens _dSizeGb (\ s a -> s{_dSizeGb = a}) .-      mapping _Coerce---- | Disk storage type, as defined by Google Compute Engine. This must be a--- disk type appropriate to the project and zone in which the workers will--- run. If unknown or unspecified, the service will attempt to choose a--- reasonable default. For example, the standard persistent disk type is a--- resource name typically ending in \"pd-standard\". If SSD persistent--- disks are available, the resource name typically ends with \"pd-ssd\".--- The actual valid values are defined the Google Compute Engine API, not--- by the Cloud Dataflow API; consult the Google Compute Engine--- documentation for more information about determining the set of--- available disk types for a particular project and zone. Google Compute--- Engine Disk types are local to a particular project in a particular--- zone, and so the resource name will typically look something like this:--- compute.googleapis.com\/projects\/project-id\/zones\/zone\/diskTypes\/pd-standard-dDiskType :: Lens' Disk (Maybe Text)-dDiskType-  = lens _dDiskType (\ s a -> s{_dDiskType = a})---- | Directory in a VM where disk is mounted.-dMountPoint :: Lens' Disk (Maybe Text)-dMountPoint-  = lens _dMountPoint (\ s a -> s{_dMountPoint = a})--instance FromJSON Disk where-        parseJSON-          = withObject "Disk"-              (\ o ->-                 Disk' <$>-                   (o .:? "sizeGb") <*> (o .:? "diskType") <*>-                     (o .:? "mountPoint"))--instance ToJSON Disk where-        toJSON Disk'{..}-          = object-              (catMaybes-                 [("sizeGb" .=) <$> _dSizeGb,-                  ("diskType" .=) <$> _dDiskType,-                  ("mountPoint" .=) <$> _dMountPoint])---- | Describes the state of a metric.------ /See:/ 'metricUpdate' smart constructor.-data MetricUpdate = MetricUpdate'-    { _muMeanSum    :: !(Maybe JSONValue)-    , _muInternal   :: !(Maybe JSONValue)-    , _muSet        :: !(Maybe JSONValue)-    , _muCumulative :: !(Maybe Bool)-    , _muKind       :: !(Maybe Text)-    , _muUpdateTime :: !(Maybe Text)-    , _muMeanCount  :: !(Maybe JSONValue)-    , _muName       :: !(Maybe MetricStructuredName)-    , _muScalar     :: !(Maybe JSONValue)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MetricUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'muMeanSum'------ * 'muInternal'------ * 'muSet'------ * 'muCumulative'------ * 'muKind'------ * 'muUpdateTime'------ * 'muMeanCount'------ * 'muName'------ * 'muScalar'-metricUpdate-    :: MetricUpdate-metricUpdate =-    MetricUpdate'-    { _muMeanSum = Nothing-    , _muInternal = Nothing-    , _muSet = Nothing-    , _muCumulative = Nothing-    , _muKind = Nothing-    , _muUpdateTime = Nothing-    , _muMeanCount = Nothing-    , _muName = Nothing-    , _muScalar = Nothing-    }---- | Worker-computed aggregate value for the \"Mean\" aggregation kind. This--- holds the sum of the aggregated values and is used in combination with--- mean_count below to obtain the actual mean aggregate value. The only--- possible value types are Long and Double.-muMeanSum :: Lens' MetricUpdate (Maybe JSONValue)-muMeanSum-  = lens _muMeanSum (\ s a -> s{_muMeanSum = a})---- | Worker-computed aggregate value for internal use by the Dataflow--- service.-muInternal :: Lens' MetricUpdate (Maybe JSONValue)-muInternal-  = lens _muInternal (\ s a -> s{_muInternal = a})---- | Worker-computed aggregate value for the \"Set\" aggregation kind. The--- only possible value type is a list of Values whose type can be Long,--- Double, or String, according to the metric\'s type. All Values in the--- list must be of the same type.-muSet :: Lens' MetricUpdate (Maybe JSONValue)-muSet = lens _muSet (\ s a -> s{_muSet = a})---- | True if this metric is reported as the total cumulative aggregate value--- accumulated since the worker started working on this WorkItem. By--- default this is false, indicating that this metric is reported as a--- delta that is not associated with any WorkItem.-muCumulative :: Lens' MetricUpdate (Maybe Bool)-muCumulative-  = lens _muCumulative (\ s a -> s{_muCumulative = a})---- | Metric aggregation kind. The possible metric aggregation kinds are--- \"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", and \"Or\". The--- specified aggregation kind is case-insensitive. If omitted, this is not--- an aggregated value but instead a single metric sample value.-muKind :: Lens' MetricUpdate (Maybe Text)-muKind = lens _muKind (\ s a -> s{_muKind = a})---- | Timestamp associated with the metric value. Optional when workers are--- reporting work progress; it will be filled in responses from the metrics--- API.-muUpdateTime :: Lens' MetricUpdate (Maybe Text)-muUpdateTime-  = lens _muUpdateTime (\ s a -> s{_muUpdateTime = a})---- | Worker-computed aggregate value for the \"Mean\" aggregation kind. This--- holds the count of the aggregated values and is used in combination with--- mean_sum above to obtain the actual mean aggregate value. The only--- possible value type is Long.-muMeanCount :: Lens' MetricUpdate (Maybe JSONValue)-muMeanCount-  = lens _muMeanCount (\ s a -> s{_muMeanCount = a})---- | Name of the metric.-muName :: Lens' MetricUpdate (Maybe MetricStructuredName)-muName = lens _muName (\ s a -> s{_muName = a})---- | Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\",--- \"Min\", \"And\", and \"Or\". The possible value types are Long, Double,--- and Boolean.-muScalar :: Lens' MetricUpdate (Maybe JSONValue)-muScalar = lens _muScalar (\ s a -> s{_muScalar = a})--instance FromJSON MetricUpdate where-        parseJSON-          = withObject "MetricUpdate"-              (\ o ->-                 MetricUpdate' <$>-                   (o .:? "meanSum") <*> (o .:? "internal") <*>-                     (o .:? "set")-                     <*> (o .:? "cumulative")-                     <*> (o .:? "kind")-                     <*> (o .:? "updateTime")-                     <*> (o .:? "meanCount")-                     <*> (o .:? "name")-                     <*> (o .:? "scalar"))--instance ToJSON MetricUpdate where-        toJSON MetricUpdate'{..}-          = object-              (catMaybes-                 [("meanSum" .=) <$> _muMeanSum,-                  ("internal" .=) <$> _muInternal,-                  ("set" .=) <$> _muSet,-                  ("cumulative" .=) <$> _muCumulative,-                  ("kind" .=) <$> _muKind,-                  ("updateTime" .=) <$> _muUpdateTime,-                  ("meanCount" .=) <$> _muMeanCount,-                  ("name" .=) <$> _muName,-                  ("scalar" .=) <$> _muScalar])---- | The result of a SourceGetMetadataOperation.------ /See:/ 'sourceGetMetadataResponse' smart constructor.-newtype SourceGetMetadataResponse = SourceGetMetadataResponse'-    { _sgmrMetadata :: Maybe SourceMetadata-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceGetMetadataResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sgmrMetadata'-sourceGetMetadataResponse-    :: SourceGetMetadataResponse-sourceGetMetadataResponse =-    SourceGetMetadataResponse'-    { _sgmrMetadata = Nothing-    }---- | The computed metadata.-sgmrMetadata :: Lens' SourceGetMetadataResponse (Maybe SourceMetadata)-sgmrMetadata-  = lens _sgmrMetadata (\ s a -> s{_sgmrMetadata = a})--instance FromJSON SourceGetMetadataResponse where-        parseJSON-          = withObject "SourceGetMetadataResponse"-              (\ o ->-                 SourceGetMetadataResponse' <$> (o .:? "metadata"))--instance ToJSON SourceGetMetadataResponse where-        toJSON SourceGetMetadataResponse'{..}-          = object-              (catMaybes [("metadata" .=) <$> _sgmrMetadata])---- | Describes the environment in which a Dataflow Job runs.------ /See:/ 'environment' smart constructor.-data Environment = Environment'-    { _eDataSet                  :: !(Maybe Text)-    , _eExperiments              :: !(Maybe [Text])-    , _eWorkerPools              :: !(Maybe [WorkerPool])-    , _eClusterManagerAPIService :: !(Maybe Text)-    , _eVersion                  :: !(Maybe EnvironmentVersion)-    , _eInternalExperiments      :: !(Maybe EnvironmentInternalExperiments)-    , _eTempStoragePrefix        :: !(Maybe Text)-    , _eServiceAccountEmail      :: !(Maybe Text)-    , _eUserAgent                :: !(Maybe EnvironmentUserAgent)-    , _eSdkPipelineOptions       :: !(Maybe EnvironmentSdkPipelineOptions)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Environment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eDataSet'------ * 'eExperiments'------ * 'eWorkerPools'------ * 'eClusterManagerAPIService'------ * 'eVersion'------ * 'eInternalExperiments'------ * 'eTempStoragePrefix'------ * 'eServiceAccountEmail'------ * 'eUserAgent'------ * 'eSdkPipelineOptions'-environment-    :: Environment-environment =-    Environment'-    { _eDataSet = Nothing-    , _eExperiments = Nothing-    , _eWorkerPools = Nothing-    , _eClusterManagerAPIService = Nothing-    , _eVersion = Nothing-    , _eInternalExperiments = Nothing-    , _eTempStoragePrefix = Nothing-    , _eServiceAccountEmail = Nothing-    , _eUserAgent = Nothing-    , _eSdkPipelineOptions = Nothing-    }---- | The dataset for the current project where various workflow related--- tables are stored. The supported resource type is: Google BigQuery:--- bigquery.googleapis.com\/{dataset}-eDataSet :: Lens' Environment (Maybe Text)-eDataSet = lens _eDataSet (\ s a -> s{_eDataSet = a})---- | The list of experiments to enable.-eExperiments :: Lens' Environment [Text]-eExperiments-  = lens _eExperiments (\ s a -> s{_eExperiments = a})-      . _Default-      . _Coerce---- | The worker pools. At least one \"harness\" worker pool must be specified--- in order for the job to have workers.-eWorkerPools :: Lens' Environment [WorkerPool]-eWorkerPools-  = lens _eWorkerPools (\ s a -> s{_eWorkerPools = a})-      . _Default-      . _Coerce---- | The type of cluster manager API to use. If unknown or unspecified, the--- service will attempt to choose a reasonable default. This should be in--- the form of the API service name, e.g. \"compute.googleapis.com\".-eClusterManagerAPIService :: Lens' Environment (Maybe Text)-eClusterManagerAPIService-  = lens _eClusterManagerAPIService-      (\ s a -> s{_eClusterManagerAPIService = a})---- | A structure describing which components and their versions of the--- service are required in order to run the job.-eVersion :: Lens' Environment (Maybe EnvironmentVersion)-eVersion = lens _eVersion (\ s a -> s{_eVersion = a})---- | Experimental settings.-eInternalExperiments :: Lens' Environment (Maybe EnvironmentInternalExperiments)-eInternalExperiments-  = lens _eInternalExperiments-      (\ s a -> s{_eInternalExperiments = a})---- | The prefix of the resources the system should use for temporary storage.--- The system will append the suffix \"\/temp-{JOBNAME} to this resource--- prefix, where {JOBNAME} is the value of the job_name field. The--- resulting bucket and object prefix is used as the prefix of the--- resources used to store temporary data needed during the job execution.--- NOTE: This will override the value in taskrunner_settings. The supported--- resource type is: Google Cloud Storage:--- storage.googleapis.com\/{bucket}\/{object}--- bucket.storage.googleapis.com\/{object}-eTempStoragePrefix :: Lens' Environment (Maybe Text)-eTempStoragePrefix-  = lens _eTempStoragePrefix-      (\ s a -> s{_eTempStoragePrefix = a})---- | Identity to run virtual machines as. Defaults to the default account.-eServiceAccountEmail :: Lens' Environment (Maybe Text)-eServiceAccountEmail-  = lens _eServiceAccountEmail-      (\ s a -> s{_eServiceAccountEmail = a})---- | A description of the process that generated the request.-eUserAgent :: Lens' Environment (Maybe EnvironmentUserAgent)-eUserAgent-  = lens _eUserAgent (\ s a -> s{_eUserAgent = a})---- | The Cloud Dataflow SDK pipeline options specified by the user. These--- options are passed through the service and are used to recreate the SDK--- pipeline options on the worker in a language agnostic and platform--- independent way.-eSdkPipelineOptions :: Lens' Environment (Maybe EnvironmentSdkPipelineOptions)-eSdkPipelineOptions-  = lens _eSdkPipelineOptions-      (\ s a -> s{_eSdkPipelineOptions = a})--instance FromJSON Environment where-        parseJSON-          = withObject "Environment"-              (\ o ->-                 Environment' <$>-                   (o .:? "dataset") <*>-                     (o .:? "experiments" .!= mempty)-                     <*> (o .:? "workerPools" .!= mempty)-                     <*> (o .:? "clusterManagerApiService")-                     <*> (o .:? "version")-                     <*> (o .:? "internalExperiments")-                     <*> (o .:? "tempStoragePrefix")-                     <*> (o .:? "serviceAccountEmail")-                     <*> (o .:? "userAgent")-                     <*> (o .:? "sdkPipelineOptions"))--instance ToJSON Environment where-        toJSON Environment'{..}-          = object-              (catMaybes-                 [("dataset" .=) <$> _eDataSet,-                  ("experiments" .=) <$> _eExperiments,-                  ("workerPools" .=) <$> _eWorkerPools,-                  ("clusterManagerApiService" .=) <$>-                    _eClusterManagerAPIService,-                  ("version" .=) <$> _eVersion,-                  ("internalExperiments" .=) <$> _eInternalExperiments,-                  ("tempStoragePrefix" .=) <$> _eTempStoragePrefix,-                  ("serviceAccountEmail" .=) <$> _eServiceAccountEmail,-                  ("userAgent" .=) <$> _eUserAgent,-                  ("sdkPipelineOptions" .=) <$> _eSdkPipelineOptions])---- | A position that encapsulates an inner position and an index for the--- inner position. A ConcatPosition can be used by a reader of a source--- that encapsulates a set of other sources.------ /See:/ 'concatPosition' smart constructor.-data ConcatPosition = ConcatPosition'-    { _cpIndex    :: !(Maybe (Textual Int32))-    , _cpPosition :: !(Maybe Position)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ConcatPosition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpIndex'------ * 'cpPosition'-concatPosition-    :: ConcatPosition-concatPosition =-    ConcatPosition'-    { _cpIndex = Nothing-    , _cpPosition = Nothing-    }---- | Index of the inner source.-cpIndex :: Lens' ConcatPosition (Maybe Int32)-cpIndex-  = lens _cpIndex (\ s a -> s{_cpIndex = a}) .-      mapping _Coerce---- | Position within the inner source.-cpPosition :: Lens' ConcatPosition (Maybe Position)-cpPosition-  = lens _cpPosition (\ s a -> s{_cpPosition = a})--instance FromJSON ConcatPosition where-        parseJSON-          = withObject "ConcatPosition"-              (\ o ->-                 ConcatPosition' <$>-                   (o .:? "index") <*> (o .:? "position"))--instance ToJSON ConcatPosition where-        toJSON ConcatPosition'{..}-          = object-              (catMaybes-                 [("index" .=) <$> _cpIndex,-                  ("position" .=) <$> _cpPosition])---- | Zero or more labeled fields which identify the part of the job this--- metric is associated with, such as the name of a step or collection. For--- example, built-in counters associated with steps will have--- context[\'step\'] = . Counters associated with PCollections in the SDK--- will have context[\'pcollection\'] = .------ /See:/ 'metricStructuredNameContext' smart constructor.-newtype MetricStructuredNameContext = MetricStructuredNameContext'-    { _msncAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MetricStructuredNameContext' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'msncAddtional'-metricStructuredNameContext-    :: HashMap Text Text -- ^ 'msncAddtional'-    -> MetricStructuredNameContext-metricStructuredNameContext pMsncAddtional_ =-    MetricStructuredNameContext'-    { _msncAddtional = _Coerce # pMsncAddtional_-    }--msncAddtional :: Lens' MetricStructuredNameContext (HashMap Text Text)-msncAddtional-  = lens _msncAddtional-      (\ s a -> s{_msncAddtional = a})-      . _Coerce--instance FromJSON MetricStructuredNameContext where-        parseJSON-          = withObject "MetricStructuredNameContext"-              (\ o ->-                 MetricStructuredNameContext' <$> (parseJSONObject o))--instance ToJSON MetricStructuredNameContext where-        toJSON = toJSON . _msncAddtional---- | An update to a Counter sent from a worker.------ /See:/ 'counterUpdate' smart constructor.-data CounterUpdate = CounterUpdate'-    { _cuNameAndKind               :: !(Maybe NameAndKind)-    , _cuIntegerList               :: !(Maybe IntegerList)-    , _cuFloatingPoint             :: !(Maybe (Textual Double))-    , _cuInternal                  :: !(Maybe JSONValue)-    , _cuStringList                :: !(Maybe StringList)-    , _cuShortId                   :: !(Maybe (Textual Int64))-    , _cuDistribution              :: !(Maybe DistributionUpdate)-    , _cuCumulative                :: !(Maybe Bool)-    , _cuStructuredNameAndMetadata :: !(Maybe CounterStructuredNameAndMetadata)-    , _cuFloatingPointMean         :: !(Maybe FloatingPointMean)-    , _cuIntegerMean               :: !(Maybe IntegerMean)-    , _cuBoolean                   :: !(Maybe Bool)-    , _cuFloatingPointList         :: !(Maybe FloatingPointList)-    , _cuInteger                   :: !(Maybe SplitInt64)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CounterUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cuNameAndKind'------ * 'cuIntegerList'------ * 'cuFloatingPoint'------ * 'cuInternal'------ * 'cuStringList'------ * 'cuShortId'------ * 'cuDistribution'------ * 'cuCumulative'------ * 'cuStructuredNameAndMetadata'------ * 'cuFloatingPointMean'------ * 'cuIntegerMean'------ * 'cuBoolean'------ * 'cuFloatingPointList'------ * 'cuInteger'-counterUpdate-    :: CounterUpdate-counterUpdate =-    CounterUpdate'-    { _cuNameAndKind = Nothing-    , _cuIntegerList = Nothing-    , _cuFloatingPoint = Nothing-    , _cuInternal = Nothing-    , _cuStringList = Nothing-    , _cuShortId = Nothing-    , _cuDistribution = Nothing-    , _cuCumulative = Nothing-    , _cuStructuredNameAndMetadata = Nothing-    , _cuFloatingPointMean = Nothing-    , _cuIntegerMean = Nothing-    , _cuBoolean = Nothing-    , _cuFloatingPointList = Nothing-    , _cuInteger = Nothing-    }---- | Counter name and aggregation type.-cuNameAndKind :: Lens' CounterUpdate (Maybe NameAndKind)-cuNameAndKind-  = lens _cuNameAndKind-      (\ s a -> s{_cuNameAndKind = a})---- | List of integers, for Set.-cuIntegerList :: Lens' CounterUpdate (Maybe IntegerList)-cuIntegerList-  = lens _cuIntegerList-      (\ s a -> s{_cuIntegerList = a})---- | Floating point value for Sum, Max, Min.-cuFloatingPoint :: Lens' CounterUpdate (Maybe Double)-cuFloatingPoint-  = lens _cuFloatingPoint-      (\ s a -> s{_cuFloatingPoint = a})-      . mapping _Coerce---- | Value for internally-defined counters used by the Dataflow service.-cuInternal :: Lens' CounterUpdate (Maybe JSONValue)-cuInternal-  = lens _cuInternal (\ s a -> s{_cuInternal = a})---- | List of strings, for Set.-cuStringList :: Lens' CounterUpdate (Maybe StringList)-cuStringList-  = lens _cuStringList (\ s a -> s{_cuStringList = a})---- | The service-generated short identifier for this counter. The short_id ->--- (name, metadata) mapping is constant for the lifetime of a job.-cuShortId :: Lens' CounterUpdate (Maybe Int64)-cuShortId-  = lens _cuShortId (\ s a -> s{_cuShortId = a}) .-      mapping _Coerce---- | Distribution data-cuDistribution :: Lens' CounterUpdate (Maybe DistributionUpdate)-cuDistribution-  = lens _cuDistribution-      (\ s a -> s{_cuDistribution = a})---- | True if this counter is reported as the total cumulative aggregate value--- accumulated since the worker started working on this WorkItem. By--- default this is false, indicating that this counter is reported as a--- delta.-cuCumulative :: Lens' CounterUpdate (Maybe Bool)-cuCumulative-  = lens _cuCumulative (\ s a -> s{_cuCumulative = a})---- | Counter structured name and metadata.-cuStructuredNameAndMetadata :: Lens' CounterUpdate (Maybe CounterStructuredNameAndMetadata)-cuStructuredNameAndMetadata-  = lens _cuStructuredNameAndMetadata-      (\ s a -> s{_cuStructuredNameAndMetadata = a})---- | Floating point mean aggregation value for Mean.-cuFloatingPointMean :: Lens' CounterUpdate (Maybe FloatingPointMean)-cuFloatingPointMean-  = lens _cuFloatingPointMean-      (\ s a -> s{_cuFloatingPointMean = a})---- | Integer mean aggregation value for Mean.-cuIntegerMean :: Lens' CounterUpdate (Maybe IntegerMean)-cuIntegerMean-  = lens _cuIntegerMean-      (\ s a -> s{_cuIntegerMean = a})---- | Boolean value for And, Or.-cuBoolean :: Lens' CounterUpdate (Maybe Bool)-cuBoolean-  = lens _cuBoolean (\ s a -> s{_cuBoolean = a})---- | List of floating point numbers, for Set.-cuFloatingPointList :: Lens' CounterUpdate (Maybe FloatingPointList)-cuFloatingPointList-  = lens _cuFloatingPointList-      (\ s a -> s{_cuFloatingPointList = a})---- | Integer value for Sum, Max, Min.-cuInteger :: Lens' CounterUpdate (Maybe SplitInt64)-cuInteger-  = lens _cuInteger (\ s a -> s{_cuInteger = a})--instance FromJSON CounterUpdate where-        parseJSON-          = withObject "CounterUpdate"-              (\ o ->-                 CounterUpdate' <$>-                   (o .:? "nameAndKind") <*> (o .:? "integerList") <*>-                     (o .:? "floatingPoint")-                     <*> (o .:? "internal")-                     <*> (o .:? "stringList")-                     <*> (o .:? "shortId")-                     <*> (o .:? "distribution")-                     <*> (o .:? "cumulative")-                     <*> (o .:? "structuredNameAndMetadata")-                     <*> (o .:? "floatingPointMean")-                     <*> (o .:? "integerMean")-                     <*> (o .:? "boolean")-                     <*> (o .:? "floatingPointList")-                     <*> (o .:? "integer"))--instance ToJSON CounterUpdate where-        toJSON CounterUpdate'{..}-          = object-              (catMaybes-                 [("nameAndKind" .=) <$> _cuNameAndKind,-                  ("integerList" .=) <$> _cuIntegerList,-                  ("floatingPoint" .=) <$> _cuFloatingPoint,-                  ("internal" .=) <$> _cuInternal,-                  ("stringList" .=) <$> _cuStringList,-                  ("shortId" .=) <$> _cuShortId,-                  ("distribution" .=) <$> _cuDistribution,-                  ("cumulative" .=) <$> _cuCumulative,-                  ("structuredNameAndMetadata" .=) <$>-                    _cuStructuredNameAndMetadata,-                  ("floatingPointMean" .=) <$> _cuFloatingPointMean,-                  ("integerMean" .=) <$> _cuIntegerMean,-                  ("boolean" .=) <$> _cuBoolean,-                  ("floatingPointList" .=) <$> _cuFloatingPointList,-                  ("integer" .=) <$> _cuInteger])---- | Identifies the location of a streaming computation stage, for--- stage-to-stage communication.------ /See:/ 'streamingStageLocation' smart constructor.-newtype StreamingStageLocation = StreamingStageLocation'-    { _sslStreamId :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingStageLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sslStreamId'-streamingStageLocation-    :: StreamingStageLocation-streamingStageLocation =-    StreamingStageLocation'-    { _sslStreamId = Nothing-    }---- | Identifies the particular stream within the streaming Dataflow job.-sslStreamId :: Lens' StreamingStageLocation (Maybe Text)-sslStreamId-  = lens _sslStreamId (\ s a -> s{_sslStreamId = a})--instance FromJSON StreamingStageLocation where-        parseJSON-          = withObject "StreamingStageLocation"-              (\ o ->-                 StreamingStageLocation' <$> (o .:? "streamId"))--instance ToJSON StreamingStageLocation where-        toJSON StreamingStageLocation'{..}-          = object-              (catMaybes [("streamId" .=) <$> _sslStreamId])---- | Specification of one of the bundles produced as a result of splitting a--- Source (e.g. when executing a SourceSplitRequest, or when splitting an--- active task using WorkItemStatus.dynamic_source_split), relative to the--- source being split.------ /See:/ 'derivedSource' smart constructor.-data DerivedSource = DerivedSource'-    { _dsDerivationMode :: !(Maybe Text)-    , _dsSource         :: !(Maybe Source)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DerivedSource' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsDerivationMode'------ * 'dsSource'-derivedSource-    :: DerivedSource-derivedSource =-    DerivedSource'-    { _dsDerivationMode = Nothing-    , _dsSource = Nothing-    }---- | What source to base the produced source on (if any).-dsDerivationMode :: Lens' DerivedSource (Maybe Text)-dsDerivationMode-  = lens _dsDerivationMode-      (\ s a -> s{_dsDerivationMode = a})---- | Specification of the source.-dsSource :: Lens' DerivedSource (Maybe Source)-dsSource = lens _dsSource (\ s a -> s{_dsSource = a})--instance FromJSON DerivedSource where-        parseJSON-          = withObject "DerivedSource"-              (\ o ->-                 DerivedSource' <$>-                   (o .:? "derivationMode") <*> (o .:? "source"))--instance ToJSON DerivedSource where-        toJSON DerivedSource'{..}-          = object-              (catMaybes-                 [("derivationMode" .=) <$> _dsDerivationMode,-                  ("source" .=) <$> _dsSource])---- | JobMetrics contains a collection of metrics descibing the detailed--- progress of a Dataflow job. Metrics correspond to user-defined and--- system-defined metrics in the job. This resource captures only the most--- recent values of each metric; time-series data can be queried for them--- (under the same metric names) from Cloud Monitoring.------ /See:/ 'jobMetrics' smart constructor.-data JobMetrics = JobMetrics'-    { _jmMetrics    :: !(Maybe [MetricUpdate])-    , _jmMetricTime :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'JobMetrics' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jmMetrics'------ * 'jmMetricTime'-jobMetrics-    :: JobMetrics-jobMetrics =-    JobMetrics'-    { _jmMetrics = Nothing-    , _jmMetricTime = Nothing-    }---- | All metrics for this job.-jmMetrics :: Lens' JobMetrics [MetricUpdate]-jmMetrics-  = lens _jmMetrics (\ s a -> s{_jmMetrics = a}) .-      _Default-      . _Coerce---- | Timestamp as of which metric values are current.-jmMetricTime :: Lens' JobMetrics (Maybe Text)-jmMetricTime-  = lens _jmMetricTime (\ s a -> s{_jmMetricTime = a})--instance FromJSON JobMetrics where-        parseJSON-          = withObject "JobMetrics"-              (\ o ->-                 JobMetrics' <$>-                   (o .:? "metrics" .!= mempty) <*>-                     (o .:? "metricTime"))--instance ToJSON JobMetrics where-        toJSON JobMetrics'{..}-          = object-              (catMaybes-                 [("metrics" .=) <$> _jmMetrics,-                  ("metricTime" .=) <$> _jmMetricTime])---- | Request to send encoded debug information.------ /See:/ 'sendDebugCaptureRequest' smart constructor.-data SendDebugCaptureRequest = SendDebugCaptureRequest'-    { _sdcrData        :: !(Maybe Text)-    , _sdcrComponentId :: !(Maybe Text)-    , _sdcrWorkerId    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SendDebugCaptureRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdcrData'------ * 'sdcrComponentId'------ * 'sdcrWorkerId'-sendDebugCaptureRequest-    :: SendDebugCaptureRequest-sendDebugCaptureRequest =-    SendDebugCaptureRequest'-    { _sdcrData = Nothing-    , _sdcrComponentId = Nothing-    , _sdcrWorkerId = Nothing-    }---- | The encoded debug information.-sdcrData :: Lens' SendDebugCaptureRequest (Maybe Text)-sdcrData = lens _sdcrData (\ s a -> s{_sdcrData = a})---- | The internal component id for which debug information is sent.-sdcrComponentId :: Lens' SendDebugCaptureRequest (Maybe Text)-sdcrComponentId-  = lens _sdcrComponentId-      (\ s a -> s{_sdcrComponentId = a})---- | The worker id, i.e., VM hostname.-sdcrWorkerId :: Lens' SendDebugCaptureRequest (Maybe Text)-sdcrWorkerId-  = lens _sdcrWorkerId (\ s a -> s{_sdcrWorkerId = a})--instance FromJSON SendDebugCaptureRequest where-        parseJSON-          = withObject "SendDebugCaptureRequest"-              (\ o ->-                 SendDebugCaptureRequest' <$>-                   (o .:? "data") <*> (o .:? "componentId") <*>-                     (o .:? "workerId"))--instance ToJSON SendDebugCaptureRequest where-        toJSON SendDebugCaptureRequest'{..}-          = object-              (catMaybes-                 [("data" .=) <$> _sdcrData,-                  ("componentId" .=) <$> _sdcrComponentId,-                  ("workerId" .=) <$> _sdcrWorkerId])---- | Conveys a worker\'s progress through the work described by a WorkItem.------ /See:/ 'workItemStatus' smart constructor.-data WorkItemStatus = WorkItemStatus'-    { _wisReportedProgress        :: !(Maybe ApproximateReportedProgress)-    , _wisProgress                :: !(Maybe ApproximateProgress)-    , _wisSourceOperationResponse :: !(Maybe SourceOperationResponse)-    , _wisStopPosition            :: !(Maybe Position)-    , _wisDynamicSourceSplit      :: !(Maybe DynamicSourceSplit)-    , _wisCompleted               :: !(Maybe Bool)-    , _wisSourceFork              :: !(Maybe SourceFork)-    , _wisReportIndex             :: !(Maybe (Textual Int64))-    , _wisRequestedLeaseDuration  :: !(Maybe Text)-    , _wisErrors                  :: !(Maybe [Status])-    , _wisCounterUpdates          :: !(Maybe [CounterUpdate])-    , _wisMetricUpdates           :: !(Maybe [MetricUpdate])-    , _wisWorkItemId              :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkItemStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wisReportedProgress'------ * 'wisProgress'------ * 'wisSourceOperationResponse'------ * 'wisStopPosition'------ * 'wisDynamicSourceSplit'------ * 'wisCompleted'------ * 'wisSourceFork'------ * 'wisReportIndex'------ * 'wisRequestedLeaseDuration'------ * 'wisErrors'------ * 'wisCounterUpdates'------ * 'wisMetricUpdates'------ * 'wisWorkItemId'-workItemStatus-    :: WorkItemStatus-workItemStatus =-    WorkItemStatus'-    { _wisReportedProgress = Nothing-    , _wisProgress = Nothing-    , _wisSourceOperationResponse = Nothing-    , _wisStopPosition = Nothing-    , _wisDynamicSourceSplit = Nothing-    , _wisCompleted = Nothing-    , _wisSourceFork = Nothing-    , _wisReportIndex = Nothing-    , _wisRequestedLeaseDuration = Nothing-    , _wisErrors = Nothing-    , _wisCounterUpdates = Nothing-    , _wisMetricUpdates = Nothing-    , _wisWorkItemId = Nothing-    }---- | The worker\'s progress through this WorkItem.-wisReportedProgress :: Lens' WorkItemStatus (Maybe ApproximateReportedProgress)-wisReportedProgress-  = lens _wisReportedProgress-      (\ s a -> s{_wisReportedProgress = a})---- | DEPRECATED in favor of reported_progress.-wisProgress :: Lens' WorkItemStatus (Maybe ApproximateProgress)-wisProgress-  = lens _wisProgress (\ s a -> s{_wisProgress = a})---- | If the work item represented a SourceOperationRequest, and the work is--- completed, contains the result of the operation.-wisSourceOperationResponse :: Lens' WorkItemStatus (Maybe SourceOperationResponse)-wisSourceOperationResponse-  = lens _wisSourceOperationResponse-      (\ s a -> s{_wisSourceOperationResponse = a})---- | A worker may split an active map task in two parts, \"primary\" and--- \"residual\", continuing to process the primary part and returning the--- residual part into the pool of available work. This event is called a--- \"dynamic split\" and is critical to the dynamic work rebalancing--- feature. The two obtained sub-tasks are called \"parts\" of the split.--- The parts, if concatenated, must represent the same input as would be--- read by the current task if the split did not happen. The exact way in--- which the original task is decomposed into the two parts is specified--- either as a position demarcating them (stop_position), or explicitly as--- two DerivedSources, if this task consumes a user-defined source type--- (dynamic_source_split). The \"current\" task is adjusted as a result of--- the split: after a task with range [A, B) sends a stop_position update--- at C, its range is considered to be [A, C), e.g.: * Progress should be--- interpreted relative to the new range, e.g. \"75% completed\" means--- \"75% of [A, C) completed\" * The worker should interpret--- proposed_stop_position relative to the new range, e.g. \"split at 68%\"--- should be interpreted as \"split at 68% of [A, C)\". * If the worker--- chooses to split again using stop_position, only stop_positions in [A,--- C) will be accepted. * Etc. dynamic_source_split has similar semantics:--- e.g., if a task with source S splits using dynamic_source_split into {P,--- R} (where P and R must be together equivalent to S), then subsequent--- progress and proposed_stop_position should be interpreted relative to P,--- and in a potential subsequent dynamic_source_split into {P\', R\'}, P\'--- and R\' must be together equivalent to P, etc.-wisStopPosition :: Lens' WorkItemStatus (Maybe Position)-wisStopPosition-  = lens _wisStopPosition-      (\ s a -> s{_wisStopPosition = a})---- | See documentation of stop_position.-wisDynamicSourceSplit :: Lens' WorkItemStatus (Maybe DynamicSourceSplit)-wisDynamicSourceSplit-  = lens _wisDynamicSourceSplit-      (\ s a -> s{_wisDynamicSourceSplit = a})---- | True if the WorkItem was completed (successfully or unsuccessfully).-wisCompleted :: Lens' WorkItemStatus (Maybe Bool)-wisCompleted-  = lens _wisCompleted (\ s a -> s{_wisCompleted = a})---- | DEPRECATED in favor of dynamic_source_split.-wisSourceFork :: Lens' WorkItemStatus (Maybe SourceFork)-wisSourceFork-  = lens _wisSourceFork-      (\ s a -> s{_wisSourceFork = a})---- | The report index. When a WorkItem is leased, the lease will contain an--- initial report index. When a WorkItem\'s status is reported to the--- system, the report should be sent with that report index, and the--- response will contain the index the worker should use for the next--- report. Reports received with unexpected index values will be rejected--- by the service. In order to preserve idempotency, the worker should not--- alter the contents of a report, even if the worker must submit the same--- report multiple times before getting back a response. The worker should--- not submit a subsequent report until the response for the previous--- report had been received from the service.-wisReportIndex :: Lens' WorkItemStatus (Maybe Int64)-wisReportIndex-  = lens _wisReportIndex-      (\ s a -> s{_wisReportIndex = a})-      . mapping _Coerce---- | Amount of time the worker requests for its lease.-wisRequestedLeaseDuration :: Lens' WorkItemStatus (Maybe Text)-wisRequestedLeaseDuration-  = lens _wisRequestedLeaseDuration-      (\ s a -> s{_wisRequestedLeaseDuration = a})---- | Specifies errors which occurred during processing. If errors are--- provided, and completed = true, then the WorkItem is considered to have--- failed.-wisErrors :: Lens' WorkItemStatus [Status]-wisErrors-  = lens _wisErrors (\ s a -> s{_wisErrors = a}) .-      _Default-      . _Coerce---- | Worker output counters for this WorkItem.-wisCounterUpdates :: Lens' WorkItemStatus [CounterUpdate]-wisCounterUpdates-  = lens _wisCounterUpdates-      (\ s a -> s{_wisCounterUpdates = a})-      . _Default-      . _Coerce---- | DEPRECATED in favor of counter_updates.-wisMetricUpdates :: Lens' WorkItemStatus [MetricUpdate]-wisMetricUpdates-  = lens _wisMetricUpdates-      (\ s a -> s{_wisMetricUpdates = a})-      . _Default-      . _Coerce---- | Identifies the WorkItem.-wisWorkItemId :: Lens' WorkItemStatus (Maybe Text)-wisWorkItemId-  = lens _wisWorkItemId-      (\ s a -> s{_wisWorkItemId = a})--instance FromJSON WorkItemStatus where-        parseJSON-          = withObject "WorkItemStatus"-              (\ o ->-                 WorkItemStatus' <$>-                   (o .:? "reportedProgress") <*> (o .:? "progress") <*>-                     (o .:? "sourceOperationResponse")-                     <*> (o .:? "stopPosition")-                     <*> (o .:? "dynamicSourceSplit")-                     <*> (o .:? "completed")-                     <*> (o .:? "sourceFork")-                     <*> (o .:? "reportIndex")-                     <*> (o .:? "requestedLeaseDuration")-                     <*> (o .:? "errors" .!= mempty)-                     <*> (o .:? "counterUpdates" .!= mempty)-                     <*> (o .:? "metricUpdates" .!= mempty)-                     <*> (o .:? "workItemId"))--instance ToJSON WorkItemStatus where-        toJSON WorkItemStatus'{..}-          = object-              (catMaybes-                 [("reportedProgress" .=) <$> _wisReportedProgress,-                  ("progress" .=) <$> _wisProgress,-                  ("sourceOperationResponse" .=) <$>-                    _wisSourceOperationResponse,-                  ("stopPosition" .=) <$> _wisStopPosition,-                  ("dynamicSourceSplit" .=) <$> _wisDynamicSourceSplit,-                  ("completed" .=) <$> _wisCompleted,-                  ("sourceFork" .=) <$> _wisSourceFork,-                  ("reportIndex" .=) <$> _wisReportIndex,-                  ("requestedLeaseDuration" .=) <$>-                    _wisRequestedLeaseDuration,-                  ("errors" .=) <$> _wisErrors,-                  ("counterUpdates" .=) <$> _wisCounterUpdates,-                  ("metricUpdates" .=) <$> _wisMetricUpdates,-                  ("workItemId" .=) <$> _wisWorkItemId])---- | Labels are used to group WorkerMessages. For example, a worker_message--- about a particular container might have the labels: { \"JOB_ID\":--- \"2015-04-22\", \"WORKER_ID\": \"wordcount-vm-2015…\"--- \"CONTAINER_TYPE\": \"worker\", \"CONTAINER_ID\": \"ac1234def\"} Label--- tags typically correspond to Label enum values. However, for ease of--- development other strings can be used as tags. LABEL_UNSPECIFIED should--- not be used here.------ /See:/ 'workerMessageLabels' smart constructor.-newtype WorkerMessageLabels = WorkerMessageLabels'-    { _wmlAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerMessageLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wmlAddtional'-workerMessageLabels-    :: HashMap Text Text -- ^ 'wmlAddtional'-    -> WorkerMessageLabels-workerMessageLabels pWmlAddtional_ =-    WorkerMessageLabels'-    { _wmlAddtional = _Coerce # pWmlAddtional_-    }--wmlAddtional :: Lens' WorkerMessageLabels (HashMap Text Text)-wmlAddtional-  = lens _wmlAddtional (\ s a -> s{_wmlAddtional = a})-      . _Coerce--instance FromJSON WorkerMessageLabels where-        parseJSON-          = withObject "WorkerMessageLabels"-              (\ o -> WorkerMessageLabels' <$> (parseJSONObject o))--instance ToJSON WorkerMessageLabels where-        toJSON = toJSON . _wmlAddtional---- | An instruction that copies its inputs (zero or more) to its (single)--- output.------ /See:/ 'flattenInstruction' smart constructor.-newtype FlattenInstruction = FlattenInstruction'-    { _fiInputs :: Maybe [InstructionInput]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FlattenInstruction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fiInputs'-flattenInstruction-    :: FlattenInstruction-flattenInstruction =-    FlattenInstruction'-    { _fiInputs = Nothing-    }---- | Describes the inputs to the flatten instruction.-fiInputs :: Lens' FlattenInstruction [InstructionInput]-fiInputs-  = lens _fiInputs (\ s a -> s{_fiInputs = a}) .-      _Default-      . _Coerce--instance FromJSON FlattenInstruction where-        parseJSON-          = withObject "FlattenInstruction"-              (\ o ->-                 FlattenInstruction' <$> (o .:? "inputs" .!= mempty))--instance ToJSON FlattenInstruction where-        toJSON FlattenInstruction'{..}-          = object (catMaybes [("inputs" .=) <$> _fiInputs])---- | A message code is used to report status and error messages to the--- service. The message codes are intended to be machine readable. The--- service will take care of translating these into user understandable--- messages if necessary. Example use cases: 1. Worker processes reporting--- successful startup. 2. Worker processes reporting specific errors (e.g.--- package staging failure).------ /See:/ 'workerMessageCode' smart constructor.-data WorkerMessageCode = WorkerMessageCode'-    { _wmcParameters :: !(Maybe WorkerMessageCodeParameters)-    , _wmcCode       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerMessageCode' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wmcParameters'------ * 'wmcCode'-workerMessageCode-    :: WorkerMessageCode-workerMessageCode =-    WorkerMessageCode'-    { _wmcParameters = Nothing-    , _wmcCode = Nothing-    }---- | Parameters contains specific information about the code. This is a--- struct to allow parameters of different types. Examples: 1. For a--- \"HARNESS_STARTED\" message parameters might provide the name of the--- worker and additional data like timing information. 2. For a--- \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing the GCS--- objects being downloaded and fields containing errors. In general--- complex data structures should be avoided. If a worker needs to send a--- specific and complicated data structure then please consider defining a--- new proto and adding it to the data oneof in WorkerMessageResponse.--- Conventions: Parameters should only be used for information that isn\'t--- typically passed as a label. hostname and other worker identifiers--- should almost always be passed as labels since they will be included on--- most messages.-wmcParameters :: Lens' WorkerMessageCode (Maybe WorkerMessageCodeParameters)-wmcParameters-  = lens _wmcParameters-      (\ s a -> s{_wmcParameters = a})---- | The code is a string intended for consumption by a machine that--- identifies the type of message being sent. Examples: 1.--- \"HARNESS_STARTED\" might be used to indicate the worker harness has--- started. 2. \"GCS_DOWNLOAD_ERROR\" might be used to indicate an error--- downloading a GCS file as part of the boot process of one of the worker--- containers. This is a string and not an enum to make it easy to add new--- codes without waiting for an API change.-wmcCode :: Lens' WorkerMessageCode (Maybe Text)-wmcCode = lens _wmcCode (\ s a -> s{_wmcCode = a})--instance FromJSON WorkerMessageCode where-        parseJSON-          = withObject "WorkerMessageCode"-              (\ o ->-                 WorkerMessageCode' <$>-                   (o .:? "parameters") <*> (o .:? "code"))--instance ToJSON WorkerMessageCode where-        toJSON WorkerMessageCode'{..}-          = object-              (catMaybes-                 [("parameters" .=) <$> _wmcParameters,-                  ("code" .=) <$> _wmcCode])---- | The map of transform name prefixes of the job to be replaced to the--- corresponding name prefixes of the new job.------ /See:/ 'jobTransformNameMApping' smart constructor.-newtype JobTransformNameMApping = JobTransformNameMApping'-    { _jtnmaAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'JobTransformNameMApping' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jtnmaAddtional'-jobTransformNameMApping-    :: HashMap Text Text -- ^ 'jtnmaAddtional'-    -> JobTransformNameMApping-jobTransformNameMApping pJtnmaAddtional_ =-    JobTransformNameMApping'-    { _jtnmaAddtional = _Coerce # pJtnmaAddtional_-    }--jtnmaAddtional :: Lens' JobTransformNameMApping (HashMap Text Text)-jtnmaAddtional-  = lens _jtnmaAddtional-      (\ s a -> s{_jtnmaAddtional = a})-      . _Coerce--instance FromJSON JobTransformNameMApping where-        parseJSON-          = withObject "JobTransformNameMApping"-              (\ o ->-                 JobTransformNameMApping' <$> (parseJSONObject o))--instance ToJSON JobTransformNameMApping where-        toJSON = toJSON . _jtnmaAddtional---- | The source to read from, plus its parameters.------ /See:/ 'sourceSpec' smart constructor.-newtype SourceSpec = SourceSpec'-    { _ssAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssAddtional'-sourceSpec-    :: HashMap Text JSONValue -- ^ 'ssAddtional'-    -> SourceSpec-sourceSpec pSsAddtional_ =-    SourceSpec'-    { _ssAddtional = _Coerce # pSsAddtional_-    }---- | Properties of the object.-ssAddtional :: Lens' SourceSpec (HashMap Text JSONValue)-ssAddtional-  = lens _ssAddtional (\ s a -> s{_ssAddtional = a}) .-      _Coerce--instance FromJSON SourceSpec where-        parseJSON-          = withObject "SourceSpec"-              (\ o -> SourceSpec' <$> (parseJSONObject o))--instance ToJSON SourceSpec where-        toJSON = toJSON . _ssAddtional---- | Metadata about a Source useful for automatically optimizing and tuning--- the pipeline, etc.------ /See:/ 'sourceMetadata' smart constructor.-data SourceMetadata = SourceMetadata'-    { _smEstimatedSizeBytes :: !(Maybe (Textual Int64))-    , _smProducesSortedKeys :: !(Maybe Bool)-    , _smInfinite           :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smEstimatedSizeBytes'------ * 'smProducesSortedKeys'------ * 'smInfinite'-sourceMetadata-    :: SourceMetadata-sourceMetadata =-    SourceMetadata'-    { _smEstimatedSizeBytes = Nothing-    , _smProducesSortedKeys = Nothing-    , _smInfinite = Nothing-    }---- | An estimate of the total size (in bytes) of the data that would be read--- from this source. This estimate is in terms of external storage size,--- before any decompression or other processing done by the reader.-smEstimatedSizeBytes :: Lens' SourceMetadata (Maybe Int64)-smEstimatedSizeBytes-  = lens _smEstimatedSizeBytes-      (\ s a -> s{_smEstimatedSizeBytes = a})-      . mapping _Coerce---- | Whether this source is known to produce key\/value pairs with the--- (encoded) keys in lexicographically sorted order.-smProducesSortedKeys :: Lens' SourceMetadata (Maybe Bool)-smProducesSortedKeys-  = lens _smProducesSortedKeys-      (\ s a -> s{_smProducesSortedKeys = a})---- | Specifies that the size of this source is known to be infinite (this is--- a streaming source).-smInfinite :: Lens' SourceMetadata (Maybe Bool)-smInfinite-  = lens _smInfinite (\ s a -> s{_smInfinite = a})--instance FromJSON SourceMetadata where-        parseJSON-          = withObject "SourceMetadata"-              (\ o ->-                 SourceMetadata' <$>-                   (o .:? "estimatedSizeBytes") <*>-                     (o .:? "producesSortedKeys")-                     <*> (o .:? "infinite"))--instance ToJSON SourceMetadata where-        toJSON SourceMetadata'{..}-          = object-              (catMaybes-                 [("estimatedSizeBytes" .=) <$> _smEstimatedSizeBytes,-                  ("producesSortedKeys" .=) <$> _smProducesSortedKeys,-                  ("infinite" .=) <$> _smInfinite])---- | Experimental settings.------ /See:/ 'environmentInternalExperiments' smart constructor.-newtype EnvironmentInternalExperiments = EnvironmentInternalExperiments'-    { _eieAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnvironmentInternalExperiments' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eieAddtional'-environmentInternalExperiments-    :: HashMap Text JSONValue -- ^ 'eieAddtional'-    -> EnvironmentInternalExperiments-environmentInternalExperiments pEieAddtional_ =-    EnvironmentInternalExperiments'-    { _eieAddtional = _Coerce # pEieAddtional_-    }---- | Properties of the object. Contains field \'type with type URL.-eieAddtional :: Lens' EnvironmentInternalExperiments (HashMap Text JSONValue)-eieAddtional-  = lens _eieAddtional (\ s a -> s{_eieAddtional = a})-      . _Coerce--instance FromJSON EnvironmentInternalExperiments-         where-        parseJSON-          = withObject "EnvironmentInternalExperiments"-              (\ o ->-                 EnvironmentInternalExperiments' <$>-                   (parseJSONObject o))--instance ToJSON EnvironmentInternalExperiments where-        toJSON = toJSON . _eieAddtional---- | Taskrunner configuration settings.------ /See:/ 'taskRunnerSettings' smart constructor.-data TaskRunnerSettings = TaskRunnerSettings'-    { _trsContinueOnException      :: !(Maybe Bool)-    , _trsHarnessCommand           :: !(Maybe Text)-    , _trsWorkflowFileName         :: !(Maybe Text)-    , _trsTaskGroup                :: !(Maybe Text)-    , _trsAlsologtostderr          :: !(Maybe Bool)-    , _trsDataflowAPIVersion       :: !(Maybe Text)-    , _trsLogDir                   :: !(Maybe Text)-    , _trsCommandlinesFileName     :: !(Maybe Text)-    , _trsVMId                     :: !(Maybe Text)-    , _trsBaseURL                  :: !(Maybe Text)-    , _trsOAuthScopes              :: !(Maybe [Text])-    , _trsTaskUser                 :: !(Maybe Text)-    , _trsStreamingWorkerMainClass :: !(Maybe Text)-    , _trsBaseTaskDir              :: !(Maybe Text)-    , _trsLogUploadLocation        :: !(Maybe Text)-    , _trsTempStoragePrefix        :: !(Maybe Text)-    , _trsLogToSerialconsole       :: !(Maybe Bool)-    , _trsParallelWorkerSettings   :: !(Maybe WorkerSettings)-    , _trsLanguageHint             :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TaskRunnerSettings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trsContinueOnException'------ * 'trsHarnessCommand'------ * 'trsWorkflowFileName'------ * 'trsTaskGroup'------ * 'trsAlsologtostderr'------ * 'trsDataflowAPIVersion'------ * 'trsLogDir'------ * 'trsCommandlinesFileName'------ * 'trsVMId'------ * 'trsBaseURL'------ * 'trsOAuthScopes'------ * 'trsTaskUser'------ * 'trsStreamingWorkerMainClass'------ * 'trsBaseTaskDir'------ * 'trsLogUploadLocation'------ * 'trsTempStoragePrefix'------ * 'trsLogToSerialconsole'------ * 'trsParallelWorkerSettings'------ * 'trsLanguageHint'-taskRunnerSettings-    :: TaskRunnerSettings-taskRunnerSettings =-    TaskRunnerSettings'-    { _trsContinueOnException = Nothing-    , _trsHarnessCommand = Nothing-    , _trsWorkflowFileName = Nothing-    , _trsTaskGroup = Nothing-    , _trsAlsologtostderr = Nothing-    , _trsDataflowAPIVersion = Nothing-    , _trsLogDir = Nothing-    , _trsCommandlinesFileName = Nothing-    , _trsVMId = Nothing-    , _trsBaseURL = Nothing-    , _trsOAuthScopes = Nothing-    , _trsTaskUser = Nothing-    , _trsStreamingWorkerMainClass = Nothing-    , _trsBaseTaskDir = Nothing-    , _trsLogUploadLocation = Nothing-    , _trsTempStoragePrefix = Nothing-    , _trsLogToSerialconsole = Nothing-    , _trsParallelWorkerSettings = Nothing-    , _trsLanguageHint = Nothing-    }---- | Whether to continue taskrunner if an exception is hit.-trsContinueOnException :: Lens' TaskRunnerSettings (Maybe Bool)-trsContinueOnException-  = lens _trsContinueOnException-      (\ s a -> s{_trsContinueOnException = a})---- | The command to launch the worker harness.-trsHarnessCommand :: Lens' TaskRunnerSettings (Maybe Text)-trsHarnessCommand-  = lens _trsHarnessCommand-      (\ s a -> s{_trsHarnessCommand = a})---- | The file to store the workflow in.-trsWorkflowFileName :: Lens' TaskRunnerSettings (Maybe Text)-trsWorkflowFileName-  = lens _trsWorkflowFileName-      (\ s a -> s{_trsWorkflowFileName = a})---- | The UNIX group ID on the worker VM to use for tasks launched by--- taskrunner; e.g. \"wheel\".-trsTaskGroup :: Lens' TaskRunnerSettings (Maybe Text)-trsTaskGroup-  = lens _trsTaskGroup (\ s a -> s{_trsTaskGroup = a})---- | Whether to also send taskrunner log info to stderr.-trsAlsologtostderr :: Lens' TaskRunnerSettings (Maybe Bool)-trsAlsologtostderr-  = lens _trsAlsologtostderr-      (\ s a -> s{_trsAlsologtostderr = a})---- | The API version of endpoint, e.g. \"v1b3\"-trsDataflowAPIVersion :: Lens' TaskRunnerSettings (Maybe Text)-trsDataflowAPIVersion-  = lens _trsDataflowAPIVersion-      (\ s a -> s{_trsDataflowAPIVersion = a})---- | The directory on the VM to store logs.-trsLogDir :: Lens' TaskRunnerSettings (Maybe Text)-trsLogDir-  = lens _trsLogDir (\ s a -> s{_trsLogDir = a})---- | The file to store preprocessing commands in.-trsCommandlinesFileName :: Lens' TaskRunnerSettings (Maybe Text)-trsCommandlinesFileName-  = lens _trsCommandlinesFileName-      (\ s a -> s{_trsCommandlinesFileName = a})---- | The ID string of the VM.-trsVMId :: Lens' TaskRunnerSettings (Maybe Text)-trsVMId = lens _trsVMId (\ s a -> s{_trsVMId = a})---- | The base URL for the taskrunner to use when accessing Google Cloud APIs.--- When workers access Google Cloud APIs, they logically do so via relative--- URLs. If this field is specified, it supplies the base URL to use for--- resolving these relative URLs. The normative algorithm used is defined--- by RFC 1808, \"Relative Uniform Resource Locators\". If not specified,--- the default value is \"http:\/\/www.googleapis.com\/\"-trsBaseURL :: Lens' TaskRunnerSettings (Maybe Text)-trsBaseURL-  = lens _trsBaseURL (\ s a -> s{_trsBaseURL = a})---- | The OAuth2 scopes to be requested by the taskrunner in order to access--- the Cloud Dataflow API.-trsOAuthScopes :: Lens' TaskRunnerSettings [Text]-trsOAuthScopes-  = lens _trsOAuthScopes-      (\ s a -> s{_trsOAuthScopes = a})-      . _Default-      . _Coerce---- | The UNIX user ID on the worker VM to use for tasks launched by--- taskrunner; e.g. \"root\".-trsTaskUser :: Lens' TaskRunnerSettings (Maybe Text)-trsTaskUser-  = lens _trsTaskUser (\ s a -> s{_trsTaskUser = a})---- | The streaming worker main class name.-trsStreamingWorkerMainClass :: Lens' TaskRunnerSettings (Maybe Text)-trsStreamingWorkerMainClass-  = lens _trsStreamingWorkerMainClass-      (\ s a -> s{_trsStreamingWorkerMainClass = a})---- | The location on the worker for task-specific subdirectories.-trsBaseTaskDir :: Lens' TaskRunnerSettings (Maybe Text)-trsBaseTaskDir-  = lens _trsBaseTaskDir-      (\ s a -> s{_trsBaseTaskDir = a})---- | Indicates where to put logs. If this is not specified, the logs will not--- be uploaded. The supported resource type is: Google Cloud Storage:--- storage.googleapis.com\/{bucket}\/{object}--- bucket.storage.googleapis.com\/{object}-trsLogUploadLocation :: Lens' TaskRunnerSettings (Maybe Text)-trsLogUploadLocation-  = lens _trsLogUploadLocation-      (\ s a -> s{_trsLogUploadLocation = a})---- | The prefix of the resources the taskrunner should use for temporary--- storage. The supported resource type is: Google Cloud Storage:--- storage.googleapis.com\/{bucket}\/{object}--- bucket.storage.googleapis.com\/{object}-trsTempStoragePrefix :: Lens' TaskRunnerSettings (Maybe Text)-trsTempStoragePrefix-  = lens _trsTempStoragePrefix-      (\ s a -> s{_trsTempStoragePrefix = a})---- | Whether to send taskrunner log info to Google Compute Engine VM serial--- console.-trsLogToSerialconsole :: Lens' TaskRunnerSettings (Maybe Bool)-trsLogToSerialconsole-  = lens _trsLogToSerialconsole-      (\ s a -> s{_trsLogToSerialconsole = a})---- | The settings to pass to the parallel worker harness.-trsParallelWorkerSettings :: Lens' TaskRunnerSettings (Maybe WorkerSettings)-trsParallelWorkerSettings-  = lens _trsParallelWorkerSettings-      (\ s a -> s{_trsParallelWorkerSettings = a})---- | The suggested backend language.-trsLanguageHint :: Lens' TaskRunnerSettings (Maybe Text)-trsLanguageHint-  = lens _trsLanguageHint-      (\ s a -> s{_trsLanguageHint = a})--instance FromJSON TaskRunnerSettings where-        parseJSON-          = withObject "TaskRunnerSettings"-              (\ o ->-                 TaskRunnerSettings' <$>-                   (o .:? "continueOnException") <*>-                     (o .:? "harnessCommand")-                     <*> (o .:? "workflowFileName")-                     <*> (o .:? "taskGroup")-                     <*> (o .:? "alsologtostderr")-                     <*> (o .:? "dataflowApiVersion")-                     <*> (o .:? "logDir")-                     <*> (o .:? "commandlinesFileName")-                     <*> (o .:? "vmId")-                     <*> (o .:? "baseUrl")-                     <*> (o .:? "oauthScopes" .!= mempty)-                     <*> (o .:? "taskUser")-                     <*> (o .:? "streamingWorkerMainClass")-                     <*> (o .:? "baseTaskDir")-                     <*> (o .:? "logUploadLocation")-                     <*> (o .:? "tempStoragePrefix")-                     <*> (o .:? "logToSerialconsole")-                     <*> (o .:? "parallelWorkerSettings")-                     <*> (o .:? "languageHint"))--instance ToJSON TaskRunnerSettings where-        toJSON TaskRunnerSettings'{..}-          = object-              (catMaybes-                 [("continueOnException" .=) <$>-                    _trsContinueOnException,-                  ("harnessCommand" .=) <$> _trsHarnessCommand,-                  ("workflowFileName" .=) <$> _trsWorkflowFileName,-                  ("taskGroup" .=) <$> _trsTaskGroup,-                  ("alsologtostderr" .=) <$> _trsAlsologtostderr,-                  ("dataflowApiVersion" .=) <$> _trsDataflowAPIVersion,-                  ("logDir" .=) <$> _trsLogDir,-                  ("commandlinesFileName" .=) <$>-                    _trsCommandlinesFileName,-                  ("vmId" .=) <$> _trsVMId,-                  ("baseUrl" .=) <$> _trsBaseURL,-                  ("oauthScopes" .=) <$> _trsOAuthScopes,-                  ("taskUser" .=) <$> _trsTaskUser,-                  ("streamingWorkerMainClass" .=) <$>-                    _trsStreamingWorkerMainClass,-                  ("baseTaskDir" .=) <$> _trsBaseTaskDir,-                  ("logUploadLocation" .=) <$> _trsLogUploadLocation,-                  ("tempStoragePrefix" .=) <$> _trsTempStoragePrefix,-                  ("logToSerialconsole" .=) <$> _trsLogToSerialconsole,-                  ("parallelWorkerSettings" .=) <$>-                    _trsParallelWorkerSettings,-                  ("languageHint" .=) <$> _trsLanguageHint])---- | Configuration information for a single streaming computation.------ /See:/ 'streamingComputationConfig' smart constructor.-data StreamingComputationConfig = StreamingComputationConfig'-    { _sccInstructions  :: !(Maybe [ParallelInstruction])-    , _sccSystemName    :: !(Maybe Text)-    , _sccComputationId :: !(Maybe Text)-    , _sccStageName     :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingComputationConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sccInstructions'------ * 'sccSystemName'------ * 'sccComputationId'------ * 'sccStageName'-streamingComputationConfig-    :: StreamingComputationConfig-streamingComputationConfig =-    StreamingComputationConfig'-    { _sccInstructions = Nothing-    , _sccSystemName = Nothing-    , _sccComputationId = Nothing-    , _sccStageName = Nothing-    }---- | Instructions that comprise the computation.-sccInstructions :: Lens' StreamingComputationConfig [ParallelInstruction]-sccInstructions-  = lens _sccInstructions-      (\ s a -> s{_sccInstructions = a})-      . _Default-      . _Coerce---- | System defined name for this computation.-sccSystemName :: Lens' StreamingComputationConfig (Maybe Text)-sccSystemName-  = lens _sccSystemName-      (\ s a -> s{_sccSystemName = a})---- | Unique identifier for this computation.-sccComputationId :: Lens' StreamingComputationConfig (Maybe Text)-sccComputationId-  = lens _sccComputationId-      (\ s a -> s{_sccComputationId = a})---- | Stage name of this computation.-sccStageName :: Lens' StreamingComputationConfig (Maybe Text)-sccStageName-  = lens _sccStageName (\ s a -> s{_sccStageName = a})--instance FromJSON StreamingComputationConfig where-        parseJSON-          = withObject "StreamingComputationConfig"-              (\ o ->-                 StreamingComputationConfig' <$>-                   (o .:? "instructions" .!= mempty) <*>-                     (o .:? "systemName")-                     <*> (o .:? "computationId")-                     <*> (o .:? "stageName"))--instance ToJSON StreamingComputationConfig where-        toJSON StreamingComputationConfig'{..}-          = object-              (catMaybes-                 [("instructions" .=) <$> _sccInstructions,-                  ("systemName" .=) <$> _sccSystemName,-                  ("computationId" .=) <$> _sccComputationId,-                  ("stageName" .=) <$> _sccStageName])---- | The Cloud Dataflow SDK pipeline options specified by the user. These--- options are passed through the service and are used to recreate the SDK--- pipeline options on the worker in a language agnostic and platform--- independent way.------ /See:/ 'environmentSdkPipelineOptions' smart constructor.-newtype EnvironmentSdkPipelineOptions = EnvironmentSdkPipelineOptions'-    { _espoAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnvironmentSdkPipelineOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'espoAddtional'-environmentSdkPipelineOptions-    :: HashMap Text JSONValue -- ^ 'espoAddtional'-    -> EnvironmentSdkPipelineOptions-environmentSdkPipelineOptions pEspoAddtional_ =-    EnvironmentSdkPipelineOptions'-    { _espoAddtional = _Coerce # pEspoAddtional_-    }---- | Properties of the object.-espoAddtional :: Lens' EnvironmentSdkPipelineOptions (HashMap Text JSONValue)-espoAddtional-  = lens _espoAddtional-      (\ s a -> s{_espoAddtional = a})-      . _Coerce--instance FromJSON EnvironmentSdkPipelineOptions where-        parseJSON-          = withObject "EnvironmentSdkPipelineOptions"-              (\ o ->-                 EnvironmentSdkPipelineOptions' <$>-                   (parseJSONObject o))--instance ToJSON EnvironmentSdkPipelineOptions where-        toJSON = toJSON . _espoAddtional---- | A representation of a floating point mean metric contribution.------ /See:/ 'floatingPointMean' smart constructor.-data FloatingPointMean = FloatingPointMean'-    { _fpmCount :: !(Maybe SplitInt64)-    , _fpmSum   :: !(Maybe (Textual Double))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FloatingPointMean' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fpmCount'------ * 'fpmSum'-floatingPointMean-    :: FloatingPointMean-floatingPointMean =-    FloatingPointMean'-    { _fpmCount = Nothing-    , _fpmSum = Nothing-    }---- | The number of values being aggregated.-fpmCount :: Lens' FloatingPointMean (Maybe SplitInt64)-fpmCount = lens _fpmCount (\ s a -> s{_fpmCount = a})---- | The sum of all values being aggregated.-fpmSum :: Lens' FloatingPointMean (Maybe Double)-fpmSum-  = lens _fpmSum (\ s a -> s{_fpmSum = a}) .-      mapping _Coerce--instance FromJSON FloatingPointMean where-        parseJSON-          = withObject "FloatingPointMean"-              (\ o ->-                 FloatingPointMean' <$>-                   (o .:? "count") <*> (o .:? "sum"))--instance ToJSON FloatingPointMean where-        toJSON FloatingPointMean'{..}-          = object-              (catMaybes-                 [("count" .=) <$> _fpmCount, ("sum" .=) <$> _fpmSum])---- | Request to lease WorkItems.------ /See:/ 'leaseWorkItemRequest' smart constructor.-data LeaseWorkItemRequest = LeaseWorkItemRequest'-    { _lwirWorkItemTypes          :: !(Maybe [Text])-    , _lwirCurrentWorkerTime      :: !(Maybe Text)-    , _lwirLocation               :: !(Maybe Text)-    , _lwirWorkerCapabilities     :: !(Maybe [Text])-    , _lwirRequestedLeaseDuration :: !(Maybe Text)-    , _lwirWorkerId               :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'LeaseWorkItemRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lwirWorkItemTypes'------ * 'lwirCurrentWorkerTime'------ * 'lwirLocation'------ * 'lwirWorkerCapabilities'------ * 'lwirRequestedLeaseDuration'------ * 'lwirWorkerId'-leaseWorkItemRequest-    :: LeaseWorkItemRequest-leaseWorkItemRequest =-    LeaseWorkItemRequest'-    { _lwirWorkItemTypes = Nothing-    , _lwirCurrentWorkerTime = Nothing-    , _lwirLocation = Nothing-    , _lwirWorkerCapabilities = Nothing-    , _lwirRequestedLeaseDuration = Nothing-    , _lwirWorkerId = Nothing-    }---- | Filter for WorkItem type.-lwirWorkItemTypes :: Lens' LeaseWorkItemRequest [Text]-lwirWorkItemTypes-  = lens _lwirWorkItemTypes-      (\ s a -> s{_lwirWorkItemTypes = a})-      . _Default-      . _Coerce---- | The current timestamp at the worker.-lwirCurrentWorkerTime :: Lens' LeaseWorkItemRequest (Maybe Text)-lwirCurrentWorkerTime-  = lens _lwirCurrentWorkerTime-      (\ s a -> s{_lwirCurrentWorkerTime = a})---- | The location which contains the WorkItem\'s job.-lwirLocation :: Lens' LeaseWorkItemRequest (Maybe Text)-lwirLocation-  = lens _lwirLocation (\ s a -> s{_lwirLocation = a})---- | Worker capabilities. WorkItems might be limited to workers with specific--- capabilities.-lwirWorkerCapabilities :: Lens' LeaseWorkItemRequest [Text]-lwirWorkerCapabilities-  = lens _lwirWorkerCapabilities-      (\ s a -> s{_lwirWorkerCapabilities = a})-      . _Default-      . _Coerce---- | The initial lease period.-lwirRequestedLeaseDuration :: Lens' LeaseWorkItemRequest (Maybe Text)-lwirRequestedLeaseDuration-  = lens _lwirRequestedLeaseDuration-      (\ s a -> s{_lwirRequestedLeaseDuration = a})---- | Identifies the worker leasing work -- typically the ID of the virtual--- machine running the worker.-lwirWorkerId :: Lens' LeaseWorkItemRequest (Maybe Text)-lwirWorkerId-  = lens _lwirWorkerId (\ s a -> s{_lwirWorkerId = a})--instance FromJSON LeaseWorkItemRequest where-        parseJSON-          = withObject "LeaseWorkItemRequest"-              (\ o ->-                 LeaseWorkItemRequest' <$>-                   (o .:? "workItemTypes" .!= mempty) <*>-                     (o .:? "currentWorkerTime")-                     <*> (o .:? "location")-                     <*> (o .:? "workerCapabilities" .!= mempty)-                     <*> (o .:? "requestedLeaseDuration")-                     <*> (o .:? "workerId"))--instance ToJSON LeaseWorkItemRequest where-        toJSON LeaseWorkItemRequest'{..}-          = object-              (catMaybes-                 [("workItemTypes" .=) <$> _lwirWorkItemTypes,-                  ("currentWorkerTime" .=) <$> _lwirCurrentWorkerTime,-                  ("location" .=) <$> _lwirLocation,-                  ("workerCapabilities" .=) <$>-                    _lwirWorkerCapabilities,-                  ("requestedLeaseDuration" .=) <$>-                    _lwirRequestedLeaseDuration,-                  ("workerId" .=) <$> _lwirWorkerId])---- | The result of a SourceOperationRequest, specified in--- ReportWorkItemStatusRequest.source_operation when the work item is--- completed.------ /See:/ 'sourceOperationResponse' smart constructor.-data SourceOperationResponse = SourceOperationResponse'-    { _sorSplit       :: !(Maybe SourceSplitResponse)-    , _sorGetMetadata :: !(Maybe SourceGetMetadataResponse)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceOperationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sorSplit'------ * 'sorGetMetadata'-sourceOperationResponse-    :: SourceOperationResponse-sourceOperationResponse =-    SourceOperationResponse'-    { _sorSplit = Nothing-    , _sorGetMetadata = Nothing-    }---- | A response to a request to split a source.-sorSplit :: Lens' SourceOperationResponse (Maybe SourceSplitResponse)-sorSplit = lens _sorSplit (\ s a -> s{_sorSplit = a})---- | A response to a request to get metadata about a source.-sorGetMetadata :: Lens' SourceOperationResponse (Maybe SourceGetMetadataResponse)-sorGetMetadata-  = lens _sorGetMetadata-      (\ s a -> s{_sorGetMetadata = a})--instance FromJSON SourceOperationResponse where-        parseJSON-          = withObject "SourceOperationResponse"-              (\ o ->-                 SourceOperationResponse' <$>-                   (o .:? "split") <*> (o .:? "getMetadata"))--instance ToJSON SourceOperationResponse where-        toJSON SourceOperationResponse'{..}-          = object-              (catMaybes-                 [("split" .=) <$> _sorSplit,-                  ("getMetadata" .=) <$> _sorGetMetadata])---- | Maps user stage names to stable computation names.------ /See:/ 'topologyConfigUserStageToComputationNameMap' smart constructor.-newtype TopologyConfigUserStageToComputationNameMap = TopologyConfigUserStageToComputationNameMap'-    { _tcustcnmAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TopologyConfigUserStageToComputationNameMap' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcustcnmAddtional'-topologyConfigUserStageToComputationNameMap-    :: HashMap Text Text -- ^ 'tcustcnmAddtional'-    -> TopologyConfigUserStageToComputationNameMap-topologyConfigUserStageToComputationNameMap pTcustcnmAddtional_ =-    TopologyConfigUserStageToComputationNameMap'-    { _tcustcnmAddtional = _Coerce # pTcustcnmAddtional_-    }--tcustcnmAddtional :: Lens' TopologyConfigUserStageToComputationNameMap (HashMap Text Text)-tcustcnmAddtional-  = lens _tcustcnmAddtional-      (\ s a -> s{_tcustcnmAddtional = a})-      . _Coerce--instance FromJSON-         TopologyConfigUserStageToComputationNameMap where-        parseJSON-          = withObject-              "TopologyConfigUserStageToComputationNameMap"-              (\ o ->-                 TopologyConfigUserStageToComputationNameMap' <$>-                   (parseJSONObject o))--instance ToJSON-         TopologyConfigUserStageToComputationNameMap where-        toJSON = toJSON . _tcustcnmAddtional---- | A task which consists of a shell command for the worker to execute.------ /See:/ 'shellTask' smart constructor.-data ShellTask = ShellTask'-    { _stCommand  :: !(Maybe Text)-    , _stExitCode :: !(Maybe (Textual Int32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ShellTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'stCommand'------ * 'stExitCode'-shellTask-    :: ShellTask-shellTask =-    ShellTask'-    { _stCommand = Nothing-    , _stExitCode = Nothing-    }---- | The shell command to run.-stCommand :: Lens' ShellTask (Maybe Text)-stCommand-  = lens _stCommand (\ s a -> s{_stCommand = a})---- | Exit code for the task.-stExitCode :: Lens' ShellTask (Maybe Int32)-stExitCode-  = lens _stExitCode (\ s a -> s{_stExitCode = a}) .-      mapping _Coerce--instance FromJSON ShellTask where-        parseJSON-          = withObject "ShellTask"-              (\ o ->-                 ShellTask' <$>-                   (o .:? "command") <*> (o .:? "exitCode"))--instance ToJSON ShellTask where-        toJSON ShellTask'{..}-          = object-              (catMaybes-                 [("command" .=) <$> _stCommand,-                  ("exitCode" .=) <$> _stExitCode])------- /See:/ 'statusDetailsItem' smart constructor.-newtype StatusDetailsItem = StatusDetailsItem'-    { _sdiAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdiAddtional'-statusDetailsItem-    :: HashMap Text JSONValue -- ^ 'sdiAddtional'-    -> StatusDetailsItem-statusDetailsItem pSdiAddtional_ =-    StatusDetailsItem'-    { _sdiAddtional = _Coerce # pSdiAddtional_-    }---- | Properties of the object. Contains field \'type with type URL.-sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)-sdiAddtional-  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})-      . _Coerce--instance FromJSON StatusDetailsItem where-        parseJSON-          = withObject "StatusDetailsItem"-              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))--instance ToJSON StatusDetailsItem where-        toJSON = toJSON . _sdiAddtional---- | Represents the level of parallelism in a WorkItem\'s input, reported by--- the worker.------ /See:/ 'reportedParallelism' smart constructor.-data ReportedParallelism = ReportedParallelism'-    { _rpValue      :: !(Maybe (Textual Double))-    , _rpIsInfinite :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ReportedParallelism' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpValue'------ * 'rpIsInfinite'-reportedParallelism-    :: ReportedParallelism-reportedParallelism =-    ReportedParallelism'-    { _rpValue = Nothing-    , _rpIsInfinite = Nothing-    }---- | Specifies the level of parallelism in case it is finite.-rpValue :: Lens' ReportedParallelism (Maybe Double)-rpValue-  = lens _rpValue (\ s a -> s{_rpValue = a}) .-      mapping _Coerce---- | Specifies whether the parallelism is infinite. If true, \"value\" is--- ignored. Infinite parallelism means the service will assume that the--- work item can always be split into more non-empty work items by dynamic--- splitting. This is a work-around for lack of support for infinity by the--- current JSON-based Java RPC stack.-rpIsInfinite :: Lens' ReportedParallelism (Maybe Bool)-rpIsInfinite-  = lens _rpIsInfinite (\ s a -> s{_rpIsInfinite = a})--instance FromJSON ReportedParallelism where-        parseJSON-          = withObject "ReportedParallelism"-              (\ o ->-                 ReportedParallelism' <$>-                   (o .:? "value") <*> (o .:? "isInfinite"))--instance ToJSON ReportedParallelism where-        toJSON ReportedParallelism'{..}-          = object-              (catMaybes-                 [("value" .=) <$> _rpValue,-                  ("isInfinite" .=) <$> _rpIsInfinite])---- | Named properties associated with the step. Each kind of predefined step--- has its own required set of properties.------ /See:/ 'stepProperties' smart constructor.-newtype StepProperties = StepProperties'-    { _spAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StepProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spAddtional'-stepProperties-    :: HashMap Text JSONValue -- ^ 'spAddtional'-    -> StepProperties-stepProperties pSpAddtional_ =-    StepProperties'-    { _spAddtional = _Coerce # pSpAddtional_-    }---- | Properties of the object.-spAddtional :: Lens' StepProperties (HashMap Text JSONValue)-spAddtional-  = lens _spAddtional (\ s a -> s{_spAddtional = a}) .-      _Coerce--instance FromJSON StepProperties where-        parseJSON-          = withObject "StepProperties"-              (\ o -> StepProperties' <$> (parseJSONObject o))--instance ToJSON StepProperties where-        toJSON = toJSON . _spAddtional---- | Global topology of the streaming Dataflow job, including all--- computations and their sharded locations.------ /See:/ 'topologyConfig' smart constructor.-data TopologyConfig = TopologyConfig'-    { _tcDataDiskAssignments           :: !(Maybe [DataDiskAssignment])-    , _tcPersistentStateVersion        :: !(Maybe (Textual Int32))-    , _tcForwardingKeyBits             :: !(Maybe (Textual Int32))-    , _tcUserStageToComputationNameMap :: !(Maybe TopologyConfigUserStageToComputationNameMap)-    , _tcComputations                  :: !(Maybe [ComputationTopology])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TopologyConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcDataDiskAssignments'------ * 'tcPersistentStateVersion'------ * 'tcForwardingKeyBits'------ * 'tcUserStageToComputationNameMap'------ * 'tcComputations'-topologyConfig-    :: TopologyConfig-topologyConfig =-    TopologyConfig'-    { _tcDataDiskAssignments = Nothing-    , _tcPersistentStateVersion = Nothing-    , _tcForwardingKeyBits = Nothing-    , _tcUserStageToComputationNameMap = Nothing-    , _tcComputations = Nothing-    }---- | The disks assigned to a streaming Dataflow job.-tcDataDiskAssignments :: Lens' TopologyConfig [DataDiskAssignment]-tcDataDiskAssignments-  = lens _tcDataDiskAssignments-      (\ s a -> s{_tcDataDiskAssignments = a})-      . _Default-      . _Coerce---- | Version number for persistent state.-tcPersistentStateVersion :: Lens' TopologyConfig (Maybe Int32)-tcPersistentStateVersion-  = lens _tcPersistentStateVersion-      (\ s a -> s{_tcPersistentStateVersion = a})-      . mapping _Coerce---- | The size (in bits) of keys that will be assigned to source messages.-tcForwardingKeyBits :: Lens' TopologyConfig (Maybe Int32)-tcForwardingKeyBits-  = lens _tcForwardingKeyBits-      (\ s a -> s{_tcForwardingKeyBits = a})-      . mapping _Coerce---- | Maps user stage names to stable computation names.-tcUserStageToComputationNameMap :: Lens' TopologyConfig (Maybe TopologyConfigUserStageToComputationNameMap)-tcUserStageToComputationNameMap-  = lens _tcUserStageToComputationNameMap-      (\ s a -> s{_tcUserStageToComputationNameMap = a})---- | The computations associated with a streaming Dataflow job.-tcComputations :: Lens' TopologyConfig [ComputationTopology]-tcComputations-  = lens _tcComputations-      (\ s a -> s{_tcComputations = a})-      . _Default-      . _Coerce--instance FromJSON TopologyConfig where-        parseJSON-          = withObject "TopologyConfig"-              (\ o ->-                 TopologyConfig' <$>-                   (o .:? "dataDiskAssignments" .!= mempty) <*>-                     (o .:? "persistentStateVersion")-                     <*> (o .:? "forwardingKeyBits")-                     <*> (o .:? "userStageToComputationNameMap")-                     <*> (o .:? "computations" .!= mempty))--instance ToJSON TopologyConfig where-        toJSON TopologyConfig'{..}-          = object-              (catMaybes-                 [("dataDiskAssignments" .=) <$>-                    _tcDataDiskAssignments,-                  ("persistentStateVersion" .=) <$>-                    _tcPersistentStateVersion,-                  ("forwardingKeyBits" .=) <$> _tcForwardingKeyBits,-                  ("userStageToComputationNameMap" .=) <$>-                    _tcUserStageToComputationNameMap,-                  ("computations" .=) <$> _tcComputations])---- | A suggestion by the service to the worker to dynamically split the--- WorkItem.------ /See:/ 'approximateSplitRequest' smart constructor.-data ApproximateSplitRequest = ApproximateSplitRequest'-    { _asrFractionConsumed :: !(Maybe (Textual Double))-    , _asrPosition         :: !(Maybe Position)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ApproximateSplitRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asrFractionConsumed'------ * 'asrPosition'-approximateSplitRequest-    :: ApproximateSplitRequest-approximateSplitRequest =-    ApproximateSplitRequest'-    { _asrFractionConsumed = Nothing-    , _asrPosition = Nothing-    }---- | A fraction at which to split the work item, from 0.0 (beginning of the--- input) to 1.0 (end of the input).-asrFractionConsumed :: Lens' ApproximateSplitRequest (Maybe Double)-asrFractionConsumed-  = lens _asrFractionConsumed-      (\ s a -> s{_asrFractionConsumed = a})-      . mapping _Coerce---- | A Position at which to split the work item.-asrPosition :: Lens' ApproximateSplitRequest (Maybe Position)-asrPosition-  = lens _asrPosition (\ s a -> s{_asrPosition = a})--instance FromJSON ApproximateSplitRequest where-        parseJSON-          = withObject "ApproximateSplitRequest"-              (\ o ->-                 ApproximateSplitRequest' <$>-                   (o .:? "fractionConsumed") <*> (o .:? "position"))--instance ToJSON ApproximateSplitRequest where-        toJSON ApproximateSplitRequest'{..}-          = object-              (catMaybes-                 [("fractionConsumed" .=) <$> _asrFractionConsumed,-                  ("position" .=) <$> _asrPosition])---- | A representation of an int64, n, that is immune to precision loss when--- encoded in JSON.------ /See:/ 'splitInt64' smart constructor.-data SplitInt64 = SplitInt64'-    { _siHighBits :: !(Maybe (Textual Int32))-    , _siLowBits  :: !(Maybe (Textual Word32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SplitInt64' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siHighBits'------ * 'siLowBits'-splitInt64-    :: SplitInt64-splitInt64 =-    SplitInt64'-    { _siHighBits = Nothing-    , _siLowBits = Nothing-    }---- | The high order bits, including the sign: n >> 32.-siHighBits :: Lens' SplitInt64 (Maybe Int32)-siHighBits-  = lens _siHighBits (\ s a -> s{_siHighBits = a}) .-      mapping _Coerce---- | The low order bits: n & 0xffffffff.-siLowBits :: Lens' SplitInt64 (Maybe Word32)-siLowBits-  = lens _siLowBits (\ s a -> s{_siLowBits = a}) .-      mapping _Coerce--instance FromJSON SplitInt64 where-        parseJSON-          = withObject "SplitInt64"-              (\ o ->-                 SplitInt64' <$>-                   (o .:? "highBits") <*> (o .:? "lowBits"))--instance ToJSON SplitInt64 where-        toJSON SplitInt64'{..}-          = object-              (catMaybes-                 [("highBits" .=) <$> _siHighBits,-                  ("lowBits" .=) <$> _siLowBits])---- | Provides data to pass through to the worker harness.------ /See:/ 'workerSettings' smart constructor.-data WorkerSettings = WorkerSettings'-    { _wsServicePath        :: !(Maybe Text)-    , _wsBaseURL            :: !(Maybe Text)-    , _wsShuffleServicePath :: !(Maybe Text)-    , _wsTempStoragePrefix  :: !(Maybe Text)-    , _wsReportingEnabled   :: !(Maybe Bool)-    , _wsWorkerId           :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerSettings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wsServicePath'------ * 'wsBaseURL'------ * 'wsShuffleServicePath'------ * 'wsTempStoragePrefix'------ * 'wsReportingEnabled'------ * 'wsWorkerId'-workerSettings-    :: WorkerSettings-workerSettings =-    WorkerSettings'-    { _wsServicePath = Nothing-    , _wsBaseURL = Nothing-    , _wsShuffleServicePath = Nothing-    , _wsTempStoragePrefix = Nothing-    , _wsReportingEnabled = Nothing-    , _wsWorkerId = Nothing-    }---- | The Cloud Dataflow service path relative to the root URL, for example,--- \"dataflow\/v1b3\/projects\".-wsServicePath :: Lens' WorkerSettings (Maybe Text)-wsServicePath-  = lens _wsServicePath-      (\ s a -> s{_wsServicePath = a})---- | The base URL for accessing Google Cloud APIs. When workers access Google--- Cloud APIs, they logically do so via relative URLs. If this field is--- specified, it supplies the base URL to use for resolving these relative--- URLs. The normative algorithm used is defined by RFC 1808, \"Relative--- Uniform Resource Locators\". If not specified, the default value is--- \"http:\/\/www.googleapis.com\/\"-wsBaseURL :: Lens' WorkerSettings (Maybe Text)-wsBaseURL-  = lens _wsBaseURL (\ s a -> s{_wsBaseURL = a})---- | The Shuffle service path relative to the root URL, for example,--- \"shuffle\/v1beta1\".-wsShuffleServicePath :: Lens' WorkerSettings (Maybe Text)-wsShuffleServicePath-  = lens _wsShuffleServicePath-      (\ s a -> s{_wsShuffleServicePath = a})---- | The prefix of the resources the system should use for temporary storage.--- The supported resource type is: Google Cloud Storage:--- storage.googleapis.com\/{bucket}\/{object}--- bucket.storage.googleapis.com\/{object}-wsTempStoragePrefix :: Lens' WorkerSettings (Maybe Text)-wsTempStoragePrefix-  = lens _wsTempStoragePrefix-      (\ s a -> s{_wsTempStoragePrefix = a})---- | Whether to send work progress updates to the service.-wsReportingEnabled :: Lens' WorkerSettings (Maybe Bool)-wsReportingEnabled-  = lens _wsReportingEnabled-      (\ s a -> s{_wsReportingEnabled = a})---- | The ID of the worker running this pipeline.-wsWorkerId :: Lens' WorkerSettings (Maybe Text)-wsWorkerId-  = lens _wsWorkerId (\ s a -> s{_wsWorkerId = a})--instance FromJSON WorkerSettings where-        parseJSON-          = withObject "WorkerSettings"-              (\ o ->-                 WorkerSettings' <$>-                   (o .:? "servicePath") <*> (o .:? "baseUrl") <*>-                     (o .:? "shuffleServicePath")-                     <*> (o .:? "tempStoragePrefix")-                     <*> (o .:? "reportingEnabled")-                     <*> (o .:? "workerId"))--instance ToJSON WorkerSettings where-        toJSON WorkerSettings'{..}-          = object-              (catMaybes-                 [("servicePath" .=) <$> _wsServicePath,-                  ("baseUrl" .=) <$> _wsBaseURL,-                  ("shuffleServicePath" .=) <$> _wsShuffleServicePath,-                  ("tempStoragePrefix" .=) <$> _wsTempStoragePrefix,-                  ("reportingEnabled" .=) <$> _wsReportingEnabled,-                  ("workerId" .=) <$> _wsWorkerId])---- | Response to a get debug configuration request.------ /See:/ 'getDebugConfigResponse' smart constructor.-newtype GetDebugConfigResponse = GetDebugConfigResponse'-    { _gdcrConfig :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GetDebugConfigResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gdcrConfig'-getDebugConfigResponse-    :: GetDebugConfigResponse-getDebugConfigResponse =-    GetDebugConfigResponse'-    { _gdcrConfig = Nothing-    }---- | The encoded debug configuration for the requested component.-gdcrConfig :: Lens' GetDebugConfigResponse (Maybe Text)-gdcrConfig-  = lens _gdcrConfig (\ s a -> s{_gdcrConfig = a})--instance FromJSON GetDebugConfigResponse where-        parseJSON-          = withObject "GetDebugConfigResponse"-              (\ o -> GetDebugConfigResponse' <$> (o .:? "config"))--instance ToJSON GetDebugConfigResponse where-        toJSON GetDebugConfigResponse'{..}-          = object (catMaybes [("config" .=) <$> _gdcrConfig])---- | Other data returned by the service, specific to the particular worker--- harness.------ /See:/ 'workItemServiceStateHarnessData' smart constructor.-newtype WorkItemServiceStateHarnessData = WorkItemServiceStateHarnessData'-    { _wisshdAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkItemServiceStateHarnessData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wisshdAddtional'-workItemServiceStateHarnessData-    :: HashMap Text JSONValue -- ^ 'wisshdAddtional'-    -> WorkItemServiceStateHarnessData-workItemServiceStateHarnessData pWisshdAddtional_ =-    WorkItemServiceStateHarnessData'-    { _wisshdAddtional = _Coerce # pWisshdAddtional_-    }---- | Properties of the object.-wisshdAddtional :: Lens' WorkItemServiceStateHarnessData (HashMap Text JSONValue)-wisshdAddtional-  = lens _wisshdAddtional-      (\ s a -> s{_wisshdAddtional = a})-      . _Coerce--instance FromJSON WorkItemServiceStateHarnessData-         where-        parseJSON-          = withObject "WorkItemServiceStateHarnessData"-              (\ o ->-                 WorkItemServiceStateHarnessData' <$>-                   (parseJSONObject o))--instance ToJSON WorkItemServiceStateHarnessData where-        toJSON = toJSON . _wisshdAddtional---- | Data disk assignment for a given VM instance.------ /See:/ 'dataDiskAssignment' smart constructor.-data DataDiskAssignment = DataDiskAssignment'-    { _ddaVMInstance :: !(Maybe Text)-    , _ddaDataDisks  :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DataDiskAssignment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ddaVMInstance'------ * 'ddaDataDisks'-dataDiskAssignment-    :: DataDiskAssignment-dataDiskAssignment =-    DataDiskAssignment'-    { _ddaVMInstance = Nothing-    , _ddaDataDisks = Nothing-    }---- | VM instance name the data disks mounted to, for example--- \"myproject-1014-104817-4c2-harness-0\".-ddaVMInstance :: Lens' DataDiskAssignment (Maybe Text)-ddaVMInstance-  = lens _ddaVMInstance-      (\ s a -> s{_ddaVMInstance = a})---- | Mounted data disks. The order is important a data disk\'s 0-based index--- in this list defines which persistent directory the disk is mounted to,--- for example the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\"--- }, { \"myproject-1014-104817-4c2-harness-0-disk-1\" }.-ddaDataDisks :: Lens' DataDiskAssignment [Text]-ddaDataDisks-  = lens _ddaDataDisks (\ s a -> s{_ddaDataDisks = a})-      . _Default-      . _Coerce--instance FromJSON DataDiskAssignment where-        parseJSON-          = withObject "DataDiskAssignment"-              (\ o ->-                 DataDiskAssignment' <$>-                   (o .:? "vmInstance") <*>-                     (o .:? "dataDisks" .!= mempty))--instance ToJSON DataDiskAssignment where-        toJSON DataDiskAssignment'{..}-          = object-              (catMaybes-                 [("vmInstance" .=) <$> _ddaVMInstance,-                  ("dataDisks" .=) <$> _ddaDataDisks])---- | Worker metrics exported from workers. This contains resource utilization--- metrics accumulated from a variety of sources. For more information, see--- go\/df-resource-signals. Note that this proto closely follows the--- structure of its DFE siblings in its contents.------ /See:/ 'resourceUtilizationReport' smart constructor.-newtype ResourceUtilizationReport = ResourceUtilizationReport'-    { _rurMetrics :: Maybe [ResourceUtilizationReportMetricsItem]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceUtilizationReport' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rurMetrics'-resourceUtilizationReport-    :: ResourceUtilizationReport-resourceUtilizationReport =-    ResourceUtilizationReport'-    { _rurMetrics = Nothing-    }---- | Each Struct must parallel DFE worker metrics protos (eg., cpu_time--- metric will have nested values “timestamp_ms, total_ms, rate”).-rurMetrics :: Lens' ResourceUtilizationReport [ResourceUtilizationReportMetricsItem]-rurMetrics-  = lens _rurMetrics (\ s a -> s{_rurMetrics = a}) .-      _Default-      . _Coerce--instance FromJSON ResourceUtilizationReport where-        parseJSON-          = withObject "ResourceUtilizationReport"-              (\ o ->-                 ResourceUtilizationReport' <$>-                   (o .:? "metrics" .!= mempty))--instance ToJSON ResourceUtilizationReport where-        toJSON ResourceUtilizationReport'{..}-          = object (catMaybes [("metrics" .=) <$> _rurMetrics])---- | Indicates which location failed to respond to a request for data.------ /See:/ 'failedLocation' smart constructor.-newtype FailedLocation = FailedLocation'-    { _flName :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FailedLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'flName'-failedLocation-    :: FailedLocation-failedLocation =-    FailedLocation'-    { _flName = Nothing-    }---- | The name of the failed location.-flName :: Lens' FailedLocation (Maybe Text)-flName = lens _flName (\ s a -> s{_flName = a})--instance FromJSON FailedLocation where-        parseJSON-          = withObject "FailedLocation"-              (\ o -> FailedLocation' <$> (o .:? "name"))--instance ToJSON FailedLocation where-        toJSON FailedLocation'{..}-          = object (catMaybes [("name" .=) <$> _flName])---- | A worker_message response allows the server to pass information to the--- sender.------ /See:/ 'workerMessageResponse' smart constructor.-data WorkerMessageResponse = WorkerMessageResponse'-    { _wmrWorkerHealthReportResponse :: !(Maybe WorkerHealthReportResponse)-    , _wmrWorkerMetricsResponse      :: !(Maybe ResourceUtilizationReportResponse)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerMessageResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wmrWorkerHealthReportResponse'------ * 'wmrWorkerMetricsResponse'-workerMessageResponse-    :: WorkerMessageResponse-workerMessageResponse =-    WorkerMessageResponse'-    { _wmrWorkerHealthReportResponse = Nothing-    , _wmrWorkerMetricsResponse = Nothing-    }---- | The service\'s response to a worker\'s health report.-wmrWorkerHealthReportResponse :: Lens' WorkerMessageResponse (Maybe WorkerHealthReportResponse)-wmrWorkerHealthReportResponse-  = lens _wmrWorkerHealthReportResponse-      (\ s a -> s{_wmrWorkerHealthReportResponse = a})---- | Service\'s response to reporting worker metrics (currently empty).-wmrWorkerMetricsResponse :: Lens' WorkerMessageResponse (Maybe ResourceUtilizationReportResponse)-wmrWorkerMetricsResponse-  = lens _wmrWorkerMetricsResponse-      (\ s a -> s{_wmrWorkerMetricsResponse = a})--instance FromJSON WorkerMessageResponse where-        parseJSON-          = withObject "WorkerMessageResponse"-              (\ o ->-                 WorkerMessageResponse' <$>-                   (o .:? "workerHealthReportResponse") <*>-                     (o .:? "workerMetricsResponse"))--instance ToJSON WorkerMessageResponse where-        toJSON WorkerMessageResponse'{..}-          = object-              (catMaybes-                 [("workerHealthReportResponse" .=) <$>-                    _wmrWorkerHealthReportResponse,-                  ("workerMetricsResponse" .=) <$>-                    _wmrWorkerMetricsResponse])---- | The runtime parameters to pass to the job.------ /See:/ 'createJobFromTemplateRequestParameters' smart constructor.-newtype CreateJobFromTemplateRequestParameters = CreateJobFromTemplateRequestParameters'-    { _cjftrpAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateJobFromTemplateRequestParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cjftrpAddtional'-createJobFromTemplateRequestParameters-    :: HashMap Text Text -- ^ 'cjftrpAddtional'-    -> CreateJobFromTemplateRequestParameters-createJobFromTemplateRequestParameters pCjftrpAddtional_ =-    CreateJobFromTemplateRequestParameters'-    { _cjftrpAddtional = _Coerce # pCjftrpAddtional_-    }--cjftrpAddtional :: Lens' CreateJobFromTemplateRequestParameters (HashMap Text Text)-cjftrpAddtional-  = lens _cjftrpAddtional-      (\ s a -> s{_cjftrpAddtional = a})-      . _Coerce--instance FromJSON-         CreateJobFromTemplateRequestParameters where-        parseJSON-          = withObject "CreateJobFromTemplateRequestParameters"-              (\ o ->-                 CreateJobFromTemplateRequestParameters' <$>-                   (parseJSONObject o))--instance ToJSON-         CreateJobFromTemplateRequestParameters where-        toJSON = toJSON . _cjftrpAddtional---- | The Dataflow service\'s idea of the current state of a WorkItem being--- processed by a worker.------ /See:/ 'workItemServiceState' smart constructor.-data WorkItemServiceState = WorkItemServiceState'-    { _wissNextReportIndex       :: !(Maybe (Textual Int64))-    , _wissReportStatusInterval  :: !(Maybe Text)-    , _wissHarnessData           :: !(Maybe WorkItemServiceStateHarnessData)-    , _wissSuggestedStopPoint    :: !(Maybe ApproximateProgress)-    , _wissSuggestedStopPosition :: !(Maybe Position)-    , _wissLeaseExpireTime       :: !(Maybe Text)-    , _wissSplitRequest          :: !(Maybe ApproximateSplitRequest)-    , _wissMetricShortId         :: !(Maybe [MetricShortId])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkItemServiceState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wissNextReportIndex'------ * 'wissReportStatusInterval'------ * 'wissHarnessData'------ * 'wissSuggestedStopPoint'------ * 'wissSuggestedStopPosition'------ * 'wissLeaseExpireTime'------ * 'wissSplitRequest'------ * 'wissMetricShortId'-workItemServiceState-    :: WorkItemServiceState-workItemServiceState =-    WorkItemServiceState'-    { _wissNextReportIndex = Nothing-    , _wissReportStatusInterval = Nothing-    , _wissHarnessData = Nothing-    , _wissSuggestedStopPoint = Nothing-    , _wissSuggestedStopPosition = Nothing-    , _wissLeaseExpireTime = Nothing-    , _wissSplitRequest = Nothing-    , _wissMetricShortId = Nothing-    }---- | The index value to use for the next report sent by the worker. Note: If--- the report call fails for whatever reason, the worker should reuse this--- index for subsequent report attempts.-wissNextReportIndex :: Lens' WorkItemServiceState (Maybe Int64)-wissNextReportIndex-  = lens _wissNextReportIndex-      (\ s a -> s{_wissNextReportIndex = a})-      . mapping _Coerce---- | New recommended reporting interval.-wissReportStatusInterval :: Lens' WorkItemServiceState (Maybe Text)-wissReportStatusInterval-  = lens _wissReportStatusInterval-      (\ s a -> s{_wissReportStatusInterval = a})---- | Other data returned by the service, specific to the particular worker--- harness.-wissHarnessData :: Lens' WorkItemServiceState (Maybe WorkItemServiceStateHarnessData)-wissHarnessData-  = lens _wissHarnessData-      (\ s a -> s{_wissHarnessData = a})---- | DEPRECATED in favor of split_request.-wissSuggestedStopPoint :: Lens' WorkItemServiceState (Maybe ApproximateProgress)-wissSuggestedStopPoint-  = lens _wissSuggestedStopPoint-      (\ s a -> s{_wissSuggestedStopPoint = a})---- | Obsolete, always empty.-wissSuggestedStopPosition :: Lens' WorkItemServiceState (Maybe Position)-wissSuggestedStopPosition-  = lens _wissSuggestedStopPosition-      (\ s a -> s{_wissSuggestedStopPosition = a})---- | Time at which the current lease will expire.-wissLeaseExpireTime :: Lens' WorkItemServiceState (Maybe Text)-wissLeaseExpireTime-  = lens _wissLeaseExpireTime-      (\ s a -> s{_wissLeaseExpireTime = a})---- | The progress point in the WorkItem where the Dataflow service suggests--- that the worker truncate the task.-wissSplitRequest :: Lens' WorkItemServiceState (Maybe ApproximateSplitRequest)-wissSplitRequest-  = lens _wissSplitRequest-      (\ s a -> s{_wissSplitRequest = a})---- | The short ids that workers should use in subsequent metric updates.--- Workers should strive to use short ids whenever possible, but it is ok--- to request the short_id again if a worker lost track of it (e.g. if the--- worker is recovering from a crash). NOTE: it is possible that the--- response may have short ids for a subset of the metrics.-wissMetricShortId :: Lens' WorkItemServiceState [MetricShortId]-wissMetricShortId-  = lens _wissMetricShortId-      (\ s a -> s{_wissMetricShortId = a})-      . _Default-      . _Coerce--instance FromJSON WorkItemServiceState where-        parseJSON-          = withObject "WorkItemServiceState"-              (\ o ->-                 WorkItemServiceState' <$>-                   (o .:? "nextReportIndex") <*>-                     (o .:? "reportStatusInterval")-                     <*> (o .:? "harnessData")-                     <*> (o .:? "suggestedStopPoint")-                     <*> (o .:? "suggestedStopPosition")-                     <*> (o .:? "leaseExpireTime")-                     <*> (o .:? "splitRequest")-                     <*> (o .:? "metricShortId" .!= mempty))--instance ToJSON WorkItemServiceState where-        toJSON WorkItemServiceState'{..}-          = object-              (catMaybes-                 [("nextReportIndex" .=) <$> _wissNextReportIndex,-                  ("reportStatusInterval" .=) <$>-                    _wissReportStatusInterval,-                  ("harnessData" .=) <$> _wissHarnessData,-                  ("suggestedStopPoint" .=) <$>-                    _wissSuggestedStopPoint,-                  ("suggestedStopPosition" .=) <$>-                    _wissSuggestedStopPosition,-                  ("leaseExpireTime" .=) <$> _wissLeaseExpireTime,-                  ("splitRequest" .=) <$> _wissSplitRequest,-                  ("metricShortId" .=) <$> _wissMetricShortId])---- | A task which initializes part of a streaming Dataflow job.------ /See:/ 'streamingSetupTask' smart constructor.-data StreamingSetupTask = StreamingSetupTask'-    { _sstStreamingComputationTopology :: !(Maybe TopologyConfig)-    , _sstReceiveWorkPort              :: !(Maybe (Textual Int32))-    , _sstWorkerHarnessPort            :: !(Maybe (Textual Int32))-    , _sstDrain                        :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingSetupTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sstStreamingComputationTopology'------ * 'sstReceiveWorkPort'------ * 'sstWorkerHarnessPort'------ * 'sstDrain'-streamingSetupTask-    :: StreamingSetupTask-streamingSetupTask =-    StreamingSetupTask'-    { _sstStreamingComputationTopology = Nothing-    , _sstReceiveWorkPort = Nothing-    , _sstWorkerHarnessPort = Nothing-    , _sstDrain = Nothing-    }---- | The global topology of the streaming Dataflow job.-sstStreamingComputationTopology :: Lens' StreamingSetupTask (Maybe TopologyConfig)-sstStreamingComputationTopology-  = lens _sstStreamingComputationTopology-      (\ s a -> s{_sstStreamingComputationTopology = a})---- | The TCP port on which the worker should listen for messages from other--- streaming computation workers.-sstReceiveWorkPort :: Lens' StreamingSetupTask (Maybe Int32)-sstReceiveWorkPort-  = lens _sstReceiveWorkPort-      (\ s a -> s{_sstReceiveWorkPort = a})-      . mapping _Coerce---- | The TCP port used by the worker to communicate with the Dataflow worker--- harness.-sstWorkerHarnessPort :: Lens' StreamingSetupTask (Maybe Int32)-sstWorkerHarnessPort-  = lens _sstWorkerHarnessPort-      (\ s a -> s{_sstWorkerHarnessPort = a})-      . mapping _Coerce---- | The user has requested drain.-sstDrain :: Lens' StreamingSetupTask (Maybe Bool)-sstDrain = lens _sstDrain (\ s a -> s{_sstDrain = a})--instance FromJSON StreamingSetupTask where-        parseJSON-          = withObject "StreamingSetupTask"-              (\ o ->-                 StreamingSetupTask' <$>-                   (o .:? "streamingComputationTopology") <*>-                     (o .:? "receiveWorkPort")-                     <*> (o .:? "workerHarnessPort")-                     <*> (o .:? "drain"))--instance ToJSON StreamingSetupTask where-        toJSON StreamingSetupTask'{..}-          = object-              (catMaybes-                 [("streamingComputationTopology" .=) <$>-                    _sstStreamingComputationTopology,-                  ("receiveWorkPort" .=) <$> _sstReceiveWorkPort,-                  ("workerHarnessPort" .=) <$> _sstWorkerHarnessPort,-                  ("drain" .=) <$> _sstDrain])---- | The codec to use for interpreting an element in the input PTable.------ /See:/ 'partialGroupByKeyInstructionInputElementCodec' smart constructor.-newtype PartialGroupByKeyInstructionInputElementCodec = PartialGroupByKeyInstructionInputElementCodec'-    { _pgbkiiecAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PartialGroupByKeyInstructionInputElementCodec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgbkiiecAddtional'-partialGroupByKeyInstructionInputElementCodec-    :: HashMap Text JSONValue -- ^ 'pgbkiiecAddtional'-    -> PartialGroupByKeyInstructionInputElementCodec-partialGroupByKeyInstructionInputElementCodec pPgbkiiecAddtional_ =-    PartialGroupByKeyInstructionInputElementCodec'-    { _pgbkiiecAddtional = _Coerce # pPgbkiiecAddtional_-    }---- | Properties of the object.-pgbkiiecAddtional :: Lens' PartialGroupByKeyInstructionInputElementCodec (HashMap Text JSONValue)-pgbkiiecAddtional-  = lens _pgbkiiecAddtional-      (\ s a -> s{_pgbkiiecAddtional = a})-      . _Coerce--instance FromJSON-         PartialGroupByKeyInstructionInputElementCodec where-        parseJSON-          = withObject-              "PartialGroupByKeyInstructionInputElementCodec"-              (\ o ->-                 PartialGroupByKeyInstructionInputElementCodec' <$>-                   (parseJSONObject o))--instance ToJSON-         PartialGroupByKeyInstructionInputElementCodec where-        toJSON = toJSON . _pgbkiiecAddtional---- | MapTask consists of an ordered set of instructions, each of which--- describes one particular low-level operation for the worker to perform--- in order to accomplish the MapTask\'s WorkItem. Each instruction must--- appear in the list before any instructions which depends on its output.------ /See:/ 'mapTask' smart constructor.-data MapTask = MapTask'-    { _mtInstructions :: !(Maybe [ParallelInstruction])-    , _mtSystemName   :: !(Maybe Text)-    , _mtStageName    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MapTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtInstructions'------ * 'mtSystemName'------ * 'mtStageName'-mapTask-    :: MapTask-mapTask =-    MapTask'-    { _mtInstructions = Nothing-    , _mtSystemName = Nothing-    , _mtStageName = Nothing-    }---- | The instructions in the MapTask.-mtInstructions :: Lens' MapTask [ParallelInstruction]-mtInstructions-  = lens _mtInstructions-      (\ s a -> s{_mtInstructions = a})-      . _Default-      . _Coerce---- | System-defined name of this MapTask. Unique across the workflow.-mtSystemName :: Lens' MapTask (Maybe Text)-mtSystemName-  = lens _mtSystemName (\ s a -> s{_mtSystemName = a})---- | System-defined name of the stage containing this MapTask. Unique across--- the workflow.-mtStageName :: Lens' MapTask (Maybe Text)-mtStageName-  = lens _mtStageName (\ s a -> s{_mtStageName = a})--instance FromJSON MapTask where-        parseJSON-          = withObject "MapTask"-              (\ o ->-                 MapTask' <$>-                   (o .:? "instructions" .!= mempty) <*>-                     (o .:? "systemName")-                     <*> (o .:? "stageName"))--instance ToJSON MapTask where-        toJSON MapTask'{..}-          = object-              (catMaybes-                 [("instructions" .=) <$> _mtInstructions,-                  ("systemName" .=) <$> _mtSystemName,-                  ("stageName" .=) <$> _mtStageName])---- | Describes mounted data disk.------ /See:/ 'mountedDataDisk' smart constructor.-newtype MountedDataDisk = MountedDataDisk'-    { _mddDataDisk :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MountedDataDisk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mddDataDisk'-mountedDataDisk-    :: MountedDataDisk-mountedDataDisk =-    MountedDataDisk'-    { _mddDataDisk = Nothing-    }---- | The name of the data disk. This name is local to the Google Cloud--- Platform project and uniquely identifies the disk within that project,--- for example \"myproject-1014-104817-4c2-harness-0-disk-1\".-mddDataDisk :: Lens' MountedDataDisk (Maybe Text)-mddDataDisk-  = lens _mddDataDisk (\ s a -> s{_mddDataDisk = a})--instance FromJSON MountedDataDisk where-        parseJSON-          = withObject "MountedDataDisk"-              (\ o -> MountedDataDisk' <$> (o .:? "dataDisk"))--instance ToJSON MountedDataDisk where-        toJSON MountedDataDisk'{..}-          = object-              (catMaybes [("dataDisk" .=) <$> _mddDataDisk])---- | The codec to use to encode data written to the sink.------ /See:/ 'sinkCodec' smart constructor.-newtype SinkCodec = SinkCodec'-    { _scAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SinkCodec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scAddtional'-sinkCodec-    :: HashMap Text JSONValue -- ^ 'scAddtional'-    -> SinkCodec-sinkCodec pScAddtional_ =-    SinkCodec'-    { _scAddtional = _Coerce # pScAddtional_-    }---- | Properties of the object.-scAddtional :: Lens' SinkCodec (HashMap Text JSONValue)-scAddtional-  = lens _scAddtional (\ s a -> s{_scAddtional = a}) .-      _Coerce--instance FromJSON SinkCodec where-        parseJSON-          = withObject "SinkCodec"-              (\ o -> SinkCodec' <$> (parseJSONObject o))--instance ToJSON SinkCodec where-        toJSON = toJSON . _scAddtional---- | A representation of an integer mean metric contribution.------ /See:/ 'integerMean' smart constructor.-data IntegerMean = IntegerMean'-    { _imCount :: !(Maybe SplitInt64)-    , _imSum   :: !(Maybe SplitInt64)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'IntegerMean' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'imCount'------ * 'imSum'-integerMean-    :: IntegerMean-integerMean =-    IntegerMean'-    { _imCount = Nothing-    , _imSum = Nothing-    }---- | The number of values being aggregated.-imCount :: Lens' IntegerMean (Maybe SplitInt64)-imCount = lens _imCount (\ s a -> s{_imCount = a})---- | The sum of all values being aggregated.-imSum :: Lens' IntegerMean (Maybe SplitInt64)-imSum = lens _imSum (\ s a -> s{_imSum = a})--instance FromJSON IntegerMean where-        parseJSON-          = withObject "IntegerMean"-              (\ o ->-                 IntegerMean' <$> (o .:? "count") <*> (o .:? "sum"))--instance ToJSON IntegerMean where-        toJSON IntegerMean'{..}-          = object-              (catMaybes-                 [("count" .=) <$> _imCount, ("sum" .=) <$> _imSum])------- /See:/ 'workerHealthReportPodsItem' smart constructor.-newtype WorkerHealthReportPodsItem = WorkerHealthReportPodsItem'-    { _whrpiAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerHealthReportPodsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'whrpiAddtional'-workerHealthReportPodsItem-    :: HashMap Text JSONValue -- ^ 'whrpiAddtional'-    -> WorkerHealthReportPodsItem-workerHealthReportPodsItem pWhrpiAddtional_ =-    WorkerHealthReportPodsItem'-    { _whrpiAddtional = _Coerce # pWhrpiAddtional_-    }---- | Properties of the object.-whrpiAddtional :: Lens' WorkerHealthReportPodsItem (HashMap Text JSONValue)-whrpiAddtional-  = lens _whrpiAddtional-      (\ s a -> s{_whrpiAddtional = a})-      . _Coerce--instance FromJSON WorkerHealthReportPodsItem where-        parseJSON-          = withObject "WorkerHealthReportPodsItem"-              (\ o ->-                 WorkerHealthReportPodsItem' <$> (parseJSONObject o))--instance ToJSON WorkerHealthReportPodsItem where-        toJSON = toJSON . _whrpiAddtional---- | The user function to invoke.------ /See:/ 'parDoInstructionUserFn' smart constructor.-newtype ParDoInstructionUserFn = ParDoInstructionUserFn'-    { _pdiufAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParDoInstructionUserFn' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdiufAddtional'-parDoInstructionUserFn-    :: HashMap Text JSONValue -- ^ 'pdiufAddtional'-    -> ParDoInstructionUserFn-parDoInstructionUserFn pPdiufAddtional_ =-    ParDoInstructionUserFn'-    { _pdiufAddtional = _Coerce # pPdiufAddtional_-    }---- | Properties of the object.-pdiufAddtional :: Lens' ParDoInstructionUserFn (HashMap Text JSONValue)-pdiufAddtional-  = lens _pdiufAddtional-      (\ s a -> s{_pdiufAddtional = a})-      . _Coerce--instance FromJSON ParDoInstructionUserFn where-        parseJSON-          = withObject "ParDoInstructionUserFn"-              (\ o ->-                 ParDoInstructionUserFn' <$> (parseJSONObject o))--instance ToJSON ParDoInstructionUserFn where-        toJSON = toJSON . _pdiufAddtional---- | The codec to use to encode data being written via this output.------ /See:/ 'instructionOutputCodec' smart constructor.-newtype InstructionOutputCodec = InstructionOutputCodec'-    { _iocAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstructionOutputCodec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iocAddtional'-instructionOutputCodec-    :: HashMap Text JSONValue -- ^ 'iocAddtional'-    -> InstructionOutputCodec-instructionOutputCodec pIocAddtional_ =-    InstructionOutputCodec'-    { _iocAddtional = _Coerce # pIocAddtional_-    }---- | Properties of the object.-iocAddtional :: Lens' InstructionOutputCodec (HashMap Text JSONValue)-iocAddtional-  = lens _iocAddtional (\ s a -> s{_iocAddtional = a})-      . _Coerce--instance FromJSON InstructionOutputCodec where-        parseJSON-          = withObject "InstructionOutputCodec"-              (\ o ->-                 InstructionOutputCodec' <$> (parseJSONObject o))--instance ToJSON InstructionOutputCodec where-        toJSON = toJSON . _iocAddtional---- | Describes a stream of data, either as input to be processed or as output--- of a streaming Dataflow job.------ /See:/ 'streamLocation' smart constructor.-data StreamLocation = StreamLocation'-    { _slStreamingStageLocation :: !(Maybe StreamingStageLocation)-    , _slSideInputLocation      :: !(Maybe StreamingSideInputLocation)-    , _slCustomSourceLocation   :: !(Maybe CustomSourceLocation)-    , _slPubsubLocation         :: !(Maybe PubsubLocation)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slStreamingStageLocation'------ * 'slSideInputLocation'------ * 'slCustomSourceLocation'------ * 'slPubsubLocation'-streamLocation-    :: StreamLocation-streamLocation =-    StreamLocation'-    { _slStreamingStageLocation = Nothing-    , _slSideInputLocation = Nothing-    , _slCustomSourceLocation = Nothing-    , _slPubsubLocation = Nothing-    }---- | The stream is part of another computation within the current streaming--- Dataflow job.-slStreamingStageLocation :: Lens' StreamLocation (Maybe StreamingStageLocation)-slStreamingStageLocation-  = lens _slStreamingStageLocation-      (\ s a -> s{_slStreamingStageLocation = a})---- | The stream is a streaming side input.-slSideInputLocation :: Lens' StreamLocation (Maybe StreamingSideInputLocation)-slSideInputLocation-  = lens _slSideInputLocation-      (\ s a -> s{_slSideInputLocation = a})---- | The stream is a custom source.-slCustomSourceLocation :: Lens' StreamLocation (Maybe CustomSourceLocation)-slCustomSourceLocation-  = lens _slCustomSourceLocation-      (\ s a -> s{_slCustomSourceLocation = a})---- | The stream is a pubsub stream.-slPubsubLocation :: Lens' StreamLocation (Maybe PubsubLocation)-slPubsubLocation-  = lens _slPubsubLocation-      (\ s a -> s{_slPubsubLocation = a})--instance FromJSON StreamLocation where-        parseJSON-          = withObject "StreamLocation"-              (\ o ->-                 StreamLocation' <$>-                   (o .:? "streamingStageLocation") <*>-                     (o .:? "sideInputLocation")-                     <*> (o .:? "customSourceLocation")-                     <*> (o .:? "pubsubLocation"))--instance ToJSON StreamLocation where-        toJSON StreamLocation'{..}-          = object-              (catMaybes-                 [("streamingStageLocation" .=) <$>-                    _slStreamingStageLocation,-                  ("sideInputLocation" .=) <$> _slSideInputLocation,-                  ("customSourceLocation" .=) <$>-                    _slCustomSourceLocation,-                  ("pubsubLocation" .=) <$> _slPubsubLocation])---- | Extra arguments for this worker pool.------ /See:/ 'workerPoolPoolArgs' smart constructor.-newtype WorkerPoolPoolArgs = WorkerPoolPoolArgs'-    { _wppaAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerPoolPoolArgs' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wppaAddtional'-workerPoolPoolArgs-    :: HashMap Text JSONValue -- ^ 'wppaAddtional'-    -> WorkerPoolPoolArgs-workerPoolPoolArgs pWppaAddtional_ =-    WorkerPoolPoolArgs'-    { _wppaAddtional = _Coerce # pWppaAddtional_-    }---- | Properties of the object. Contains field \'type with type URL.-wppaAddtional :: Lens' WorkerPoolPoolArgs (HashMap Text JSONValue)-wppaAddtional-  = lens _wppaAddtional-      (\ s a -> s{_wppaAddtional = a})-      . _Coerce--instance FromJSON WorkerPoolPoolArgs where-        parseJSON-          = withObject "WorkerPoolPoolArgs"-              (\ o -> WorkerPoolPoolArgs' <$> (parseJSONObject o))--instance ToJSON WorkerPoolPoolArgs where-        toJSON = toJSON . _wppaAddtional---- | The environment values to set at runtime.------ /See:/ 'runtimeEnvironment' smart constructor.-data RuntimeEnvironment = RuntimeEnvironment'-    { _reZone                    :: !(Maybe Text)-    , _reBypassTempDirValidation :: !(Maybe Bool)-    , _reServiceAccountEmail     :: !(Maybe Text)-    , _reMaxWorkers              :: !(Maybe (Textual Int32))-    , _reTempLocation            :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RuntimeEnvironment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'reZone'------ * 'reBypassTempDirValidation'------ * 'reServiceAccountEmail'------ * 'reMaxWorkers'------ * 'reTempLocation'-runtimeEnvironment-    :: RuntimeEnvironment-runtimeEnvironment =-    RuntimeEnvironment'-    { _reZone = Nothing-    , _reBypassTempDirValidation = Nothing-    , _reServiceAccountEmail = Nothing-    , _reMaxWorkers = Nothing-    , _reTempLocation = Nothing-    }---- | The Compute Engine [availability--- zone](https:\/\/cloud.google.com\/compute\/docs\/regions-zones\/regions-zones)--- for launching worker instances to run your pipeline.-reZone :: Lens' RuntimeEnvironment (Maybe Text)-reZone = lens _reZone (\ s a -> s{_reZone = a})---- | Whether to bypass the safety checks for the job\'s temporary directory.--- Use with caution.-reBypassTempDirValidation :: Lens' RuntimeEnvironment (Maybe Bool)-reBypassTempDirValidation-  = lens _reBypassTempDirValidation-      (\ s a -> s{_reBypassTempDirValidation = a})---- | The email address of the service account to run the job as.-reServiceAccountEmail :: Lens' RuntimeEnvironment (Maybe Text)-reServiceAccountEmail-  = lens _reServiceAccountEmail-      (\ s a -> s{_reServiceAccountEmail = a})---- | The maximum number of Google Compute Engine instances to be made--- available to your pipeline during execution, from 1 to 1000.-reMaxWorkers :: Lens' RuntimeEnvironment (Maybe Int32)-reMaxWorkers-  = lens _reMaxWorkers (\ s a -> s{_reMaxWorkers = a})-      . mapping _Coerce---- | The Cloud Storage path to use for temporary files. Must be a valid Cloud--- Storage URL, beginning with \`gs:\/\/\`.-reTempLocation :: Lens' RuntimeEnvironment (Maybe Text)-reTempLocation-  = lens _reTempLocation-      (\ s a -> s{_reTempLocation = a})--instance FromJSON RuntimeEnvironment where-        parseJSON-          = withObject "RuntimeEnvironment"-              (\ o ->-                 RuntimeEnvironment' <$>-                   (o .:? "zone") <*> (o .:? "bypassTempDirValidation")-                     <*> (o .:? "serviceAccountEmail")-                     <*> (o .:? "maxWorkers")-                     <*> (o .:? "tempLocation"))--instance ToJSON RuntimeEnvironment where-        toJSON RuntimeEnvironment'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _reZone,-                  ("bypassTempDirValidation" .=) <$>-                    _reBypassTempDirValidation,-                  ("serviceAccountEmail" .=) <$>-                    _reServiceAccountEmail,-                  ("maxWorkers" .=) <$> _reMaxWorkers,-                  ("tempLocation" .=) <$> _reTempLocation])---- | CounterMetadata includes all static non-name non-value counter--- attributes.------ /See:/ 'counterMetadata' smart constructor.-data CounterMetadata = CounterMetadata'-    { _cmKind          :: !(Maybe Text)-    , _cmDescription   :: !(Maybe Text)-    , _cmStandardUnits :: !(Maybe Text)-    , _cmOtherUnits    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CounterMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cmKind'------ * 'cmDescription'------ * 'cmStandardUnits'------ * 'cmOtherUnits'-counterMetadata-    :: CounterMetadata-counterMetadata =-    CounterMetadata'-    { _cmKind = Nothing-    , _cmDescription = Nothing-    , _cmStandardUnits = Nothing-    , _cmOtherUnits = Nothing-    }---- | Counter aggregation kind.-cmKind :: Lens' CounterMetadata (Maybe Text)-cmKind = lens _cmKind (\ s a -> s{_cmKind = a})---- | Human-readable description of the counter semantics.-cmDescription :: Lens' CounterMetadata (Maybe Text)-cmDescription-  = lens _cmDescription-      (\ s a -> s{_cmDescription = a})---- | System defined Units, see above enum.-cmStandardUnits :: Lens' CounterMetadata (Maybe Text)-cmStandardUnits-  = lens _cmStandardUnits-      (\ s a -> s{_cmStandardUnits = a})---- | A string referring to the unit type.-cmOtherUnits :: Lens' CounterMetadata (Maybe Text)-cmOtherUnits-  = lens _cmOtherUnits (\ s a -> s{_cmOtherUnits = a})--instance FromJSON CounterMetadata where-        parseJSON-          = withObject "CounterMetadata"-              (\ o ->-                 CounterMetadata' <$>-                   (o .:? "kind") <*> (o .:? "description") <*>-                     (o .:? "standardUnits")-                     <*> (o .:? "otherUnits"))--instance ToJSON CounterMetadata where-        toJSON CounterMetadata'{..}-          = object-              (catMaybes-                 [("kind" .=) <$> _cmKind,-                  ("description" .=) <$> _cmDescription,-                  ("standardUnits" .=) <$> _cmStandardUnits,-                  ("otherUnits" .=) <$> _cmOtherUnits])---- | The response to the worker messages.------ /See:/ 'sendWorkerMessagesResponse' smart constructor.-newtype SendWorkerMessagesResponse = SendWorkerMessagesResponse'-    { _swmrWorkerMessageResponses :: Maybe [WorkerMessageResponse]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SendWorkerMessagesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'swmrWorkerMessageResponses'-sendWorkerMessagesResponse-    :: SendWorkerMessagesResponse-sendWorkerMessagesResponse =-    SendWorkerMessagesResponse'-    { _swmrWorkerMessageResponses = Nothing-    }---- | The servers response to the worker messages.-swmrWorkerMessageResponses :: Lens' SendWorkerMessagesResponse [WorkerMessageResponse]-swmrWorkerMessageResponses-  = lens _swmrWorkerMessageResponses-      (\ s a -> s{_swmrWorkerMessageResponses = a})-      . _Default-      . _Coerce--instance FromJSON SendWorkerMessagesResponse where-        parseJSON-          = withObject "SendWorkerMessagesResponse"-              (\ o ->-                 SendWorkerMessagesResponse' <$>-                   (o .:? "workerMessageResponses" .!= mempty))--instance ToJSON SendWorkerMessagesResponse where-        toJSON SendWorkerMessagesResponse'{..}-          = object-              (catMaybes-                 [("workerMessageResponses" .=) <$>-                    _swmrWorkerMessageResponses])---- | Identifies the location of a streaming side input.------ /See:/ 'streamingSideInputLocation' smart constructor.-data StreamingSideInputLocation = StreamingSideInputLocation'-    { _ssilTag         :: !(Maybe Text)-    , _ssilStateFamily :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingSideInputLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssilTag'------ * 'ssilStateFamily'-streamingSideInputLocation-    :: StreamingSideInputLocation-streamingSideInputLocation =-    StreamingSideInputLocation'-    { _ssilTag = Nothing-    , _ssilStateFamily = Nothing-    }---- | Identifies the particular side input within the streaming Dataflow job.-ssilTag :: Lens' StreamingSideInputLocation (Maybe Text)-ssilTag = lens _ssilTag (\ s a -> s{_ssilTag = a})---- | Identifies the state family where this side input is stored.-ssilStateFamily :: Lens' StreamingSideInputLocation (Maybe Text)-ssilStateFamily-  = lens _ssilStateFamily-      (\ s a -> s{_ssilStateFamily = a})--instance FromJSON StreamingSideInputLocation where-        parseJSON-          = withObject "StreamingSideInputLocation"-              (\ o ->-                 StreamingSideInputLocation' <$>-                   (o .:? "tag") <*> (o .:? "stateFamily"))--instance ToJSON StreamingSideInputLocation where-        toJSON StreamingSideInputLocation'{..}-          = object-              (catMaybes-                 [("tag" .=) <$> _ssilTag,-                  ("stateFamily" .=) <$> _ssilStateFamily])---- | Request to get updated debug configuration for component.------ /See:/ 'getDebugConfigRequest' smart constructor.-data GetDebugConfigRequest = GetDebugConfigRequest'-    { _gdcrComponentId :: !(Maybe Text)-    , _gdcrWorkerId    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GetDebugConfigRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gdcrComponentId'------ * 'gdcrWorkerId'-getDebugConfigRequest-    :: GetDebugConfigRequest-getDebugConfigRequest =-    GetDebugConfigRequest'-    { _gdcrComponentId = Nothing-    , _gdcrWorkerId = Nothing-    }---- | The internal component id for which debug configuration is requested.-gdcrComponentId :: Lens' GetDebugConfigRequest (Maybe Text)-gdcrComponentId-  = lens _gdcrComponentId-      (\ s a -> s{_gdcrComponentId = a})---- | The worker id, i.e., VM hostname.-gdcrWorkerId :: Lens' GetDebugConfigRequest (Maybe Text)-gdcrWorkerId-  = lens _gdcrWorkerId (\ s a -> s{_gdcrWorkerId = a})--instance FromJSON GetDebugConfigRequest where-        parseJSON-          = withObject "GetDebugConfigRequest"-              (\ o ->-                 GetDebugConfigRequest' <$>-                   (o .:? "componentId") <*> (o .:? "workerId"))--instance ToJSON GetDebugConfigRequest where-        toJSON GetDebugConfigRequest'{..}-          = object-              (catMaybes-                 [("componentId" .=) <$> _gdcrComponentId,-                  ("workerId" .=) <$> _gdcrWorkerId])---- | A single message which encapsulates structured name and metadata for a--- given counter.------ /See:/ 'counterStructuredNameAndMetadata' smart constructor.-data CounterStructuredNameAndMetadata = CounterStructuredNameAndMetadata'-    { _csnamName     :: !(Maybe CounterStructuredName)-    , _csnamMetadata :: !(Maybe CounterMetadata)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CounterStructuredNameAndMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csnamName'------ * 'csnamMetadata'-counterStructuredNameAndMetadata-    :: CounterStructuredNameAndMetadata-counterStructuredNameAndMetadata =-    CounterStructuredNameAndMetadata'-    { _csnamName = Nothing-    , _csnamMetadata = Nothing-    }---- | Structured name of the counter.-csnamName :: Lens' CounterStructuredNameAndMetadata (Maybe CounterStructuredName)-csnamName-  = lens _csnamName (\ s a -> s{_csnamName = a})---- | Metadata associated with a counter-csnamMetadata :: Lens' CounterStructuredNameAndMetadata (Maybe CounterMetadata)-csnamMetadata-  = lens _csnamMetadata-      (\ s a -> s{_csnamMetadata = a})--instance FromJSON CounterStructuredNameAndMetadata-         where-        parseJSON-          = withObject "CounterStructuredNameAndMetadata"-              (\ o ->-                 CounterStructuredNameAndMetadata' <$>-                   (o .:? "name") <*> (o .:? "metadata"))--instance ToJSON CounterStructuredNameAndMetadata-         where-        toJSON CounterStructuredNameAndMetadata'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _csnamName,-                  ("metadata" .=) <$> _csnamMetadata])---- | A task which describes what action should be performed for the specified--- streaming computation ranges.------ /See:/ 'streamingComputationTask' smart constructor.-data StreamingComputationTask = StreamingComputationTask'-    { _sctTaskType          :: !(Maybe Text)-    , _sctDataDisks         :: !(Maybe [MountedDataDisk])-    , _sctComputationRanges :: !(Maybe [StreamingComputationRanges])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingComputationTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sctTaskType'------ * 'sctDataDisks'------ * 'sctComputationRanges'-streamingComputationTask-    :: StreamingComputationTask-streamingComputationTask =-    StreamingComputationTask'-    { _sctTaskType = Nothing-    , _sctDataDisks = Nothing-    , _sctComputationRanges = Nothing-    }---- | A type of streaming computation task.-sctTaskType :: Lens' StreamingComputationTask (Maybe Text)-sctTaskType-  = lens _sctTaskType (\ s a -> s{_sctTaskType = a})---- | Describes the set of data disks this task should apply to.-sctDataDisks :: Lens' StreamingComputationTask [MountedDataDisk]-sctDataDisks-  = lens _sctDataDisks (\ s a -> s{_sctDataDisks = a})-      . _Default-      . _Coerce---- | Contains ranges of a streaming computation this task should apply to.-sctComputationRanges :: Lens' StreamingComputationTask [StreamingComputationRanges]-sctComputationRanges-  = lens _sctComputationRanges-      (\ s a -> s{_sctComputationRanges = a})-      . _Default-      . _Coerce--instance FromJSON StreamingComputationTask where-        parseJSON-          = withObject "StreamingComputationTask"-              (\ o ->-                 StreamingComputationTask' <$>-                   (o .:? "taskType") <*> (o .:? "dataDisks" .!= mempty)-                     <*> (o .:? "computationRanges" .!= mempty))--instance ToJSON StreamingComputationTask where-        toJSON StreamingComputationTask'{..}-          = object-              (catMaybes-                 [("taskType" .=) <$> _sctTaskType,-                  ("dataDisks" .=) <$> _sctDataDisks,-                  ("computationRanges" .=) <$> _sctComputationRanges])---- | A particular message pertaining to a Dataflow job.------ /See:/ 'jobMessage' smart constructor.-data JobMessage = JobMessage'-    { _jmTime              :: !(Maybe Text)-    , _jmMessageText       :: !(Maybe Text)-    , _jmMessageImportance :: !(Maybe Text)-    , _jmId                :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'JobMessage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jmTime'------ * 'jmMessageText'------ * 'jmMessageImportance'------ * 'jmId'-jobMessage-    :: JobMessage-jobMessage =-    JobMessage'-    { _jmTime = Nothing-    , _jmMessageText = Nothing-    , _jmMessageImportance = Nothing-    , _jmId = Nothing-    }---- | The timestamp of the message.-jmTime :: Lens' JobMessage (Maybe Text)-jmTime = lens _jmTime (\ s a -> s{_jmTime = a})---- | The text of the message.-jmMessageText :: Lens' JobMessage (Maybe Text)-jmMessageText-  = lens _jmMessageText-      (\ s a -> s{_jmMessageText = a})---- | Importance level of the message.-jmMessageImportance :: Lens' JobMessage (Maybe Text)-jmMessageImportance-  = lens _jmMessageImportance-      (\ s a -> s{_jmMessageImportance = a})---- | Identifies the message. This is automatically generated by the service;--- the caller should treat it as an opaque string.-jmId :: Lens' JobMessage (Maybe Text)-jmId = lens _jmId (\ s a -> s{_jmId = a})--instance FromJSON JobMessage where-        parseJSON-          = withObject "JobMessage"-              (\ o ->-                 JobMessage' <$>-                   (o .:? "time") <*> (o .:? "messageText") <*>-                     (o .:? "messageImportance")-                     <*> (o .:? "id"))--instance ToJSON JobMessage where-        toJSON JobMessage'{..}-          = object-              (catMaybes-                 [("time" .=) <$> _jmTime,-                  ("messageText" .=) <$> _jmMessageText,-                  ("messageImportance" .=) <$> _jmMessageImportance,-                  ("id" .=) <$> _jmId])---- | Information about an output of a SeqMapTask.------ /See:/ 'seqMapTaskOutputInfo' smart constructor.-data SeqMapTaskOutputInfo = SeqMapTaskOutputInfo'-    { _smtoiSink :: !(Maybe Sink)-    , _smtoiTag  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SeqMapTaskOutputInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smtoiSink'------ * 'smtoiTag'-seqMapTaskOutputInfo-    :: SeqMapTaskOutputInfo-seqMapTaskOutputInfo =-    SeqMapTaskOutputInfo'-    { _smtoiSink = Nothing-    , _smtoiTag = Nothing-    }---- | The sink to write the output value to.-smtoiSink :: Lens' SeqMapTaskOutputInfo (Maybe Sink)-smtoiSink-  = lens _smtoiSink (\ s a -> s{_smtoiSink = a})---- | The id of the TupleTag the user code will tag the output value by.-smtoiTag :: Lens' SeqMapTaskOutputInfo (Maybe Text)-smtoiTag = lens _smtoiTag (\ s a -> s{_smtoiTag = a})--instance FromJSON SeqMapTaskOutputInfo where-        parseJSON-          = withObject "SeqMapTaskOutputInfo"-              (\ o ->-                 SeqMapTaskOutputInfo' <$>-                   (o .:? "sink") <*> (o .:? "tag"))--instance ToJSON SeqMapTaskOutputInfo where-        toJSON SeqMapTaskOutputInfo'{..}-          = object-              (catMaybes-                 [("sink" .=) <$> _smtoiSink,-                  ("tag" .=) <$> _smtoiTag])---- | A request to compute the SourceMetadata of a Source.------ /See:/ 'sourceGetMetadataRequest' smart constructor.-newtype SourceGetMetadataRequest = SourceGetMetadataRequest'-    { _sgmrSource :: Maybe Source-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceGetMetadataRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sgmrSource'-sourceGetMetadataRequest-    :: SourceGetMetadataRequest-sourceGetMetadataRequest =-    SourceGetMetadataRequest'-    { _sgmrSource = Nothing-    }---- | Specification of the source whose metadata should be computed.-sgmrSource :: Lens' SourceGetMetadataRequest (Maybe Source)-sgmrSource-  = lens _sgmrSource (\ s a -> s{_sgmrSource = a})--instance FromJSON SourceGetMetadataRequest where-        parseJSON-          = withObject "SourceGetMetadataRequest"-              (\ o ->-                 SourceGetMetadataRequest' <$> (o .:? "source"))--instance ToJSON SourceGetMetadataRequest where-        toJSON SourceGetMetadataRequest'{..}-          = object (catMaybes [("source" .=) <$> _sgmrSource])---- | The user function to invoke.------ /See:/ 'seqMapTaskUserFn' smart constructor.-newtype SeqMapTaskUserFn = SeqMapTaskUserFn'-    { _smtufAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SeqMapTaskUserFn' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smtufAddtional'-seqMapTaskUserFn-    :: HashMap Text JSONValue -- ^ 'smtufAddtional'-    -> SeqMapTaskUserFn-seqMapTaskUserFn pSmtufAddtional_ =-    SeqMapTaskUserFn'-    { _smtufAddtional = _Coerce # pSmtufAddtional_-    }---- | Properties of the object.-smtufAddtional :: Lens' SeqMapTaskUserFn (HashMap Text JSONValue)-smtufAddtional-  = lens _smtufAddtional-      (\ s a -> s{_smtufAddtional = a})-      . _Coerce--instance FromJSON SeqMapTaskUserFn where-        parseJSON-          = withObject "SeqMapTaskUserFn"-              (\ o -> SeqMapTaskUserFn' <$> (parseJSONObject o))--instance ToJSON SeqMapTaskUserFn where-        toJSON = toJSON . _smtufAddtional---- | The value combining function to invoke.------ /See:/ 'partialGroupByKeyInstructionValueCombiningFn' smart constructor.-newtype PartialGroupByKeyInstructionValueCombiningFn = PartialGroupByKeyInstructionValueCombiningFn'-    { _pgbkivcfAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PartialGroupByKeyInstructionValueCombiningFn' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgbkivcfAddtional'-partialGroupByKeyInstructionValueCombiningFn-    :: HashMap Text JSONValue -- ^ 'pgbkivcfAddtional'-    -> PartialGroupByKeyInstructionValueCombiningFn-partialGroupByKeyInstructionValueCombiningFn pPgbkivcfAddtional_ =-    PartialGroupByKeyInstructionValueCombiningFn'-    { _pgbkivcfAddtional = _Coerce # pPgbkivcfAddtional_-    }---- | Properties of the object.-pgbkivcfAddtional :: Lens' PartialGroupByKeyInstructionValueCombiningFn (HashMap Text JSONValue)-pgbkivcfAddtional-  = lens _pgbkivcfAddtional-      (\ s a -> s{_pgbkivcfAddtional = a})-      . _Coerce--instance FromJSON-         PartialGroupByKeyInstructionValueCombiningFn where-        parseJSON-          = withObject-              "PartialGroupByKeyInstructionValueCombiningFn"-              (\ o ->-                 PartialGroupByKeyInstructionValueCombiningFn' <$>-                   (parseJSONObject o))--instance ToJSON-         PartialGroupByKeyInstructionValueCombiningFn where-        toJSON = toJSON . _pgbkivcfAddtional---- | Defines a job to be run by the Cloud Dataflow service.------ /See:/ 'job' smart constructor.-data Job = Job'-    { _jRequestedState       :: !(Maybe Text)-    , _jLocation             :: !(Maybe Text)-    , _jEnvironment          :: !(Maybe Environment)-    , _jClientRequestId      :: !(Maybe Text)-    , _jCurrentState         :: !(Maybe Text)-    , _jReplacedByJobId      :: !(Maybe Text)-    , _jTempFiles            :: !(Maybe [Text])-    , _jSteps                :: !(Maybe [Step])-    , _jExecutionInfo        :: !(Maybe JobExecutionInfo)-    , _jName                 :: !(Maybe Text)-    , _jTransformNameMApping :: !(Maybe JobTransformNameMApping)-    , _jId                   :: !(Maybe Text)-    , _jLabels               :: !(Maybe JobLabels)-    , _jProjectId            :: !(Maybe Text)-    , _jType                 :: !(Maybe Text)-    , _jCurrentStateTime     :: !(Maybe Text)-    , _jReplaceJobId         :: !(Maybe Text)-    , _jCreateTime           :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Job' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jRequestedState'------ * 'jLocation'------ * 'jEnvironment'------ * 'jClientRequestId'------ * 'jCurrentState'------ * 'jReplacedByJobId'------ * 'jTempFiles'------ * 'jSteps'------ * 'jExecutionInfo'------ * 'jName'------ * 'jTransformNameMApping'------ * 'jId'------ * 'jLabels'------ * 'jProjectId'------ * 'jType'------ * 'jCurrentStateTime'------ * 'jReplaceJobId'------ * 'jCreateTime'-job-    :: Job-job =-    Job'-    { _jRequestedState = Nothing-    , _jLocation = Nothing-    , _jEnvironment = Nothing-    , _jClientRequestId = Nothing-    , _jCurrentState = Nothing-    , _jReplacedByJobId = Nothing-    , _jTempFiles = Nothing-    , _jSteps = Nothing-    , _jExecutionInfo = Nothing-    , _jName = Nothing-    , _jTransformNameMApping = Nothing-    , _jId = Nothing-    , _jLabels = Nothing-    , _jProjectId = Nothing-    , _jType = Nothing-    , _jCurrentStateTime = Nothing-    , _jReplaceJobId = Nothing-    , _jCreateTime = Nothing-    }---- | The job\'s requested state. \`UpdateJob\` may be used to switch between--- the \`JOB_STATE_STOPPED\` and \`JOB_STATE_RUNNING\` states, by setting--- requested_state. \`UpdateJob\` may also be used to directly set a job\'s--- requested state to \`JOB_STATE_CANCELLED\` or \`JOB_STATE_DONE\`,--- irrevocably terminating the job if it has not already reached a terminal--- state.-jRequestedState :: Lens' Job (Maybe Text)-jRequestedState-  = lens _jRequestedState-      (\ s a -> s{_jRequestedState = a})---- | The location that contains this job.-jLocation :: Lens' Job (Maybe Text)-jLocation-  = lens _jLocation (\ s a -> s{_jLocation = a})---- | The environment for the job.-jEnvironment :: Lens' Job (Maybe Environment)-jEnvironment-  = lens _jEnvironment (\ s a -> s{_jEnvironment = a})---- | The client\'s unique identifier of the job, re-used across retried--- attempts. If this field is set, the service will ensure its uniqueness.--- The request to create a job will fail if the service has knowledge of a--- previously submitted job with the same client\'s ID and job name. The--- caller may use this field to ensure idempotence of job creation across--- retried attempts to create a job. By default, the field is empty and, in--- that case, the service ignores it.-jClientRequestId :: Lens' Job (Maybe Text)-jClientRequestId-  = lens _jClientRequestId-      (\ s a -> s{_jClientRequestId = a})---- | The current state of the job. Jobs are created in the--- \`JOB_STATE_STOPPED\` state unless otherwise specified. A job in the--- \`JOB_STATE_RUNNING\` state may asynchronously enter a terminal state.--- After a job has reached a terminal state, no further state updates may--- be made. This field may be mutated by the Cloud Dataflow service;--- callers cannot mutate it.-jCurrentState :: Lens' Job (Maybe Text)-jCurrentState-  = lens _jCurrentState-      (\ s a -> s{_jCurrentState = a})---- | If another job is an update of this job (and thus, this job is in--- \`JOB_STATE_UPDATED\`), this field contains the ID of that job.-jReplacedByJobId :: Lens' Job (Maybe Text)-jReplacedByJobId-  = lens _jReplacedByJobId-      (\ s a -> s{_jReplacedByJobId = a})---- | A set of files the system should be aware of that are used for temporary--- storage. These temporary files will be removed on job completion. No--- duplicates are allowed. No file patterns are supported. The supported--- files are: Google Cloud Storage:--- storage.googleapis.com\/{bucket}\/{object}--- bucket.storage.googleapis.com\/{object}-jTempFiles :: Lens' Job [Text]-jTempFiles-  = lens _jTempFiles (\ s a -> s{_jTempFiles = a}) .-      _Default-      . _Coerce---- | The top-level steps that constitute the entire job.-jSteps :: Lens' Job [Step]-jSteps-  = lens _jSteps (\ s a -> s{_jSteps = a}) . _Default .-      _Coerce---- | Information about how the Cloud Dataflow service will run the job.-jExecutionInfo :: Lens' Job (Maybe JobExecutionInfo)-jExecutionInfo-  = lens _jExecutionInfo-      (\ s a -> s{_jExecutionInfo = a})---- | The user-specified Cloud Dataflow job name. Only one Job with a given--- name may exist in a project at any given time. If a caller attempts to--- create a Job with the same name as an already-existing Job, the attempt--- returns the existing Job. The name must match the regular expression--- \`[a-z]([-a-z0-9]{0,38}[a-z0-9])?\`-jName :: Lens' Job (Maybe Text)-jName = lens _jName (\ s a -> s{_jName = a})---- | The map of transform name prefixes of the job to be replaced to the--- corresponding name prefixes of the new job.-jTransformNameMApping :: Lens' Job (Maybe JobTransformNameMApping)-jTransformNameMApping-  = lens _jTransformNameMApping-      (\ s a -> s{_jTransformNameMApping = a})---- | The unique ID of this job. This field is set by the Cloud Dataflow--- service when the Job is created, and is immutable for the life of the--- job.-jId :: Lens' Job (Maybe Text)-jId = lens _jId (\ s a -> s{_jId = a})---- | User-defined labels for this job. The labels map can contain no more--- than 64 entries. Entries of the labels map are UTF8 strings that comply--- with the following restrictions: * Keys must conform to regexp:--- \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp:--- [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally--- constrained to be \<= 128 bytes in size.-jLabels :: Lens' Job (Maybe JobLabels)-jLabels = lens _jLabels (\ s a -> s{_jLabels = a})---- | The ID of the Cloud Platform project that the job belongs to.-jProjectId :: Lens' Job (Maybe Text)-jProjectId-  = lens _jProjectId (\ s a -> s{_jProjectId = a})---- | The type of Cloud Dataflow job.-jType :: Lens' Job (Maybe Text)-jType = lens _jType (\ s a -> s{_jType = a})---- | The timestamp associated with the current state.-jCurrentStateTime :: Lens' Job (Maybe Text)-jCurrentStateTime-  = lens _jCurrentStateTime-      (\ s a -> s{_jCurrentStateTime = a})---- | If this job is an update of an existing job, this field is the job ID of--- the job it replaced. When sending a \`CreateJobRequest\`, you can update--- a job by specifying it here. The job named here is stopped, and its--- intermediate state is transferred to this job.-jReplaceJobId :: Lens' Job (Maybe Text)-jReplaceJobId-  = lens _jReplaceJobId-      (\ s a -> s{_jReplaceJobId = a})---- | The timestamp when the job was initially created. Immutable and set by--- the Cloud Dataflow service.-jCreateTime :: Lens' Job (Maybe Text)-jCreateTime-  = lens _jCreateTime (\ s a -> s{_jCreateTime = a})--instance FromJSON Job where-        parseJSON-          = withObject "Job"-              (\ o ->-                 Job' <$>-                   (o .:? "requestedState") <*> (o .:? "location") <*>-                     (o .:? "environment")-                     <*> (o .:? "clientRequestId")-                     <*> (o .:? "currentState")-                     <*> (o .:? "replacedByJobId")-                     <*> (o .:? "tempFiles" .!= mempty)-                     <*> (o .:? "steps" .!= mempty)-                     <*> (o .:? "executionInfo")-                     <*> (o .:? "name")-                     <*> (o .:? "transformNameMapping")-                     <*> (o .:? "id")-                     <*> (o .:? "labels")-                     <*> (o .:? "projectId")-                     <*> (o .:? "type")-                     <*> (o .:? "currentStateTime")-                     <*> (o .:? "replaceJobId")-                     <*> (o .:? "createTime"))--instance ToJSON Job where-        toJSON Job'{..}-          = object-              (catMaybes-                 [("requestedState" .=) <$> _jRequestedState,-                  ("location" .=) <$> _jLocation,-                  ("environment" .=) <$> _jEnvironment,-                  ("clientRequestId" .=) <$> _jClientRequestId,-                  ("currentState" .=) <$> _jCurrentState,-                  ("replacedByJobId" .=) <$> _jReplacedByJobId,-                  ("tempFiles" .=) <$> _jTempFiles,-                  ("steps" .=) <$> _jSteps,-                  ("executionInfo" .=) <$> _jExecutionInfo,-                  ("name" .=) <$> _jName,-                  ("transformNameMapping" .=) <$>-                    _jTransformNameMApping,-                  ("id" .=) <$> _jId, ("labels" .=) <$> _jLabels,-                  ("projectId" .=) <$> _jProjectId,-                  ("type" .=) <$> _jType,-                  ("currentStateTime" .=) <$> _jCurrentStateTime,-                  ("replaceJobId" .=) <$> _jReplaceJobId,-                  ("createTime" .=) <$> _jCreateTime])---- | An instruction that reads records. Takes no inputs, produces one output.------ /See:/ 'readInstruction' smart constructor.-newtype ReadInstruction = ReadInstruction'-    { _riSource :: Maybe Source-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ReadInstruction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riSource'-readInstruction-    :: ReadInstruction-readInstruction =-    ReadInstruction'-    { _riSource = Nothing-    }---- | The source to read from.-riSource :: Lens' ReadInstruction (Maybe Source)-riSource = lens _riSource (\ s a -> s{_riSource = a})--instance FromJSON ReadInstruction where-        parseJSON-          = withObject "ReadInstruction"-              (\ o -> ReadInstruction' <$> (o .:? "source"))--instance ToJSON ReadInstruction where-        toJSON ReadInstruction'{..}-          = object (catMaybes [("source" .=) <$> _riSource])---- | A progress measurement of a WorkItem by a worker.------ /See:/ 'approximateReportedProgress' smart constructor.-data ApproximateReportedProgress = ApproximateReportedProgress'-    { _arpFractionConsumed     :: !(Maybe (Textual Double))-    , _arpConsumedParallelism  :: !(Maybe ReportedParallelism)-    , _arpRemainingParallelism :: !(Maybe ReportedParallelism)-    , _arpPosition             :: !(Maybe Position)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ApproximateReportedProgress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arpFractionConsumed'------ * 'arpConsumedParallelism'------ * 'arpRemainingParallelism'------ * 'arpPosition'-approximateReportedProgress-    :: ApproximateReportedProgress-approximateReportedProgress =-    ApproximateReportedProgress'-    { _arpFractionConsumed = Nothing-    , _arpConsumedParallelism = Nothing-    , _arpRemainingParallelism = Nothing-    , _arpPosition = Nothing-    }---- | Completion as fraction of the input consumed, from 0.0 (beginning,--- nothing consumed), to 1.0 (end of the input, entire input consumed).-arpFractionConsumed :: Lens' ApproximateReportedProgress (Maybe Double)-arpFractionConsumed-  = lens _arpFractionConsumed-      (\ s a -> s{_arpFractionConsumed = a})-      . mapping _Coerce---- | Total amount of parallelism in the portion of input of this task that--- has already been consumed and is no longer active. In the first two--- examples above (see remaining_parallelism), the value should be 29 or 2--- respectively. The sum of remaining_parallelism and consumed_parallelism--- should equal the total amount of parallelism in this work item. If--- specified, must be finite.-arpConsumedParallelism :: Lens' ApproximateReportedProgress (Maybe ReportedParallelism)-arpConsumedParallelism-  = lens _arpConsumedParallelism-      (\ s a -> s{_arpConsumedParallelism = a})---- | Total amount of parallelism in the input of this task that remains,--- (i.e. can be delegated to this task and any new tasks via dynamic--- splitting). Always at least 1 for non-finished work items and 0 for--- finished. \"Amount of parallelism\" refers to how many non-empty parts--- of the input can be read in parallel. This does not necessarily equal--- number of records. An input that can be read in parallel down to the--- individual records is called \"perfectly splittable\". An example of--- non-perfectly parallelizable input is a block-compressed file format--- where a block of records has to be read as a whole, but different blocks--- can be read in parallel. Examples: * If we are processing record #30--- (starting at 1) out of 50 in a perfectly splittable 50-record input,--- this value should be 21 (20 remaining + 1 current). * If we are reading--- through block 3 in a block-compressed file consisting of 5 blocks, this--- value should be 3 (since blocks 4 and 5 can be processed in parallel by--- new tasks via dynamic splitting and the current task remains processing--- block 3). * If we are reading through the last block in a--- block-compressed file, or reading or processing the last record in a--- perfectly splittable input, this value should be 1, because apart from--- the current task, no additional remainder can be split off.-arpRemainingParallelism :: Lens' ApproximateReportedProgress (Maybe ReportedParallelism)-arpRemainingParallelism-  = lens _arpRemainingParallelism-      (\ s a -> s{_arpRemainingParallelism = a})---- | A Position within the work to represent a progress.-arpPosition :: Lens' ApproximateReportedProgress (Maybe Position)-arpPosition-  = lens _arpPosition (\ s a -> s{_arpPosition = a})--instance FromJSON ApproximateReportedProgress where-        parseJSON-          = withObject "ApproximateReportedProgress"-              (\ o ->-                 ApproximateReportedProgress' <$>-                   (o .:? "fractionConsumed") <*>-                     (o .:? "consumedParallelism")-                     <*> (o .:? "remainingParallelism")-                     <*> (o .:? "position"))--instance ToJSON ApproximateReportedProgress where-        toJSON ApproximateReportedProgress'{..}-          = object-              (catMaybes-                 [("fractionConsumed" .=) <$> _arpFractionConsumed,-                  ("consumedParallelism" .=) <$>-                    _arpConsumedParallelism,-                  ("remainingParallelism" .=) <$>-                    _arpRemainingParallelism,-                  ("position" .=) <$> _arpPosition])---- | The sink to write to, plus its parameters.------ /See:/ 'sinkSpec' smart constructor.-newtype SinkSpec = SinkSpec'-    { _sAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SinkSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sAddtional'-sinkSpec-    :: HashMap Text JSONValue -- ^ 'sAddtional'-    -> SinkSpec-sinkSpec pSAddtional_ =-    SinkSpec'-    { _sAddtional = _Coerce # pSAddtional_-    }---- | Properties of the object.-sAddtional :: Lens' SinkSpec (HashMap Text JSONValue)-sAddtional-  = lens _sAddtional (\ s a -> s{_sAddtional = a}) .-      _Coerce--instance FromJSON SinkSpec where-        parseJSON-          = withObject "SinkSpec"-              (\ o -> SinkSpec' <$> (parseJSONObject o))--instance ToJSON SinkSpec where-        toJSON = toJSON . _sAddtional---- | Describes one particular pool of Cloud Dataflow workers to be--- instantiated by the Cloud Dataflow service in order to perform the--- computations required by a job. Note that a workflow job may use--- multiple pools, in order to match the various computational requirements--- of the various stages of the job.------ /See:/ 'workerPool' smart constructor.-data WorkerPool = WorkerPool'-    { _wpAutoscalingSettings         :: !(Maybe AutoscalingSettings)-    , _wpNumThreadsPerWorker         :: !(Maybe (Textual Int32))-    , _wpDiskSizeGb                  :: !(Maybe (Textual Int32))-    , _wpKind                        :: !(Maybe Text)-    , _wpTaskrunnerSettings          :: !(Maybe TaskRunnerSettings)-    , _wpNumWorkers                  :: !(Maybe (Textual Int32))-    , _wpNetwork                     :: !(Maybe Text)-    , _wpZone                        :: !(Maybe Text)-    , _wpIPConfiguration             :: !(Maybe Text)-    , _wpPackages                    :: !(Maybe [Package])-    , _wpOnHostMaintenance           :: !(Maybe Text)-    , _wpDiskSourceImage             :: !(Maybe Text)-    , _wpSubnetwork                  :: !(Maybe Text)-    , _wpMachineType                 :: !(Maybe Text)-    , _wpMetadata                    :: !(Maybe WorkerPoolMetadata)-    , _wpDiskType                    :: !(Maybe Text)-    , _wpTeardownPolicy              :: !(Maybe Text)-    , _wpDefaultPackageSet           :: !(Maybe Text)-    , _wpPoolArgs                    :: !(Maybe WorkerPoolPoolArgs)-    , _wpWorkerHarnessContainerImage :: !(Maybe Text)-    , _wpDataDisks                   :: !(Maybe [Disk])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerPool' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wpAutoscalingSettings'------ * 'wpNumThreadsPerWorker'------ * 'wpDiskSizeGb'------ * 'wpKind'------ * 'wpTaskrunnerSettings'------ * 'wpNumWorkers'------ * 'wpNetwork'------ * 'wpZone'------ * 'wpIPConfiguration'------ * 'wpPackages'------ * 'wpOnHostMaintenance'------ * 'wpDiskSourceImage'------ * 'wpSubnetwork'------ * 'wpMachineType'------ * 'wpMetadata'------ * 'wpDiskType'------ * 'wpTeardownPolicy'------ * 'wpDefaultPackageSet'------ * 'wpPoolArgs'------ * 'wpWorkerHarnessContainerImage'------ * 'wpDataDisks'-workerPool-    :: WorkerPool-workerPool =-    WorkerPool'-    { _wpAutoscalingSettings = Nothing-    , _wpNumThreadsPerWorker = Nothing-    , _wpDiskSizeGb = Nothing-    , _wpKind = Nothing-    , _wpTaskrunnerSettings = Nothing-    , _wpNumWorkers = Nothing-    , _wpNetwork = Nothing-    , _wpZone = Nothing-    , _wpIPConfiguration = Nothing-    , _wpPackages = Nothing-    , _wpOnHostMaintenance = Nothing-    , _wpDiskSourceImage = Nothing-    , _wpSubnetwork = Nothing-    , _wpMachineType = Nothing-    , _wpMetadata = Nothing-    , _wpDiskType = Nothing-    , _wpTeardownPolicy = Nothing-    , _wpDefaultPackageSet = Nothing-    , _wpPoolArgs = Nothing-    , _wpWorkerHarnessContainerImage = Nothing-    , _wpDataDisks = Nothing-    }---- | Settings for autoscaling of this WorkerPool.-wpAutoscalingSettings :: Lens' WorkerPool (Maybe AutoscalingSettings)-wpAutoscalingSettings-  = lens _wpAutoscalingSettings-      (\ s a -> s{_wpAutoscalingSettings = a})---- | The number of threads per worker harness. If empty or unspecified, the--- service will choose a number of threads (according to the number of--- cores on the selected machine type for batch, or 1 by convention for--- streaming).-wpNumThreadsPerWorker :: Lens' WorkerPool (Maybe Int32)-wpNumThreadsPerWorker-  = lens _wpNumThreadsPerWorker-      (\ s a -> s{_wpNumThreadsPerWorker = a})-      . mapping _Coerce---- | Size of root disk for VMs, in GB. If zero or unspecified, the service--- will attempt to choose a reasonable default.-wpDiskSizeGb :: Lens' WorkerPool (Maybe Int32)-wpDiskSizeGb-  = lens _wpDiskSizeGb (\ s a -> s{_wpDiskSizeGb = a})-      . mapping _Coerce---- | The kind of the worker pool; currently only \`harness\` and \`shuffle\`--- are supported.-wpKind :: Lens' WorkerPool (Maybe Text)-wpKind = lens _wpKind (\ s a -> s{_wpKind = a})---- | Settings passed through to Google Compute Engine workers when using the--- standard Dataflow task runner. Users should ignore this field.-wpTaskrunnerSettings :: Lens' WorkerPool (Maybe TaskRunnerSettings)-wpTaskrunnerSettings-  = lens _wpTaskrunnerSettings-      (\ s a -> s{_wpTaskrunnerSettings = a})---- | Number of Google Compute Engine workers in this pool needed to execute--- the job. If zero or unspecified, the service will attempt to choose a--- reasonable default.-wpNumWorkers :: Lens' WorkerPool (Maybe Int32)-wpNumWorkers-  = lens _wpNumWorkers (\ s a -> s{_wpNumWorkers = a})-      . mapping _Coerce---- | Network to which VMs will be assigned. If empty or unspecified, the--- service will use the network \"default\".-wpNetwork :: Lens' WorkerPool (Maybe Text)-wpNetwork-  = lens _wpNetwork (\ s a -> s{_wpNetwork = a})---- | Zone to run the worker pools in. If empty or unspecified, the service--- will attempt to choose a reasonable default.-wpZone :: Lens' WorkerPool (Maybe Text)-wpZone = lens _wpZone (\ s a -> s{_wpZone = a})---- | Configuration for VM IPs.-wpIPConfiguration :: Lens' WorkerPool (Maybe Text)-wpIPConfiguration-  = lens _wpIPConfiguration-      (\ s a -> s{_wpIPConfiguration = a})---- | Packages to be installed on workers.-wpPackages :: Lens' WorkerPool [Package]-wpPackages-  = lens _wpPackages (\ s a -> s{_wpPackages = a}) .-      _Default-      . _Coerce---- | The action to take on host maintenance, as defined by the Google Compute--- Engine API.-wpOnHostMaintenance :: Lens' WorkerPool (Maybe Text)-wpOnHostMaintenance-  = lens _wpOnHostMaintenance-      (\ s a -> s{_wpOnHostMaintenance = a})---- | Fully qualified source image for disks.-wpDiskSourceImage :: Lens' WorkerPool (Maybe Text)-wpDiskSourceImage-  = lens _wpDiskSourceImage-      (\ s a -> s{_wpDiskSourceImage = a})---- | Subnetwork to which VMs will be assigned, if desired. Expected to be of--- the form \"regions\/REGION\/subnetworks\/SUBNETWORK\".-wpSubnetwork :: Lens' WorkerPool (Maybe Text)-wpSubnetwork-  = lens _wpSubnetwork (\ s a -> s{_wpSubnetwork = a})---- | Machine type (e.g. \"n1-standard-1\"). If empty or unspecified, the--- service will attempt to choose a reasonable default.-wpMachineType :: Lens' WorkerPool (Maybe Text)-wpMachineType-  = lens _wpMachineType-      (\ s a -> s{_wpMachineType = a})---- | Metadata to set on the Google Compute Engine VMs.-wpMetadata :: Lens' WorkerPool (Maybe WorkerPoolMetadata)-wpMetadata-  = lens _wpMetadata (\ s a -> s{_wpMetadata = a})---- | Type of root disk for VMs. If empty or unspecified, the service will--- attempt to choose a reasonable default.-wpDiskType :: Lens' WorkerPool (Maybe Text)-wpDiskType-  = lens _wpDiskType (\ s a -> s{_wpDiskType = a})---- | Sets the policy for determining when to turndown worker pool. Allowed--- values are: \`TEARDOWN_ALWAYS\`, \`TEARDOWN_ON_SUCCESS\`, and--- \`TEARDOWN_NEVER\`. \`TEARDOWN_ALWAYS\` means workers are always torn--- down regardless of whether the job succeeds. \`TEARDOWN_ON_SUCCESS\`--- means workers are torn down if the job succeeds. \`TEARDOWN_NEVER\`--- means the workers are never torn down. If the workers are not torn down--- by the service, they will continue to run and use Google Compute Engine--- VM resources in the user\'s project until they are explicitly terminated--- by the user. Because of this, Google recommends using the--- \`TEARDOWN_ALWAYS\` policy except for small, manually supervised test--- jobs. If unknown or unspecified, the service will attempt to choose a--- reasonable default.-wpTeardownPolicy :: Lens' WorkerPool (Maybe Text)-wpTeardownPolicy-  = lens _wpTeardownPolicy-      (\ s a -> s{_wpTeardownPolicy = a})---- | The default package set to install. This allows the service to select a--- default set of packages which are useful to worker harnesses written in--- a particular language.-wpDefaultPackageSet :: Lens' WorkerPool (Maybe Text)-wpDefaultPackageSet-  = lens _wpDefaultPackageSet-      (\ s a -> s{_wpDefaultPackageSet = a})---- | Extra arguments for this worker pool.-wpPoolArgs :: Lens' WorkerPool (Maybe WorkerPoolPoolArgs)-wpPoolArgs-  = lens _wpPoolArgs (\ s a -> s{_wpPoolArgs = a})---- | Required. Docker container image that executes the Cloud Dataflow worker--- harness, residing in Google Container Registry.-wpWorkerHarnessContainerImage :: Lens' WorkerPool (Maybe Text)-wpWorkerHarnessContainerImage-  = lens _wpWorkerHarnessContainerImage-      (\ s a -> s{_wpWorkerHarnessContainerImage = a})---- | Data disks that are used by a VM in this workflow.-wpDataDisks :: Lens' WorkerPool [Disk]-wpDataDisks-  = lens _wpDataDisks (\ s a -> s{_wpDataDisks = a}) .-      _Default-      . _Coerce--instance FromJSON WorkerPool where-        parseJSON-          = withObject "WorkerPool"-              (\ o ->-                 WorkerPool' <$>-                   (o .:? "autoscalingSettings") <*>-                     (o .:? "numThreadsPerWorker")-                     <*> (o .:? "diskSizeGb")-                     <*> (o .:? "kind")-                     <*> (o .:? "taskrunnerSettings")-                     <*> (o .:? "numWorkers")-                     <*> (o .:? "network")-                     <*> (o .:? "zone")-                     <*> (o .:? "ipConfiguration")-                     <*> (o .:? "packages" .!= mempty)-                     <*> (o .:? "onHostMaintenance")-                     <*> (o .:? "diskSourceImage")-                     <*> (o .:? "subnetwork")-                     <*> (o .:? "machineType")-                     <*> (o .:? "metadata")-                     <*> (o .:? "diskType")-                     <*> (o .:? "teardownPolicy")-                     <*> (o .:? "defaultPackageSet")-                     <*> (o .:? "poolArgs")-                     <*> (o .:? "workerHarnessContainerImage")-                     <*> (o .:? "dataDisks" .!= mempty))--instance ToJSON WorkerPool where-        toJSON WorkerPool'{..}-          = object-              (catMaybes-                 [("autoscalingSettings" .=) <$>-                    _wpAutoscalingSettings,-                  ("numThreadsPerWorker" .=) <$>-                    _wpNumThreadsPerWorker,-                  ("diskSizeGb" .=) <$> _wpDiskSizeGb,-                  ("kind" .=) <$> _wpKind,-                  ("taskrunnerSettings" .=) <$> _wpTaskrunnerSettings,-                  ("numWorkers" .=) <$> _wpNumWorkers,-                  ("network" .=) <$> _wpNetwork,-                  ("zone" .=) <$> _wpZone,-                  ("ipConfiguration" .=) <$> _wpIPConfiguration,-                  ("packages" .=) <$> _wpPackages,-                  ("onHostMaintenance" .=) <$> _wpOnHostMaintenance,-                  ("diskSourceImage" .=) <$> _wpDiskSourceImage,-                  ("subnetwork" .=) <$> _wpSubnetwork,-                  ("machineType" .=) <$> _wpMachineType,-                  ("metadata" .=) <$> _wpMetadata,-                  ("diskType" .=) <$> _wpDiskType,-                  ("teardownPolicy" .=) <$> _wpTeardownPolicy,-                  ("defaultPackageSet" .=) <$> _wpDefaultPackageSet,-                  ("poolArgs" .=) <$> _wpPoolArgs,-                  ("workerHarnessContainerImage" .=) <$>-                    _wpWorkerHarnessContainerImage,-                  ("dataDisks" .=) <$> _wpDataDisks])---- | Defines a particular step within a Cloud Dataflow job. A job consists of--- multiple steps, each of which performs some specific operation as part--- of the overall job. Data is typically passed from one step to another as--- part of the job. Here\'s an example of a sequence of steps which--- together implement a Map-Reduce job: * Read a collection of data from--- some source, parsing the collection\'s elements. * Validate the--- elements. * Apply a user-defined function to map each element to some--- value and extract an element-specific key value. * Group elements with--- the same key into a single element with that key, transforming a--- multiply-keyed collection into a uniquely-keyed collection. * Write the--- elements out to some data sink. Note that the Cloud Dataflow service may--- be used to run many different types of jobs, not just Map-Reduce.------ /See:/ 'step' smart constructor.-data Step = Step'-    { _sKind       :: !(Maybe Text)-    , _sName       :: !(Maybe Text)-    , _sProperties :: !(Maybe StepProperties)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Step' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sKind'------ * 'sName'------ * 'sProperties'-step-    :: Step-step =-    Step'-    { _sKind = Nothing-    , _sName = Nothing-    , _sProperties = Nothing-    }---- | The kind of step in the Cloud Dataflow job.-sKind :: Lens' Step (Maybe Text)-sKind = lens _sKind (\ s a -> s{_sKind = a})---- | The name that identifies the step. This must be unique for each step--- with respect to all other steps in the Cloud Dataflow job.-sName :: Lens' Step (Maybe Text)-sName = lens _sName (\ s a -> s{_sName = a})---- | Named properties associated with the step. Each kind of predefined step--- has its own required set of properties.-sProperties :: Lens' Step (Maybe StepProperties)-sProperties-  = lens _sProperties (\ s a -> s{_sProperties = a})--instance FromJSON Step where-        parseJSON-          = withObject "Step"-              (\ o ->-                 Step' <$>-                   (o .:? "kind") <*> (o .:? "name") <*>-                     (o .:? "properties"))--instance ToJSON Step where-        toJSON Step'{..}-          = object-              (catMaybes-                 [("kind" .=) <$> _sKind, ("name" .=) <$> _sName,-                  ("properties" .=) <$> _sProperties])---- | The packages that must be installed in order for a worker to run the--- steps of the Cloud Dataflow job that will be assigned to its worker--- pool. This is the mechanism by which the Cloud Dataflow SDK causes code--- to be loaded onto the workers. For example, the Cloud Dataflow Java SDK--- might use this to install jars containing the user\'s code and all of--- the various dependencies (libraries, data files, etc.) required in order--- for that code to run.------ /See:/ 'package' smart constructor.-data Package = Package'-    { _pLocation :: !(Maybe Text)-    , _pName     :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Package' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pLocation'------ * 'pName'-package-    :: Package-package =-    Package'-    { _pLocation = Nothing-    , _pName = Nothing-    }---- | The resource to read the package from. The supported resource type is:--- Google Cloud Storage: storage.googleapis.com\/{bucket}--- bucket.storage.googleapis.com\/-pLocation :: Lens' Package (Maybe Text)-pLocation-  = lens _pLocation (\ s a -> s{_pLocation = a})---- | The name of the package.-pName :: Lens' Package (Maybe Text)-pName = lens _pName (\ s a -> s{_pName = a})--instance FromJSON Package where-        parseJSON-          = withObject "Package"-              (\ o ->-                 Package' <$> (o .:? "location") <*> (o .:? "name"))--instance ToJSON Package where-        toJSON Package'{..}-          = object-              (catMaybes-                 [("location" .=) <$> _pLocation,-                  ("name" .=) <$> _pName])---- | Parameters contains specific information about the code. This is a--- struct to allow parameters of different types. Examples: 1. For a--- \"HARNESS_STARTED\" message parameters might provide the name of the--- worker and additional data like timing information. 2. For a--- \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing the GCS--- objects being downloaded and fields containing errors. In general--- complex data structures should be avoided. If a worker needs to send a--- specific and complicated data structure then please consider defining a--- new proto and adding it to the data oneof in WorkerMessageResponse.--- Conventions: Parameters should only be used for information that isn\'t--- typically passed as a label. hostname and other worker identifiers--- should almost always be passed as labels since they will be included on--- most messages.------ /See:/ 'workerMessageCodeParameters' smart constructor.-newtype WorkerMessageCodeParameters = WorkerMessageCodeParameters'-    { _wmcpAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerMessageCodeParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wmcpAddtional'-workerMessageCodeParameters-    :: HashMap Text JSONValue -- ^ 'wmcpAddtional'-    -> WorkerMessageCodeParameters-workerMessageCodeParameters pWmcpAddtional_ =-    WorkerMessageCodeParameters'-    { _wmcpAddtional = _Coerce # pWmcpAddtional_-    }---- | Properties of the object.-wmcpAddtional :: Lens' WorkerMessageCodeParameters (HashMap Text JSONValue)-wmcpAddtional-  = lens _wmcpAddtional-      (\ s a -> s{_wmcpAddtional = a})-      . _Coerce--instance FromJSON WorkerMessageCodeParameters where-        parseJSON-          = withObject "WorkerMessageCodeParameters"-              (\ o ->-                 WorkerMessageCodeParameters' <$> (parseJSONObject o))--instance ToJSON WorkerMessageCodeParameters where-        toJSON = toJSON . _wmcpAddtional---- | When a task splits using WorkItemStatus.dynamic_source_split, this--- message describes the two parts of the split relative to the description--- of the current task\'s input.------ /See:/ 'dynamicSourceSplit' smart constructor.-data DynamicSourceSplit = DynamicSourceSplit'-    { _dssResidual :: !(Maybe DerivedSource)-    , _dssPrimary  :: !(Maybe DerivedSource)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DynamicSourceSplit' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dssResidual'------ * 'dssPrimary'-dynamicSourceSplit-    :: DynamicSourceSplit-dynamicSourceSplit =-    DynamicSourceSplit'-    { _dssResidual = Nothing-    , _dssPrimary = Nothing-    }---- | Residual part (returned to the pool of work). Specified relative to the--- previously-current source.-dssResidual :: Lens' DynamicSourceSplit (Maybe DerivedSource)-dssResidual-  = lens _dssResidual (\ s a -> s{_dssResidual = a})---- | Primary part (continued to be processed by worker). Specified relative--- to the previously-current source. Becomes current.-dssPrimary :: Lens' DynamicSourceSplit (Maybe DerivedSource)-dssPrimary-  = lens _dssPrimary (\ s a -> s{_dssPrimary = a})--instance FromJSON DynamicSourceSplit where-        parseJSON-          = withObject "DynamicSourceSplit"-              (\ o ->-                 DynamicSourceSplit' <$>-                   (o .:? "residual") <*> (o .:? "primary"))--instance ToJSON DynamicSourceSplit where-        toJSON DynamicSourceSplit'{..}-          = object-              (catMaybes-                 [("residual" .=) <$> _dssResidual,-                  ("primary" .=) <$> _dssPrimary])---- | Response from a request to report the status of WorkItems.------ /See:/ 'reportWorkItemStatusResponse' smart constructor.-newtype ReportWorkItemStatusResponse = ReportWorkItemStatusResponse'-    { _rwisrWorkItemServiceStates :: Maybe [WorkItemServiceState]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ReportWorkItemStatusResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rwisrWorkItemServiceStates'-reportWorkItemStatusResponse-    :: ReportWorkItemStatusResponse-reportWorkItemStatusResponse =-    ReportWorkItemStatusResponse'-    { _rwisrWorkItemServiceStates = Nothing-    }---- | A set of messages indicating the service-side state for each WorkItem--- whose status was reported, in the same order as the WorkItemStatus--- messages in the ReportWorkItemStatusRequest which resulting in this--- response.-rwisrWorkItemServiceStates :: Lens' ReportWorkItemStatusResponse [WorkItemServiceState]-rwisrWorkItemServiceStates-  = lens _rwisrWorkItemServiceStates-      (\ s a -> s{_rwisrWorkItemServiceStates = a})-      . _Default-      . _Coerce--instance FromJSON ReportWorkItemStatusResponse where-        parseJSON-          = withObject "ReportWorkItemStatusResponse"-              (\ o ->-                 ReportWorkItemStatusResponse' <$>-                   (o .:? "workItemServiceStates" .!= mempty))--instance ToJSON ReportWorkItemStatusResponse where-        toJSON ReportWorkItemStatusResponse'{..}-          = object-              (catMaybes-                 [("workItemServiceStates" .=) <$>-                    _rwisrWorkItemServiceStates])---- | DEPRECATED in favor of DynamicSourceSplit.------ /See:/ 'sourceFork' smart constructor.-data SourceFork = SourceFork'-    { _sfResidual       :: !(Maybe SourceSplitShard)-    , _sfPrimarySource  :: !(Maybe DerivedSource)-    , _sfPrimary        :: !(Maybe SourceSplitShard)-    , _sfResidualSource :: !(Maybe DerivedSource)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceFork' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfResidual'------ * 'sfPrimarySource'------ * 'sfPrimary'------ * 'sfResidualSource'-sourceFork-    :: SourceFork-sourceFork =-    SourceFork'-    { _sfResidual = Nothing-    , _sfPrimarySource = Nothing-    , _sfPrimary = Nothing-    , _sfResidualSource = Nothing-    }---- | DEPRECATED-sfResidual :: Lens' SourceFork (Maybe SourceSplitShard)-sfResidual-  = lens _sfResidual (\ s a -> s{_sfResidual = a})---- | DEPRECATED-sfPrimarySource :: Lens' SourceFork (Maybe DerivedSource)-sfPrimarySource-  = lens _sfPrimarySource-      (\ s a -> s{_sfPrimarySource = a})---- | DEPRECATED-sfPrimary :: Lens' SourceFork (Maybe SourceSplitShard)-sfPrimary-  = lens _sfPrimary (\ s a -> s{_sfPrimary = a})---- | DEPRECATED-sfResidualSource :: Lens' SourceFork (Maybe DerivedSource)-sfResidualSource-  = lens _sfResidualSource-      (\ s a -> s{_sfResidualSource = a})--instance FromJSON SourceFork where-        parseJSON-          = withObject "SourceFork"-              (\ o ->-                 SourceFork' <$>-                   (o .:? "residual") <*> (o .:? "primarySource") <*>-                     (o .:? "primary")-                     <*> (o .:? "residualSource"))--instance ToJSON SourceFork where-        toJSON SourceFork'{..}-          = object-              (catMaybes-                 [("residual" .=) <$> _sfResidual,-                  ("primarySource" .=) <$> _sfPrimarySource,-                  ("primary" .=) <$> _sfPrimary,-                  ("residualSource" .=) <$> _sfResidualSource])---- | Service-side response to WorkerMessage reporting resource utilization.------ /See:/ 'resourceUtilizationReportResponse' smart constructor.-data ResourceUtilizationReportResponse =-    ResourceUtilizationReportResponse'-    deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceUtilizationReportResponse' with the minimum fields required to make a request.----resourceUtilizationReportResponse-    :: ResourceUtilizationReportResponse-resourceUtilizationReportResponse = ResourceUtilizationReportResponse'--instance FromJSON ResourceUtilizationReportResponse-         where-        parseJSON-          = withObject "ResourceUtilizationReportResponse"-              (\ o -> pure ResourceUtilizationReportResponse')--instance ToJSON ResourceUtilizationReportResponse-         where-        toJSON = const emptyObject---- | Describes full or partial data disk assignment information of the--- computation ranges.------ /See:/ 'streamingComputationRanges' smart constructor.-data StreamingComputationRanges = StreamingComputationRanges'-    { _scrRangeAssignments :: !(Maybe [KeyRangeDataDiskAssignment])-    , _scrComputationId    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingComputationRanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scrRangeAssignments'------ * 'scrComputationId'-streamingComputationRanges-    :: StreamingComputationRanges-streamingComputationRanges =-    StreamingComputationRanges'-    { _scrRangeAssignments = Nothing-    , _scrComputationId = Nothing-    }---- | Data disk assignments for ranges from this computation.-scrRangeAssignments :: Lens' StreamingComputationRanges [KeyRangeDataDiskAssignment]-scrRangeAssignments-  = lens _scrRangeAssignments-      (\ s a -> s{_scrRangeAssignments = a})-      . _Default-      . _Coerce---- | The ID of the computation.-scrComputationId :: Lens' StreamingComputationRanges (Maybe Text)-scrComputationId-  = lens _scrComputationId-      (\ s a -> s{_scrComputationId = a})--instance FromJSON StreamingComputationRanges where-        parseJSON-          = withObject "StreamingComputationRanges"-              (\ o ->-                 StreamingComputationRanges' <$>-                   (o .:? "rangeAssignments" .!= mempty) <*>-                     (o .:? "computationId"))--instance ToJSON StreamingComputationRanges where-        toJSON StreamingComputationRanges'{..}-          = object-              (catMaybes-                 [("rangeAssignments" .=) <$> _scrRangeAssignments,-                  ("computationId" .=) <$> _scrComputationId])---- | Response to a request to list Cloud Dataflow jobs. This may be a partial--- response, depending on the page size in the ListJobsRequest.------ /See:/ 'listJobsResponse' smart constructor.-data ListJobsResponse = ListJobsResponse'-    { _ljrNextPageToken  :: !(Maybe Text)-    , _ljrFailedLocation :: !(Maybe [FailedLocation])-    , _ljrJobs           :: !(Maybe [Job])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListJobsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ljrNextPageToken'------ * 'ljrFailedLocation'------ * 'ljrJobs'-listJobsResponse-    :: ListJobsResponse-listJobsResponse =-    ListJobsResponse'-    { _ljrNextPageToken = Nothing-    , _ljrFailedLocation = Nothing-    , _ljrJobs = Nothing-    }---- | Set if there may be more results than fit in this response.-ljrNextPageToken :: Lens' ListJobsResponse (Maybe Text)-ljrNextPageToken-  = lens _ljrNextPageToken-      (\ s a -> s{_ljrNextPageToken = a})---- | Zero or more messages describing locations that failed to respond.-ljrFailedLocation :: Lens' ListJobsResponse [FailedLocation]-ljrFailedLocation-  = lens _ljrFailedLocation-      (\ s a -> s{_ljrFailedLocation = a})-      . _Default-      . _Coerce---- | A subset of the requested job information.-ljrJobs :: Lens' ListJobsResponse [Job]-ljrJobs-  = lens _ljrJobs (\ s a -> s{_ljrJobs = a}) . _Default-      . _Coerce--instance FromJSON ListJobsResponse where-        parseJSON-          = withObject "ListJobsResponse"-              (\ o ->-                 ListJobsResponse' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "failedLocation" .!= mempty)-                     <*> (o .:? "jobs" .!= mempty))--instance ToJSON ListJobsResponse where-        toJSON ListJobsResponse'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _ljrNextPageToken,-                  ("failedLocation" .=) <$> _ljrFailedLocation,-                  ("jobs" .=) <$> _ljrJobs])---- | A source that records can be read and decoded from.------ /See:/ 'source' smart constructor.-data Source = Source'-    { _souDoesNotNeedSplitting :: !(Maybe Bool)-    , _souBaseSpecs            :: !(Maybe [SourceBaseSpecsItem])-    , _souCodec                :: !(Maybe SourceCodec)-    , _souSpec                 :: !(Maybe SourceSpec)-    , _souMetadata             :: !(Maybe SourceMetadata)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Source' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'souDoesNotNeedSplitting'------ * 'souBaseSpecs'------ * 'souCodec'------ * 'souSpec'------ * 'souMetadata'-source-    :: Source-source =-    Source'-    { _souDoesNotNeedSplitting = Nothing-    , _souBaseSpecs = Nothing-    , _souCodec = Nothing-    , _souSpec = Nothing-    , _souMetadata = Nothing-    }---- | Setting this value to true hints to the framework that the source--- doesn\'t need splitting, and using SourceSplitRequest on it would yield--- SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set this to--- true when splitting a single file into a set of byte ranges of--- appropriate size, and set this to false when splitting a filepattern--- into individual files. However, for efficiency, a file splitter may--- decide to produce file subranges directly from the filepattern to avoid--- a splitting round-trip. See SourceSplitRequest for an overview of the--- splitting process. This field is meaningful only in the Source objects--- populated by the user (e.g. when filling in a DerivedSource). Source--- objects supplied by the framework to the user don\'t have this field--- populated.-souDoesNotNeedSplitting :: Lens' Source (Maybe Bool)-souDoesNotNeedSplitting-  = lens _souDoesNotNeedSplitting-      (\ s a -> s{_souDoesNotNeedSplitting = a})---- | While splitting, sources may specify the produced bundles as differences--- against another source, in order to save backend-side memory and allow--- bigger jobs. For details, see SourceSplitRequest. To support this use--- case, the full set of parameters of the source is logically obtained by--- taking the latest explicitly specified value of each parameter in the--- order: base_specs (later items win), spec (overrides anything in--- base_specs).-souBaseSpecs :: Lens' Source [SourceBaseSpecsItem]-souBaseSpecs-  = lens _souBaseSpecs (\ s a -> s{_souBaseSpecs = a})-      . _Default-      . _Coerce---- | The codec to use to decode data read from the source.-souCodec :: Lens' Source (Maybe SourceCodec)-souCodec = lens _souCodec (\ s a -> s{_souCodec = a})---- | The source to read from, plus its parameters.-souSpec :: Lens' Source (Maybe SourceSpec)-souSpec = lens _souSpec (\ s a -> s{_souSpec = a})---- | Optionally, metadata for this source can be supplied right away,--- avoiding a SourceGetMetadataOperation roundtrip (see--- SourceOperationRequest). This field is meaningful only in the Source--- objects populated by the user (e.g. when filling in a DerivedSource).--- Source objects supplied by the framework to the user don\'t have this--- field populated.-souMetadata :: Lens' Source (Maybe SourceMetadata)-souMetadata-  = lens _souMetadata (\ s a -> s{_souMetadata = a})--instance FromJSON Source where-        parseJSON-          = withObject "Source"-              (\ o ->-                 Source' <$>-                   (o .:? "doesNotNeedSplitting") <*>-                     (o .:? "baseSpecs" .!= mempty)-                     <*> (o .:? "codec")-                     <*> (o .:? "spec")-                     <*> (o .:? "metadata"))--instance ToJSON Source where-        toJSON Source'{..}-          = object-              (catMaybes-                 [("doesNotNeedSplitting" .=) <$>-                    _souDoesNotNeedSplitting,-                  ("baseSpecs" .=) <$> _souBaseSpecs,-                  ("codec" .=) <$> _souCodec, ("spec" .=) <$> _souSpec,-                  ("metadata" .=) <$> _souMetadata])---- | Obsolete in favor of ApproximateReportedProgress and--- ApproximateSplitRequest.------ /See:/ 'approximateProgress' smart constructor.-data ApproximateProgress = ApproximateProgress'-    { _apRemainingTime   :: !(Maybe Text)-    , _apPercentComplete :: !(Maybe (Textual Double))-    , _apPosition        :: !(Maybe Position)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ApproximateProgress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'apRemainingTime'------ * 'apPercentComplete'------ * 'apPosition'-approximateProgress-    :: ApproximateProgress-approximateProgress =-    ApproximateProgress'-    { _apRemainingTime = Nothing-    , _apPercentComplete = Nothing-    , _apPosition = Nothing-    }---- | Obsolete.-apRemainingTime :: Lens' ApproximateProgress (Maybe Text)-apRemainingTime-  = lens _apRemainingTime-      (\ s a -> s{_apRemainingTime = a})---- | Obsolete.-apPercentComplete :: Lens' ApproximateProgress (Maybe Double)-apPercentComplete-  = lens _apPercentComplete-      (\ s a -> s{_apPercentComplete = a})-      . mapping _Coerce---- | Obsolete.-apPosition :: Lens' ApproximateProgress (Maybe Position)-apPosition-  = lens _apPosition (\ s a -> s{_apPosition = a})--instance FromJSON ApproximateProgress where-        parseJSON-          = withObject "ApproximateProgress"-              (\ o ->-                 ApproximateProgress' <$>-                   (o .:? "remainingTime") <*> (o .:? "percentComplete")-                     <*> (o .:? "position"))--instance ToJSON ApproximateProgress where-        toJSON ApproximateProgress'{..}-          = object-              (catMaybes-                 [("remainingTime" .=) <$> _apRemainingTime,-                  ("percentComplete" .=) <$> _apPercentComplete,-                  ("position" .=) <$> _apPosition])---- | WorkerMessage provides information to the backend about a worker.------ /See:/ 'workerMessage' smart constructor.-data WorkerMessage = WorkerMessage'-    { _wmWorkerHealthReport :: !(Maybe WorkerHealthReport)-    , _wmTime               :: !(Maybe Text)-    , _wmWorkerMessageCode  :: !(Maybe WorkerMessageCode)-    , _wmWorkerMetrics      :: !(Maybe ResourceUtilizationReport)-    , _wmLabels             :: !(Maybe WorkerMessageLabels)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'WorkerMessage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wmWorkerHealthReport'------ * 'wmTime'------ * 'wmWorkerMessageCode'------ * 'wmWorkerMetrics'------ * 'wmLabels'-workerMessage-    :: WorkerMessage-workerMessage =-    WorkerMessage'-    { _wmWorkerHealthReport = Nothing-    , _wmTime = Nothing-    , _wmWorkerMessageCode = Nothing-    , _wmWorkerMetrics = Nothing-    , _wmLabels = Nothing-    }---- | The health of a worker.-wmWorkerHealthReport :: Lens' WorkerMessage (Maybe WorkerHealthReport)-wmWorkerHealthReport-  = lens _wmWorkerHealthReport-      (\ s a -> s{_wmWorkerHealthReport = a})---- | The timestamp of the worker_message.-wmTime :: Lens' WorkerMessage (Maybe Text)-wmTime = lens _wmTime (\ s a -> s{_wmTime = a})---- | A worker message code.-wmWorkerMessageCode :: Lens' WorkerMessage (Maybe WorkerMessageCode)-wmWorkerMessageCode-  = lens _wmWorkerMessageCode-      (\ s a -> s{_wmWorkerMessageCode = a})---- | Resource metrics reported by workers.-wmWorkerMetrics :: Lens' WorkerMessage (Maybe ResourceUtilizationReport)-wmWorkerMetrics-  = lens _wmWorkerMetrics-      (\ s a -> s{_wmWorkerMetrics = a})---- | Labels are used to group WorkerMessages. For example, a worker_message--- about a particular container might have the labels: { \"JOB_ID\":--- \"2015-04-22\", \"WORKER_ID\": \"wordcount-vm-2015…\"--- \"CONTAINER_TYPE\": \"worker\", \"CONTAINER_ID\": \"ac1234def\"} Label--- tags typically correspond to Label enum values. However, for ease of--- development other strings can be used as tags. LABEL_UNSPECIFIED should--- not be used here.-wmLabels :: Lens' WorkerMessage (Maybe WorkerMessageLabels)-wmLabels = lens _wmLabels (\ s a -> s{_wmLabels = a})--instance FromJSON WorkerMessage where-        parseJSON-          = withObject "WorkerMessage"-              (\ o ->-                 WorkerMessage' <$>-                   (o .:? "workerHealthReport") <*> (o .:? "time") <*>-                     (o .:? "workerMessageCode")-                     <*> (o .:? "workerMetrics")-                     <*> (o .:? "labels"))--instance ToJSON WorkerMessage where-        toJSON WorkerMessage'{..}-          = object-              (catMaybes-                 [("workerHealthReport" .=) <$> _wmWorkerHealthReport,-                  ("time" .=) <$> _wmTime,-                  ("workerMessageCode" .=) <$> _wmWorkerMessageCode,-                  ("workerMetrics" .=) <$> _wmWorkerMetrics,-                  ("labels" .=) <$> _wmLabels])---- | Location information for a specific key-range of a sharded computation.--- Currently we only support UTF-8 character splits to simplify encoding--- into JSON.------ /See:/ 'keyRangeLocation' smart constructor.-data KeyRangeLocation = KeyRangeLocation'-    { _krlPersistentDirectory :: !(Maybe Text)-    , _krlDataDisk            :: !(Maybe Text)-    , _krlStart               :: !(Maybe Text)-    , _krlDeliveryEndpoint    :: !(Maybe Text)-    , _krlEnd                 :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'KeyRangeLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'krlPersistentDirectory'------ * 'krlDataDisk'------ * 'krlStart'------ * 'krlDeliveryEndpoint'------ * 'krlEnd'-keyRangeLocation-    :: KeyRangeLocation-keyRangeLocation =-    KeyRangeLocation'-    { _krlPersistentDirectory = Nothing-    , _krlDataDisk = Nothing-    , _krlStart = Nothing-    , _krlDeliveryEndpoint = Nothing-    , _krlEnd = Nothing-    }---- | The location of the persistent state for this range, as a persistent--- directory in the worker local filesystem.-krlPersistentDirectory :: Lens' KeyRangeLocation (Maybe Text)-krlPersistentDirectory-  = lens _krlPersistentDirectory-      (\ s a -> s{_krlPersistentDirectory = a})---- | The name of the data disk where data for this range is stored. This name--- is local to the Google Cloud Platform project and uniquely identifies--- the disk within that project, for example--- \"myproject-1014-104817-4c2-harness-0-disk-1\".-krlDataDisk :: Lens' KeyRangeLocation (Maybe Text)-krlDataDisk-  = lens _krlDataDisk (\ s a -> s{_krlDataDisk = a})---- | The start (inclusive) of the key range.-krlStart :: Lens' KeyRangeLocation (Maybe Text)-krlStart = lens _krlStart (\ s a -> s{_krlStart = a})---- | The physical location of this range assignment to be used for streaming--- computation cross-worker message delivery.-krlDeliveryEndpoint :: Lens' KeyRangeLocation (Maybe Text)-krlDeliveryEndpoint-  = lens _krlDeliveryEndpoint-      (\ s a -> s{_krlDeliveryEndpoint = a})---- | The end (exclusive) of the key range.-krlEnd :: Lens' KeyRangeLocation (Maybe Text)-krlEnd = lens _krlEnd (\ s a -> s{_krlEnd = a})--instance FromJSON KeyRangeLocation where-        parseJSON-          = withObject "KeyRangeLocation"-              (\ o ->-                 KeyRangeLocation' <$>-                   (o .:? "persistentDirectory") <*> (o .:? "dataDisk")-                     <*> (o .:? "start")-                     <*> (o .:? "deliveryEndpoint")-                     <*> (o .:? "end"))--instance ToJSON KeyRangeLocation where-        toJSON KeyRangeLocation'{..}-          = object-              (catMaybes-                 [("persistentDirectory" .=) <$>-                    _krlPersistentDirectory,-                  ("dataDisk" .=) <$> _krlDataDisk,-                  ("start" .=) <$> _krlStart,-                  ("deliveryEndpoint" .=) <$> _krlDeliveryEndpoint,-                  ("end" .=) <$> _krlEnd])---- | Information about an output of a multi-output DoFn.------ /See:/ 'multiOutputInfo' smart constructor.-newtype MultiOutputInfo = MultiOutputInfo'-    { _moiTag :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MultiOutputInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'moiTag'-multiOutputInfo-    :: MultiOutputInfo-multiOutputInfo =-    MultiOutputInfo'-    { _moiTag = Nothing-    }---- | The id of the tag the user code will emit to this output by; this should--- correspond to the tag of some SideInputInfo.-moiTag :: Lens' MultiOutputInfo (Maybe Text)-moiTag = lens _moiTag (\ s a -> s{_moiTag = a})--instance FromJSON MultiOutputInfo where-        parseJSON-          = withObject "MultiOutputInfo"-              (\ o -> MultiOutputInfo' <$> (o .:? "tag"))--instance ToJSON MultiOutputInfo where-        toJSON MultiOutputInfo'{..}-          = object (catMaybes [("tag" .=) <$> _moiTag])---- | An instruction that does a partial group-by-key. One input and one--- output.------ /See:/ 'partialGroupByKeyInstruction' smart constructor.-data PartialGroupByKeyInstruction = PartialGroupByKeyInstruction'-    { _pgbkiValueCombiningFn                    :: !(Maybe PartialGroupByKeyInstructionValueCombiningFn)-    , _pgbkiSideInputs                          :: !(Maybe [SideInputInfo])-    , _pgbkiInput                               :: !(Maybe InstructionInput)-    , _pgbkiOriginalCombineValuesStepName       :: !(Maybe Text)-    , _pgbkiInputElementCodec                   :: !(Maybe PartialGroupByKeyInstructionInputElementCodec)-    , _pgbkiOriginalCombineValuesInputStoreName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PartialGroupByKeyInstruction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgbkiValueCombiningFn'------ * 'pgbkiSideInputs'------ * 'pgbkiInput'------ * 'pgbkiOriginalCombineValuesStepName'------ * 'pgbkiInputElementCodec'------ * 'pgbkiOriginalCombineValuesInputStoreName'-partialGroupByKeyInstruction-    :: PartialGroupByKeyInstruction-partialGroupByKeyInstruction =-    PartialGroupByKeyInstruction'-    { _pgbkiValueCombiningFn = Nothing-    , _pgbkiSideInputs = Nothing-    , _pgbkiInput = Nothing-    , _pgbkiOriginalCombineValuesStepName = Nothing-    , _pgbkiInputElementCodec = Nothing-    , _pgbkiOriginalCombineValuesInputStoreName = Nothing-    }---- | The value combining function to invoke.-pgbkiValueCombiningFn :: Lens' PartialGroupByKeyInstruction (Maybe PartialGroupByKeyInstructionValueCombiningFn)-pgbkiValueCombiningFn-  = lens _pgbkiValueCombiningFn-      (\ s a -> s{_pgbkiValueCombiningFn = a})---- | Zero or more side inputs.-pgbkiSideInputs :: Lens' PartialGroupByKeyInstruction [SideInputInfo]-pgbkiSideInputs-  = lens _pgbkiSideInputs-      (\ s a -> s{_pgbkiSideInputs = a})-      . _Default-      . _Coerce---- | Describes the input to the partial group-by-key instruction.-pgbkiInput :: Lens' PartialGroupByKeyInstruction (Maybe InstructionInput)-pgbkiInput-  = lens _pgbkiInput (\ s a -> s{_pgbkiInput = a})---- | If this instruction includes a combining function, this is the name of--- the CombineValues instruction lifted into this instruction.-pgbkiOriginalCombineValuesStepName :: Lens' PartialGroupByKeyInstruction (Maybe Text)-pgbkiOriginalCombineValuesStepName-  = lens _pgbkiOriginalCombineValuesStepName-      (\ s a -> s{_pgbkiOriginalCombineValuesStepName = a})---- | The codec to use for interpreting an element in the input PTable.-pgbkiInputElementCodec :: Lens' PartialGroupByKeyInstruction (Maybe PartialGroupByKeyInstructionInputElementCodec)-pgbkiInputElementCodec-  = lens _pgbkiInputElementCodec-      (\ s a -> s{_pgbkiInputElementCodec = a})---- | If this instruction includes a combining function this is the name of--- the intermediate store between the GBK and the CombineValues.-pgbkiOriginalCombineValuesInputStoreName :: Lens' PartialGroupByKeyInstruction (Maybe Text)-pgbkiOriginalCombineValuesInputStoreName-  = lens _pgbkiOriginalCombineValuesInputStoreName-      (\ s a ->-         s{_pgbkiOriginalCombineValuesInputStoreName = a})--instance FromJSON PartialGroupByKeyInstruction where-        parseJSON-          = withObject "PartialGroupByKeyInstruction"-              (\ o ->-                 PartialGroupByKeyInstruction' <$>-                   (o .:? "valueCombiningFn") <*>-                     (o .:? "sideInputs" .!= mempty)-                     <*> (o .:? "input")-                     <*> (o .:? "originalCombineValuesStepName")-                     <*> (o .:? "inputElementCodec")-                     <*> (o .:? "originalCombineValuesInputStoreName"))--instance ToJSON PartialGroupByKeyInstruction where-        toJSON PartialGroupByKeyInstruction'{..}-          = object-              (catMaybes-                 [("valueCombiningFn" .=) <$> _pgbkiValueCombiningFn,-                  ("sideInputs" .=) <$> _pgbkiSideInputs,-                  ("input" .=) <$> _pgbkiInput,-                  ("originalCombineValuesStepName" .=) <$>-                    _pgbkiOriginalCombineValuesStepName,-                  ("inputElementCodec" .=) <$> _pgbkiInputElementCodec,-                  ("originalCombineValuesInputStoreName" .=) <$>-                    _pgbkiOriginalCombineValuesInputStoreName])---- | An instruction that does a ParDo operation. Takes one main input and--- zero or more side inputs, and produces zero or more outputs. Runs user--- code.------ /See:/ 'parDoInstruction' smart constructor.-data ParDoInstruction = ParDoInstruction'-    { _pdiNumOutputs       :: !(Maybe (Textual Int32))-    , _pdiMultiOutputInfos :: !(Maybe [MultiOutputInfo])-    , _pdiSideInputs       :: !(Maybe [SideInputInfo])-    , _pdiInput            :: !(Maybe InstructionInput)-    , _pdiUserFn           :: !(Maybe ParDoInstructionUserFn)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParDoInstruction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdiNumOutputs'------ * 'pdiMultiOutputInfos'------ * 'pdiSideInputs'------ * 'pdiInput'------ * 'pdiUserFn'-parDoInstruction-    :: ParDoInstruction-parDoInstruction =-    ParDoInstruction'-    { _pdiNumOutputs = Nothing-    , _pdiMultiOutputInfos = Nothing-    , _pdiSideInputs = Nothing-    , _pdiInput = Nothing-    , _pdiUserFn = Nothing-    }---- | The number of outputs.-pdiNumOutputs :: Lens' ParDoInstruction (Maybe Int32)-pdiNumOutputs-  = lens _pdiNumOutputs-      (\ s a -> s{_pdiNumOutputs = a})-      . mapping _Coerce---- | Information about each of the outputs, if user_fn is a MultiDoFn.-pdiMultiOutputInfos :: Lens' ParDoInstruction [MultiOutputInfo]-pdiMultiOutputInfos-  = lens _pdiMultiOutputInfos-      (\ s a -> s{_pdiMultiOutputInfos = a})-      . _Default-      . _Coerce---- | Zero or more side inputs.-pdiSideInputs :: Lens' ParDoInstruction [SideInputInfo]-pdiSideInputs-  = lens _pdiSideInputs-      (\ s a -> s{_pdiSideInputs = a})-      . _Default-      . _Coerce---- | The input.-pdiInput :: Lens' ParDoInstruction (Maybe InstructionInput)-pdiInput = lens _pdiInput (\ s a -> s{_pdiInput = a})---- | The user function to invoke.-pdiUserFn :: Lens' ParDoInstruction (Maybe ParDoInstructionUserFn)-pdiUserFn-  = lens _pdiUserFn (\ s a -> s{_pdiUserFn = a})--instance FromJSON ParDoInstruction where-        parseJSON-          = withObject "ParDoInstruction"-              (\ o ->-                 ParDoInstruction' <$>-                   (o .:? "numOutputs") <*>-                     (o .:? "multiOutputInfos" .!= mempty)-                     <*> (o .:? "sideInputs" .!= mempty)-                     <*> (o .:? "input")-                     <*> (o .:? "userFn"))--instance ToJSON ParDoInstruction where-        toJSON ParDoInstruction'{..}-          = object-              (catMaybes-                 [("numOutputs" .=) <$> _pdiNumOutputs,-                  ("multiOutputInfos" .=) <$> _pdiMultiOutputInfos,-                  ("sideInputs" .=) <$> _pdiSideInputs,-                  ("input" .=) <$> _pdiInput,-                  ("userFn" .=) <$> _pdiUserFn])---- | Identifies the location of a custom souce.------ /See:/ 'customSourceLocation' smart constructor.-newtype CustomSourceLocation = CustomSourceLocation'-    { _cslStateful :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CustomSourceLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cslStateful'-customSourceLocation-    :: CustomSourceLocation-customSourceLocation =-    CustomSourceLocation'-    { _cslStateful = Nothing-    }---- | Whether this source is stateful.-cslStateful :: Lens' CustomSourceLocation (Maybe Bool)-cslStateful-  = lens _cslStateful (\ s a -> s{_cslStateful = a})--instance FromJSON CustomSourceLocation where-        parseJSON-          = withObject "CustomSourceLocation"-              (\ o -> CustomSourceLocation' <$> (o .:? "stateful"))--instance ToJSON CustomSourceLocation where-        toJSON CustomSourceLocation'{..}-          = object-              (catMaybes [("stateful" .=) <$> _cslStateful])---- | A metric value representing a distribution.------ /See:/ 'distributionUpdate' smart constructor.-data DistributionUpdate = DistributionUpdate'-    { _duMax          :: !(Maybe SplitInt64)-    , _duCount        :: !(Maybe SplitInt64)-    , _duMin          :: !(Maybe SplitInt64)-    , _duSumOfSquares :: !(Maybe (Textual Double))-    , _duSum          :: !(Maybe SplitInt64)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DistributionUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'duMax'------ * 'duCount'------ * 'duMin'------ * 'duSumOfSquares'------ * 'duSum'-distributionUpdate-    :: DistributionUpdate-distributionUpdate =-    DistributionUpdate'-    { _duMax = Nothing-    , _duCount = Nothing-    , _duMin = Nothing-    , _duSumOfSquares = Nothing-    , _duSum = Nothing-    }---- | The maximum value present in the distribution.-duMax :: Lens' DistributionUpdate (Maybe SplitInt64)-duMax = lens _duMax (\ s a -> s{_duMax = a})---- | The count of the number of elements present in the distribution.-duCount :: Lens' DistributionUpdate (Maybe SplitInt64)-duCount = lens _duCount (\ s a -> s{_duCount = a})---- | The minimum value present in the distribution.-duMin :: Lens' DistributionUpdate (Maybe SplitInt64)-duMin = lens _duMin (\ s a -> s{_duMin = a})---- | Use a double since the sum of squares is likely to overflow int64.-duSumOfSquares :: Lens' DistributionUpdate (Maybe Double)-duSumOfSquares-  = lens _duSumOfSquares-      (\ s a -> s{_duSumOfSquares = a})-      . mapping _Coerce---- | Use an int64 since we\'d prefer the added precision. If overflow is a--- common problem we can detect it and use an additional int64 or a double.-duSum :: Lens' DistributionUpdate (Maybe SplitInt64)-duSum = lens _duSum (\ s a -> s{_duSum = a})--instance FromJSON DistributionUpdate where-        parseJSON-          = withObject "DistributionUpdate"-              (\ o ->-                 DistributionUpdate' <$>-                   (o .:? "max") <*> (o .:? "count") <*> (o .:? "min")-                     <*> (o .:? "sumOfSquares")-                     <*> (o .:? "sum"))--instance ToJSON DistributionUpdate where-        toJSON DistributionUpdate'{..}-          = object-              (catMaybes-                 [("max" .=) <$> _duMax, ("count" .=) <$> _duCount,-                  ("min" .=) <$> _duMin,-                  ("sumOfSquares" .=) <$> _duSumOfSquares,-                  ("sum" .=) <$> _duSum])------- /See:/ 'sourceBaseSpecsItem' smart constructor.-newtype SourceBaseSpecsItem = SourceBaseSpecsItem'-    { _sbsiAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceBaseSpecsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sbsiAddtional'-sourceBaseSpecsItem-    :: HashMap Text JSONValue -- ^ 'sbsiAddtional'-    -> SourceBaseSpecsItem-sourceBaseSpecsItem pSbsiAddtional_ =-    SourceBaseSpecsItem'-    { _sbsiAddtional = _Coerce # pSbsiAddtional_-    }---- | Properties of the object.-sbsiAddtional :: Lens' SourceBaseSpecsItem (HashMap Text JSONValue)-sbsiAddtional-  = lens _sbsiAddtional-      (\ s a -> s{_sbsiAddtional = a})-      . _Coerce--instance FromJSON SourceBaseSpecsItem where-        parseJSON-          = withObject "SourceBaseSpecsItem"-              (\ o -> SourceBaseSpecsItem' <$> (parseJSONObject o))--instance ToJSON SourceBaseSpecsItem where-        toJSON = toJSON . _sbsiAddtional---- | Describes a particular operation comprising a MapTask.------ /See:/ 'parallelInstruction' smart constructor.-data ParallelInstruction = ParallelInstruction'-    { _piRead              :: !(Maybe ReadInstruction)-    , _piWrite             :: !(Maybe WriteInstruction)-    , _piParDo             :: !(Maybe ParDoInstruction)-    , _piPartialGroupByKey :: !(Maybe PartialGroupByKeyInstruction)-    , _piOutputs           :: !(Maybe [InstructionOutput])-    , _piName              :: !(Maybe Text)-    , _piSystemName        :: !(Maybe Text)-    , _piFlatten           :: !(Maybe FlattenInstruction)-    , _piOriginalName      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParallelInstruction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piRead'------ * 'piWrite'------ * 'piParDo'------ * 'piPartialGroupByKey'------ * 'piOutputs'------ * 'piName'------ * 'piSystemName'------ * 'piFlatten'------ * 'piOriginalName'-parallelInstruction-    :: ParallelInstruction-parallelInstruction =-    ParallelInstruction'-    { _piRead = Nothing-    , _piWrite = Nothing-    , _piParDo = Nothing-    , _piPartialGroupByKey = Nothing-    , _piOutputs = Nothing-    , _piName = Nothing-    , _piSystemName = Nothing-    , _piFlatten = Nothing-    , _piOriginalName = Nothing-    }---- | Additional information for Read instructions.-piRead :: Lens' ParallelInstruction (Maybe ReadInstruction)-piRead = lens _piRead (\ s a -> s{_piRead = a})---- | Additional information for Write instructions.-piWrite :: Lens' ParallelInstruction (Maybe WriteInstruction)-piWrite = lens _piWrite (\ s a -> s{_piWrite = a})---- | Additional information for ParDo instructions.-piParDo :: Lens' ParallelInstruction (Maybe ParDoInstruction)-piParDo = lens _piParDo (\ s a -> s{_piParDo = a})---- | Additional information for PartialGroupByKey instructions.-piPartialGroupByKey :: Lens' ParallelInstruction (Maybe PartialGroupByKeyInstruction)-piPartialGroupByKey-  = lens _piPartialGroupByKey-      (\ s a -> s{_piPartialGroupByKey = a})---- | Describes the outputs of the instruction.-piOutputs :: Lens' ParallelInstruction [InstructionOutput]-piOutputs-  = lens _piOutputs (\ s a -> s{_piOutputs = a}) .-      _Default-      . _Coerce---- | User-provided name of this operation.-piName :: Lens' ParallelInstruction (Maybe Text)-piName = lens _piName (\ s a -> s{_piName = a})---- | System-defined name of this operation. Unique across the workflow.-piSystemName :: Lens' ParallelInstruction (Maybe Text)-piSystemName-  = lens _piSystemName (\ s a -> s{_piSystemName = a})---- | Additional information for Flatten instructions.-piFlatten :: Lens' ParallelInstruction (Maybe FlattenInstruction)-piFlatten-  = lens _piFlatten (\ s a -> s{_piFlatten = a})---- | System-defined name for the operation in the original workflow graph.-piOriginalName :: Lens' ParallelInstruction (Maybe Text)-piOriginalName-  = lens _piOriginalName-      (\ s a -> s{_piOriginalName = a})--instance FromJSON ParallelInstruction where-        parseJSON-          = withObject "ParallelInstruction"-              (\ o ->-                 ParallelInstruction' <$>-                   (o .:? "read") <*> (o .:? "write") <*>-                     (o .:? "parDo")-                     <*> (o .:? "partialGroupByKey")-                     <*> (o .:? "outputs" .!= mempty)-                     <*> (o .:? "name")-                     <*> (o .:? "systemName")-                     <*> (o .:? "flatten")-                     <*> (o .:? "originalName"))--instance ToJSON ParallelInstruction where-        toJSON ParallelInstruction'{..}-          = object-              (catMaybes-                 [("read" .=) <$> _piRead, ("write" .=) <$> _piWrite,-                  ("parDo" .=) <$> _piParDo,-                  ("partialGroupByKey" .=) <$> _piPartialGroupByKey,-                  ("outputs" .=) <$> _piOutputs,-                  ("name" .=) <$> _piName,-                  ("systemName" .=) <$> _piSystemName,-                  ("flatten" .=) <$> _piFlatten,-                  ("originalName" .=) <$> _piOriginalName])---- | How to interpret the source element(s) as a side input value.------ /See:/ 'sideInputInfoKind' smart constructor.-newtype SideInputInfoKind = SideInputInfoKind'-    { _siikAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SideInputInfoKind' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siikAddtional'-sideInputInfoKind-    :: HashMap Text JSONValue -- ^ 'siikAddtional'-    -> SideInputInfoKind-sideInputInfoKind pSiikAddtional_ =-    SideInputInfoKind'-    { _siikAddtional = _Coerce # pSiikAddtional_-    }---- | Properties of the object.-siikAddtional :: Lens' SideInputInfoKind (HashMap Text JSONValue)-siikAddtional-  = lens _siikAddtional-      (\ s a -> s{_siikAddtional = a})-      . _Coerce--instance FromJSON SideInputInfoKind where-        parseJSON-          = withObject "SideInputInfoKind"-              (\ o -> SideInputInfoKind' <$> (parseJSONObject o))--instance ToJSON SideInputInfoKind where-        toJSON = toJSON . _siikAddtional---- | A task that carries configuration information for streaming--- computations.------ /See:/ 'streamingConfigTask' smart constructor.-data StreamingConfigTask = StreamingConfigTask'-    { _sctUserStepToStateFamilyNameMap :: !(Maybe StreamingConfigTaskUserStepToStateFamilyNameMap)-    , _sctStreamingComputationConfigs  :: !(Maybe [StreamingComputationConfig])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingConfigTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sctUserStepToStateFamilyNameMap'------ * 'sctStreamingComputationConfigs'-streamingConfigTask-    :: StreamingConfigTask-streamingConfigTask =-    StreamingConfigTask'-    { _sctUserStepToStateFamilyNameMap = Nothing-    , _sctStreamingComputationConfigs = Nothing-    }---- | Map from user step names to state families.-sctUserStepToStateFamilyNameMap :: Lens' StreamingConfigTask (Maybe StreamingConfigTaskUserStepToStateFamilyNameMap)-sctUserStepToStateFamilyNameMap-  = lens _sctUserStepToStateFamilyNameMap-      (\ s a -> s{_sctUserStepToStateFamilyNameMap = a})---- | Set of computation configuration information.-sctStreamingComputationConfigs :: Lens' StreamingConfigTask [StreamingComputationConfig]-sctStreamingComputationConfigs-  = lens _sctStreamingComputationConfigs-      (\ s a -> s{_sctStreamingComputationConfigs = a})-      . _Default-      . _Coerce--instance FromJSON StreamingConfigTask where-        parseJSON-          = withObject "StreamingConfigTask"-              (\ o ->-                 StreamingConfigTask' <$>-                   (o .:? "userStepToStateFamilyNameMap") <*>-                     (o .:? "streamingComputationConfigs" .!= mempty))--instance ToJSON StreamingConfigTask where-        toJSON StreamingConfigTask'{..}-          = object-              (catMaybes-                 [("userStepToStateFamilyNameMap" .=) <$>-                    _sctUserStepToStateFamilyNameMap,-                  ("streamingComputationConfigs" .=) <$>-                    _sctStreamingComputationConfigs])---- | The metric short id is returned to the user alongside an offset into--- ReportWorkItemStatusRequest------ /See:/ 'metricShortId' smart constructor.-data MetricShortId = MetricShortId'-    { _msiShortId     :: !(Maybe (Textual Int64))-    , _msiMetricIndex :: !(Maybe (Textual Int32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MetricShortId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'msiShortId'------ * 'msiMetricIndex'-metricShortId-    :: MetricShortId-metricShortId =-    MetricShortId'-    { _msiShortId = Nothing-    , _msiMetricIndex = Nothing-    }---- | The service-generated short identifier for the metric.-msiShortId :: Lens' MetricShortId (Maybe Int64)-msiShortId-  = lens _msiShortId (\ s a -> s{_msiShortId = a}) .-      mapping _Coerce---- | The index of the corresponding metric in the--- ReportWorkItemStatusRequest. Required.-msiMetricIndex :: Lens' MetricShortId (Maybe Int32)-msiMetricIndex-  = lens _msiMetricIndex-      (\ s a -> s{_msiMetricIndex = a})-      . mapping _Coerce--instance FromJSON MetricShortId where-        parseJSON-          = withObject "MetricShortId"-              (\ o ->-                 MetricShortId' <$>-                   (o .:? "shortId") <*> (o .:? "metricIndex"))--instance ToJSON MetricShortId where-        toJSON MetricShortId'{..}-          = object-              (catMaybes-                 [("shortId" .=) <$> _msiShortId,-                  ("metricIndex" .=) <$> _msiMetricIndex])---- | A request for sending worker messages to the service.------ /See:/ 'sendWorkerMessagesRequest' smart constructor.-newtype SendWorkerMessagesRequest = SendWorkerMessagesRequest'-    { _swmrWorkerMessages :: Maybe [WorkerMessage]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SendWorkerMessagesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'swmrWorkerMessages'-sendWorkerMessagesRequest-    :: SendWorkerMessagesRequest-sendWorkerMessagesRequest =-    SendWorkerMessagesRequest'-    { _swmrWorkerMessages = Nothing-    }---- | The WorkerMessages to send.-swmrWorkerMessages :: Lens' SendWorkerMessagesRequest [WorkerMessage]-swmrWorkerMessages-  = lens _swmrWorkerMessages-      (\ s a -> s{_swmrWorkerMessages = a})-      . _Default-      . _Coerce--instance FromJSON SendWorkerMessagesRequest where-        parseJSON-          = withObject "SendWorkerMessagesRequest"-              (\ o ->-                 SendWorkerMessagesRequest' <$>-                   (o .:? "workerMessages" .!= mempty))--instance ToJSON SendWorkerMessagesRequest where-        toJSON SendWorkerMessagesRequest'{..}-          = object-              (catMaybes-                 [("workerMessages" .=) <$> _swmrWorkerMessages])---- | DEPRECATED in favor of DerivedSource.------ /See:/ 'sourceSplitShard' smart constructor.-data SourceSplitShard = SourceSplitShard'-    { _sssDerivationMode :: !(Maybe Text)-    , _sssSource         :: !(Maybe Source)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceSplitShard' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sssDerivationMode'------ * 'sssSource'-sourceSplitShard-    :: SourceSplitShard-sourceSplitShard =-    SourceSplitShard'-    { _sssDerivationMode = Nothing-    , _sssSource = Nothing-    }---- | DEPRECATED-sssDerivationMode :: Lens' SourceSplitShard (Maybe Text)-sssDerivationMode-  = lens _sssDerivationMode-      (\ s a -> s{_sssDerivationMode = a})---- | DEPRECATED-sssSource :: Lens' SourceSplitShard (Maybe Source)-sssSource-  = lens _sssSource (\ s a -> s{_sssSource = a})--instance FromJSON SourceSplitShard where-        parseJSON-          = withObject "SourceSplitShard"-              (\ o ->-                 SourceSplitShard' <$>-                   (o .:? "derivationMode") <*> (o .:? "source"))--instance ToJSON SourceSplitShard where-        toJSON SourceSplitShard'{..}-          = object-              (catMaybes-                 [("derivationMode" .=) <$> _sssDerivationMode,-                  ("source" .=) <$> _sssSource])---- | Information about a side input of a DoFn or an input of a SeqDoFn.------ /See:/ 'sideInputInfo' smart constructor.-data SideInputInfo = SideInputInfo'-    { _siiTag     :: !(Maybe Text)-    , _siiKind    :: !(Maybe SideInputInfoKind)-    , _siiSources :: !(Maybe [Source])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SideInputInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siiTag'------ * 'siiKind'------ * 'siiSources'-sideInputInfo-    :: SideInputInfo-sideInputInfo =-    SideInputInfo'-    { _siiTag = Nothing-    , _siiKind = Nothing-    , _siiSources = Nothing-    }---- | The id of the tag the user code will access this side input by; this--- should correspond to the tag of some MultiOutputInfo.-siiTag :: Lens' SideInputInfo (Maybe Text)-siiTag = lens _siiTag (\ s a -> s{_siiTag = a})---- | How to interpret the source element(s) as a side input value.-siiKind :: Lens' SideInputInfo (Maybe SideInputInfoKind)-siiKind = lens _siiKind (\ s a -> s{_siiKind = a})---- | The source(s) to read element(s) from to get the value of this side--- input. If more than one source, then the elements are taken from the--- sources, in the specified order if order matters. At least one source is--- required.-siiSources :: Lens' SideInputInfo [Source]-siiSources-  = lens _siiSources (\ s a -> s{_siiSources = a}) .-      _Default-      . _Coerce--instance FromJSON SideInputInfo where-        parseJSON-          = withObject "SideInputInfo"-              (\ o ->-                 SideInputInfo' <$>-                   (o .:? "tag") <*> (o .:? "kind") <*>-                     (o .:? "sources" .!= mempty))--instance ToJSON SideInputInfo where-        toJSON SideInputInfo'{..}-          = object-              (catMaybes-                 [("tag" .=) <$> _siiTag, ("kind" .=) <$> _siiKind,-                  ("sources" .=) <$> _siiSources])---- | Additional information about how a Cloud Dataflow job will be executed--- that isn\'t contained in the submitted job.------ /See:/ 'jobExecutionInfo' smart constructor.-newtype JobExecutionInfo = JobExecutionInfo'-    { _jeiStages :: Maybe JobExecutionInfoStages-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'JobExecutionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jeiStages'-jobExecutionInfo-    :: JobExecutionInfo-jobExecutionInfo =-    JobExecutionInfo'-    { _jeiStages = Nothing-    }---- | A mapping from each stage to the information about that stage.-jeiStages :: Lens' JobExecutionInfo (Maybe JobExecutionInfoStages)-jeiStages-  = lens _jeiStages (\ s a -> s{_jeiStages = a})--instance FromJSON JobExecutionInfo where-        parseJSON-          = withObject "JobExecutionInfo"-              (\ o -> JobExecutionInfo' <$> (o .:? "stages"))--instance ToJSON JobExecutionInfo where-        toJSON JobExecutionInfo'{..}-          = object (catMaybes [("stages" .=) <$> _jeiStages])---- | The codec to use to decode data read from the source.------ /See:/ 'sourceCodec' smart constructor.-newtype SourceCodec = SourceCodec'-    { _souAddtional :: HashMap Text JSONValue-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceCodec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'souAddtional'-sourceCodec-    :: HashMap Text JSONValue -- ^ 'souAddtional'-    -> SourceCodec-sourceCodec pSouAddtional_ =-    SourceCodec'-    { _souAddtional = _Coerce # pSouAddtional_-    }---- | Properties of the object.-souAddtional :: Lens' SourceCodec (HashMap Text JSONValue)-souAddtional-  = lens _souAddtional (\ s a -> s{_souAddtional = a})-      . _Coerce--instance FromJSON SourceCodec where-        parseJSON-          = withObject "SourceCodec"-              (\ o -> SourceCodec' <$> (parseJSONObject o))--instance ToJSON SourceCodec where-        toJSON = toJSON . _souAddtional---- | State family configuration.------ /See:/ 'stateFamilyConfig' smart constructor.-data StateFamilyConfig = StateFamilyConfig'-    { _sfcIsRead      :: !(Maybe Bool)-    , _sfcStateFamily :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StateFamilyConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfcIsRead'------ * 'sfcStateFamily'-stateFamilyConfig-    :: StateFamilyConfig-stateFamilyConfig =-    StateFamilyConfig'-    { _sfcIsRead = Nothing-    , _sfcStateFamily = Nothing-    }---- | If true, this family corresponds to a read operation.-sfcIsRead :: Lens' StateFamilyConfig (Maybe Bool)-sfcIsRead-  = lens _sfcIsRead (\ s a -> s{_sfcIsRead = a})---- | The state family value.-sfcStateFamily :: Lens' StateFamilyConfig (Maybe Text)-sfcStateFamily-  = lens _sfcStateFamily-      (\ s a -> s{_sfcStateFamily = a})--instance FromJSON StateFamilyConfig where-        parseJSON-          = withObject "StateFamilyConfig"-              (\ o ->-                 StateFamilyConfig' <$>-                   (o .:? "isRead") <*> (o .:? "stateFamily"))--instance ToJSON StateFamilyConfig where-        toJSON StateFamilyConfig'{..}-          = object-              (catMaybes-                 [("isRead" .=) <$> _sfcIsRead,-                  ("stateFamily" .=) <$> _sfcStateFamily])---- | Data disk assignment information for a specific key-range of a sharded--- computation. Currently we only support UTF-8 character splits to--- simplify encoding into JSON.------ /See:/ 'keyRangeDataDiskAssignment' smart constructor.-data KeyRangeDataDiskAssignment = KeyRangeDataDiskAssignment'-    { _krddaDataDisk :: !(Maybe Text)-    , _krddaStart    :: !(Maybe Text)-    , _krddaEnd      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'KeyRangeDataDiskAssignment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'krddaDataDisk'------ * 'krddaStart'------ * 'krddaEnd'-keyRangeDataDiskAssignment-    :: KeyRangeDataDiskAssignment-keyRangeDataDiskAssignment =-    KeyRangeDataDiskAssignment'-    { _krddaDataDisk = Nothing-    , _krddaStart = Nothing-    , _krddaEnd = Nothing-    }---- | The name of the data disk where data for this range is stored. This name--- is local to the Google Cloud Platform project and uniquely identifies--- the disk within that project, for example--- \"myproject-1014-104817-4c2-harness-0-disk-1\".-krddaDataDisk :: Lens' KeyRangeDataDiskAssignment (Maybe Text)-krddaDataDisk-  = lens _krddaDataDisk-      (\ s a -> s{_krddaDataDisk = a})---- | The start (inclusive) of the key range.-krddaStart :: Lens' KeyRangeDataDiskAssignment (Maybe Text)-krddaStart-  = lens _krddaStart (\ s a -> s{_krddaStart = a})---- | The end (exclusive) of the key range.-krddaEnd :: Lens' KeyRangeDataDiskAssignment (Maybe Text)-krddaEnd = lens _krddaEnd (\ s a -> s{_krddaEnd = a})--instance FromJSON KeyRangeDataDiskAssignment where-        parseJSON-          = withObject "KeyRangeDataDiskAssignment"-              (\ o ->-                 KeyRangeDataDiskAssignment' <$>-                   (o .:? "dataDisk") <*> (o .:? "start") <*>-                     (o .:? "end"))--instance ToJSON KeyRangeDataDiskAssignment where-        toJSON KeyRangeDataDiskAssignment'{..}-          = object-              (catMaybes-                 [("dataDisk" .=) <$> _krddaDataDisk,-                  ("start" .=) <$> _krddaStart,-                  ("end" .=) <$> _krddaEnd])---- | Represents the operation to split a high-level Source specification into--- bundles (parts for parallel processing). At a high level, splitting of a--- source into bundles happens as follows: SourceSplitRequest is applied to--- the source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further--- splitting happens and the source is used \"as is\". Otherwise, splitting--- is applied recursively to each produced DerivedSource. As an--- optimization, for any Source, if its does_not_need_splitting is true,--- the framework assumes that splitting this source would return--- SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn\'t initiate a--- SourceSplitRequest. This applies both to the initial source being split--- and to bundles produced from it.------ /See:/ 'sourceSplitRequest' smart constructor.-data SourceSplitRequest = SourceSplitRequest'-    { _ssrSource  :: !(Maybe Source)-    , _ssrOptions :: !(Maybe SourceSplitOptions)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceSplitRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssrSource'------ * 'ssrOptions'-sourceSplitRequest-    :: SourceSplitRequest-sourceSplitRequest =-    SourceSplitRequest'-    { _ssrSource = Nothing-    , _ssrOptions = Nothing-    }---- | Specification of the source to be split.-ssrSource :: Lens' SourceSplitRequest (Maybe Source)-ssrSource-  = lens _ssrSource (\ s a -> s{_ssrSource = a})---- | Hints for tuning the splitting process.-ssrOptions :: Lens' SourceSplitRequest (Maybe SourceSplitOptions)-ssrOptions-  = lens _ssrOptions (\ s a -> s{_ssrOptions = a})--instance FromJSON SourceSplitRequest where-        parseJSON-          = withObject "SourceSplitRequest"-              (\ o ->-                 SourceSplitRequest' <$>-                   (o .:? "source") <*> (o .:? "options"))--instance ToJSON SourceSplitRequest where-        toJSON SourceSplitRequest'{..}-          = object-              (catMaybes-                 [("source" .=) <$> _ssrSource,-                  ("options" .=) <$> _ssrOptions])---- | Response to a request to list job messages.------ /See:/ 'listJobMessagesResponse' smart constructor.-data ListJobMessagesResponse = ListJobMessagesResponse'-    { _ljmrJobMessages   :: !(Maybe [JobMessage])-    , _ljmrNextPageToken :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListJobMessagesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ljmrJobMessages'------ * 'ljmrNextPageToken'-listJobMessagesResponse-    :: ListJobMessagesResponse-listJobMessagesResponse =-    ListJobMessagesResponse'-    { _ljmrJobMessages = Nothing-    , _ljmrNextPageToken = Nothing-    }---- | Messages in ascending timestamp order.-ljmrJobMessages :: Lens' ListJobMessagesResponse [JobMessage]-ljmrJobMessages-  = lens _ljmrJobMessages-      (\ s a -> s{_ljmrJobMessages = a})-      . _Default-      . _Coerce---- | The token to obtain the next page of results if there are more.-ljmrNextPageToken :: Lens' ListJobMessagesResponse (Maybe Text)-ljmrNextPageToken-  = lens _ljmrNextPageToken-      (\ s a -> s{_ljmrNextPageToken = a})--instance FromJSON ListJobMessagesResponse where-        parseJSON-          = withObject "ListJobMessagesResponse"-              (\ o ->-                 ListJobMessagesResponse' <$>-                   (o .:? "jobMessages" .!= mempty) <*>-                     (o .:? "nextPageToken"))--instance ToJSON ListJobMessagesResponse where-        toJSON ListJobMessagesResponse'{..}-          = object-              (catMaybes-                 [("jobMessages" .=) <$> _ljmrJobMessages,-                  ("nextPageToken" .=) <$> _ljmrNextPageToken])---- | Identifies a pubsub location to use for transferring data into or out of--- a streaming Dataflow job.------ /See:/ 'pubsubLocation' smart constructor.-data PubsubLocation = PubsubLocation'-    { _plTrackingSubscription :: !(Maybe Text)-    , _plDropLateData         :: !(Maybe Bool)-    , _plTimestampLabel       :: !(Maybe Text)-    , _plIdLabel              :: !(Maybe Text)-    , _plTopic                :: !(Maybe Text)-    , _plWithAttributes       :: !(Maybe Bool)-    , _plSubscription         :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PubsubLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plTrackingSubscription'------ * 'plDropLateData'------ * 'plTimestampLabel'------ * 'plIdLabel'------ * 'plTopic'------ * 'plWithAttributes'------ * 'plSubscription'-pubsubLocation-    :: PubsubLocation-pubsubLocation =-    PubsubLocation'-    { _plTrackingSubscription = Nothing-    , _plDropLateData = Nothing-    , _plTimestampLabel = Nothing-    , _plIdLabel = Nothing-    , _plTopic = Nothing-    , _plWithAttributes = Nothing-    , _plSubscription = Nothing-    }---- | If set, specifies the pubsub subscription that will be used for tracking--- custom time timestamps for watermark estimation.-plTrackingSubscription :: Lens' PubsubLocation (Maybe Text)-plTrackingSubscription-  = lens _plTrackingSubscription-      (\ s a -> s{_plTrackingSubscription = a})---- | Indicates whether the pipeline allows late-arriving data.-plDropLateData :: Lens' PubsubLocation (Maybe Bool)-plDropLateData-  = lens _plDropLateData-      (\ s a -> s{_plDropLateData = a})---- | If set, contains a pubsub label from which to extract record timestamps.--- If left empty, record timestamps will be generated upon arrival.-plTimestampLabel :: Lens' PubsubLocation (Maybe Text)-plTimestampLabel-  = lens _plTimestampLabel-      (\ s a -> s{_plTimestampLabel = a})---- | If set, contains a pubsub label from which to extract record ids. If--- left empty, record deduplication will be strictly best effort.-plIdLabel :: Lens' PubsubLocation (Maybe Text)-plIdLabel-  = lens _plIdLabel (\ s a -> s{_plIdLabel = a})---- | A pubsub topic, in the form of \"pubsub.googleapis.com\/topics\/ \/\"-plTopic :: Lens' PubsubLocation (Maybe Text)-plTopic = lens _plTopic (\ s a -> s{_plTopic = a})---- | If true, then the client has requested to get pubsub attributes.-plWithAttributes :: Lens' PubsubLocation (Maybe Bool)-plWithAttributes-  = lens _plWithAttributes-      (\ s a -> s{_plWithAttributes = a})---- | A pubsub subscription, in the form of--- \"pubsub.googleapis.com\/subscriptions\/ \/\"-plSubscription :: Lens' PubsubLocation (Maybe Text)-plSubscription-  = lens _plSubscription-      (\ s a -> s{_plSubscription = a})--instance FromJSON PubsubLocation where-        parseJSON-          = withObject "PubsubLocation"-              (\ o ->-                 PubsubLocation' <$>-                   (o .:? "trackingSubscription") <*>-                     (o .:? "dropLateData")-                     <*> (o .:? "timestampLabel")-                     <*> (o .:? "idLabel")-                     <*> (o .:? "topic")-                     <*> (o .:? "withAttributes")-                     <*> (o .:? "subscription"))--instance ToJSON PubsubLocation where-        toJSON PubsubLocation'{..}-          = object-              (catMaybes-                 [("trackingSubscription" .=) <$>-                    _plTrackingSubscription,-                  ("dropLateData" .=) <$> _plDropLateData,-                  ("timestampLabel" .=) <$> _plTimestampLabel,-                  ("idLabel" .=) <$> _plIdLabel,-                  ("topic" .=) <$> _plTopic,-                  ("withAttributes" .=) <$> _plWithAttributes,-                  ("subscription" .=) <$> _plSubscription])---- | A metric value representing a list of floating point numbers.------ /See:/ 'floatingPointList' smart constructor.-newtype FloatingPointList = FloatingPointList'-    { _fplElements :: Maybe [Textual Double]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FloatingPointList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fplElements'-floatingPointList-    :: FloatingPointList-floatingPointList =-    FloatingPointList'-    { _fplElements = Nothing-    }---- | Elements of the list.-fplElements :: Lens' FloatingPointList [Double]-fplElements-  = lens _fplElements (\ s a -> s{_fplElements = a}) .-      _Default-      . _Coerce--instance FromJSON FloatingPointList where-        parseJSON-          = withObject "FloatingPointList"-              (\ o ->-                 FloatingPointList' <$> (o .:? "elements" .!= mempty))--instance ToJSON FloatingPointList where-        toJSON FloatingPointList'{..}-          = object-              (catMaybes [("elements" .=) <$> _fplElements])---- | An input of an instruction, as a reference to an output of a producer--- instruction.------ /See:/ 'instructionInput' smart constructor.-data InstructionInput = InstructionInput'-    { _iiProducerInstructionIndex :: !(Maybe (Textual Int32))-    , _iiOutputNum                :: !(Maybe (Textual Int32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstructionInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiProducerInstructionIndex'------ * 'iiOutputNum'-instructionInput-    :: InstructionInput-instructionInput =-    InstructionInput'-    { _iiProducerInstructionIndex = Nothing-    , _iiOutputNum = Nothing-    }---- | The index (origin zero) of the parallel instruction that produces the--- output to be consumed by this input. This index is relative to the list--- of instructions in this input\'s instruction\'s containing MapTask.-iiProducerInstructionIndex :: Lens' InstructionInput (Maybe Int32)-iiProducerInstructionIndex-  = lens _iiProducerInstructionIndex-      (\ s a -> s{_iiProducerInstructionIndex = a})-      . mapping _Coerce---- | The output index (origin zero) within the producer.-iiOutputNum :: Lens' InstructionInput (Maybe Int32)-iiOutputNum-  = lens _iiOutputNum (\ s a -> s{_iiOutputNum = a}) .-      mapping _Coerce--instance FromJSON InstructionInput where-        parseJSON-          = withObject "InstructionInput"-              (\ o ->-                 InstructionInput' <$>-                   (o .:? "producerInstructionIndex") <*>-                     (o .:? "outputNum"))--instance ToJSON InstructionInput where-        toJSON InstructionInput'{..}-          = object-              (catMaybes-                 [("producerInstructionIndex" .=) <$>-                    _iiProducerInstructionIndex,-                  ("outputNum" .=) <$> _iiOutputNum])---- | Describes a particular function to invoke.------ /See:/ 'seqMapTask' smart constructor.-data SeqMapTask = SeqMapTask'-    { _smtInputs      :: !(Maybe [SideInputInfo])-    , _smtName        :: !(Maybe Text)-    , _smtOutputInfos :: !(Maybe [SeqMapTaskOutputInfo])-    , _smtSystemName  :: !(Maybe Text)-    , _smtStageName   :: !(Maybe Text)-    , _smtUserFn      :: !(Maybe SeqMapTaskUserFn)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SeqMapTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smtInputs'------ * 'smtName'------ * 'smtOutputInfos'------ * 'smtSystemName'------ * 'smtStageName'------ * 'smtUserFn'-seqMapTask-    :: SeqMapTask-seqMapTask =-    SeqMapTask'-    { _smtInputs = Nothing-    , _smtName = Nothing-    , _smtOutputInfos = Nothing-    , _smtSystemName = Nothing-    , _smtStageName = Nothing-    , _smtUserFn = Nothing-    }---- | Information about each of the inputs.-smtInputs :: Lens' SeqMapTask [SideInputInfo]-smtInputs-  = lens _smtInputs (\ s a -> s{_smtInputs = a}) .-      _Default-      . _Coerce---- | The user-provided name of the SeqDo operation.-smtName :: Lens' SeqMapTask (Maybe Text)-smtName = lens _smtName (\ s a -> s{_smtName = a})---- | Information about each of the outputs.-smtOutputInfos :: Lens' SeqMapTask [SeqMapTaskOutputInfo]-smtOutputInfos-  = lens _smtOutputInfos-      (\ s a -> s{_smtOutputInfos = a})-      . _Default-      . _Coerce---- | System-defined name of the SeqDo operation. Unique across the workflow.-smtSystemName :: Lens' SeqMapTask (Maybe Text)-smtSystemName-  = lens _smtSystemName-      (\ s a -> s{_smtSystemName = a})---- | System-defined name of the stage containing the SeqDo operation. Unique--- across the workflow.-smtStageName :: Lens' SeqMapTask (Maybe Text)-smtStageName-  = lens _smtStageName (\ s a -> s{_smtStageName = a})---- | The user function to invoke.-smtUserFn :: Lens' SeqMapTask (Maybe SeqMapTaskUserFn)-smtUserFn-  = lens _smtUserFn (\ s a -> s{_smtUserFn = a})--instance FromJSON SeqMapTask where-        parseJSON-          = withObject "SeqMapTask"-              (\ o ->-                 SeqMapTask' <$>-                   (o .:? "inputs" .!= mempty) <*> (o .:? "name") <*>-                     (o .:? "outputInfos" .!= mempty)-                     <*> (o .:? "systemName")-                     <*> (o .:? "stageName")-                     <*> (o .:? "userFn"))--instance ToJSON SeqMapTask where-        toJSON SeqMapTask'{..}-          = object-              (catMaybes-                 [("inputs" .=) <$> _smtInputs,-                  ("name" .=) <$> _smtName,-                  ("outputInfos" .=) <$> _smtOutputInfos,-                  ("systemName" .=) <$> _smtSystemName,-                  ("stageName" .=) <$> _smtStageName,-                  ("userFn" .=) <$> _smtUserFn])---- | Map from user step names to state families.------ /See:/ 'streamingConfigTaskUserStepToStateFamilyNameMap' smart constructor.-newtype StreamingConfigTaskUserStepToStateFamilyNameMap = StreamingConfigTaskUserStepToStateFamilyNameMap'-    { _sctustsfnmAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StreamingConfigTaskUserStepToStateFamilyNameMap' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sctustsfnmAddtional'-streamingConfigTaskUserStepToStateFamilyNameMap-    :: HashMap Text Text -- ^ 'sctustsfnmAddtional'-    -> StreamingConfigTaskUserStepToStateFamilyNameMap-streamingConfigTaskUserStepToStateFamilyNameMap pSctustsfnmAddtional_ =-    StreamingConfigTaskUserStepToStateFamilyNameMap'-    { _sctustsfnmAddtional = _Coerce # pSctustsfnmAddtional_-    }--sctustsfnmAddtional :: Lens' StreamingConfigTaskUserStepToStateFamilyNameMap (HashMap Text Text)-sctustsfnmAddtional-  = lens _sctustsfnmAddtional-      (\ s a -> s{_sctustsfnmAddtional = a})-      . _Coerce--instance FromJSON-         StreamingConfigTaskUserStepToStateFamilyNameMap where-        parseJSON-          = withObject-              "StreamingConfigTaskUserStepToStateFamilyNameMap"-              (\ o ->-                 StreamingConfigTaskUserStepToStateFamilyNameMap' <$>-                   (parseJSONObject o))--instance ToJSON-         StreamingConfigTaskUserStepToStateFamilyNameMap where-        toJSON = toJSON . _sctustsfnmAddtional---- | A work item that represents the different operations that can be--- performed on a user-defined Source specification.------ /See:/ 'sourceOperationRequest' smart constructor.-data SourceOperationRequest = SourceOperationRequest'-    { _sSplit       :: !(Maybe SourceSplitRequest)-    , _sGetMetadata :: !(Maybe SourceGetMetadataRequest)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceOperationRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sSplit'------ * 'sGetMetadata'-sourceOperationRequest-    :: SourceOperationRequest-sourceOperationRequest =-    SourceOperationRequest'-    { _sSplit = Nothing-    , _sGetMetadata = Nothing-    }---- | Information about a request to split a source.-sSplit :: Lens' SourceOperationRequest (Maybe SourceSplitRequest)-sSplit = lens _sSplit (\ s a -> s{_sSplit = a})---- | Information about a request to get metadata about a source.-sGetMetadata :: Lens' SourceOperationRequest (Maybe SourceGetMetadataRequest)-sGetMetadata-  = lens _sGetMetadata (\ s a -> s{_sGetMetadata = a})--instance FromJSON SourceOperationRequest where-        parseJSON-          = withObject "SourceOperationRequest"-              (\ o ->-                 SourceOperationRequest' <$>-                   (o .:? "split") <*> (o .:? "getMetadata"))--instance ToJSON SourceOperationRequest where-        toJSON SourceOperationRequest'{..}-          = object-              (catMaybes-                 [("split" .=) <$> _sSplit,-                  ("getMetadata" .=) <$> _sGetMetadata])---- | Response to a request to lease WorkItems.------ /See:/ 'leaseWorkItemResponse' smart constructor.-newtype LeaseWorkItemResponse = LeaseWorkItemResponse'-    { _lwirWorkItems :: Maybe [WorkItem]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'LeaseWorkItemResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lwirWorkItems'-leaseWorkItemResponse-    :: LeaseWorkItemResponse-leaseWorkItemResponse =-    LeaseWorkItemResponse'-    { _lwirWorkItems = Nothing-    }---- | A list of the leased WorkItems.-lwirWorkItems :: Lens' LeaseWorkItemResponse [WorkItem]-lwirWorkItems-  = lens _lwirWorkItems-      (\ s a -> s{_lwirWorkItems = a})-      . _Default-      . _Coerce--instance FromJSON LeaseWorkItemResponse where-        parseJSON-          = withObject "LeaseWorkItemResponse"-              (\ o ->-                 LeaseWorkItemResponse' <$>-                   (o .:? "workItems" .!= mempty))--instance ToJSON LeaseWorkItemResponse where-        toJSON LeaseWorkItemResponse'{..}-          = object-              (catMaybes [("workItems" .=) <$> _lwirWorkItems])---- | Position defines a position within a collection of data. The value can--- be either the end position, a key (used with ordered collections), a--- byte offset, or a record index.------ /See:/ 'position' smart constructor.-data Position = Position'-    { _pByteOffSet      :: !(Maybe (Textual Int64))-    , _pConcatPosition  :: !(Maybe ConcatPosition)-    , _pRecordIndex     :: !(Maybe (Textual Int64))-    , _pShufflePosition :: !(Maybe Text)-    , _pKey             :: !(Maybe Text)-    , _pEnd             :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Position' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pByteOffSet'------ * 'pConcatPosition'------ * 'pRecordIndex'------ * 'pShufflePosition'------ * 'pKey'------ * 'pEnd'-position-    :: Position-position =-    Position'-    { _pByteOffSet = Nothing-    , _pConcatPosition = Nothing-    , _pRecordIndex = Nothing-    , _pShufflePosition = Nothing-    , _pKey = Nothing-    , _pEnd = Nothing-    }---- | Position is a byte offset.-pByteOffSet :: Lens' Position (Maybe Int64)-pByteOffSet-  = lens _pByteOffSet (\ s a -> s{_pByteOffSet = a}) .-      mapping _Coerce---- | CloudPosition is a concat position.-pConcatPosition :: Lens' Position (Maybe ConcatPosition)-pConcatPosition-  = lens _pConcatPosition-      (\ s a -> s{_pConcatPosition = a})---- | Position is a record index.-pRecordIndex :: Lens' Position (Maybe Int64)-pRecordIndex-  = lens _pRecordIndex (\ s a -> s{_pRecordIndex = a})-      . mapping _Coerce---- | CloudPosition is a base64 encoded BatchShufflePosition (with FIXED--- sharding).-pShufflePosition :: Lens' Position (Maybe Text)-pShufflePosition-  = lens _pShufflePosition-      (\ s a -> s{_pShufflePosition = a})---- | Position is a string key, ordered lexicographically.-pKey :: Lens' Position (Maybe Text)-pKey = lens _pKey (\ s a -> s{_pKey = a})---- | Position is past all other positions. Also useful for the end position--- of an unbounded range.-pEnd :: Lens' Position (Maybe Bool)-pEnd = lens _pEnd (\ s a -> s{_pEnd = a})--instance FromJSON Position where-        parseJSON-          = withObject "Position"-              (\ o ->-                 Position' <$>-                   (o .:? "byteOffset") <*> (o .:? "concatPosition") <*>-                     (o .:? "recordIndex")-                     <*> (o .:? "shufflePosition")-                     <*> (o .:? "key")-                     <*> (o .:? "end"))--instance ToJSON Position where-        toJSON Position'{..}-          = object-              (catMaybes-                 [("byteOffset" .=) <$> _pByteOffSet,-                  ("concatPosition" .=) <$> _pConcatPosition,-                  ("recordIndex" .=) <$> _pRecordIndex,-                  ("shufflePosition" .=) <$> _pShufflePosition,-                  ("key" .=) <$> _pKey, ("end" .=) <$> _pEnd])+    , _ctInputs          :: !(Maybe [StreamLocation])+    , _ctKeyRanges       :: !(Maybe [KeyRangeLocation])+    , _ctOutputs         :: !(Maybe [StreamLocation])+    , _ctComputationId   :: !(Maybe Text)+    , _ctSystemStageName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ComputationTopology' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctStateFamilies'+--+-- * 'ctInputs'+--+-- * 'ctKeyRanges'+--+-- * 'ctOutputs'+--+-- * 'ctComputationId'+--+-- * 'ctSystemStageName'+computationTopology+    :: ComputationTopology+computationTopology =+    ComputationTopology'+    { _ctStateFamilies = Nothing+    , _ctInputs = Nothing+    , _ctKeyRanges = Nothing+    , _ctOutputs = Nothing+    , _ctComputationId = Nothing+    , _ctSystemStageName = Nothing+    }++-- | The state family values.+ctStateFamilies :: Lens' ComputationTopology [StateFamilyConfig]+ctStateFamilies+  = lens _ctStateFamilies+      (\ s a -> s{_ctStateFamilies = a})+      . _Default+      . _Coerce++-- | The inputs to the computation.+ctInputs :: Lens' ComputationTopology [StreamLocation]+ctInputs+  = lens _ctInputs (\ s a -> s{_ctInputs = a}) .+      _Default+      . _Coerce++-- | The key ranges processed by the computation.+ctKeyRanges :: Lens' ComputationTopology [KeyRangeLocation]+ctKeyRanges+  = lens _ctKeyRanges (\ s a -> s{_ctKeyRanges = a}) .+      _Default+      . _Coerce++-- | The outputs from the computation.+ctOutputs :: Lens' ComputationTopology [StreamLocation]+ctOutputs+  = lens _ctOutputs (\ s a -> s{_ctOutputs = a}) .+      _Default+      . _Coerce++-- | The ID of the computation.+ctComputationId :: Lens' ComputationTopology (Maybe Text)+ctComputationId+  = lens _ctComputationId+      (\ s a -> s{_ctComputationId = a})++-- | The system stage name.+ctSystemStageName :: Lens' ComputationTopology (Maybe Text)+ctSystemStageName+  = lens _ctSystemStageName+      (\ s a -> s{_ctSystemStageName = a})++instance FromJSON ComputationTopology where+        parseJSON+          = withObject "ComputationTopology"+              (\ o ->+                 ComputationTopology' <$>+                   (o .:? "stateFamilies" .!= mempty) <*>+                     (o .:? "inputs" .!= mempty)+                     <*> (o .:? "keyRanges" .!= mempty)+                     <*> (o .:? "outputs" .!= mempty)+                     <*> (o .:? "computationId")+                     <*> (o .:? "systemStageName"))++instance ToJSON ComputationTopology where+        toJSON ComputationTopology'{..}+          = object+              (catMaybes+                 [("stateFamilies" .=) <$> _ctStateFamilies,+                  ("inputs" .=) <$> _ctInputs,+                  ("keyRanges" .=) <$> _ctKeyRanges,+                  ("outputs" .=) <$> _ctOutputs,+                  ("computationId" .=) <$> _ctComputationId,+                  ("systemStageName" .=) <$> _ctSystemStageName])++-- | The response to a SourceSplitRequest.+--+-- /See:/ 'sourceSplitResponse' smart constructor.+data SourceSplitResponse = SourceSplitResponse'+    { _ssrBundles :: !(Maybe [DerivedSource])+    , _ssrShards  :: !(Maybe [SourceSplitShard])+    , _ssrOutcome :: !(Maybe SourceSplitResponseOutcome)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceSplitResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssrBundles'+--+-- * 'ssrShards'+--+-- * 'ssrOutcome'+sourceSplitResponse+    :: SourceSplitResponse+sourceSplitResponse =+    SourceSplitResponse'+    { _ssrBundles = Nothing+    , _ssrShards = Nothing+    , _ssrOutcome = Nothing+    }++-- | If outcome is SPLITTING_HAPPENED, then this is a list of bundles into+-- which the source was split. Otherwise this field is ignored. This list+-- can be empty, which means the source represents an empty input.+ssrBundles :: Lens' SourceSplitResponse [DerivedSource]+ssrBundles+  = lens _ssrBundles (\ s a -> s{_ssrBundles = a}) .+      _Default+      . _Coerce++-- | DEPRECATED in favor of bundles.+ssrShards :: Lens' SourceSplitResponse [SourceSplitShard]+ssrShards+  = lens _ssrShards (\ s a -> s{_ssrShards = a}) .+      _Default+      . _Coerce++-- | Indicates whether splitting happened and produced a list of bundles. If+-- this is USE_CURRENT_SOURCE_AS_IS, the current source should be processed+-- \"as is\" without splitting. \"bundles\" is ignored in this case. If+-- this is SPLITTING_HAPPENED, then \"bundles\" contains a list of bundles+-- into which the source was split.+ssrOutcome :: Lens' SourceSplitResponse (Maybe SourceSplitResponseOutcome)+ssrOutcome+  = lens _ssrOutcome (\ s a -> s{_ssrOutcome = a})++instance FromJSON SourceSplitResponse where+        parseJSON+          = withObject "SourceSplitResponse"+              (\ o ->+                 SourceSplitResponse' <$>+                   (o .:? "bundles" .!= mempty) <*>+                     (o .:? "shards" .!= mempty)+                     <*> (o .:? "outcome"))++instance ToJSON SourceSplitResponse where+        toJSON SourceSplitResponse'{..}+          = object+              (catMaybes+                 [("bundles" .=) <$> _ssrBundles,+                  ("shards" .=) <$> _ssrShards,+                  ("outcome" .=) <$> _ssrOutcome])++-- | Metadata for a specific parameter.+--+-- /See:/ 'parameterMetadata' smart constructor.+data ParameterMetadata = ParameterMetadata'+    { _pmHelpText   :: !(Maybe Text)+    , _pmIsOptional :: !(Maybe Bool)+    , _pmName       :: !(Maybe Text)+    , _pmRegexes    :: !(Maybe [Text])+    , _pmLabel      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParameterMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmHelpText'+--+-- * 'pmIsOptional'+--+-- * 'pmName'+--+-- * 'pmRegexes'+--+-- * 'pmLabel'+parameterMetadata+    :: ParameterMetadata+parameterMetadata =+    ParameterMetadata'+    { _pmHelpText = Nothing+    , _pmIsOptional = Nothing+    , _pmName = Nothing+    , _pmRegexes = Nothing+    , _pmLabel = Nothing+    }++-- | Required. The help text to display for the parameter.+pmHelpText :: Lens' ParameterMetadata (Maybe Text)+pmHelpText+  = lens _pmHelpText (\ s a -> s{_pmHelpText = a})++-- | Optional. Whether the parameter is optional. Defaults to false.+pmIsOptional :: Lens' ParameterMetadata (Maybe Bool)+pmIsOptional+  = lens _pmIsOptional (\ s a -> s{_pmIsOptional = a})++-- | Required. The name of the parameter.+pmName :: Lens' ParameterMetadata (Maybe Text)+pmName = lens _pmName (\ s a -> s{_pmName = a})++-- | Optional. Regexes that the parameter must match.+pmRegexes :: Lens' ParameterMetadata [Text]+pmRegexes+  = lens _pmRegexes (\ s a -> s{_pmRegexes = a}) .+      _Default+      . _Coerce++-- | Required. The label to display for the parameter.+pmLabel :: Lens' ParameterMetadata (Maybe Text)+pmLabel = lens _pmLabel (\ s a -> s{_pmLabel = a})++instance FromJSON ParameterMetadata where+        parseJSON+          = withObject "ParameterMetadata"+              (\ o ->+                 ParameterMetadata' <$>+                   (o .:? "helpText") <*> (o .:? "isOptional") <*>+                     (o .:? "name")+                     <*> (o .:? "regexes" .!= mempty)+                     <*> (o .:? "label"))++instance ToJSON ParameterMetadata where+        toJSON ParameterMetadata'{..}+          = object+              (catMaybes+                 [("helpText" .=) <$> _pmHelpText,+                  ("isOptional" .=) <$> _pmIsOptional,+                  ("name" .=) <$> _pmName,+                  ("regexes" .=) <$> _pmRegexes,+                  ("label" .=) <$> _pmLabel])++-- | A request to create a Cloud Dataflow job from a template.+--+-- /See:/ 'createJobFromTemplateRequest' smart constructor.+data CreateJobFromTemplateRequest = CreateJobFromTemplateRequest'+    { _cjftrLocation    :: !(Maybe Text)+    , _cjftrEnvironment :: !(Maybe RuntimeEnvironment)+    , _cjftrJobName     :: !(Maybe Text)+    , _cjftrGcsPath     :: !(Maybe Text)+    , _cjftrParameters  :: !(Maybe CreateJobFromTemplateRequestParameters)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateJobFromTemplateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cjftrLocation'+--+-- * 'cjftrEnvironment'+--+-- * 'cjftrJobName'+--+-- * 'cjftrGcsPath'+--+-- * 'cjftrParameters'+createJobFromTemplateRequest+    :: CreateJobFromTemplateRequest+createJobFromTemplateRequest =+    CreateJobFromTemplateRequest'+    { _cjftrLocation = Nothing+    , _cjftrEnvironment = Nothing+    , _cjftrJobName = Nothing+    , _cjftrGcsPath = Nothing+    , _cjftrParameters = Nothing+    }++-- | The location to which to direct the request.+cjftrLocation :: Lens' CreateJobFromTemplateRequest (Maybe Text)+cjftrLocation+  = lens _cjftrLocation+      (\ s a -> s{_cjftrLocation = a})++-- | The runtime environment for the job.+cjftrEnvironment :: Lens' CreateJobFromTemplateRequest (Maybe RuntimeEnvironment)+cjftrEnvironment+  = lens _cjftrEnvironment+      (\ s a -> s{_cjftrEnvironment = a})++-- | Required. The job name to use for the created job.+cjftrJobName :: Lens' CreateJobFromTemplateRequest (Maybe Text)+cjftrJobName+  = lens _cjftrJobName (\ s a -> s{_cjftrJobName = a})++-- | Required. A Cloud Storage path to the template from which to create the+-- job. Must be a valid Cloud Storage URL, beginning with \`gs:\/\/\`.+cjftrGcsPath :: Lens' CreateJobFromTemplateRequest (Maybe Text)+cjftrGcsPath+  = lens _cjftrGcsPath (\ s a -> s{_cjftrGcsPath = a})++-- | The runtime parameters to pass to the job.+cjftrParameters :: Lens' CreateJobFromTemplateRequest (Maybe CreateJobFromTemplateRequestParameters)+cjftrParameters+  = lens _cjftrParameters+      (\ s a -> s{_cjftrParameters = a})++instance FromJSON CreateJobFromTemplateRequest where+        parseJSON+          = withObject "CreateJobFromTemplateRequest"+              (\ o ->+                 CreateJobFromTemplateRequest' <$>+                   (o .:? "location") <*> (o .:? "environment") <*>+                     (o .:? "jobName")+                     <*> (o .:? "gcsPath")+                     <*> (o .:? "parameters"))++instance ToJSON CreateJobFromTemplateRequest where+        toJSON CreateJobFromTemplateRequest'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _cjftrLocation,+                  ("environment" .=) <$> _cjftrEnvironment,+                  ("jobName" .=) <$> _cjftrJobName,+                  ("gcsPath" .=) <$> _cjftrGcsPath,+                  ("parameters" .=) <$> _cjftrParameters])++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Basic metadata about a counter.+--+-- /See:/ 'nameAndKind' smart constructor.+data NameAndKind = NameAndKind'+    { _nakKind :: !(Maybe NameAndKindKind)+    , _nakName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NameAndKind' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nakKind'+--+-- * 'nakName'+nameAndKind+    :: NameAndKind+nameAndKind =+    NameAndKind'+    { _nakKind = Nothing+    , _nakName = Nothing+    }++-- | Counter aggregation kind.+nakKind :: Lens' NameAndKind (Maybe NameAndKindKind)+nakKind = lens _nakKind (\ s a -> s{_nakKind = a})++-- | Name of the counter.+nakName :: Lens' NameAndKind (Maybe Text)+nakName = lens _nakName (\ s a -> s{_nakName = a})++instance FromJSON NameAndKind where+        parseJSON+          = withObject "NameAndKind"+              (\ o ->+                 NameAndKind' <$> (o .:? "kind") <*> (o .:? "name"))++instance ToJSON NameAndKind where+        toJSON NameAndKind'{..}+          = object+              (catMaybes+                 [("kind" .=) <$> _nakKind, ("name" .=) <$> _nakName])++-- | A metric value representing a list of integers.+--+-- /See:/ 'integerList' smart constructor.+newtype IntegerList = IntegerList'+    { _ilElements :: Maybe [SplitInt64]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegerList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilElements'+integerList+    :: IntegerList+integerList =+    IntegerList'+    { _ilElements = Nothing+    }++-- | Elements of the list.+ilElements :: Lens' IntegerList [SplitInt64]+ilElements+  = lens _ilElements (\ s a -> s{_ilElements = a}) .+      _Default+      . _Coerce++instance FromJSON IntegerList where+        parseJSON+          = withObject "IntegerList"+              (\ o ->+                 IntegerList' <$> (o .:? "elements" .!= mempty))++instance ToJSON IntegerList where+        toJSON IntegerList'{..}+          = object+              (catMaybes [("elements" .=) <$> _ilElements])++-- | WorkItem represents basic information about a WorkItem to be executed in+-- the cloud.+--+-- /See:/ 'workItem' smart constructor.+data WorkItem = WorkItem'+    { _wiJobId                    :: !(Maybe Text)+    , _wiReportStatusInterval     :: !(Maybe GDuration)+    , _wiShellTask                :: !(Maybe ShellTask)+    , _wiStreamingSetupTask       :: !(Maybe StreamingSetupTask)+    , _wiInitialReportIndex       :: !(Maybe (Textual Int64))+    , _wiMapTask                  :: !(Maybe MapTask)+    , _wiPackages                 :: !(Maybe [Package])+    , _wiStreamingComputationTask :: !(Maybe StreamingComputationTask)+    , _wiSourceOperationTask      :: !(Maybe SourceOperationRequest)+    , _wiId                       :: !(Maybe (Textual Int64))+    , _wiProjectId                :: !(Maybe Text)+    , _wiLeaseExpireTime          :: !(Maybe DateTime')+    , _wiConfiguration            :: !(Maybe Text)+    , _wiStreamingConfigTask      :: !(Maybe StreamingConfigTask)+    , _wiSeqMapTask               :: !(Maybe SeqMapTask)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wiJobId'+--+-- * 'wiReportStatusInterval'+--+-- * 'wiShellTask'+--+-- * 'wiStreamingSetupTask'+--+-- * 'wiInitialReportIndex'+--+-- * 'wiMapTask'+--+-- * 'wiPackages'+--+-- * 'wiStreamingComputationTask'+--+-- * 'wiSourceOperationTask'+--+-- * 'wiId'+--+-- * 'wiProjectId'+--+-- * 'wiLeaseExpireTime'+--+-- * 'wiConfiguration'+--+-- * 'wiStreamingConfigTask'+--+-- * 'wiSeqMapTask'+workItem+    :: WorkItem+workItem =+    WorkItem'+    { _wiJobId = Nothing+    , _wiReportStatusInterval = Nothing+    , _wiShellTask = Nothing+    , _wiStreamingSetupTask = Nothing+    , _wiInitialReportIndex = Nothing+    , _wiMapTask = Nothing+    , _wiPackages = Nothing+    , _wiStreamingComputationTask = Nothing+    , _wiSourceOperationTask = Nothing+    , _wiId = Nothing+    , _wiProjectId = Nothing+    , _wiLeaseExpireTime = Nothing+    , _wiConfiguration = Nothing+    , _wiStreamingConfigTask = Nothing+    , _wiSeqMapTask = Nothing+    }++-- | Identifies the workflow job this WorkItem belongs to.+wiJobId :: Lens' WorkItem (Maybe Text)+wiJobId = lens _wiJobId (\ s a -> s{_wiJobId = a})++-- | Recommended reporting interval.+wiReportStatusInterval :: Lens' WorkItem (Maybe Scientific)+wiReportStatusInterval+  = lens _wiReportStatusInterval+      (\ s a -> s{_wiReportStatusInterval = a})+      . mapping _GDuration++-- | Additional information for ShellTask WorkItems.+wiShellTask :: Lens' WorkItem (Maybe ShellTask)+wiShellTask+  = lens _wiShellTask (\ s a -> s{_wiShellTask = a})++-- | Additional information for StreamingSetupTask WorkItems.+wiStreamingSetupTask :: Lens' WorkItem (Maybe StreamingSetupTask)+wiStreamingSetupTask+  = lens _wiStreamingSetupTask+      (\ s a -> s{_wiStreamingSetupTask = a})++-- | The initial index to use when reporting the status of the WorkItem.+wiInitialReportIndex :: Lens' WorkItem (Maybe Int64)+wiInitialReportIndex+  = lens _wiInitialReportIndex+      (\ s a -> s{_wiInitialReportIndex = a})+      . mapping _Coerce++-- | Additional information for MapTask WorkItems.+wiMapTask :: Lens' WorkItem (Maybe MapTask)+wiMapTask+  = lens _wiMapTask (\ s a -> s{_wiMapTask = a})++-- | Any required packages that need to be fetched in order to execute this+-- WorkItem.+wiPackages :: Lens' WorkItem [Package]+wiPackages+  = lens _wiPackages (\ s a -> s{_wiPackages = a}) .+      _Default+      . _Coerce++-- | Additional information for StreamingComputationTask WorkItems.+wiStreamingComputationTask :: Lens' WorkItem (Maybe StreamingComputationTask)+wiStreamingComputationTask+  = lens _wiStreamingComputationTask+      (\ s a -> s{_wiStreamingComputationTask = a})++-- | Additional information for source operation WorkItems.+wiSourceOperationTask :: Lens' WorkItem (Maybe SourceOperationRequest)+wiSourceOperationTask+  = lens _wiSourceOperationTask+      (\ s a -> s{_wiSourceOperationTask = a})++-- | Identifies this WorkItem.+wiId :: Lens' WorkItem (Maybe Int64)+wiId+  = lens _wiId (\ s a -> s{_wiId = a}) .+      mapping _Coerce++-- | Identifies the cloud project this WorkItem belongs to.+wiProjectId :: Lens' WorkItem (Maybe Text)+wiProjectId+  = lens _wiProjectId (\ s a -> s{_wiProjectId = a})++-- | Time when the lease on this Work will expire.+wiLeaseExpireTime :: Lens' WorkItem (Maybe UTCTime)+wiLeaseExpireTime+  = lens _wiLeaseExpireTime+      (\ s a -> s{_wiLeaseExpireTime = a})+      . mapping _DateTime++-- | Work item-specific configuration as an opaque blob.+wiConfiguration :: Lens' WorkItem (Maybe Text)+wiConfiguration+  = lens _wiConfiguration+      (\ s a -> s{_wiConfiguration = a})++-- | Additional information for StreamingConfigTask WorkItems.+wiStreamingConfigTask :: Lens' WorkItem (Maybe StreamingConfigTask)+wiStreamingConfigTask+  = lens _wiStreamingConfigTask+      (\ s a -> s{_wiStreamingConfigTask = a})++-- | Additional information for SeqMapTask WorkItems.+wiSeqMapTask :: Lens' WorkItem (Maybe SeqMapTask)+wiSeqMapTask+  = lens _wiSeqMapTask (\ s a -> s{_wiSeqMapTask = a})++instance FromJSON WorkItem where+        parseJSON+          = withObject "WorkItem"+              (\ o ->+                 WorkItem' <$>+                   (o .:? "jobId") <*> (o .:? "reportStatusInterval")+                     <*> (o .:? "shellTask")+                     <*> (o .:? "streamingSetupTask")+                     <*> (o .:? "initialReportIndex")+                     <*> (o .:? "mapTask")+                     <*> (o .:? "packages" .!= mempty)+                     <*> (o .:? "streamingComputationTask")+                     <*> (o .:? "sourceOperationTask")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "leaseExpireTime")+                     <*> (o .:? "configuration")+                     <*> (o .:? "streamingConfigTask")+                     <*> (o .:? "seqMapTask"))++instance ToJSON WorkItem where+        toJSON WorkItem'{..}+          = object+              (catMaybes+                 [("jobId" .=) <$> _wiJobId,+                  ("reportStatusInterval" .=) <$>+                    _wiReportStatusInterval,+                  ("shellTask" .=) <$> _wiShellTask,+                  ("streamingSetupTask" .=) <$> _wiStreamingSetupTask,+                  ("initialReportIndex" .=) <$> _wiInitialReportIndex,+                  ("mapTask" .=) <$> _wiMapTask,+                  ("packages" .=) <$> _wiPackages,+                  ("streamingComputationTask" .=) <$>+                    _wiStreamingComputationTask,+                  ("sourceOperationTask" .=) <$>+                    _wiSourceOperationTask,+                  ("id" .=) <$> _wiId,+                  ("projectId" .=) <$> _wiProjectId,+                  ("leaseExpireTime" .=) <$> _wiLeaseExpireTime,+                  ("configuration" .=) <$> _wiConfiguration,+                  ("streamingConfigTask" .=) <$>+                    _wiStreamingConfigTask,+                  ("seqMapTask" .=) <$> _wiSeqMapTask])++-- | WorkerHealthReport contains information about the health of a worker.+-- The VM should be identified by the labels attached to the WorkerMessage+-- that this health ping belongs to.+--+-- /See:/ 'workerHealthReport' smart constructor.+data WorkerHealthReport = WorkerHealthReport'+    { _whrVMIsHealthy    :: !(Maybe Bool)+    , _whrReportInterval :: !(Maybe GDuration)+    , _whrPods           :: !(Maybe [WorkerHealthReportPodsItem])+    , _whrVMStartupTime  :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerHealthReport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'whrVMIsHealthy'+--+-- * 'whrReportInterval'+--+-- * 'whrPods'+--+-- * 'whrVMStartupTime'+workerHealthReport+    :: WorkerHealthReport+workerHealthReport =+    WorkerHealthReport'+    { _whrVMIsHealthy = Nothing+    , _whrReportInterval = Nothing+    , _whrPods = Nothing+    , _whrVMStartupTime = Nothing+    }++-- | Whether the VM is healthy.+whrVMIsHealthy :: Lens' WorkerHealthReport (Maybe Bool)+whrVMIsHealthy+  = lens _whrVMIsHealthy+      (\ s a -> s{_whrVMIsHealthy = a})++-- | The interval at which the worker is sending health reports. The default+-- value of 0 should be interpreted as the field is not being explicitly+-- set by the worker.+whrReportInterval :: Lens' WorkerHealthReport (Maybe Scientific)+whrReportInterval+  = lens _whrReportInterval+      (\ s a -> s{_whrReportInterval = a})+      . mapping _GDuration++-- | The pods running on the worker. See:+-- http:\/\/kubernetes.io\/v1.1\/docs\/api-reference\/v1\/definitions.html#_v1_pod+-- This field is used by the worker to send the status of the indvidual+-- containers running on each worker.+whrPods :: Lens' WorkerHealthReport [WorkerHealthReportPodsItem]+whrPods+  = lens _whrPods (\ s a -> s{_whrPods = a}) . _Default+      . _Coerce++-- | The time the VM was booted.+whrVMStartupTime :: Lens' WorkerHealthReport (Maybe UTCTime)+whrVMStartupTime+  = lens _whrVMStartupTime+      (\ s a -> s{_whrVMStartupTime = a})+      . mapping _DateTime++instance FromJSON WorkerHealthReport where+        parseJSON+          = withObject "WorkerHealthReport"+              (\ o ->+                 WorkerHealthReport' <$>+                   (o .:? "vmIsHealthy") <*> (o .:? "reportInterval")+                     <*> (o .:? "pods" .!= mempty)+                     <*> (o .:? "vmStartupTime"))++instance ToJSON WorkerHealthReport where+        toJSON WorkerHealthReport'{..}+          = object+              (catMaybes+                 [("vmIsHealthy" .=) <$> _whrVMIsHealthy,+                  ("reportInterval" .=) <$> _whrReportInterval,+                  ("pods" .=) <$> _whrPods,+                  ("vmStartupTime" .=) <$> _whrVMStartupTime])++-- | Represents a snapshot of a job.+--+-- /See:/ 'snapshot' smart constructor.+data Snapshot = Snapshot'+    { _sCreationTime :: !(Maybe DateTime')+    , _sTtl          :: !(Maybe GDuration)+    , _sSourceJobId  :: !(Maybe Text)+    , _sId           :: !(Maybe Text)+    , _sProjectId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Snapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sCreationTime'+--+-- * 'sTtl'+--+-- * 'sSourceJobId'+--+-- * 'sId'+--+-- * 'sProjectId'+snapshot+    :: Snapshot+snapshot =+    Snapshot'+    { _sCreationTime = Nothing+    , _sTtl = Nothing+    , _sSourceJobId = Nothing+    , _sId = Nothing+    , _sProjectId = Nothing+    }++-- | The time this snapshot was created.+sCreationTime :: Lens' Snapshot (Maybe UTCTime)+sCreationTime+  = lens _sCreationTime+      (\ s a -> s{_sCreationTime = a})+      . mapping _DateTime++-- | The time after which this snapshot will be automatically deleted.+sTtl :: Lens' Snapshot (Maybe Scientific)+sTtl+  = lens _sTtl (\ s a -> s{_sTtl = a}) .+      mapping _GDuration++-- | The job this snapshot was created from.+sSourceJobId :: Lens' Snapshot (Maybe Text)+sSourceJobId+  = lens _sSourceJobId (\ s a -> s{_sSourceJobId = a})++-- | The unique ID of this snapshot.+sId :: Lens' Snapshot (Maybe Text)+sId = lens _sId (\ s a -> s{_sId = a})++-- | The project this snapshot belongs to.+sProjectId :: Lens' Snapshot (Maybe Text)+sProjectId+  = lens _sProjectId (\ s a -> s{_sProjectId = a})++instance FromJSON Snapshot where+        parseJSON+          = withObject "Snapshot"+              (\ o ->+                 Snapshot' <$>+                   (o .:? "creationTime") <*> (o .:? "ttl") <*>+                     (o .:? "sourceJobId")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId"))++instance ToJSON Snapshot where+        toJSON Snapshot'{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _sCreationTime,+                  ("ttl" .=) <$> _sTtl,+                  ("sourceJobId" .=) <$> _sSourceJobId,+                  ("id" .=) <$> _sId,+                  ("projectId" .=) <$> _sProjectId])++-- | Hints for splitting a Source into bundles (parts for parallel+-- processing) using SourceSplitRequest.+--+-- /See:/ 'sourceSplitOptions' smart constructor.+data SourceSplitOptions = SourceSplitOptions'+    { _ssoDesiredShardSizeBytes  :: !(Maybe (Textual Int64))+    , _ssoDesiredBundleSizeBytes :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceSplitOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssoDesiredShardSizeBytes'+--+-- * 'ssoDesiredBundleSizeBytes'+sourceSplitOptions+    :: SourceSplitOptions+sourceSplitOptions =+    SourceSplitOptions'+    { _ssoDesiredShardSizeBytes = Nothing+    , _ssoDesiredBundleSizeBytes = Nothing+    }++-- | DEPRECATED in favor of desired_bundle_size_bytes.+ssoDesiredShardSizeBytes :: Lens' SourceSplitOptions (Maybe Int64)+ssoDesiredShardSizeBytes+  = lens _ssoDesiredShardSizeBytes+      (\ s a -> s{_ssoDesiredShardSizeBytes = a})+      . mapping _Coerce++-- | The source should be split into a set of bundles where the estimated+-- size of each is approximately this many bytes.+ssoDesiredBundleSizeBytes :: Lens' SourceSplitOptions (Maybe Int64)+ssoDesiredBundleSizeBytes+  = lens _ssoDesiredBundleSizeBytes+      (\ s a -> s{_ssoDesiredBundleSizeBytes = a})+      . mapping _Coerce++instance FromJSON SourceSplitOptions where+        parseJSON+          = withObject "SourceSplitOptions"+              (\ o ->+                 SourceSplitOptions' <$>+                   (o .:? "desiredShardSizeBytes") <*>+                     (o .:? "desiredBundleSizeBytes"))++instance ToJSON SourceSplitOptions where+        toJSON SourceSplitOptions'{..}+          = object+              (catMaybes+                 [("desiredShardSizeBytes" .=) <$>+                    _ssoDesiredShardSizeBytes,+                  ("desiredBundleSizeBytes" .=) <$>+                    _ssoDesiredBundleSizeBytes])++-- | Metadata to set on the Google Compute Engine VMs.+--+-- /See:/ 'workerPoolMetadata' smart constructor.+newtype WorkerPoolMetadata = WorkerPoolMetadata'+    { _wpmAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerPoolMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wpmAddtional'+workerPoolMetadata+    :: HashMap Text Text -- ^ 'wpmAddtional'+    -> WorkerPoolMetadata+workerPoolMetadata pWpmAddtional_ =+    WorkerPoolMetadata'+    { _wpmAddtional = _Coerce # pWpmAddtional_+    }++wpmAddtional :: Lens' WorkerPoolMetadata (HashMap Text Text)+wpmAddtional+  = lens _wpmAddtional (\ s a -> s{_wpmAddtional = a})+      . _Coerce++instance FromJSON WorkerPoolMetadata where+        parseJSON+          = withObject "WorkerPoolMetadata"+              (\ o -> WorkerPoolMetadata' <$> (parseJSONObject o))++instance ToJSON WorkerPoolMetadata where+        toJSON = toJSON . _wpmAddtional++-- | Settings for WorkerPool autoscaling.+--+-- /See:/ 'autoscalingSettings' smart constructor.+data AutoscalingSettings = AutoscalingSettings'+    { _asMaxNumWorkers :: !(Maybe (Textual Int32))+    , _asAlgorithm     :: !(Maybe AutoscalingSettingsAlgorithm)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalingSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asMaxNumWorkers'+--+-- * 'asAlgorithm'+autoscalingSettings+    :: AutoscalingSettings+autoscalingSettings =+    AutoscalingSettings'+    { _asMaxNumWorkers = Nothing+    , _asAlgorithm = Nothing+    }++-- | The maximum number of workers to cap scaling at.+asMaxNumWorkers :: Lens' AutoscalingSettings (Maybe Int32)+asMaxNumWorkers+  = lens _asMaxNumWorkers+      (\ s a -> s{_asMaxNumWorkers = a})+      . mapping _Coerce++-- | The algorithm to use for autoscaling.+asAlgorithm :: Lens' AutoscalingSettings (Maybe AutoscalingSettingsAlgorithm)+asAlgorithm+  = lens _asAlgorithm (\ s a -> s{_asAlgorithm = a})++instance FromJSON AutoscalingSettings where+        parseJSON+          = withObject "AutoscalingSettings"+              (\ o ->+                 AutoscalingSettings' <$>+                   (o .:? "maxNumWorkers") <*> (o .:? "algorithm"))++instance ToJSON AutoscalingSettings where+        toJSON AutoscalingSettings'{..}+          = object+              (catMaybes+                 [("maxNumWorkers" .=) <$> _asMaxNumWorkers,+                  ("algorithm" .=) <$> _asAlgorithm])++-- | Contains information about how a particular google.dataflow.v1beta3.Step+-- will be executed.+--+-- /See:/ 'jobExecutionStageInfo' smart constructor.+newtype JobExecutionStageInfo = JobExecutionStageInfo'+    { _jesiStepName :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobExecutionStageInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jesiStepName'+jobExecutionStageInfo+    :: JobExecutionStageInfo+jobExecutionStageInfo =+    JobExecutionStageInfo'+    { _jesiStepName = Nothing+    }++-- | The steps associated with the execution stage. Note that stages may have+-- several steps, and that a given step might be run by more than one+-- stage.+jesiStepName :: Lens' JobExecutionStageInfo [Text]+jesiStepName+  = lens _jesiStepName (\ s a -> s{_jesiStepName = a})+      . _Default+      . _Coerce++instance FromJSON JobExecutionStageInfo where+        parseJSON+          = withObject "JobExecutionStageInfo"+              (\ o ->+                 JobExecutionStageInfo' <$>+                   (o .:? "stepName" .!= mempty))++instance ToJSON JobExecutionStageInfo where+        toJSON JobExecutionStageInfo'{..}+          = object+              (catMaybes [("stepName" .=) <$> _jesiStepName])++-- | An output of an instruction.+--+-- /See:/ 'instructionOutput' smart constructor.+data InstructionOutput = InstructionOutput'+    { _ioOnlyCountValueBytes :: !(Maybe Bool)+    , _ioCodec               :: !(Maybe InstructionOutputCodec)+    , _ioName                :: !(Maybe Text)+    , _ioSystemName          :: !(Maybe Text)+    , _ioOriginalName        :: !(Maybe Text)+    , _ioOnlyCountKeyBytes   :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstructionOutput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ioOnlyCountValueBytes'+--+-- * 'ioCodec'+--+-- * 'ioName'+--+-- * 'ioSystemName'+--+-- * 'ioOriginalName'+--+-- * 'ioOnlyCountKeyBytes'+instructionOutput+    :: InstructionOutput+instructionOutput =+    InstructionOutput'+    { _ioOnlyCountValueBytes = Nothing+    , _ioCodec = Nothing+    , _ioName = Nothing+    , _ioSystemName = Nothing+    , _ioOriginalName = Nothing+    , _ioOnlyCountKeyBytes = Nothing+    }++-- | For system-generated byte and mean byte metrics, certain instructions+-- should only report the value size.+ioOnlyCountValueBytes :: Lens' InstructionOutput (Maybe Bool)+ioOnlyCountValueBytes+  = lens _ioOnlyCountValueBytes+      (\ s a -> s{_ioOnlyCountValueBytes = a})++-- | The codec to use to encode data being written via this output.+ioCodec :: Lens' InstructionOutput (Maybe InstructionOutputCodec)+ioCodec = lens _ioCodec (\ s a -> s{_ioCodec = a})++-- | The user-provided name of this output.+ioName :: Lens' InstructionOutput (Maybe Text)+ioName = lens _ioName (\ s a -> s{_ioName = a})++-- | System-defined name of this output. Unique across the workflow.+ioSystemName :: Lens' InstructionOutput (Maybe Text)+ioSystemName+  = lens _ioSystemName (\ s a -> s{_ioSystemName = a})++-- | System-defined name for this output in the original workflow graph.+-- Outputs that do not contribute to an original instruction do not set+-- this.+ioOriginalName :: Lens' InstructionOutput (Maybe Text)+ioOriginalName+  = lens _ioOriginalName+      (\ s a -> s{_ioOriginalName = a})++-- | For system-generated byte and mean byte metrics, certain instructions+-- should only report the key size.+ioOnlyCountKeyBytes :: Lens' InstructionOutput (Maybe Bool)+ioOnlyCountKeyBytes+  = lens _ioOnlyCountKeyBytes+      (\ s a -> s{_ioOnlyCountKeyBytes = a})++instance FromJSON InstructionOutput where+        parseJSON+          = withObject "InstructionOutput"+              (\ o ->+                 InstructionOutput' <$>+                   (o .:? "onlyCountValueBytes") <*> (o .:? "codec") <*>+                     (o .:? "name")+                     <*> (o .:? "systemName")+                     <*> (o .:? "originalName")+                     <*> (o .:? "onlyCountKeyBytes"))++instance ToJSON InstructionOutput where+        toJSON InstructionOutput'{..}+          = object+              (catMaybes+                 [("onlyCountValueBytes" .=) <$>+                    _ioOnlyCountValueBytes,+                  ("codec" .=) <$> _ioCodec, ("name" .=) <$> _ioName,+                  ("systemName" .=) <$> _ioSystemName,+                  ("originalName" .=) <$> _ioOriginalName,+                  ("onlyCountKeyBytes" .=) <$> _ioOnlyCountKeyBytes])++-- | A metric value representing temporal values of a variable.+--+-- /See:/ 'integerGauge' smart constructor.+data IntegerGauge = IntegerGauge'+    { _igValue     :: !(Maybe SplitInt64)+    , _igTimestamp :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegerGauge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igValue'+--+-- * 'igTimestamp'+integerGauge+    :: IntegerGauge+integerGauge =+    IntegerGauge'+    { _igValue = Nothing+    , _igTimestamp = Nothing+    }++-- | The value of the variable represented by this gauge.+igValue :: Lens' IntegerGauge (Maybe SplitInt64)+igValue = lens _igValue (\ s a -> s{_igValue = a})++-- | The time at which this value was measured. Measured as msecs from epoch.+igTimestamp :: Lens' IntegerGauge (Maybe UTCTime)+igTimestamp+  = lens _igTimestamp (\ s a -> s{_igTimestamp = a}) .+      mapping _DateTime++instance FromJSON IntegerGauge where+        parseJSON+          = withObject "IntegerGauge"+              (\ o ->+                 IntegerGauge' <$>+                   (o .:? "value") <*> (o .:? "timestamp"))++instance ToJSON IntegerGauge where+        toJSON IntegerGauge'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _igValue,+                  ("timestamp" .=) <$> _igTimestamp])++-- | Parameters to provide to the template being launched.+--+-- /See:/ 'launchTemplateParameters' smart constructor.+data LaunchTemplateParameters = LaunchTemplateParameters'+    { _ltpEnvironment :: !(Maybe RuntimeEnvironment)+    , _ltpJobName     :: !(Maybe Text)+    , _ltpParameters  :: !(Maybe LaunchTemplateParametersParameters)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchTemplateParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltpEnvironment'+--+-- * 'ltpJobName'+--+-- * 'ltpParameters'+launchTemplateParameters+    :: LaunchTemplateParameters+launchTemplateParameters =+    LaunchTemplateParameters'+    { _ltpEnvironment = Nothing+    , _ltpJobName = Nothing+    , _ltpParameters = Nothing+    }++-- | The runtime environment for the job.+ltpEnvironment :: Lens' LaunchTemplateParameters (Maybe RuntimeEnvironment)+ltpEnvironment+  = lens _ltpEnvironment+      (\ s a -> s{_ltpEnvironment = a})++-- | Required. The job name to use for the created job.+ltpJobName :: Lens' LaunchTemplateParameters (Maybe Text)+ltpJobName+  = lens _ltpJobName (\ s a -> s{_ltpJobName = a})++-- | The runtime parameters to pass to the job.+ltpParameters :: Lens' LaunchTemplateParameters (Maybe LaunchTemplateParametersParameters)+ltpParameters+  = lens _ltpParameters+      (\ s a -> s{_ltpParameters = a})++instance FromJSON LaunchTemplateParameters where+        parseJSON+          = withObject "LaunchTemplateParameters"+              (\ o ->+                 LaunchTemplateParameters' <$>+                   (o .:? "environment") <*> (o .:? "jobName") <*>+                     (o .:? "parameters"))++instance ToJSON LaunchTemplateParameters where+        toJSON LaunchTemplateParameters'{..}+          = object+              (catMaybes+                 [("environment" .=) <$> _ltpEnvironment,+                  ("jobName" .=) <$> _ltpJobName,+                  ("parameters" .=) <$> _ltpParameters])++-- | Request to report the status of WorkItems.+--+-- /See:/ 'reportWorkItemStatusRequest' smart constructor.+data ReportWorkItemStatusRequest = ReportWorkItemStatusRequest'+    { _rwisrCurrentWorkerTime :: !(Maybe DateTime')+    , _rwisrLocation          :: !(Maybe Text)+    , _rwisrWorkItemStatuses  :: !(Maybe [WorkItemStatus])+    , _rwisrWorkerId          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportWorkItemStatusRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rwisrCurrentWorkerTime'+--+-- * 'rwisrLocation'+--+-- * 'rwisrWorkItemStatuses'+--+-- * 'rwisrWorkerId'+reportWorkItemStatusRequest+    :: ReportWorkItemStatusRequest+reportWorkItemStatusRequest =+    ReportWorkItemStatusRequest'+    { _rwisrCurrentWorkerTime = Nothing+    , _rwisrLocation = Nothing+    , _rwisrWorkItemStatuses = Nothing+    , _rwisrWorkerId = Nothing+    }++-- | The current timestamp at the worker.+rwisrCurrentWorkerTime :: Lens' ReportWorkItemStatusRequest (Maybe UTCTime)+rwisrCurrentWorkerTime+  = lens _rwisrCurrentWorkerTime+      (\ s a -> s{_rwisrCurrentWorkerTime = a})+      . mapping _DateTime++-- | The location which contains the WorkItem\'s job.+rwisrLocation :: Lens' ReportWorkItemStatusRequest (Maybe Text)+rwisrLocation+  = lens _rwisrLocation+      (\ s a -> s{_rwisrLocation = a})++-- | The order is unimportant, except that the order of the+-- WorkItemServiceState messages in the ReportWorkItemStatusResponse+-- corresponds to the order of WorkItemStatus messages here.+rwisrWorkItemStatuses :: Lens' ReportWorkItemStatusRequest [WorkItemStatus]+rwisrWorkItemStatuses+  = lens _rwisrWorkItemStatuses+      (\ s a -> s{_rwisrWorkItemStatuses = a})+      . _Default+      . _Coerce++-- | The ID of the worker reporting the WorkItem status. If this does not+-- match the ID of the worker which the Dataflow service believes currently+-- has the lease on the WorkItem, the report will be dropped (with an error+-- response).+rwisrWorkerId :: Lens' ReportWorkItemStatusRequest (Maybe Text)+rwisrWorkerId+  = lens _rwisrWorkerId+      (\ s a -> s{_rwisrWorkerId = a})++instance FromJSON ReportWorkItemStatusRequest where+        parseJSON+          = withObject "ReportWorkItemStatusRequest"+              (\ o ->+                 ReportWorkItemStatusRequest' <$>+                   (o .:? "currentWorkerTime") <*> (o .:? "location")+                     <*> (o .:? "workItemStatuses" .!= mempty)+                     <*> (o .:? "workerId"))++instance ToJSON ReportWorkItemStatusRequest where+        toJSON ReportWorkItemStatusRequest'{..}+          = object+              (catMaybes+                 [("currentWorkerTime" .=) <$>+                    _rwisrCurrentWorkerTime,+                  ("location" .=) <$> _rwisrLocation,+                  ("workItemStatuses" .=) <$> _rwisrWorkItemStatuses,+                  ("workerId" .=) <$> _rwisrWorkerId])++-- | A structure describing which components and their versions of the+-- service are required in order to run the job.+--+-- /See:/ 'environmentVersion' smart constructor.+newtype EnvironmentVersion = EnvironmentVersion'+    { _evAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evAddtional'+environmentVersion+    :: HashMap Text JSONValue -- ^ 'evAddtional'+    -> EnvironmentVersion+environmentVersion pEvAddtional_ =+    EnvironmentVersion'+    { _evAddtional = _Coerce # pEvAddtional_+    }++-- | Properties of the object.+evAddtional :: Lens' EnvironmentVersion (HashMap Text JSONValue)+evAddtional+  = lens _evAddtional (\ s a -> s{_evAddtional = a}) .+      _Coerce++instance FromJSON EnvironmentVersion where+        parseJSON+          = withObject "EnvironmentVersion"+              (\ o -> EnvironmentVersion' <$> (parseJSONObject o))++instance ToJSON EnvironmentVersion where+        toJSON = toJSON . _evAddtional++-- | Streaming appliance snapshot configuration.+--+-- /See:/ 'streamingApplianceSnapshotConfig' smart constructor.+data StreamingApplianceSnapshotConfig = StreamingApplianceSnapshotConfig'+    { _sascImportStateEndpoint :: !(Maybe Text)+    , _sascSnapshotId          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingApplianceSnapshotConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sascImportStateEndpoint'+--+-- * 'sascSnapshotId'+streamingApplianceSnapshotConfig+    :: StreamingApplianceSnapshotConfig+streamingApplianceSnapshotConfig =+    StreamingApplianceSnapshotConfig'+    { _sascImportStateEndpoint = Nothing+    , _sascSnapshotId = Nothing+    }++-- | Indicates which endpoint is used to import appliance state.+sascImportStateEndpoint :: Lens' StreamingApplianceSnapshotConfig (Maybe Text)+sascImportStateEndpoint+  = lens _sascImportStateEndpoint+      (\ s a -> s{_sascImportStateEndpoint = a})++-- | If set, indicates the snapshot id for the snapshot being performed.+sascSnapshotId :: Lens' StreamingApplianceSnapshotConfig (Maybe Text)+sascSnapshotId+  = lens _sascSnapshotId+      (\ s a -> s{_sascSnapshotId = a})++instance FromJSON StreamingApplianceSnapshotConfig+         where+        parseJSON+          = withObject "StreamingApplianceSnapshotConfig"+              (\ o ->+                 StreamingApplianceSnapshotConfig' <$>+                   (o .:? "importStateEndpoint") <*>+                     (o .:? "snapshotId"))++instance ToJSON StreamingApplianceSnapshotConfig+         where+        toJSON StreamingApplianceSnapshotConfig'{..}+          = object+              (catMaybes+                 [("importStateEndpoint" .=) <$>+                    _sascImportStateEndpoint,+                  ("snapshotId" .=) <$> _sascSnapshotId])++-- | A sink that records can be encoded and written to.+--+-- /See:/ 'sink' smart constructor.+data Sink = Sink'+    { _sCodec :: !(Maybe SinkCodec)+    , _sSpec  :: !(Maybe SinkSpec)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Sink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sCodec'+--+-- * 'sSpec'+sink+    :: Sink+sink =+    Sink'+    { _sCodec = Nothing+    , _sSpec = Nothing+    }++-- | The codec to use to encode data written to the sink.+sCodec :: Lens' Sink (Maybe SinkCodec)+sCodec = lens _sCodec (\ s a -> s{_sCodec = a})++-- | The sink to write to, plus its parameters.+sSpec :: Lens' Sink (Maybe SinkSpec)+sSpec = lens _sSpec (\ s a -> s{_sSpec = a})++instance FromJSON Sink where+        parseJSON+          = withObject "Sink"+              (\ o -> Sink' <$> (o .:? "codec") <*> (o .:? "spec"))++instance ToJSON Sink where+        toJSON Sink'{..}+          = object+              (catMaybes+                 [("codec" .=) <$> _sCodec, ("spec" .=) <$> _sSpec])++-- | A metric value representing a list of strings.+--+-- /See:/ 'stringList' smart constructor.+newtype StringList = StringList'+    { _slElements :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StringList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slElements'+stringList+    :: StringList+stringList =+    StringList'+    { _slElements = Nothing+    }++-- | Elements of the list.+slElements :: Lens' StringList [Text]+slElements+  = lens _slElements (\ s a -> s{_slElements = a}) .+      _Default+      . _Coerce++instance FromJSON StringList where+        parseJSON+          = withObject "StringList"+              (\ o ->+                 StringList' <$> (o .:? "elements" .!= mempty))++instance ToJSON StringList where+        toJSON StringList'{..}+          = object+              (catMaybes [("elements" .=) <$> _slElements])++-- | WorkerHealthReportResponse contains information returned to the worker+-- in response to a health ping.+--+-- /See:/ 'workerHealthReportResponse' smart constructor.+newtype WorkerHealthReportResponse = WorkerHealthReportResponse'+    { _whrrReportInterval :: Maybe GDuration+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerHealthReportResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'whrrReportInterval'+workerHealthReportResponse+    :: WorkerHealthReportResponse+workerHealthReportResponse =+    WorkerHealthReportResponse'+    { _whrrReportInterval = Nothing+    }++-- | A positive value indicates the worker should change its reporting+-- interval to the specified value. The default value of zero means no+-- change in report rate is requested by the server.+whrrReportInterval :: Lens' WorkerHealthReportResponse (Maybe Scientific)+whrrReportInterval+  = lens _whrrReportInterval+      (\ s a -> s{_whrrReportInterval = a})+      . mapping _GDuration++instance FromJSON WorkerHealthReportResponse where+        parseJSON+          = withObject "WorkerHealthReportResponse"+              (\ o ->+                 WorkerHealthReportResponse' <$>+                   (o .:? "reportInterval"))++instance ToJSON WorkerHealthReportResponse where+        toJSON WorkerHealthReportResponse'{..}+          = object+              (catMaybes+                 [("reportInterval" .=) <$> _whrrReportInterval])++-- | Data provided with a pipeline or transform to provide descriptive info.+--+-- /See:/ 'displayData' smart constructor.+data DisplayData = DisplayData'+    { _ddDurationValue  :: !(Maybe GDuration)+    , _ddBoolValue      :: !(Maybe Bool)+    , _ddTimestampValue :: !(Maybe DateTime')+    , _ddURL            :: !(Maybe Text)+    , _ddNamespace      :: !(Maybe Text)+    , _ddJavaClassValue :: !(Maybe Text)+    , _ddShortStrValue  :: !(Maybe Text)+    , _ddKey            :: !(Maybe Text)+    , _ddInt64Value     :: !(Maybe (Textual Int64))+    , _ddFloatValue     :: !(Maybe (Textual Double))+    , _ddStrValue       :: !(Maybe Text)+    , _ddLabel          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisplayData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddDurationValue'+--+-- * 'ddBoolValue'+--+-- * 'ddTimestampValue'+--+-- * 'ddURL'+--+-- * 'ddNamespace'+--+-- * 'ddJavaClassValue'+--+-- * 'ddShortStrValue'+--+-- * 'ddKey'+--+-- * 'ddInt64Value'+--+-- * 'ddFloatValue'+--+-- * 'ddStrValue'+--+-- * 'ddLabel'+displayData+    :: DisplayData+displayData =+    DisplayData'+    { _ddDurationValue = Nothing+    , _ddBoolValue = Nothing+    , _ddTimestampValue = Nothing+    , _ddURL = Nothing+    , _ddNamespace = Nothing+    , _ddJavaClassValue = Nothing+    , _ddShortStrValue = Nothing+    , _ddKey = Nothing+    , _ddInt64Value = Nothing+    , _ddFloatValue = Nothing+    , _ddStrValue = Nothing+    , _ddLabel = Nothing+    }++-- | Contains value if the data is of duration type.+ddDurationValue :: Lens' DisplayData (Maybe Scientific)+ddDurationValue+  = lens _ddDurationValue+      (\ s a -> s{_ddDurationValue = a})+      . mapping _GDuration++-- | Contains value if the data is of a boolean type.+ddBoolValue :: Lens' DisplayData (Maybe Bool)+ddBoolValue+  = lens _ddBoolValue (\ s a -> s{_ddBoolValue = a})++-- | Contains value if the data is of timestamp type.+ddTimestampValue :: Lens' DisplayData (Maybe UTCTime)+ddTimestampValue+  = lens _ddTimestampValue+      (\ s a -> s{_ddTimestampValue = a})+      . mapping _DateTime++-- | An optional full URL.+ddURL :: Lens' DisplayData (Maybe Text)+ddURL = lens _ddURL (\ s a -> s{_ddURL = a})++-- | The namespace for the key. This is usually a class name or programming+-- language namespace (i.e. python module) which defines the display data.+-- This allows a dax monitoring system to specially handle the data and+-- perform custom rendering.+ddNamespace :: Lens' DisplayData (Maybe Text)+ddNamespace+  = lens _ddNamespace (\ s a -> s{_ddNamespace = a})++-- | Contains value if the data is of java class type.+ddJavaClassValue :: Lens' DisplayData (Maybe Text)+ddJavaClassValue+  = lens _ddJavaClassValue+      (\ s a -> s{_ddJavaClassValue = a})++-- | A possible additional shorter value to display. For example a+-- java_class_name_value of com.mypackage.MyDoFn will be stored with MyDoFn+-- as the short_str_value and com.mypackage.MyDoFn as the java_class_name+-- value. short_str_value can be displayed and java_class_name_value will+-- be displayed as a tooltip.+ddShortStrValue :: Lens' DisplayData (Maybe Text)+ddShortStrValue+  = lens _ddShortStrValue+      (\ s a -> s{_ddShortStrValue = a})++-- | The key identifying the display data. This is intended to be used as a+-- label for the display data when viewed in a dax monitoring system.+ddKey :: Lens' DisplayData (Maybe Text)+ddKey = lens _ddKey (\ s a -> s{_ddKey = a})++-- | Contains value if the data is of int64 type.+ddInt64Value :: Lens' DisplayData (Maybe Int64)+ddInt64Value+  = lens _ddInt64Value (\ s a -> s{_ddInt64Value = a})+      . mapping _Coerce++-- | Contains value if the data is of float type.+ddFloatValue :: Lens' DisplayData (Maybe Double)+ddFloatValue+  = lens _ddFloatValue (\ s a -> s{_ddFloatValue = a})+      . mapping _Coerce++-- | Contains value if the data is of string type.+ddStrValue :: Lens' DisplayData (Maybe Text)+ddStrValue+  = lens _ddStrValue (\ s a -> s{_ddStrValue = a})++-- | An optional label to display in a dax UI for the element.+ddLabel :: Lens' DisplayData (Maybe Text)+ddLabel = lens _ddLabel (\ s a -> s{_ddLabel = a})++instance FromJSON DisplayData where+        parseJSON+          = withObject "DisplayData"+              (\ o ->+                 DisplayData' <$>+                   (o .:? "durationValue") <*> (o .:? "boolValue") <*>+                     (o .:? "timestampValue")+                     <*> (o .:? "url")+                     <*> (o .:? "namespace")+                     <*> (o .:? "javaClassValue")+                     <*> (o .:? "shortStrValue")+                     <*> (o .:? "key")+                     <*> (o .:? "int64Value")+                     <*> (o .:? "floatValue")+                     <*> (o .:? "strValue")+                     <*> (o .:? "label"))++instance ToJSON DisplayData where+        toJSON DisplayData'{..}+          = object+              (catMaybes+                 [("durationValue" .=) <$> _ddDurationValue,+                  ("boolValue" .=) <$> _ddBoolValue,+                  ("timestampValue" .=) <$> _ddTimestampValue,+                  ("url" .=) <$> _ddURL,+                  ("namespace" .=) <$> _ddNamespace,+                  ("javaClassValue" .=) <$> _ddJavaClassValue,+                  ("shortStrValue" .=) <$> _ddShortStrValue,+                  ("key" .=) <$> _ddKey,+                  ("int64Value" .=) <$> _ddInt64Value,+                  ("floatValue" .=) <$> _ddFloatValue,+                  ("strValue" .=) <$> _ddStrValue,+                  ("label" .=) <$> _ddLabel])++-- | Response to a send capture request. nothing+--+-- /See:/ 'sendDebugCaptureResponse' smart constructor.+data SendDebugCaptureResponse =+    SendDebugCaptureResponse'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SendDebugCaptureResponse' with the minimum fields required to make a request.+--+sendDebugCaptureResponse+    :: SendDebugCaptureResponse+sendDebugCaptureResponse = SendDebugCaptureResponse'++instance FromJSON SendDebugCaptureResponse where+        parseJSON+          = withObject "SendDebugCaptureResponse"+              (\ o -> pure SendDebugCaptureResponse')++instance ToJSON SendDebugCaptureResponse where+        toJSON = const emptyObject++-- | A rich message format, including a human readable string, a key for+-- identifying the message, and structured data associated with the message+-- for programmatic consumption.+--+-- /See:/ 'structuredMessage' smart constructor.+data StructuredMessage = StructuredMessage'+    { _smMessageText :: !(Maybe Text)+    , _smMessageKey  :: !(Maybe Text)+    , _smParameters  :: !(Maybe [Parameter])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StructuredMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smMessageText'+--+-- * 'smMessageKey'+--+-- * 'smParameters'+structuredMessage+    :: StructuredMessage+structuredMessage =+    StructuredMessage'+    { _smMessageText = Nothing+    , _smMessageKey = Nothing+    , _smParameters = Nothing+    }++-- | Human-readable version of message.+smMessageText :: Lens' StructuredMessage (Maybe Text)+smMessageText+  = lens _smMessageText+      (\ s a -> s{_smMessageText = a})++-- | Idenfier for this message type. Used by external systems to+-- internationalize or personalize message.+smMessageKey :: Lens' StructuredMessage (Maybe Text)+smMessageKey+  = lens _smMessageKey (\ s a -> s{_smMessageKey = a})++-- | The structured data associated with this message.+smParameters :: Lens' StructuredMessage [Parameter]+smParameters+  = lens _smParameters (\ s a -> s{_smParameters = a})+      . _Default+      . _Coerce++instance FromJSON StructuredMessage where+        parseJSON+          = withObject "StructuredMessage"+              (\ o ->+                 StructuredMessage' <$>+                   (o .:? "messageText") <*> (o .:? "messageKey") <*>+                     (o .:? "parameters" .!= mempty))++instance ToJSON StructuredMessage where+        toJSON StructuredMessage'{..}+          = object+              (catMaybes+                 [("messageText" .=) <$> _smMessageText,+                  ("messageKey" .=) <$> _smMessageKey,+                  ("parameters" .=) <$> _smParameters])++-- | User-defined labels for this job. The labels map can contain no more+-- than 64 entries. Entries of the labels map are UTF8 strings that comply+-- with the following restrictions: * Keys must conform to regexp:+-- \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp:+-- [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally+-- constrained to be \<= 128 bytes in size.+--+-- /See:/ 'jobLabels' smart constructor.+newtype JobLabels = JobLabels'+    { _jlAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jlAddtional'+jobLabels+    :: HashMap Text Text -- ^ 'jlAddtional'+    -> JobLabels+jobLabels pJlAddtional_ =+    JobLabels'+    { _jlAddtional = _Coerce # pJlAddtional_+    }++jlAddtional :: Lens' JobLabels (HashMap Text Text)+jlAddtional+  = lens _jlAddtional (\ s a -> s{_jlAddtional = a}) .+      _Coerce++instance FromJSON JobLabels where+        parseJSON+          = withObject "JobLabels"+              (\ o -> JobLabels' <$> (parseJSONObject o))++instance ToJSON JobLabels where+        toJSON = toJSON . _jlAddtional++-- | Identifies a metric, by describing the source which generated the+-- metric.+--+-- /See:/ 'metricStructuredName' smart constructor.+data MetricStructuredName = MetricStructuredName'+    { _msnOrigin  :: !(Maybe Text)+    , _msnContext :: !(Maybe MetricStructuredNameContext)+    , _msnName    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricStructuredName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'msnOrigin'+--+-- * 'msnContext'+--+-- * 'msnName'+metricStructuredName+    :: MetricStructuredName+metricStructuredName =+    MetricStructuredName'+    { _msnOrigin = Nothing+    , _msnContext = Nothing+    , _msnName = Nothing+    }++-- | Origin (namespace) of metric name. May be blank for user-define metrics;+-- will be \"dataflow\" for metrics defined by the Dataflow service or SDK.+msnOrigin :: Lens' MetricStructuredName (Maybe Text)+msnOrigin+  = lens _msnOrigin (\ s a -> s{_msnOrigin = a})++-- | Zero or more labeled fields which identify the part of the job this+-- metric is associated with, such as the name of a step or collection. For+-- example, built-in counters associated with steps will have+-- context[\'step\'] = . Counters associated with PCollections in the SDK+-- will have context[\'pcollection\'] = .+msnContext :: Lens' MetricStructuredName (Maybe MetricStructuredNameContext)+msnContext+  = lens _msnContext (\ s a -> s{_msnContext = a})++-- | Worker-defined metric name.+msnName :: Lens' MetricStructuredName (Maybe Text)+msnName = lens _msnName (\ s a -> s{_msnName = a})++instance FromJSON MetricStructuredName where+        parseJSON+          = withObject "MetricStructuredName"+              (\ o ->+                 MetricStructuredName' <$>+                   (o .:? "origin") <*> (o .:? "context") <*>+                     (o .:? "name"))++instance ToJSON MetricStructuredName where+        toJSON MetricStructuredName'{..}+          = object+              (catMaybes+                 [("origin" .=) <$> _msnOrigin,+                  ("context" .=) <$> _msnContext,+                  ("name" .=) <$> _msnName])++-- | Metadata for a BigQuery connector used by the job.+--+-- /See:/ 'bigQueryIODetails' smart constructor.+data BigQueryIODetails = BigQueryIODetails'+    { _bqiodDataSet   :: !(Maybe Text)+    , _bqiodQuery     :: !(Maybe Text)+    , _bqiodProjectId :: !(Maybe Text)+    , _bqiodTable     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BigQueryIODetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bqiodDataSet'+--+-- * 'bqiodQuery'+--+-- * 'bqiodProjectId'+--+-- * 'bqiodTable'+bigQueryIODetails+    :: BigQueryIODetails+bigQueryIODetails =+    BigQueryIODetails'+    { _bqiodDataSet = Nothing+    , _bqiodQuery = Nothing+    , _bqiodProjectId = Nothing+    , _bqiodTable = Nothing+    }++-- | Dataset accessed in the connection.+bqiodDataSet :: Lens' BigQueryIODetails (Maybe Text)+bqiodDataSet+  = lens _bqiodDataSet (\ s a -> s{_bqiodDataSet = a})++-- | Query used to access data in the connection.+bqiodQuery :: Lens' BigQueryIODetails (Maybe Text)+bqiodQuery+  = lens _bqiodQuery (\ s a -> s{_bqiodQuery = a})++-- | Project accessed in the connection.+bqiodProjectId :: Lens' BigQueryIODetails (Maybe Text)+bqiodProjectId+  = lens _bqiodProjectId+      (\ s a -> s{_bqiodProjectId = a})++-- | Table accessed in the connection.+bqiodTable :: Lens' BigQueryIODetails (Maybe Text)+bqiodTable+  = lens _bqiodTable (\ s a -> s{_bqiodTable = a})++instance FromJSON BigQueryIODetails where+        parseJSON+          = withObject "BigQueryIODetails"+              (\ o ->+                 BigQueryIODetails' <$>+                   (o .:? "dataset") <*> (o .:? "query") <*>+                     (o .:? "projectId")+                     <*> (o .:? "table"))++instance ToJSON BigQueryIODetails where+        toJSON BigQueryIODetails'{..}+          = object+              (catMaybes+                 [("dataset" .=) <$> _bqiodDataSet,+                  ("query" .=) <$> _bqiodQuery,+                  ("projectId" .=) <$> _bqiodProjectId,+                  ("table" .=) <$> _bqiodTable])++-- | Metadata for a File connector used by the job.+--+-- /See:/ 'fileIODetails' smart constructor.+newtype FileIODetails = FileIODetails'+    { _fiodFilePattern :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileIODetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiodFilePattern'+fileIODetails+    :: FileIODetails+fileIODetails =+    FileIODetails'+    { _fiodFilePattern = Nothing+    }++-- | File Pattern used to access files by the connector.+fiodFilePattern :: Lens' FileIODetails (Maybe Text)+fiodFilePattern+  = lens _fiodFilePattern+      (\ s a -> s{_fiodFilePattern = a})++instance FromJSON FileIODetails where+        parseJSON+          = withObject "FileIODetails"+              (\ o -> FileIODetails' <$> (o .:? "filePattern"))++instance ToJSON FileIODetails where+        toJSON FileIODetails'{..}+          = object+              (catMaybes [("filePattern" .=) <$> _fiodFilePattern])++-- | Identifies a counter within a per-job namespace. Counters whose+-- structured names are the same get merged into a single value for the+-- job.+--+-- /See:/ 'counterStructuredName' smart constructor.+data CounterStructuredName = CounterStructuredName'+    { _csnOrigin                     :: !(Maybe CounterStructuredNameOrigin)+    , _csnOriginNamespace            :: !(Maybe Text)+    , _csnComponentStepName          :: !(Maybe Text)+    , _csnPortion                    :: !(Maybe CounterStructuredNamePortion)+    , _csnOriginalStepName           :: !(Maybe Text)+    , _csnName                       :: !(Maybe Text)+    , _csnExecutionStepName          :: !(Maybe Text)+    , _csnOriginalRequestingStepName :: !(Maybe Text)+    , _csnInputIndex                 :: !(Maybe (Textual Int32))+    , _csnWorkerId                   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CounterStructuredName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csnOrigin'+--+-- * 'csnOriginNamespace'+--+-- * 'csnComponentStepName'+--+-- * 'csnPortion'+--+-- * 'csnOriginalStepName'+--+-- * 'csnName'+--+-- * 'csnExecutionStepName'+--+-- * 'csnOriginalRequestingStepName'+--+-- * 'csnInputIndex'+--+-- * 'csnWorkerId'+counterStructuredName+    :: CounterStructuredName+counterStructuredName =+    CounterStructuredName'+    { _csnOrigin = Nothing+    , _csnOriginNamespace = Nothing+    , _csnComponentStepName = Nothing+    , _csnPortion = Nothing+    , _csnOriginalStepName = Nothing+    , _csnName = Nothing+    , _csnExecutionStepName = Nothing+    , _csnOriginalRequestingStepName = Nothing+    , _csnInputIndex = Nothing+    , _csnWorkerId = Nothing+    }++-- | One of the standard Origins defined above.+csnOrigin :: Lens' CounterStructuredName (Maybe CounterStructuredNameOrigin)+csnOrigin+  = lens _csnOrigin (\ s a -> s{_csnOrigin = a})++-- | A string containing a more specific namespace of the counter\'s origin.+csnOriginNamespace :: Lens' CounterStructuredName (Maybe Text)+csnOriginNamespace+  = lens _csnOriginNamespace+      (\ s a -> s{_csnOriginNamespace = a})++-- | Name of the optimized step being executed by the workers.+csnComponentStepName :: Lens' CounterStructuredName (Maybe Text)+csnComponentStepName+  = lens _csnComponentStepName+      (\ s a -> s{_csnComponentStepName = a})++-- | Portion of this counter, either key or value.+csnPortion :: Lens' CounterStructuredName (Maybe CounterStructuredNamePortion)+csnPortion+  = lens _csnPortion (\ s a -> s{_csnPortion = a})++-- | System generated name of the original step in the user\'s graph, before+-- optimization.+csnOriginalStepName :: Lens' CounterStructuredName (Maybe Text)+csnOriginalStepName+  = lens _csnOriginalStepName+      (\ s a -> s{_csnOriginalStepName = a})++-- | Counter name. Not necessarily globally-unique, but unique within the+-- context of the other fields. Required.+csnName :: Lens' CounterStructuredName (Maybe Text)+csnName = lens _csnName (\ s a -> s{_csnName = a})++-- | Name of the stage. An execution step contains multiple component steps.+csnExecutionStepName :: Lens' CounterStructuredName (Maybe Text)+csnExecutionStepName+  = lens _csnExecutionStepName+      (\ s a -> s{_csnExecutionStepName = a})++-- | The step name requesting an operation, such as GBK. I.e. the ParDo+-- causing a read\/write from shuffle to occur, or a read from side inputs.+csnOriginalRequestingStepName :: Lens' CounterStructuredName (Maybe Text)+csnOriginalRequestingStepName+  = lens _csnOriginalRequestingStepName+      (\ s a -> s{_csnOriginalRequestingStepName = a})++-- | Index of an input collection that\'s being read from\/written to as a+-- side input. The index identifies a step\'s side inputs starting by 1+-- (e.g. the first side input has input_index 1, the third has input_index+-- 3). Side inputs are identified by a pair of (original_step_name,+-- input_index). This field helps uniquely identify them.+csnInputIndex :: Lens' CounterStructuredName (Maybe Int32)+csnInputIndex+  = lens _csnInputIndex+      (\ s a -> s{_csnInputIndex = a})+      . mapping _Coerce++-- | ID of a particular worker.+csnWorkerId :: Lens' CounterStructuredName (Maybe Text)+csnWorkerId+  = lens _csnWorkerId (\ s a -> s{_csnWorkerId = a})++instance FromJSON CounterStructuredName where+        parseJSON+          = withObject "CounterStructuredName"+              (\ o ->+                 CounterStructuredName' <$>+                   (o .:? "origin") <*> (o .:? "originNamespace") <*>+                     (o .:? "componentStepName")+                     <*> (o .:? "portion")+                     <*> (o .:? "originalStepName")+                     <*> (o .:? "name")+                     <*> (o .:? "executionStepName")+                     <*> (o .:? "originalRequestingStepName")+                     <*> (o .:? "inputIndex")+                     <*> (o .:? "workerId"))++instance ToJSON CounterStructuredName where+        toJSON CounterStructuredName'{..}+          = object+              (catMaybes+                 [("origin" .=) <$> _csnOrigin,+                  ("originNamespace" .=) <$> _csnOriginNamespace,+                  ("componentStepName" .=) <$> _csnComponentStepName,+                  ("portion" .=) <$> _csnPortion,+                  ("originalStepName" .=) <$> _csnOriginalStepName,+                  ("name" .=) <$> _csnName,+                  ("executionStepName" .=) <$> _csnExecutionStepName,+                  ("originalRequestingStepName" .=) <$>+                    _csnOriginalRequestingStepName,+                  ("inputIndex" .=) <$> _csnInputIndex,+                  ("workerId" .=) <$> _csnWorkerId])++-- | Metadata available primarily for filtering jobs. Will be included in the+-- ListJob response and Job SUMMARY view+.+--+-- /See:/ 'jobMetadata' smart constructor.+data JobMetadata = JobMetadata'+    { _jmSpannerDetails   :: !(Maybe [SpannerIODetails])+    , _jmBigTableDetails  :: !(Maybe [BigTableIODetails])+    , _jmSdkVersion       :: !(Maybe SdkVersion)+    , _jmPubsubDetails    :: !(Maybe [PubSubIODetails])+    , _jmFileDetails      :: !(Maybe [FileIODetails])+    , _jmBigQueryDetails  :: !(Maybe [BigQueryIODetails])+    , _jmDatastoreDetails :: !(Maybe [DatastoreIODetails])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jmSpannerDetails'+--+-- * 'jmBigTableDetails'+--+-- * 'jmSdkVersion'+--+-- * 'jmPubsubDetails'+--+-- * 'jmFileDetails'+--+-- * 'jmBigQueryDetails'+--+-- * 'jmDatastoreDetails'+jobMetadata+    :: JobMetadata+jobMetadata =+    JobMetadata'+    { _jmSpannerDetails = Nothing+    , _jmBigTableDetails = Nothing+    , _jmSdkVersion = Nothing+    , _jmPubsubDetails = Nothing+    , _jmFileDetails = Nothing+    , _jmBigQueryDetails = Nothing+    , _jmDatastoreDetails = Nothing+    }++-- | Identification of a Spanner source used in the Dataflow job.+jmSpannerDetails :: Lens' JobMetadata [SpannerIODetails]+jmSpannerDetails+  = lens _jmSpannerDetails+      (\ s a -> s{_jmSpannerDetails = a})+      . _Default+      . _Coerce++-- | Identification of a BigTable source used in the Dataflow job.+jmBigTableDetails :: Lens' JobMetadata [BigTableIODetails]+jmBigTableDetails+  = lens _jmBigTableDetails+      (\ s a -> s{_jmBigTableDetails = a})+      . _Default+      . _Coerce++-- | The SDK version used to run the job.+jmSdkVersion :: Lens' JobMetadata (Maybe SdkVersion)+jmSdkVersion+  = lens _jmSdkVersion (\ s a -> s{_jmSdkVersion = a})++-- | Identification of a PubSub source used in the Dataflow job.+jmPubsubDetails :: Lens' JobMetadata [PubSubIODetails]+jmPubsubDetails+  = lens _jmPubsubDetails+      (\ s a -> s{_jmPubsubDetails = a})+      . _Default+      . _Coerce++-- | Identification of a File source used in the Dataflow job.+jmFileDetails :: Lens' JobMetadata [FileIODetails]+jmFileDetails+  = lens _jmFileDetails+      (\ s a -> s{_jmFileDetails = a})+      . _Default+      . _Coerce++-- | Identification of a BigQuery source used in the Dataflow job.+jmBigQueryDetails :: Lens' JobMetadata [BigQueryIODetails]+jmBigQueryDetails+  = lens _jmBigQueryDetails+      (\ s a -> s{_jmBigQueryDetails = a})+      . _Default+      . _Coerce++-- | Identification of a Datastore source used in the Dataflow job.+jmDatastoreDetails :: Lens' JobMetadata [DatastoreIODetails]+jmDatastoreDetails+  = lens _jmDatastoreDetails+      (\ s a -> s{_jmDatastoreDetails = a})+      . _Default+      . _Coerce++instance FromJSON JobMetadata where+        parseJSON+          = withObject "JobMetadata"+              (\ o ->+                 JobMetadata' <$>+                   (o .:? "spannerDetails" .!= mempty) <*>+                     (o .:? "bigTableDetails" .!= mempty)+                     <*> (o .:? "sdkVersion")+                     <*> (o .:? "pubsubDetails" .!= mempty)+                     <*> (o .:? "fileDetails" .!= mempty)+                     <*> (o .:? "bigqueryDetails" .!= mempty)+                     <*> (o .:? "datastoreDetails" .!= mempty))++instance ToJSON JobMetadata where+        toJSON JobMetadata'{..}+          = object+              (catMaybes+                 [("spannerDetails" .=) <$> _jmSpannerDetails,+                  ("bigTableDetails" .=) <$> _jmBigTableDetails,+                  ("sdkVersion" .=) <$> _jmSdkVersion,+                  ("pubsubDetails" .=) <$> _jmPubsubDetails,+                  ("fileDetails" .=) <$> _jmFileDetails,+                  ("bigqueryDetails" .=) <$> _jmBigQueryDetails,+                  ("datastoreDetails" .=) <$> _jmDatastoreDetails])++-- | The response to a GetTemplate request.+--+-- /See:/ 'getTemplateResponse' smart constructor.+data GetTemplateResponse = GetTemplateResponse'+    { _gtrStatus   :: !(Maybe Status)+    , _gtrMetadata :: !(Maybe TemplateMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetTemplateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtrStatus'+--+-- * 'gtrMetadata'+getTemplateResponse+    :: GetTemplateResponse+getTemplateResponse =+    GetTemplateResponse'+    { _gtrStatus = Nothing+    , _gtrMetadata = Nothing+    }++-- | The status of the get template request. Any problems with the request+-- will be indicated in the error_details.+gtrStatus :: Lens' GetTemplateResponse (Maybe Status)+gtrStatus+  = lens _gtrStatus (\ s a -> s{_gtrStatus = a})++-- | The template metadata describing the template name, available+-- parameters, etc.+gtrMetadata :: Lens' GetTemplateResponse (Maybe TemplateMetadata)+gtrMetadata+  = lens _gtrMetadata (\ s a -> s{_gtrMetadata = a})++instance FromJSON GetTemplateResponse where+        parseJSON+          = withObject "GetTemplateResponse"+              (\ o ->+                 GetTemplateResponse' <$>+                   (o .:? "status") <*> (o .:? "metadata"))++instance ToJSON GetTemplateResponse where+        toJSON GetTemplateResponse'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _gtrStatus,+                  ("metadata" .=) <$> _gtrMetadata])++-- | An instruction that writes records. Takes one input, produces no+-- outputs.+--+-- /See:/ 'writeInstruction' smart constructor.+data WriteInstruction = WriteInstruction'+    { _wiSink  :: !(Maybe Sink)+    , _wiInput :: !(Maybe InstructionInput)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WriteInstruction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wiSink'+--+-- * 'wiInput'+writeInstruction+    :: WriteInstruction+writeInstruction =+    WriteInstruction'+    { _wiSink = Nothing+    , _wiInput = Nothing+    }++-- | The sink to write to.+wiSink :: Lens' WriteInstruction (Maybe Sink)+wiSink = lens _wiSink (\ s a -> s{_wiSink = a})++-- | The input.+wiInput :: Lens' WriteInstruction (Maybe InstructionInput)+wiInput = lens _wiInput (\ s a -> s{_wiInput = a})++instance FromJSON WriteInstruction where+        parseJSON+          = withObject "WriteInstruction"+              (\ o ->+                 WriteInstruction' <$>+                   (o .:? "sink") <*> (o .:? "input"))++instance ToJSON WriteInstruction where+        toJSON WriteInstruction'{..}+          = object+              (catMaybes+                 [("sink" .=) <$> _wiSink, ("input" .=) <$> _wiInput])++-- | A description of the process that generated the request.+--+-- /See:/ 'environmentUserAgent' smart constructor.+newtype EnvironmentUserAgent = EnvironmentUserAgent'+    { _euaAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentUserAgent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'euaAddtional'+environmentUserAgent+    :: HashMap Text JSONValue -- ^ 'euaAddtional'+    -> EnvironmentUserAgent+environmentUserAgent pEuaAddtional_ =+    EnvironmentUserAgent'+    { _euaAddtional = _Coerce # pEuaAddtional_+    }++-- | Properties of the object.+euaAddtional :: Lens' EnvironmentUserAgent (HashMap Text JSONValue)+euaAddtional+  = lens _euaAddtional (\ s a -> s{_euaAddtional = a})+      . _Coerce++instance FromJSON EnvironmentUserAgent where+        parseJSON+          = withObject "EnvironmentUserAgent"+              (\ o ->+                 EnvironmentUserAgent' <$> (parseJSONObject o))++instance ToJSON EnvironmentUserAgent where+        toJSON = toJSON . _euaAddtional++-- | Describes the data disk used by a workflow job.+--+-- /See:/ 'disk' smart constructor.+data Disk = Disk'+    { _dSizeGb     :: !(Maybe (Textual Int32))+    , _dDiskType   :: !(Maybe Text)+    , _dMountPoint :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Disk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dSizeGb'+--+-- * 'dDiskType'+--+-- * 'dMountPoint'+disk+    :: Disk+disk =+    Disk'+    { _dSizeGb = Nothing+    , _dDiskType = Nothing+    , _dMountPoint = Nothing+    }++-- | Size of disk in GB. If zero or unspecified, the service will attempt to+-- choose a reasonable default.+dSizeGb :: Lens' Disk (Maybe Int32)+dSizeGb+  = lens _dSizeGb (\ s a -> s{_dSizeGb = a}) .+      mapping _Coerce++-- | Disk storage type, as defined by Google Compute Engine. This must be a+-- disk type appropriate to the project and zone in which the workers will+-- run. If unknown or unspecified, the service will attempt to choose a+-- reasonable default. For example, the standard persistent disk type is a+-- resource name typically ending in \"pd-standard\". If SSD persistent+-- disks are available, the resource name typically ends with \"pd-ssd\".+-- The actual valid values are defined the Google Compute Engine API, not+-- by the Cloud Dataflow API; consult the Google Compute Engine+-- documentation for more information about determining the set of+-- available disk types for a particular project and zone. Google Compute+-- Engine Disk types are local to a particular project in a particular+-- zone, and so the resource name will typically look something like this:+-- compute.googleapis.com\/projects\/project-id\/zones\/zone\/diskTypes\/pd-standard+dDiskType :: Lens' Disk (Maybe Text)+dDiskType+  = lens _dDiskType (\ s a -> s{_dDiskType = a})++-- | Directory in a VM where disk is mounted.+dMountPoint :: Lens' Disk (Maybe Text)+dMountPoint+  = lens _dMountPoint (\ s a -> s{_dMountPoint = a})++instance FromJSON Disk where+        parseJSON+          = withObject "Disk"+              (\ o ->+                 Disk' <$>+                   (o .:? "sizeGb") <*> (o .:? "diskType") <*>+                     (o .:? "mountPoint"))++instance ToJSON Disk where+        toJSON Disk'{..}+          = object+              (catMaybes+                 [("sizeGb" .=) <$> _dSizeGb,+                  ("diskType" .=) <$> _dDiskType,+                  ("mountPoint" .=) <$> _dMountPoint])++-- | Describes the state of a metric.+--+-- /See:/ 'metricUpdate' smart constructor.+data MetricUpdate = MetricUpdate'+    { _muMeanSum      :: !(Maybe JSONValue)+    , _muInternal     :: !(Maybe JSONValue)+    , _muSet          :: !(Maybe JSONValue)+    , _muDistribution :: !(Maybe JSONValue)+    , _muCumulative   :: !(Maybe Bool)+    , _muKind         :: !(Maybe Text)+    , _muGauge        :: !(Maybe JSONValue)+    , _muUpdateTime   :: !(Maybe DateTime')+    , _muMeanCount    :: !(Maybe JSONValue)+    , _muName         :: !(Maybe MetricStructuredName)+    , _muScalar       :: !(Maybe JSONValue)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'muMeanSum'+--+-- * 'muInternal'+--+-- * 'muSet'+--+-- * 'muDistribution'+--+-- * 'muCumulative'+--+-- * 'muKind'+--+-- * 'muGauge'+--+-- * 'muUpdateTime'+--+-- * 'muMeanCount'+--+-- * 'muName'+--+-- * 'muScalar'+metricUpdate+    :: MetricUpdate+metricUpdate =+    MetricUpdate'+    { _muMeanSum = Nothing+    , _muInternal = Nothing+    , _muSet = Nothing+    , _muDistribution = Nothing+    , _muCumulative = Nothing+    , _muKind = Nothing+    , _muGauge = Nothing+    , _muUpdateTime = Nothing+    , _muMeanCount = Nothing+    , _muName = Nothing+    , _muScalar = Nothing+    }++-- | Worker-computed aggregate value for the \"Mean\" aggregation kind. This+-- holds the sum of the aggregated values and is used in combination with+-- mean_count below to obtain the actual mean aggregate value. The only+-- possible value types are Long and Double.+muMeanSum :: Lens' MetricUpdate (Maybe JSONValue)+muMeanSum+  = lens _muMeanSum (\ s a -> s{_muMeanSum = a})++-- | Worker-computed aggregate value for internal use by the Dataflow+-- service.+muInternal :: Lens' MetricUpdate (Maybe JSONValue)+muInternal+  = lens _muInternal (\ s a -> s{_muInternal = a})++-- | Worker-computed aggregate value for the \"Set\" aggregation kind. The+-- only possible value type is a list of Values whose type can be Long,+-- Double, or String, according to the metric\'s type. All Values in the+-- list must be of the same type.+muSet :: Lens' MetricUpdate (Maybe JSONValue)+muSet = lens _muSet (\ s a -> s{_muSet = a})++-- | A struct value describing properties of a distribution of numeric+-- values.+muDistribution :: Lens' MetricUpdate (Maybe JSONValue)+muDistribution+  = lens _muDistribution+      (\ s a -> s{_muDistribution = a})++-- | True if this metric is reported as the total cumulative aggregate value+-- accumulated since the worker started working on this WorkItem. By+-- default this is false, indicating that this metric is reported as a+-- delta that is not associated with any WorkItem.+muCumulative :: Lens' MetricUpdate (Maybe Bool)+muCumulative+  = lens _muCumulative (\ s a -> s{_muCumulative = a})++-- | Metric aggregation kind. The possible metric aggregation kinds are+-- \"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", \"Or\", and+-- \"Distribution\". The specified aggregation kind is case-insensitive. If+-- omitted, this is not an aggregated value but instead a single metric+-- sample value.+muKind :: Lens' MetricUpdate (Maybe Text)+muKind = lens _muKind (\ s a -> s{_muKind = a})++-- | A struct value describing properties of a Gauge. Metrics of gauge type+-- show the value of a metric across time, and is aggregated based on the+-- newest value.+muGauge :: Lens' MetricUpdate (Maybe JSONValue)+muGauge = lens _muGauge (\ s a -> s{_muGauge = a})++-- | Timestamp associated with the metric value. Optional when workers are+-- reporting work progress; it will be filled in responses from the metrics+-- API.+muUpdateTime :: Lens' MetricUpdate (Maybe UTCTime)+muUpdateTime+  = lens _muUpdateTime (\ s a -> s{_muUpdateTime = a})+      . mapping _DateTime++-- | Worker-computed aggregate value for the \"Mean\" aggregation kind. This+-- holds the count of the aggregated values and is used in combination with+-- mean_sum above to obtain the actual mean aggregate value. The only+-- possible value type is Long.+muMeanCount :: Lens' MetricUpdate (Maybe JSONValue)+muMeanCount+  = lens _muMeanCount (\ s a -> s{_muMeanCount = a})++-- | Name of the metric.+muName :: Lens' MetricUpdate (Maybe MetricStructuredName)+muName = lens _muName (\ s a -> s{_muName = a})++-- | Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\",+-- \"Min\", \"And\", and \"Or\". The possible value types are Long, Double,+-- and Boolean.+muScalar :: Lens' MetricUpdate (Maybe JSONValue)+muScalar = lens _muScalar (\ s a -> s{_muScalar = a})++instance FromJSON MetricUpdate where+        parseJSON+          = withObject "MetricUpdate"+              (\ o ->+                 MetricUpdate' <$>+                   (o .:? "meanSum") <*> (o .:? "internal") <*>+                     (o .:? "set")+                     <*> (o .:? "distribution")+                     <*> (o .:? "cumulative")+                     <*> (o .:? "kind")+                     <*> (o .:? "gauge")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "meanCount")+                     <*> (o .:? "name")+                     <*> (o .:? "scalar"))++instance ToJSON MetricUpdate where+        toJSON MetricUpdate'{..}+          = object+              (catMaybes+                 [("meanSum" .=) <$> _muMeanSum,+                  ("internal" .=) <$> _muInternal,+                  ("set" .=) <$> _muSet,+                  ("distribution" .=) <$> _muDistribution,+                  ("cumulative" .=) <$> _muCumulative,+                  ("kind" .=) <$> _muKind, ("gauge" .=) <$> _muGauge,+                  ("updateTime" .=) <$> _muUpdateTime,+                  ("meanCount" .=) <$> _muMeanCount,+                  ("name" .=) <$> _muName,+                  ("scalar" .=) <$> _muScalar])++-- | The result of a SourceGetMetadataOperation.+--+-- /See:/ 'sourceGetMetadataResponse' smart constructor.+newtype SourceGetMetadataResponse = SourceGetMetadataResponse'+    { _sgmrMetadata :: Maybe SourceMetadata+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceGetMetadataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgmrMetadata'+sourceGetMetadataResponse+    :: SourceGetMetadataResponse+sourceGetMetadataResponse =+    SourceGetMetadataResponse'+    { _sgmrMetadata = Nothing+    }++-- | The computed metadata.+sgmrMetadata :: Lens' SourceGetMetadataResponse (Maybe SourceMetadata)+sgmrMetadata+  = lens _sgmrMetadata (\ s a -> s{_sgmrMetadata = a})++instance FromJSON SourceGetMetadataResponse where+        parseJSON+          = withObject "SourceGetMetadataResponse"+              (\ o ->+                 SourceGetMetadataResponse' <$> (o .:? "metadata"))++instance ToJSON SourceGetMetadataResponse where+        toJSON SourceGetMetadataResponse'{..}+          = object+              (catMaybes [("metadata" .=) <$> _sgmrMetadata])++-- | Metadata describing a template.+--+-- /See:/ 'templateMetadata' smart constructor.+data TemplateMetadata = TemplateMetadata'+    { _tmName        :: !(Maybe Text)+    , _tmParameters  :: !(Maybe [ParameterMetadata])+    , _tmDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TemplateMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tmName'+--+-- * 'tmParameters'+--+-- * 'tmDescription'+templateMetadata+    :: TemplateMetadata+templateMetadata =+    TemplateMetadata'+    { _tmName = Nothing+    , _tmParameters = Nothing+    , _tmDescription = Nothing+    }++-- | Required. The name of the template.+tmName :: Lens' TemplateMetadata (Maybe Text)+tmName = lens _tmName (\ s a -> s{_tmName = a})++-- | The parameters for the template.+tmParameters :: Lens' TemplateMetadata [ParameterMetadata]+tmParameters+  = lens _tmParameters (\ s a -> s{_tmParameters = a})+      . _Default+      . _Coerce++-- | Optional. A description of the template.+tmDescription :: Lens' TemplateMetadata (Maybe Text)+tmDescription+  = lens _tmDescription+      (\ s a -> s{_tmDescription = a})++instance FromJSON TemplateMetadata where+        parseJSON+          = withObject "TemplateMetadata"+              (\ o ->+                 TemplateMetadata' <$>+                   (o .:? "name") <*> (o .:? "parameters" .!= mempty)+                     <*> (o .:? "description"))++instance ToJSON TemplateMetadata where+        toJSON TemplateMetadata'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _tmName,+                  ("parameters" .=) <$> _tmParameters,+                  ("description" .=) <$> _tmDescription])++-- | Describes the environment in which a Dataflow Job runs.+--+-- /See:/ 'environment' smart constructor.+data Environment = Environment'+    { _eDataSet                  :: !(Maybe Text)+    , _eExperiments              :: !(Maybe [Text])+    , _eWorkerPools              :: !(Maybe [WorkerPool])+    , _eClusterManagerAPIService :: !(Maybe Text)+    , _eVersion                  :: !(Maybe EnvironmentVersion)+    , _eInternalExperiments      :: !(Maybe EnvironmentInternalExperiments)+    , _eTempStoragePrefix        :: !(Maybe Text)+    , _eServiceAccountEmail      :: !(Maybe Text)+    , _eUserAgent                :: !(Maybe EnvironmentUserAgent)+    , _eSdkPipelineOptions       :: !(Maybe EnvironmentSdkPipelineOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Environment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eDataSet'+--+-- * 'eExperiments'+--+-- * 'eWorkerPools'+--+-- * 'eClusterManagerAPIService'+--+-- * 'eVersion'+--+-- * 'eInternalExperiments'+--+-- * 'eTempStoragePrefix'+--+-- * 'eServiceAccountEmail'+--+-- * 'eUserAgent'+--+-- * 'eSdkPipelineOptions'+environment+    :: Environment+environment =+    Environment'+    { _eDataSet = Nothing+    , _eExperiments = Nothing+    , _eWorkerPools = Nothing+    , _eClusterManagerAPIService = Nothing+    , _eVersion = Nothing+    , _eInternalExperiments = Nothing+    , _eTempStoragePrefix = Nothing+    , _eServiceAccountEmail = Nothing+    , _eUserAgent = Nothing+    , _eSdkPipelineOptions = Nothing+    }++-- | The dataset for the current project where various workflow related+-- tables are stored. The supported resource type is: Google BigQuery:+-- bigquery.googleapis.com\/{dataset}+eDataSet :: Lens' Environment (Maybe Text)+eDataSet = lens _eDataSet (\ s a -> s{_eDataSet = a})++-- | The list of experiments to enable.+eExperiments :: Lens' Environment [Text]+eExperiments+  = lens _eExperiments (\ s a -> s{_eExperiments = a})+      . _Default+      . _Coerce++-- | The worker pools. At least one \"harness\" worker pool must be specified+-- in order for the job to have workers.+eWorkerPools :: Lens' Environment [WorkerPool]+eWorkerPools+  = lens _eWorkerPools (\ s a -> s{_eWorkerPools = a})+      . _Default+      . _Coerce++-- | The type of cluster manager API to use. If unknown or unspecified, the+-- service will attempt to choose a reasonable default. This should be in+-- the form of the API service name, e.g. \"compute.googleapis.com\".+eClusterManagerAPIService :: Lens' Environment (Maybe Text)+eClusterManagerAPIService+  = lens _eClusterManagerAPIService+      (\ s a -> s{_eClusterManagerAPIService = a})++-- | A structure describing which components and their versions of the+-- service are required in order to run the job.+eVersion :: Lens' Environment (Maybe EnvironmentVersion)+eVersion = lens _eVersion (\ s a -> s{_eVersion = a})++-- | Experimental settings.+eInternalExperiments :: Lens' Environment (Maybe EnvironmentInternalExperiments)+eInternalExperiments+  = lens _eInternalExperiments+      (\ s a -> s{_eInternalExperiments = a})++-- | The prefix of the resources the system should use for temporary storage.+-- The system will append the suffix \"\/temp-{JOBNAME} to this resource+-- prefix, where {JOBNAME} is the value of the job_name field. The+-- resulting bucket and object prefix is used as the prefix of the+-- resources used to store temporary data needed during the job execution.+-- NOTE: This will override the value in taskrunner_settings. The supported+-- resource type is: Google Cloud Storage:+-- storage.googleapis.com\/{bucket}\/{object}+-- bucket.storage.googleapis.com\/{object}+eTempStoragePrefix :: Lens' Environment (Maybe Text)+eTempStoragePrefix+  = lens _eTempStoragePrefix+      (\ s a -> s{_eTempStoragePrefix = a})++-- | Identity to run virtual machines as. Defaults to the default account.+eServiceAccountEmail :: Lens' Environment (Maybe Text)+eServiceAccountEmail+  = lens _eServiceAccountEmail+      (\ s a -> s{_eServiceAccountEmail = a})++-- | A description of the process that generated the request.+eUserAgent :: Lens' Environment (Maybe EnvironmentUserAgent)+eUserAgent+  = lens _eUserAgent (\ s a -> s{_eUserAgent = a})++-- | The Cloud Dataflow SDK pipeline options specified by the user. These+-- options are passed through the service and are used to recreate the SDK+-- pipeline options on the worker in a language agnostic and platform+-- independent way.+eSdkPipelineOptions :: Lens' Environment (Maybe EnvironmentSdkPipelineOptions)+eSdkPipelineOptions+  = lens _eSdkPipelineOptions+      (\ s a -> s{_eSdkPipelineOptions = a})++instance FromJSON Environment where+        parseJSON+          = withObject "Environment"+              (\ o ->+                 Environment' <$>+                   (o .:? "dataset") <*>+                     (o .:? "experiments" .!= mempty)+                     <*> (o .:? "workerPools" .!= mempty)+                     <*> (o .:? "clusterManagerApiService")+                     <*> (o .:? "version")+                     <*> (o .:? "internalExperiments")+                     <*> (o .:? "tempStoragePrefix")+                     <*> (o .:? "serviceAccountEmail")+                     <*> (o .:? "userAgent")+                     <*> (o .:? "sdkPipelineOptions"))++instance ToJSON Environment where+        toJSON Environment'{..}+          = object+              (catMaybes+                 [("dataset" .=) <$> _eDataSet,+                  ("experiments" .=) <$> _eExperiments,+                  ("workerPools" .=) <$> _eWorkerPools,+                  ("clusterManagerApiService" .=) <$>+                    _eClusterManagerAPIService,+                  ("version" .=) <$> _eVersion,+                  ("internalExperiments" .=) <$> _eInternalExperiments,+                  ("tempStoragePrefix" .=) <$> _eTempStoragePrefix,+                  ("serviceAccountEmail" .=) <$> _eServiceAccountEmail,+                  ("userAgent" .=) <$> _eUserAgent,+                  ("sdkPipelineOptions" .=) <$> _eSdkPipelineOptions])++-- | A position that encapsulates an inner position and an index for the+-- inner position. A ConcatPosition can be used by a reader of a source+-- that encapsulates a set of other sources.+--+-- /See:/ 'concatPosition' smart constructor.+data ConcatPosition = ConcatPosition'+    { _cpIndex    :: !(Maybe (Textual Int32))+    , _cpPosition :: !(Maybe Position)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConcatPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpIndex'+--+-- * 'cpPosition'+concatPosition+    :: ConcatPosition+concatPosition =+    ConcatPosition'+    { _cpIndex = Nothing+    , _cpPosition = Nothing+    }++-- | Index of the inner source.+cpIndex :: Lens' ConcatPosition (Maybe Int32)+cpIndex+  = lens _cpIndex (\ s a -> s{_cpIndex = a}) .+      mapping _Coerce++-- | Position within the inner source.+cpPosition :: Lens' ConcatPosition (Maybe Position)+cpPosition+  = lens _cpPosition (\ s a -> s{_cpPosition = a})++instance FromJSON ConcatPosition where+        parseJSON+          = withObject "ConcatPosition"+              (\ o ->+                 ConcatPosition' <$>+                   (o .:? "index") <*> (o .:? "position"))++instance ToJSON ConcatPosition where+        toJSON ConcatPosition'{..}+          = object+              (catMaybes+                 [("index" .=) <$> _cpIndex,+                  ("position" .=) <$> _cpPosition])++-- | Zero or more labeled fields which identify the part of the job this+-- metric is associated with, such as the name of a step or collection. For+-- example, built-in counters associated with steps will have+-- context[\'step\'] = . Counters associated with PCollections in the SDK+-- will have context[\'pcollection\'] = .+--+-- /See:/ 'metricStructuredNameContext' smart constructor.+newtype MetricStructuredNameContext = MetricStructuredNameContext'+    { _msncAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricStructuredNameContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'msncAddtional'+metricStructuredNameContext+    :: HashMap Text Text -- ^ 'msncAddtional'+    -> MetricStructuredNameContext+metricStructuredNameContext pMsncAddtional_ =+    MetricStructuredNameContext'+    { _msncAddtional = _Coerce # pMsncAddtional_+    }++msncAddtional :: Lens' MetricStructuredNameContext (HashMap Text Text)+msncAddtional+  = lens _msncAddtional+      (\ s a -> s{_msncAddtional = a})+      . _Coerce++instance FromJSON MetricStructuredNameContext where+        parseJSON+          = withObject "MetricStructuredNameContext"+              (\ o ->+                 MetricStructuredNameContext' <$> (parseJSONObject o))++instance ToJSON MetricStructuredNameContext where+        toJSON = toJSON . _msncAddtional++-- | An update to a Counter sent from a worker.+--+-- /See:/ 'counterUpdate' smart constructor.+data CounterUpdate = CounterUpdate'+    { _cuNameAndKind               :: !(Maybe NameAndKind)+    , _cuIntegerList               :: !(Maybe IntegerList)+    , _cuFloatingPoint             :: !(Maybe (Textual Double))+    , _cuInternal                  :: !(Maybe JSONValue)+    , _cuStringList                :: !(Maybe StringList)+    , _cuShortId                   :: !(Maybe (Textual Int64))+    , _cuIntegerGauge              :: !(Maybe IntegerGauge)+    , _cuDistribution              :: !(Maybe DistributionUpdate)+    , _cuCumulative                :: !(Maybe Bool)+    , _cuStructuredNameAndMetadata :: !(Maybe CounterStructuredNameAndMetadata)+    , _cuFloatingPointMean         :: !(Maybe FloatingPointMean)+    , _cuIntegerMean               :: !(Maybe IntegerMean)+    , _cuBoolean                   :: !(Maybe Bool)+    , _cuFloatingPointList         :: !(Maybe FloatingPointList)+    , _cuInteger                   :: !(Maybe SplitInt64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CounterUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuNameAndKind'+--+-- * 'cuIntegerList'+--+-- * 'cuFloatingPoint'+--+-- * 'cuInternal'+--+-- * 'cuStringList'+--+-- * 'cuShortId'+--+-- * 'cuIntegerGauge'+--+-- * 'cuDistribution'+--+-- * 'cuCumulative'+--+-- * 'cuStructuredNameAndMetadata'+--+-- * 'cuFloatingPointMean'+--+-- * 'cuIntegerMean'+--+-- * 'cuBoolean'+--+-- * 'cuFloatingPointList'+--+-- * 'cuInteger'+counterUpdate+    :: CounterUpdate+counterUpdate =+    CounterUpdate'+    { _cuNameAndKind = Nothing+    , _cuIntegerList = Nothing+    , _cuFloatingPoint = Nothing+    , _cuInternal = Nothing+    , _cuStringList = Nothing+    , _cuShortId = Nothing+    , _cuIntegerGauge = Nothing+    , _cuDistribution = Nothing+    , _cuCumulative = Nothing+    , _cuStructuredNameAndMetadata = Nothing+    , _cuFloatingPointMean = Nothing+    , _cuIntegerMean = Nothing+    , _cuBoolean = Nothing+    , _cuFloatingPointList = Nothing+    , _cuInteger = Nothing+    }++-- | Counter name and aggregation type.+cuNameAndKind :: Lens' CounterUpdate (Maybe NameAndKind)+cuNameAndKind+  = lens _cuNameAndKind+      (\ s a -> s{_cuNameAndKind = a})++-- | List of integers, for Set.+cuIntegerList :: Lens' CounterUpdate (Maybe IntegerList)+cuIntegerList+  = lens _cuIntegerList+      (\ s a -> s{_cuIntegerList = a})++-- | Floating point value for Sum, Max, Min.+cuFloatingPoint :: Lens' CounterUpdate (Maybe Double)+cuFloatingPoint+  = lens _cuFloatingPoint+      (\ s a -> s{_cuFloatingPoint = a})+      . mapping _Coerce++-- | Value for internally-defined counters used by the Dataflow service.+cuInternal :: Lens' CounterUpdate (Maybe JSONValue)+cuInternal+  = lens _cuInternal (\ s a -> s{_cuInternal = a})++-- | List of strings, for Set.+cuStringList :: Lens' CounterUpdate (Maybe StringList)+cuStringList+  = lens _cuStringList (\ s a -> s{_cuStringList = a})++-- | The service-generated short identifier for this counter. The short_id ->+-- (name, metadata) mapping is constant for the lifetime of a job.+cuShortId :: Lens' CounterUpdate (Maybe Int64)+cuShortId+  = lens _cuShortId (\ s a -> s{_cuShortId = a}) .+      mapping _Coerce++-- | Gauge data+cuIntegerGauge :: Lens' CounterUpdate (Maybe IntegerGauge)+cuIntegerGauge+  = lens _cuIntegerGauge+      (\ s a -> s{_cuIntegerGauge = a})++-- | Distribution data+cuDistribution :: Lens' CounterUpdate (Maybe DistributionUpdate)+cuDistribution+  = lens _cuDistribution+      (\ s a -> s{_cuDistribution = a})++-- | True if this counter is reported as the total cumulative aggregate value+-- accumulated since the worker started working on this WorkItem. By+-- default this is false, indicating that this counter is reported as a+-- delta.+cuCumulative :: Lens' CounterUpdate (Maybe Bool)+cuCumulative+  = lens _cuCumulative (\ s a -> s{_cuCumulative = a})++-- | Counter structured name and metadata.+cuStructuredNameAndMetadata :: Lens' CounterUpdate (Maybe CounterStructuredNameAndMetadata)+cuStructuredNameAndMetadata+  = lens _cuStructuredNameAndMetadata+      (\ s a -> s{_cuStructuredNameAndMetadata = a})++-- | Floating point mean aggregation value for Mean.+cuFloatingPointMean :: Lens' CounterUpdate (Maybe FloatingPointMean)+cuFloatingPointMean+  = lens _cuFloatingPointMean+      (\ s a -> s{_cuFloatingPointMean = a})++-- | Integer mean aggregation value for Mean.+cuIntegerMean :: Lens' CounterUpdate (Maybe IntegerMean)+cuIntegerMean+  = lens _cuIntegerMean+      (\ s a -> s{_cuIntegerMean = a})++-- | Boolean value for And, Or.+cuBoolean :: Lens' CounterUpdate (Maybe Bool)+cuBoolean+  = lens _cuBoolean (\ s a -> s{_cuBoolean = a})++-- | List of floating point numbers, for Set.+cuFloatingPointList :: Lens' CounterUpdate (Maybe FloatingPointList)+cuFloatingPointList+  = lens _cuFloatingPointList+      (\ s a -> s{_cuFloatingPointList = a})++-- | Integer value for Sum, Max, Min.+cuInteger :: Lens' CounterUpdate (Maybe SplitInt64)+cuInteger+  = lens _cuInteger (\ s a -> s{_cuInteger = a})++instance FromJSON CounterUpdate where+        parseJSON+          = withObject "CounterUpdate"+              (\ o ->+                 CounterUpdate' <$>+                   (o .:? "nameAndKind") <*> (o .:? "integerList") <*>+                     (o .:? "floatingPoint")+                     <*> (o .:? "internal")+                     <*> (o .:? "stringList")+                     <*> (o .:? "shortId")+                     <*> (o .:? "integerGauge")+                     <*> (o .:? "distribution")+                     <*> (o .:? "cumulative")+                     <*> (o .:? "structuredNameAndMetadata")+                     <*> (o .:? "floatingPointMean")+                     <*> (o .:? "integerMean")+                     <*> (o .:? "boolean")+                     <*> (o .:? "floatingPointList")+                     <*> (o .:? "integer"))++instance ToJSON CounterUpdate where+        toJSON CounterUpdate'{..}+          = object+              (catMaybes+                 [("nameAndKind" .=) <$> _cuNameAndKind,+                  ("integerList" .=) <$> _cuIntegerList,+                  ("floatingPoint" .=) <$> _cuFloatingPoint,+                  ("internal" .=) <$> _cuInternal,+                  ("stringList" .=) <$> _cuStringList,+                  ("shortId" .=) <$> _cuShortId,+                  ("integerGauge" .=) <$> _cuIntegerGauge,+                  ("distribution" .=) <$> _cuDistribution,+                  ("cumulative" .=) <$> _cuCumulative,+                  ("structuredNameAndMetadata" .=) <$>+                    _cuStructuredNameAndMetadata,+                  ("floatingPointMean" .=) <$> _cuFloatingPointMean,+                  ("integerMean" .=) <$> _cuIntegerMean,+                  ("boolean" .=) <$> _cuBoolean,+                  ("floatingPointList" .=) <$> _cuFloatingPointList,+                  ("integer" .=) <$> _cuInteger])++-- | Identifies the location of a streaming computation stage, for+-- stage-to-stage communication.+--+-- /See:/ 'streamingStageLocation' smart constructor.+newtype StreamingStageLocation = StreamingStageLocation'+    { _sslStreamId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingStageLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sslStreamId'+streamingStageLocation+    :: StreamingStageLocation+streamingStageLocation =+    StreamingStageLocation'+    { _sslStreamId = Nothing+    }++-- | Identifies the particular stream within the streaming Dataflow job.+sslStreamId :: Lens' StreamingStageLocation (Maybe Text)+sslStreamId+  = lens _sslStreamId (\ s a -> s{_sslStreamId = a})++instance FromJSON StreamingStageLocation where+        parseJSON+          = withObject "StreamingStageLocation"+              (\ o ->+                 StreamingStageLocation' <$> (o .:? "streamId"))++instance ToJSON StreamingStageLocation where+        toJSON StreamingStageLocation'{..}+          = object+              (catMaybes [("streamId" .=) <$> _sslStreamId])++-- | Specification of one of the bundles produced as a result of splitting a+-- Source (e.g. when executing a SourceSplitRequest, or when splitting an+-- active task using WorkItemStatus.dynamic_source_split), relative to the+-- source being split.+--+-- /See:/ 'derivedSource' smart constructor.+data DerivedSource = DerivedSource'+    { _dsDerivationMode :: !(Maybe DerivedSourceDerivationMode)+    , _dsSource         :: !(Maybe Source)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DerivedSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsDerivationMode'+--+-- * 'dsSource'+derivedSource+    :: DerivedSource+derivedSource =+    DerivedSource'+    { _dsDerivationMode = Nothing+    , _dsSource = Nothing+    }++-- | What source to base the produced source on (if any).+dsDerivationMode :: Lens' DerivedSource (Maybe DerivedSourceDerivationMode)+dsDerivationMode+  = lens _dsDerivationMode+      (\ s a -> s{_dsDerivationMode = a})++-- | Specification of the source.+dsSource :: Lens' DerivedSource (Maybe Source)+dsSource = lens _dsSource (\ s a -> s{_dsSource = a})++instance FromJSON DerivedSource where+        parseJSON+          = withObject "DerivedSource"+              (\ o ->+                 DerivedSource' <$>+                   (o .:? "derivationMode") <*> (o .:? "source"))++instance ToJSON DerivedSource where+        toJSON DerivedSource'{..}+          = object+              (catMaybes+                 [("derivationMode" .=) <$> _dsDerivationMode,+                  ("source" .=) <$> _dsSource])++-- | JobMetrics contains a collection of metrics descibing the detailed+-- progress of a Dataflow job. Metrics correspond to user-defined and+-- system-defined metrics in the job. This resource captures only the most+-- recent values of each metric; time-series data can be queried for them+-- (under the same metric names) from Cloud Monitoring.+--+-- /See:/ 'jobMetrics' smart constructor.+data JobMetrics = JobMetrics'+    { _jmMetrics    :: !(Maybe [MetricUpdate])+    , _jmMetricTime :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobMetrics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jmMetrics'+--+-- * 'jmMetricTime'+jobMetrics+    :: JobMetrics+jobMetrics =+    JobMetrics'+    { _jmMetrics = Nothing+    , _jmMetricTime = Nothing+    }++-- | All metrics for this job.+jmMetrics :: Lens' JobMetrics [MetricUpdate]+jmMetrics+  = lens _jmMetrics (\ s a -> s{_jmMetrics = a}) .+      _Default+      . _Coerce++-- | Timestamp as of which metric values are current.+jmMetricTime :: Lens' JobMetrics (Maybe UTCTime)+jmMetricTime+  = lens _jmMetricTime (\ s a -> s{_jmMetricTime = a})+      . mapping _DateTime++instance FromJSON JobMetrics where+        parseJSON+          = withObject "JobMetrics"+              (\ o ->+                 JobMetrics' <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "metricTime"))++instance ToJSON JobMetrics where+        toJSON JobMetrics'{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _jmMetrics,+                  ("metricTime" .=) <$> _jmMetricTime])++-- | Request to send encoded debug information.+--+-- /See:/ 'sendDebugCaptureRequest' smart constructor.+data SendDebugCaptureRequest = SendDebugCaptureRequest'+    { _sdcrLocation    :: !(Maybe Text)+    , _sdcrData        :: !(Maybe Text)+    , _sdcrComponentId :: !(Maybe Text)+    , _sdcrWorkerId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SendDebugCaptureRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdcrLocation'+--+-- * 'sdcrData'+--+-- * 'sdcrComponentId'+--+-- * 'sdcrWorkerId'+sendDebugCaptureRequest+    :: SendDebugCaptureRequest+sendDebugCaptureRequest =+    SendDebugCaptureRequest'+    { _sdcrLocation = Nothing+    , _sdcrData = Nothing+    , _sdcrComponentId = Nothing+    , _sdcrWorkerId = Nothing+    }++-- | The location which contains the job specified by job_id.+sdcrLocation :: Lens' SendDebugCaptureRequest (Maybe Text)+sdcrLocation+  = lens _sdcrLocation (\ s a -> s{_sdcrLocation = a})++-- | The encoded debug information.+sdcrData :: Lens' SendDebugCaptureRequest (Maybe Text)+sdcrData = lens _sdcrData (\ s a -> s{_sdcrData = a})++-- | The internal component id for which debug information is sent.+sdcrComponentId :: Lens' SendDebugCaptureRequest (Maybe Text)+sdcrComponentId+  = lens _sdcrComponentId+      (\ s a -> s{_sdcrComponentId = a})++-- | The worker id, i.e., VM hostname.+sdcrWorkerId :: Lens' SendDebugCaptureRequest (Maybe Text)+sdcrWorkerId+  = lens _sdcrWorkerId (\ s a -> s{_sdcrWorkerId = a})++instance FromJSON SendDebugCaptureRequest where+        parseJSON+          = withObject "SendDebugCaptureRequest"+              (\ o ->+                 SendDebugCaptureRequest' <$>+                   (o .:? "location") <*> (o .:? "data") <*>+                     (o .:? "componentId")+                     <*> (o .:? "workerId"))++instance ToJSON SendDebugCaptureRequest where+        toJSON SendDebugCaptureRequest'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _sdcrLocation,+                  ("data" .=) <$> _sdcrData,+                  ("componentId" .=) <$> _sdcrComponentId,+                  ("workerId" .=) <$> _sdcrWorkerId])++-- | Conveys a worker\'s progress through the work described by a WorkItem.+--+-- /See:/ 'workItemStatus' smart constructor.+data WorkItemStatus = WorkItemStatus'+    { _wisReportedProgress              :: !(Maybe ApproximateReportedProgress)+    , _wisProgress                      :: !(Maybe ApproximateProgress)+    , _wisTotalThrottlerWaitTimeSeconds :: !(Maybe (Textual Double))+    , _wisSourceOperationResponse       :: !(Maybe SourceOperationResponse)+    , _wisStopPosition                  :: !(Maybe Position)+    , _wisDynamicSourceSplit            :: !(Maybe DynamicSourceSplit)+    , _wisCompleted                     :: !(Maybe Bool)+    , _wisSourceFork                    :: !(Maybe SourceFork)+    , _wisReportIndex                   :: !(Maybe (Textual Int64))+    , _wisRequestedLeaseDuration        :: !(Maybe GDuration)+    , _wisErrors                        :: !(Maybe [Status])+    , _wisCounterUpdates                :: !(Maybe [CounterUpdate])+    , _wisMetricUpdates                 :: !(Maybe [MetricUpdate])+    , _wisWorkItemId                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkItemStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wisReportedProgress'+--+-- * 'wisProgress'+--+-- * 'wisTotalThrottlerWaitTimeSeconds'+--+-- * 'wisSourceOperationResponse'+--+-- * 'wisStopPosition'+--+-- * 'wisDynamicSourceSplit'+--+-- * 'wisCompleted'+--+-- * 'wisSourceFork'+--+-- * 'wisReportIndex'+--+-- * 'wisRequestedLeaseDuration'+--+-- * 'wisErrors'+--+-- * 'wisCounterUpdates'+--+-- * 'wisMetricUpdates'+--+-- * 'wisWorkItemId'+workItemStatus+    :: WorkItemStatus+workItemStatus =+    WorkItemStatus'+    { _wisReportedProgress = Nothing+    , _wisProgress = Nothing+    , _wisTotalThrottlerWaitTimeSeconds = Nothing+    , _wisSourceOperationResponse = Nothing+    , _wisStopPosition = Nothing+    , _wisDynamicSourceSplit = Nothing+    , _wisCompleted = Nothing+    , _wisSourceFork = Nothing+    , _wisReportIndex = Nothing+    , _wisRequestedLeaseDuration = Nothing+    , _wisErrors = Nothing+    , _wisCounterUpdates = Nothing+    , _wisMetricUpdates = Nothing+    , _wisWorkItemId = Nothing+    }++-- | The worker\'s progress through this WorkItem.+wisReportedProgress :: Lens' WorkItemStatus (Maybe ApproximateReportedProgress)+wisReportedProgress+  = lens _wisReportedProgress+      (\ s a -> s{_wisReportedProgress = a})++-- | DEPRECATED in favor of reported_progress.+wisProgress :: Lens' WorkItemStatus (Maybe ApproximateProgress)+wisProgress+  = lens _wisProgress (\ s a -> s{_wisProgress = a})++-- | Total time the worker spent being throttled by external systems.+wisTotalThrottlerWaitTimeSeconds :: Lens' WorkItemStatus (Maybe Double)+wisTotalThrottlerWaitTimeSeconds+  = lens _wisTotalThrottlerWaitTimeSeconds+      (\ s a -> s{_wisTotalThrottlerWaitTimeSeconds = a})+      . mapping _Coerce++-- | If the work item represented a SourceOperationRequest, and the work is+-- completed, contains the result of the operation.+wisSourceOperationResponse :: Lens' WorkItemStatus (Maybe SourceOperationResponse)+wisSourceOperationResponse+  = lens _wisSourceOperationResponse+      (\ s a -> s{_wisSourceOperationResponse = a})++-- | A worker may split an active map task in two parts, \"primary\" and+-- \"residual\", continuing to process the primary part and returning the+-- residual part into the pool of available work. This event is called a+-- \"dynamic split\" and is critical to the dynamic work rebalancing+-- feature. The two obtained sub-tasks are called \"parts\" of the split.+-- The parts, if concatenated, must represent the same input as would be+-- read by the current task if the split did not happen. The exact way in+-- which the original task is decomposed into the two parts is specified+-- either as a position demarcating them (stop_position), or explicitly as+-- two DerivedSources, if this task consumes a user-defined source type+-- (dynamic_source_split). The \"current\" task is adjusted as a result of+-- the split: after a task with range [A, B) sends a stop_position update+-- at C, its range is considered to be [A, C), e.g.: * Progress should be+-- interpreted relative to the new range, e.g. \"75% completed\" means+-- \"75% of [A, C) completed\" * The worker should interpret+-- proposed_stop_position relative to the new range, e.g. \"split at 68%\"+-- should be interpreted as \"split at 68% of [A, C)\". * If the worker+-- chooses to split again using stop_position, only stop_positions in [A,+-- C) will be accepted. * Etc. dynamic_source_split has similar semantics:+-- e.g., if a task with source S splits using dynamic_source_split into {P,+-- R} (where P and R must be together equivalent to S), then subsequent+-- progress and proposed_stop_position should be interpreted relative to P,+-- and in a potential subsequent dynamic_source_split into {P\', R\'}, P\'+-- and R\' must be together equivalent to P, etc.+wisStopPosition :: Lens' WorkItemStatus (Maybe Position)+wisStopPosition+  = lens _wisStopPosition+      (\ s a -> s{_wisStopPosition = a})++-- | See documentation of stop_position.+wisDynamicSourceSplit :: Lens' WorkItemStatus (Maybe DynamicSourceSplit)+wisDynamicSourceSplit+  = lens _wisDynamicSourceSplit+      (\ s a -> s{_wisDynamicSourceSplit = a})++-- | True if the WorkItem was completed (successfully or unsuccessfully).+wisCompleted :: Lens' WorkItemStatus (Maybe Bool)+wisCompleted+  = lens _wisCompleted (\ s a -> s{_wisCompleted = a})++-- | DEPRECATED in favor of dynamic_source_split.+wisSourceFork :: Lens' WorkItemStatus (Maybe SourceFork)+wisSourceFork+  = lens _wisSourceFork+      (\ s a -> s{_wisSourceFork = a})++-- | The report index. When a WorkItem is leased, the lease will contain an+-- initial report index. When a WorkItem\'s status is reported to the+-- system, the report should be sent with that report index, and the+-- response will contain the index the worker should use for the next+-- report. Reports received with unexpected index values will be rejected+-- by the service. In order to preserve idempotency, the worker should not+-- alter the contents of a report, even if the worker must submit the same+-- report multiple times before getting back a response. The worker should+-- not submit a subsequent report until the response for the previous+-- report had been received from the service.+wisReportIndex :: Lens' WorkItemStatus (Maybe Int64)+wisReportIndex+  = lens _wisReportIndex+      (\ s a -> s{_wisReportIndex = a})+      . mapping _Coerce++-- | Amount of time the worker requests for its lease.+wisRequestedLeaseDuration :: Lens' WorkItemStatus (Maybe Scientific)+wisRequestedLeaseDuration+  = lens _wisRequestedLeaseDuration+      (\ s a -> s{_wisRequestedLeaseDuration = a})+      . mapping _GDuration++-- | Specifies errors which occurred during processing. If errors are+-- provided, and completed = true, then the WorkItem is considered to have+-- failed.+wisErrors :: Lens' WorkItemStatus [Status]+wisErrors+  = lens _wisErrors (\ s a -> s{_wisErrors = a}) .+      _Default+      . _Coerce++-- | Worker output counters for this WorkItem.+wisCounterUpdates :: Lens' WorkItemStatus [CounterUpdate]+wisCounterUpdates+  = lens _wisCounterUpdates+      (\ s a -> s{_wisCounterUpdates = a})+      . _Default+      . _Coerce++-- | DEPRECATED in favor of counter_updates.+wisMetricUpdates :: Lens' WorkItemStatus [MetricUpdate]+wisMetricUpdates+  = lens _wisMetricUpdates+      (\ s a -> s{_wisMetricUpdates = a})+      . _Default+      . _Coerce++-- | Identifies the WorkItem.+wisWorkItemId :: Lens' WorkItemStatus (Maybe Text)+wisWorkItemId+  = lens _wisWorkItemId+      (\ s a -> s{_wisWorkItemId = a})++instance FromJSON WorkItemStatus where+        parseJSON+          = withObject "WorkItemStatus"+              (\ o ->+                 WorkItemStatus' <$>+                   (o .:? "reportedProgress") <*> (o .:? "progress") <*>+                     (o .:? "totalThrottlerWaitTimeSeconds")+                     <*> (o .:? "sourceOperationResponse")+                     <*> (o .:? "stopPosition")+                     <*> (o .:? "dynamicSourceSplit")+                     <*> (o .:? "completed")+                     <*> (o .:? "sourceFork")+                     <*> (o .:? "reportIndex")+                     <*> (o .:? "requestedLeaseDuration")+                     <*> (o .:? "errors" .!= mempty)+                     <*> (o .:? "counterUpdates" .!= mempty)+                     <*> (o .:? "metricUpdates" .!= mempty)+                     <*> (o .:? "workItemId"))++instance ToJSON WorkItemStatus where+        toJSON WorkItemStatus'{..}+          = object+              (catMaybes+                 [("reportedProgress" .=) <$> _wisReportedProgress,+                  ("progress" .=) <$> _wisProgress,+                  ("totalThrottlerWaitTimeSeconds" .=) <$>+                    _wisTotalThrottlerWaitTimeSeconds,+                  ("sourceOperationResponse" .=) <$>+                    _wisSourceOperationResponse,+                  ("stopPosition" .=) <$> _wisStopPosition,+                  ("dynamicSourceSplit" .=) <$> _wisDynamicSourceSplit,+                  ("completed" .=) <$> _wisCompleted,+                  ("sourceFork" .=) <$> _wisSourceFork,+                  ("reportIndex" .=) <$> _wisReportIndex,+                  ("requestedLeaseDuration" .=) <$>+                    _wisRequestedLeaseDuration,+                  ("errors" .=) <$> _wisErrors,+                  ("counterUpdates" .=) <$> _wisCounterUpdates,+                  ("metricUpdates" .=) <$> _wisMetricUpdates,+                  ("workItemId" .=) <$> _wisWorkItemId])++-- | Labels are used to group WorkerMessages. For example, a worker_message+-- about a particular container might have the labels: { \"JOB_ID\":+-- \"2015-04-22\", \"WORKER_ID\": \"wordcount-vm-2015…\"+-- \"CONTAINER_TYPE\": \"worker\", \"CONTAINER_ID\": \"ac1234def\"} Label+-- tags typically correspond to Label enum values. However, for ease of+-- development other strings can be used as tags. LABEL_UNSPECIFIED should+-- not be used here.+--+-- /See:/ 'workerMessageLabels' smart constructor.+newtype WorkerMessageLabels = WorkerMessageLabels'+    { _wmlAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerMessageLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wmlAddtional'+workerMessageLabels+    :: HashMap Text Text -- ^ 'wmlAddtional'+    -> WorkerMessageLabels+workerMessageLabels pWmlAddtional_ =+    WorkerMessageLabels'+    { _wmlAddtional = _Coerce # pWmlAddtional_+    }++wmlAddtional :: Lens' WorkerMessageLabels (HashMap Text Text)+wmlAddtional+  = lens _wmlAddtional (\ s a -> s{_wmlAddtional = a})+      . _Coerce++instance FromJSON WorkerMessageLabels where+        parseJSON+          = withObject "WorkerMessageLabels"+              (\ o -> WorkerMessageLabels' <$> (parseJSONObject o))++instance ToJSON WorkerMessageLabels where+        toJSON = toJSON . _wmlAddtional++-- | An instruction that copies its inputs (zero or more) to its (single)+-- output.+--+-- /See:/ 'flattenInstruction' smart constructor.+newtype FlattenInstruction = FlattenInstruction'+    { _fiInputs :: Maybe [InstructionInput]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FlattenInstruction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiInputs'+flattenInstruction+    :: FlattenInstruction+flattenInstruction =+    FlattenInstruction'+    { _fiInputs = Nothing+    }++-- | Describes the inputs to the flatten instruction.+fiInputs :: Lens' FlattenInstruction [InstructionInput]+fiInputs+  = lens _fiInputs (\ s a -> s{_fiInputs = a}) .+      _Default+      . _Coerce++instance FromJSON FlattenInstruction where+        parseJSON+          = withObject "FlattenInstruction"+              (\ o ->+                 FlattenInstruction' <$> (o .:? "inputs" .!= mempty))++instance ToJSON FlattenInstruction where+        toJSON FlattenInstruction'{..}+          = object (catMaybes [("inputs" .=) <$> _fiInputs])++-- | A message code is used to report status and error messages to the+-- service. The message codes are intended to be machine readable. The+-- service will take care of translating these into user understandable+-- messages if necessary. Example use cases: 1. Worker processes reporting+-- successful startup. 2. Worker processes reporting specific errors (e.g.+-- package staging failure).+--+-- /See:/ 'workerMessageCode' smart constructor.+data WorkerMessageCode = WorkerMessageCode'+    { _wmcParameters :: !(Maybe WorkerMessageCodeParameters)+    , _wmcCode       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerMessageCode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wmcParameters'+--+-- * 'wmcCode'+workerMessageCode+    :: WorkerMessageCode+workerMessageCode =+    WorkerMessageCode'+    { _wmcParameters = Nothing+    , _wmcCode = Nothing+    }++-- | Parameters contains specific information about the code. This is a+-- struct to allow parameters of different types. Examples: 1. For a+-- \"HARNESS_STARTED\" message parameters might provide the name of the+-- worker and additional data like timing information. 2. For a+-- \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing the GCS+-- objects being downloaded and fields containing errors. In general+-- complex data structures should be avoided. If a worker needs to send a+-- specific and complicated data structure then please consider defining a+-- new proto and adding it to the data oneof in WorkerMessageResponse.+-- Conventions: Parameters should only be used for information that isn\'t+-- typically passed as a label. hostname and other worker identifiers+-- should almost always be passed as labels since they will be included on+-- most messages.+wmcParameters :: Lens' WorkerMessageCode (Maybe WorkerMessageCodeParameters)+wmcParameters+  = lens _wmcParameters+      (\ s a -> s{_wmcParameters = a})++-- | The code is a string intended for consumption by a machine that+-- identifies the type of message being sent. Examples: 1.+-- \"HARNESS_STARTED\" might be used to indicate the worker harness has+-- started. 2. \"GCS_DOWNLOAD_ERROR\" might be used to indicate an error+-- downloading a GCS file as part of the boot process of one of the worker+-- containers. This is a string and not an enum to make it easy to add new+-- codes without waiting for an API change.+wmcCode :: Lens' WorkerMessageCode (Maybe Text)+wmcCode = lens _wmcCode (\ s a -> s{_wmcCode = a})++instance FromJSON WorkerMessageCode where+        parseJSON+          = withObject "WorkerMessageCode"+              (\ o ->+                 WorkerMessageCode' <$>+                   (o .:? "parameters") <*> (o .:? "code"))++instance ToJSON WorkerMessageCode where+        toJSON WorkerMessageCode'{..}+          = object+              (catMaybes+                 [("parameters" .=) <$> _wmcParameters,+                  ("code" .=) <$> _wmcCode])++-- | Description of the type, names\/ids, and input\/outputs for a transform.+--+-- /See:/ 'transformSummary' smart constructor.+data TransformSummary = TransformSummary'+    { _tsDisplayData          :: !(Maybe [DisplayData])+    , _tsKind                 :: !(Maybe TransformSummaryKind)+    , _tsOutputCollectionName :: !(Maybe [Text])+    , _tsInputCollectionName  :: !(Maybe [Text])+    , _tsName                 :: !(Maybe Text)+    , _tsId                   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TransformSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsDisplayData'+--+-- * 'tsKind'+--+-- * 'tsOutputCollectionName'+--+-- * 'tsInputCollectionName'+--+-- * 'tsName'+--+-- * 'tsId'+transformSummary+    :: TransformSummary+transformSummary =+    TransformSummary'+    { _tsDisplayData = Nothing+    , _tsKind = Nothing+    , _tsOutputCollectionName = Nothing+    , _tsInputCollectionName = Nothing+    , _tsName = Nothing+    , _tsId = Nothing+    }++-- | Transform-specific display data.+tsDisplayData :: Lens' TransformSummary [DisplayData]+tsDisplayData+  = lens _tsDisplayData+      (\ s a -> s{_tsDisplayData = a})+      . _Default+      . _Coerce++-- | Type of transform.+tsKind :: Lens' TransformSummary (Maybe TransformSummaryKind)+tsKind = lens _tsKind (\ s a -> s{_tsKind = a})++-- | User names for all collection outputs to this transform.+tsOutputCollectionName :: Lens' TransformSummary [Text]+tsOutputCollectionName+  = lens _tsOutputCollectionName+      (\ s a -> s{_tsOutputCollectionName = a})+      . _Default+      . _Coerce++-- | User names for all collection inputs to this transform.+tsInputCollectionName :: Lens' TransformSummary [Text]+tsInputCollectionName+  = lens _tsInputCollectionName+      (\ s a -> s{_tsInputCollectionName = a})+      . _Default+      . _Coerce++-- | User provided name for this transform instance.+tsName :: Lens' TransformSummary (Maybe Text)+tsName = lens _tsName (\ s a -> s{_tsName = a})++-- | SDK generated id of this transform instance.+tsId :: Lens' TransformSummary (Maybe Text)+tsId = lens _tsId (\ s a -> s{_tsId = a})++instance FromJSON TransformSummary where+        parseJSON+          = withObject "TransformSummary"+              (\ o ->+                 TransformSummary' <$>+                   (o .:? "displayData" .!= mempty) <*> (o .:? "kind")+                     <*> (o .:? "outputCollectionName" .!= mempty)+                     <*> (o .:? "inputCollectionName" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON TransformSummary where+        toJSON TransformSummary'{..}+          = object+              (catMaybes+                 [("displayData" .=) <$> _tsDisplayData,+                  ("kind" .=) <$> _tsKind,+                  ("outputCollectionName" .=) <$>+                    _tsOutputCollectionName,+                  ("inputCollectionName" .=) <$>+                    _tsInputCollectionName,+                  ("name" .=) <$> _tsName, ("id" .=) <$> _tsId])++-- | The map of transform name prefixes of the job to be replaced to the+-- corresponding name prefixes of the new job.+--+-- /See:/ 'jobTransformNameMApping' smart constructor.+newtype JobTransformNameMApping = JobTransformNameMApping'+    { _jtnmaAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobTransformNameMApping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jtnmaAddtional'+jobTransformNameMApping+    :: HashMap Text Text -- ^ 'jtnmaAddtional'+    -> JobTransformNameMApping+jobTransformNameMApping pJtnmaAddtional_ =+    JobTransformNameMApping'+    { _jtnmaAddtional = _Coerce # pJtnmaAddtional_+    }++jtnmaAddtional :: Lens' JobTransformNameMApping (HashMap Text Text)+jtnmaAddtional+  = lens _jtnmaAddtional+      (\ s a -> s{_jtnmaAddtional = a})+      . _Coerce++instance FromJSON JobTransformNameMApping where+        parseJSON+          = withObject "JobTransformNameMApping"+              (\ o ->+                 JobTransformNameMApping' <$> (parseJSONObject o))++instance ToJSON JobTransformNameMApping where+        toJSON = toJSON . _jtnmaAddtional++-- | The source to read from, plus its parameters.+--+-- /See:/ 'sourceSpec' smart constructor.+newtype SourceSpec = SourceSpec'+    { _ssAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssAddtional'+sourceSpec+    :: HashMap Text JSONValue -- ^ 'ssAddtional'+    -> SourceSpec+sourceSpec pSsAddtional_ =+    SourceSpec'+    { _ssAddtional = _Coerce # pSsAddtional_+    }++-- | Properties of the object.+ssAddtional :: Lens' SourceSpec (HashMap Text JSONValue)+ssAddtional+  = lens _ssAddtional (\ s a -> s{_ssAddtional = a}) .+      _Coerce++instance FromJSON SourceSpec where+        parseJSON+          = withObject "SourceSpec"+              (\ o -> SourceSpec' <$> (parseJSONObject o))++instance ToJSON SourceSpec where+        toJSON = toJSON . _ssAddtional++-- | Metadata about a Source useful for automatically optimizing and tuning+-- the pipeline, etc.+--+-- /See:/ 'sourceMetadata' smart constructor.+data SourceMetadata = SourceMetadata'+    { _smEstimatedSizeBytes :: !(Maybe (Textual Int64))+    , _smProducesSortedKeys :: !(Maybe Bool)+    , _smInfinite           :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smEstimatedSizeBytes'+--+-- * 'smProducesSortedKeys'+--+-- * 'smInfinite'+sourceMetadata+    :: SourceMetadata+sourceMetadata =+    SourceMetadata'+    { _smEstimatedSizeBytes = Nothing+    , _smProducesSortedKeys = Nothing+    , _smInfinite = Nothing+    }++-- | An estimate of the total size (in bytes) of the data that would be read+-- from this source. This estimate is in terms of external storage size,+-- before any decompression or other processing done by the reader.+smEstimatedSizeBytes :: Lens' SourceMetadata (Maybe Int64)+smEstimatedSizeBytes+  = lens _smEstimatedSizeBytes+      (\ s a -> s{_smEstimatedSizeBytes = a})+      . mapping _Coerce++-- | Whether this source is known to produce key\/value pairs with the+-- (encoded) keys in lexicographically sorted order.+smProducesSortedKeys :: Lens' SourceMetadata (Maybe Bool)+smProducesSortedKeys+  = lens _smProducesSortedKeys+      (\ s a -> s{_smProducesSortedKeys = a})++-- | Specifies that the size of this source is known to be infinite (this is+-- a streaming source).+smInfinite :: Lens' SourceMetadata (Maybe Bool)+smInfinite+  = lens _smInfinite (\ s a -> s{_smInfinite = a})++instance FromJSON SourceMetadata where+        parseJSON+          = withObject "SourceMetadata"+              (\ o ->+                 SourceMetadata' <$>+                   (o .:? "estimatedSizeBytes") <*>+                     (o .:? "producesSortedKeys")+                     <*> (o .:? "infinite"))++instance ToJSON SourceMetadata where+        toJSON SourceMetadata'{..}+          = object+              (catMaybes+                 [("estimatedSizeBytes" .=) <$> _smEstimatedSizeBytes,+                  ("producesSortedKeys" .=) <$> _smProducesSortedKeys,+                  ("infinite" .=) <$> _smInfinite])++-- | Experimental settings.+--+-- /See:/ 'environmentInternalExperiments' smart constructor.+newtype EnvironmentInternalExperiments = EnvironmentInternalExperiments'+    { _eieAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentInternalExperiments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eieAddtional'+environmentInternalExperiments+    :: HashMap Text JSONValue -- ^ 'eieAddtional'+    -> EnvironmentInternalExperiments+environmentInternalExperiments pEieAddtional_ =+    EnvironmentInternalExperiments'+    { _eieAddtional = _Coerce # pEieAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+eieAddtional :: Lens' EnvironmentInternalExperiments (HashMap Text JSONValue)+eieAddtional+  = lens _eieAddtional (\ s a -> s{_eieAddtional = a})+      . _Coerce++instance FromJSON EnvironmentInternalExperiments+         where+        parseJSON+          = withObject "EnvironmentInternalExperiments"+              (\ o ->+                 EnvironmentInternalExperiments' <$>+                   (parseJSONObject o))++instance ToJSON EnvironmentInternalExperiments where+        toJSON = toJSON . _eieAddtional++-- | Taskrunner configuration settings.+--+-- /See:/ 'taskRunnerSettings' smart constructor.+data TaskRunnerSettings = TaskRunnerSettings'+    { _trsContinueOnException      :: !(Maybe Bool)+    , _trsHarnessCommand           :: !(Maybe Text)+    , _trsWorkflowFileName         :: !(Maybe Text)+    , _trsTaskGroup                :: !(Maybe Text)+    , _trsAlsologtostderr          :: !(Maybe Bool)+    , _trsDataflowAPIVersion       :: !(Maybe Text)+    , _trsLogDir                   :: !(Maybe Text)+    , _trsCommandlinesFileName     :: !(Maybe Text)+    , _trsVMId                     :: !(Maybe Text)+    , _trsBaseURL                  :: !(Maybe Text)+    , _trsOAuthScopes              :: !(Maybe [Text])+    , _trsTaskUser                 :: !(Maybe Text)+    , _trsStreamingWorkerMainClass :: !(Maybe Text)+    , _trsBaseTaskDir              :: !(Maybe Text)+    , _trsLogUploadLocation        :: !(Maybe Text)+    , _trsTempStoragePrefix        :: !(Maybe Text)+    , _trsLogToSerialconsole       :: !(Maybe Bool)+    , _trsParallelWorkerSettings   :: !(Maybe WorkerSettings)+    , _trsLanguageHint             :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TaskRunnerSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trsContinueOnException'+--+-- * 'trsHarnessCommand'+--+-- * 'trsWorkflowFileName'+--+-- * 'trsTaskGroup'+--+-- * 'trsAlsologtostderr'+--+-- * 'trsDataflowAPIVersion'+--+-- * 'trsLogDir'+--+-- * 'trsCommandlinesFileName'+--+-- * 'trsVMId'+--+-- * 'trsBaseURL'+--+-- * 'trsOAuthScopes'+--+-- * 'trsTaskUser'+--+-- * 'trsStreamingWorkerMainClass'+--+-- * 'trsBaseTaskDir'+--+-- * 'trsLogUploadLocation'+--+-- * 'trsTempStoragePrefix'+--+-- * 'trsLogToSerialconsole'+--+-- * 'trsParallelWorkerSettings'+--+-- * 'trsLanguageHint'+taskRunnerSettings+    :: TaskRunnerSettings+taskRunnerSettings =+    TaskRunnerSettings'+    { _trsContinueOnException = Nothing+    , _trsHarnessCommand = Nothing+    , _trsWorkflowFileName = Nothing+    , _trsTaskGroup = Nothing+    , _trsAlsologtostderr = Nothing+    , _trsDataflowAPIVersion = Nothing+    , _trsLogDir = Nothing+    , _trsCommandlinesFileName = Nothing+    , _trsVMId = Nothing+    , _trsBaseURL = Nothing+    , _trsOAuthScopes = Nothing+    , _trsTaskUser = Nothing+    , _trsStreamingWorkerMainClass = Nothing+    , _trsBaseTaskDir = Nothing+    , _trsLogUploadLocation = Nothing+    , _trsTempStoragePrefix = Nothing+    , _trsLogToSerialconsole = Nothing+    , _trsParallelWorkerSettings = Nothing+    , _trsLanguageHint = Nothing+    }++-- | Whether to continue taskrunner if an exception is hit.+trsContinueOnException :: Lens' TaskRunnerSettings (Maybe Bool)+trsContinueOnException+  = lens _trsContinueOnException+      (\ s a -> s{_trsContinueOnException = a})++-- | The command to launch the worker harness.+trsHarnessCommand :: Lens' TaskRunnerSettings (Maybe Text)+trsHarnessCommand+  = lens _trsHarnessCommand+      (\ s a -> s{_trsHarnessCommand = a})++-- | The file to store the workflow in.+trsWorkflowFileName :: Lens' TaskRunnerSettings (Maybe Text)+trsWorkflowFileName+  = lens _trsWorkflowFileName+      (\ s a -> s{_trsWorkflowFileName = a})++-- | The UNIX group ID on the worker VM to use for tasks launched by+-- taskrunner; e.g. \"wheel\".+trsTaskGroup :: Lens' TaskRunnerSettings (Maybe Text)+trsTaskGroup+  = lens _trsTaskGroup (\ s a -> s{_trsTaskGroup = a})++-- | Whether to also send taskrunner log info to stderr.+trsAlsologtostderr :: Lens' TaskRunnerSettings (Maybe Bool)+trsAlsologtostderr+  = lens _trsAlsologtostderr+      (\ s a -> s{_trsAlsologtostderr = a})++-- | The API version of endpoint, e.g. \"v1b3\"+trsDataflowAPIVersion :: Lens' TaskRunnerSettings (Maybe Text)+trsDataflowAPIVersion+  = lens _trsDataflowAPIVersion+      (\ s a -> s{_trsDataflowAPIVersion = a})++-- | The directory on the VM to store logs.+trsLogDir :: Lens' TaskRunnerSettings (Maybe Text)+trsLogDir+  = lens _trsLogDir (\ s a -> s{_trsLogDir = a})++-- | The file to store preprocessing commands in.+trsCommandlinesFileName :: Lens' TaskRunnerSettings (Maybe Text)+trsCommandlinesFileName+  = lens _trsCommandlinesFileName+      (\ s a -> s{_trsCommandlinesFileName = a})++-- | The ID string of the VM.+trsVMId :: Lens' TaskRunnerSettings (Maybe Text)+trsVMId = lens _trsVMId (\ s a -> s{_trsVMId = a})++-- | The base URL for the taskrunner to use when accessing Google Cloud APIs.+-- When workers access Google Cloud APIs, they logically do so via relative+-- URLs. If this field is specified, it supplies the base URL to use for+-- resolving these relative URLs. The normative algorithm used is defined+-- by RFC 1808, \"Relative Uniform Resource Locators\". If not specified,+-- the default value is \"http:\/\/www.googleapis.com\/\"+trsBaseURL :: Lens' TaskRunnerSettings (Maybe Text)+trsBaseURL+  = lens _trsBaseURL (\ s a -> s{_trsBaseURL = a})++-- | The OAuth2 scopes to be requested by the taskrunner in order to access+-- the Cloud Dataflow API.+trsOAuthScopes :: Lens' TaskRunnerSettings [Text]+trsOAuthScopes+  = lens _trsOAuthScopes+      (\ s a -> s{_trsOAuthScopes = a})+      . _Default+      . _Coerce++-- | The UNIX user ID on the worker VM to use for tasks launched by+-- taskrunner; e.g. \"root\".+trsTaskUser :: Lens' TaskRunnerSettings (Maybe Text)+trsTaskUser+  = lens _trsTaskUser (\ s a -> s{_trsTaskUser = a})++-- | The streaming worker main class name.+trsStreamingWorkerMainClass :: Lens' TaskRunnerSettings (Maybe Text)+trsStreamingWorkerMainClass+  = lens _trsStreamingWorkerMainClass+      (\ s a -> s{_trsStreamingWorkerMainClass = a})++-- | The location on the worker for task-specific subdirectories.+trsBaseTaskDir :: Lens' TaskRunnerSettings (Maybe Text)+trsBaseTaskDir+  = lens _trsBaseTaskDir+      (\ s a -> s{_trsBaseTaskDir = a})++-- | Indicates where to put logs. If this is not specified, the logs will not+-- be uploaded. The supported resource type is: Google Cloud Storage:+-- storage.googleapis.com\/{bucket}\/{object}+-- bucket.storage.googleapis.com\/{object}+trsLogUploadLocation :: Lens' TaskRunnerSettings (Maybe Text)+trsLogUploadLocation+  = lens _trsLogUploadLocation+      (\ s a -> s{_trsLogUploadLocation = a})++-- | The prefix of the resources the taskrunner should use for temporary+-- storage. The supported resource type is: Google Cloud Storage:+-- storage.googleapis.com\/{bucket}\/{object}+-- bucket.storage.googleapis.com\/{object}+trsTempStoragePrefix :: Lens' TaskRunnerSettings (Maybe Text)+trsTempStoragePrefix+  = lens _trsTempStoragePrefix+      (\ s a -> s{_trsTempStoragePrefix = a})++-- | Whether to send taskrunner log info to Google Compute Engine VM serial+-- console.+trsLogToSerialconsole :: Lens' TaskRunnerSettings (Maybe Bool)+trsLogToSerialconsole+  = lens _trsLogToSerialconsole+      (\ s a -> s{_trsLogToSerialconsole = a})++-- | The settings to pass to the parallel worker harness.+trsParallelWorkerSettings :: Lens' TaskRunnerSettings (Maybe WorkerSettings)+trsParallelWorkerSettings+  = lens _trsParallelWorkerSettings+      (\ s a -> s{_trsParallelWorkerSettings = a})++-- | The suggested backend language.+trsLanguageHint :: Lens' TaskRunnerSettings (Maybe Text)+trsLanguageHint+  = lens _trsLanguageHint+      (\ s a -> s{_trsLanguageHint = a})++instance FromJSON TaskRunnerSettings where+        parseJSON+          = withObject "TaskRunnerSettings"+              (\ o ->+                 TaskRunnerSettings' <$>+                   (o .:? "continueOnException") <*>+                     (o .:? "harnessCommand")+                     <*> (o .:? "workflowFileName")+                     <*> (o .:? "taskGroup")+                     <*> (o .:? "alsologtostderr")+                     <*> (o .:? "dataflowApiVersion")+                     <*> (o .:? "logDir")+                     <*> (o .:? "commandlinesFileName")+                     <*> (o .:? "vmId")+                     <*> (o .:? "baseUrl")+                     <*> (o .:? "oauthScopes" .!= mempty)+                     <*> (o .:? "taskUser")+                     <*> (o .:? "streamingWorkerMainClass")+                     <*> (o .:? "baseTaskDir")+                     <*> (o .:? "logUploadLocation")+                     <*> (o .:? "tempStoragePrefix")+                     <*> (o .:? "logToSerialconsole")+                     <*> (o .:? "parallelWorkerSettings")+                     <*> (o .:? "languageHint"))++instance ToJSON TaskRunnerSettings where+        toJSON TaskRunnerSettings'{..}+          = object+              (catMaybes+                 [("continueOnException" .=) <$>+                    _trsContinueOnException,+                  ("harnessCommand" .=) <$> _trsHarnessCommand,+                  ("workflowFileName" .=) <$> _trsWorkflowFileName,+                  ("taskGroup" .=) <$> _trsTaskGroup,+                  ("alsologtostderr" .=) <$> _trsAlsologtostderr,+                  ("dataflowApiVersion" .=) <$> _trsDataflowAPIVersion,+                  ("logDir" .=) <$> _trsLogDir,+                  ("commandlinesFileName" .=) <$>+                    _trsCommandlinesFileName,+                  ("vmId" .=) <$> _trsVMId,+                  ("baseUrl" .=) <$> _trsBaseURL,+                  ("oauthScopes" .=) <$> _trsOAuthScopes,+                  ("taskUser" .=) <$> _trsTaskUser,+                  ("streamingWorkerMainClass" .=) <$>+                    _trsStreamingWorkerMainClass,+                  ("baseTaskDir" .=) <$> _trsBaseTaskDir,+                  ("logUploadLocation" .=) <$> _trsLogUploadLocation,+                  ("tempStoragePrefix" .=) <$> _trsTempStoragePrefix,+                  ("logToSerialconsole" .=) <$> _trsLogToSerialconsole,+                  ("parallelWorkerSettings" .=) <$>+                    _trsParallelWorkerSettings,+                  ("languageHint" .=) <$> _trsLanguageHint])++-- | Configuration information for a single streaming computation.+--+-- /See:/ 'streamingComputationConfig' smart constructor.+data StreamingComputationConfig = StreamingComputationConfig'+    { _sccInstructions  :: !(Maybe [ParallelInstruction])+    , _sccSystemName    :: !(Maybe Text)+    , _sccComputationId :: !(Maybe Text)+    , _sccStageName     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingComputationConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sccInstructions'+--+-- * 'sccSystemName'+--+-- * 'sccComputationId'+--+-- * 'sccStageName'+streamingComputationConfig+    :: StreamingComputationConfig+streamingComputationConfig =+    StreamingComputationConfig'+    { _sccInstructions = Nothing+    , _sccSystemName = Nothing+    , _sccComputationId = Nothing+    , _sccStageName = Nothing+    }++-- | Instructions that comprise the computation.+sccInstructions :: Lens' StreamingComputationConfig [ParallelInstruction]+sccInstructions+  = lens _sccInstructions+      (\ s a -> s{_sccInstructions = a})+      . _Default+      . _Coerce++-- | System defined name for this computation.+sccSystemName :: Lens' StreamingComputationConfig (Maybe Text)+sccSystemName+  = lens _sccSystemName+      (\ s a -> s{_sccSystemName = a})++-- | Unique identifier for this computation.+sccComputationId :: Lens' StreamingComputationConfig (Maybe Text)+sccComputationId+  = lens _sccComputationId+      (\ s a -> s{_sccComputationId = a})++-- | Stage name of this computation.+sccStageName :: Lens' StreamingComputationConfig (Maybe Text)+sccStageName+  = lens _sccStageName (\ s a -> s{_sccStageName = a})++instance FromJSON StreamingComputationConfig where+        parseJSON+          = withObject "StreamingComputationConfig"+              (\ o ->+                 StreamingComputationConfig' <$>+                   (o .:? "instructions" .!= mempty) <*>+                     (o .:? "systemName")+                     <*> (o .:? "computationId")+                     <*> (o .:? "stageName"))++instance ToJSON StreamingComputationConfig where+        toJSON StreamingComputationConfig'{..}+          = object+              (catMaybes+                 [("instructions" .=) <$> _sccInstructions,+                  ("systemName" .=) <$> _sccSystemName,+                  ("computationId" .=) <$> _sccComputationId,+                  ("stageName" .=) <$> _sccStageName])++-- | The Cloud Dataflow SDK pipeline options specified by the user. These+-- options are passed through the service and are used to recreate the SDK+-- pipeline options on the worker in a language agnostic and platform+-- independent way.+--+-- /See:/ 'environmentSdkPipelineOptions' smart constructor.+newtype EnvironmentSdkPipelineOptions = EnvironmentSdkPipelineOptions'+    { _espoAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentSdkPipelineOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'espoAddtional'+environmentSdkPipelineOptions+    :: HashMap Text JSONValue -- ^ 'espoAddtional'+    -> EnvironmentSdkPipelineOptions+environmentSdkPipelineOptions pEspoAddtional_ =+    EnvironmentSdkPipelineOptions'+    { _espoAddtional = _Coerce # pEspoAddtional_+    }++-- | Properties of the object.+espoAddtional :: Lens' EnvironmentSdkPipelineOptions (HashMap Text JSONValue)+espoAddtional+  = lens _espoAddtional+      (\ s a -> s{_espoAddtional = a})+      . _Coerce++instance FromJSON EnvironmentSdkPipelineOptions where+        parseJSON+          = withObject "EnvironmentSdkPipelineOptions"+              (\ o ->+                 EnvironmentSdkPipelineOptions' <$>+                   (parseJSONObject o))++instance ToJSON EnvironmentSdkPipelineOptions where+        toJSON = toJSON . _espoAddtional++-- | A representation of a floating point mean metric contribution.+--+-- /See:/ 'floatingPointMean' smart constructor.+data FloatingPointMean = FloatingPointMean'+    { _fpmCount :: !(Maybe SplitInt64)+    , _fpmSum   :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloatingPointMean' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpmCount'+--+-- * 'fpmSum'+floatingPointMean+    :: FloatingPointMean+floatingPointMean =+    FloatingPointMean'+    { _fpmCount = Nothing+    , _fpmSum = Nothing+    }++-- | The number of values being aggregated.+fpmCount :: Lens' FloatingPointMean (Maybe SplitInt64)+fpmCount = lens _fpmCount (\ s a -> s{_fpmCount = a})++-- | The sum of all values being aggregated.+fpmSum :: Lens' FloatingPointMean (Maybe Double)+fpmSum+  = lens _fpmSum (\ s a -> s{_fpmSum = a}) .+      mapping _Coerce++instance FromJSON FloatingPointMean where+        parseJSON+          = withObject "FloatingPointMean"+              (\ o ->+                 FloatingPointMean' <$>+                   (o .:? "count") <*> (o .:? "sum"))++instance ToJSON FloatingPointMean where+        toJSON FloatingPointMean'{..}+          = object+              (catMaybes+                 [("count" .=) <$> _fpmCount, ("sum" .=) <$> _fpmSum])++-- | Modeled after information exposed by \/proc\/stat.+--+-- /See:/ 'cpuTime' smart constructor.+data CPUTime = CPUTime'+    { _ctTotalMs   :: !(Maybe (Textual Word64))+    , _ctRate      :: !(Maybe (Textual Double))+    , _ctTimestamp :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CPUTime' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctTotalMs'+--+-- * 'ctRate'+--+-- * 'ctTimestamp'+cpuTime+    :: CPUTime+cpuTime =+    CPUTime'+    { _ctTotalMs = Nothing+    , _ctRate = Nothing+    , _ctTimestamp = Nothing+    }++-- | Total active CPU time across all cores (ie., non-idle) in milliseconds+-- since start-up.+ctTotalMs :: Lens' CPUTime (Maybe Word64)+ctTotalMs+  = lens _ctTotalMs (\ s a -> s{_ctTotalMs = a}) .+      mapping _Coerce++-- | Average CPU utilization rate (% non-idle cpu \/ second) since previous+-- sample.+ctRate :: Lens' CPUTime (Maybe Double)+ctRate+  = lens _ctRate (\ s a -> s{_ctRate = a}) .+      mapping _Coerce++-- | Timestamp of the measurement.+ctTimestamp :: Lens' CPUTime (Maybe UTCTime)+ctTimestamp+  = lens _ctTimestamp (\ s a -> s{_ctTimestamp = a}) .+      mapping _DateTime++instance FromJSON CPUTime where+        parseJSON+          = withObject "CPUTime"+              (\ o ->+                 CPUTime' <$>+                   (o .:? "totalMs") <*> (o .:? "rate") <*>+                     (o .:? "timestamp"))++instance ToJSON CPUTime where+        toJSON CPUTime'{..}+          = object+              (catMaybes+                 [("totalMs" .=) <$> _ctTotalMs,+                  ("rate" .=) <$> _ctRate,+                  ("timestamp" .=) <$> _ctTimestamp])++-- | Request to lease WorkItems.+--+-- /See:/ 'leaseWorkItemRequest' smart constructor.+data LeaseWorkItemRequest = LeaseWorkItemRequest'+    { _lwirWorkItemTypes          :: !(Maybe [Text])+    , _lwirCurrentWorkerTime      :: !(Maybe DateTime')+    , _lwirLocation               :: !(Maybe Text)+    , _lwirWorkerCapabilities     :: !(Maybe [Text])+    , _lwirRequestedLeaseDuration :: !(Maybe GDuration)+    , _lwirWorkerId               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LeaseWorkItemRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lwirWorkItemTypes'+--+-- * 'lwirCurrentWorkerTime'+--+-- * 'lwirLocation'+--+-- * 'lwirWorkerCapabilities'+--+-- * 'lwirRequestedLeaseDuration'+--+-- * 'lwirWorkerId'+leaseWorkItemRequest+    :: LeaseWorkItemRequest+leaseWorkItemRequest =+    LeaseWorkItemRequest'+    { _lwirWorkItemTypes = Nothing+    , _lwirCurrentWorkerTime = Nothing+    , _lwirLocation = Nothing+    , _lwirWorkerCapabilities = Nothing+    , _lwirRequestedLeaseDuration = Nothing+    , _lwirWorkerId = Nothing+    }++-- | Filter for WorkItem type.+lwirWorkItemTypes :: Lens' LeaseWorkItemRequest [Text]+lwirWorkItemTypes+  = lens _lwirWorkItemTypes+      (\ s a -> s{_lwirWorkItemTypes = a})+      . _Default+      . _Coerce++-- | The current timestamp at the worker.+lwirCurrentWorkerTime :: Lens' LeaseWorkItemRequest (Maybe UTCTime)+lwirCurrentWorkerTime+  = lens _lwirCurrentWorkerTime+      (\ s a -> s{_lwirCurrentWorkerTime = a})+      . mapping _DateTime++-- | The location which contains the WorkItem\'s job.+lwirLocation :: Lens' LeaseWorkItemRequest (Maybe Text)+lwirLocation+  = lens _lwirLocation (\ s a -> s{_lwirLocation = a})++-- | Worker capabilities. WorkItems might be limited to workers with specific+-- capabilities.+lwirWorkerCapabilities :: Lens' LeaseWorkItemRequest [Text]+lwirWorkerCapabilities+  = lens _lwirWorkerCapabilities+      (\ s a -> s{_lwirWorkerCapabilities = a})+      . _Default+      . _Coerce++-- | The initial lease period.+lwirRequestedLeaseDuration :: Lens' LeaseWorkItemRequest (Maybe Scientific)+lwirRequestedLeaseDuration+  = lens _lwirRequestedLeaseDuration+      (\ s a -> s{_lwirRequestedLeaseDuration = a})+      . mapping _GDuration++-- | Identifies the worker leasing work -- typically the ID of the virtual+-- machine running the worker.+lwirWorkerId :: Lens' LeaseWorkItemRequest (Maybe Text)+lwirWorkerId+  = lens _lwirWorkerId (\ s a -> s{_lwirWorkerId = a})++instance FromJSON LeaseWorkItemRequest where+        parseJSON+          = withObject "LeaseWorkItemRequest"+              (\ o ->+                 LeaseWorkItemRequest' <$>+                   (o .:? "workItemTypes" .!= mempty) <*>+                     (o .:? "currentWorkerTime")+                     <*> (o .:? "location")+                     <*> (o .:? "workerCapabilities" .!= mempty)+                     <*> (o .:? "requestedLeaseDuration")+                     <*> (o .:? "workerId"))++instance ToJSON LeaseWorkItemRequest where+        toJSON LeaseWorkItemRequest'{..}+          = object+              (catMaybes+                 [("workItemTypes" .=) <$> _lwirWorkItemTypes,+                  ("currentWorkerTime" .=) <$> _lwirCurrentWorkerTime,+                  ("location" .=) <$> _lwirLocation,+                  ("workerCapabilities" .=) <$>+                    _lwirWorkerCapabilities,+                  ("requestedLeaseDuration" .=) <$>+                    _lwirRequestedLeaseDuration,+                  ("workerId" .=) <$> _lwirWorkerId])++-- | The result of a SourceOperationRequest, specified in+-- ReportWorkItemStatusRequest.source_operation when the work item is+-- completed.+--+-- /See:/ 'sourceOperationResponse' smart constructor.+data SourceOperationResponse = SourceOperationResponse'+    { _sorSplit       :: !(Maybe SourceSplitResponse)+    , _sorGetMetadata :: !(Maybe SourceGetMetadataResponse)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sorSplit'+--+-- * 'sorGetMetadata'+sourceOperationResponse+    :: SourceOperationResponse+sourceOperationResponse =+    SourceOperationResponse'+    { _sorSplit = Nothing+    , _sorGetMetadata = Nothing+    }++-- | A response to a request to split a source.+sorSplit :: Lens' SourceOperationResponse (Maybe SourceSplitResponse)+sorSplit = lens _sorSplit (\ s a -> s{_sorSplit = a})++-- | A response to a request to get metadata about a source.+sorGetMetadata :: Lens' SourceOperationResponse (Maybe SourceGetMetadataResponse)+sorGetMetadata+  = lens _sorGetMetadata+      (\ s a -> s{_sorGetMetadata = a})++instance FromJSON SourceOperationResponse where+        parseJSON+          = withObject "SourceOperationResponse"+              (\ o ->+                 SourceOperationResponse' <$>+                   (o .:? "split") <*> (o .:? "getMetadata"))++instance ToJSON SourceOperationResponse where+        toJSON SourceOperationResponse'{..}+          = object+              (catMaybes+                 [("split" .=) <$> _sorSplit,+                  ("getMetadata" .=) <$> _sorGetMetadata])++-- | Maps user stage names to stable computation names.+--+-- /See:/ 'topologyConfigUserStageToComputationNameMap' smart constructor.+newtype TopologyConfigUserStageToComputationNameMap = TopologyConfigUserStageToComputationNameMap'+    { _tcustcnmAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TopologyConfigUserStageToComputationNameMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcustcnmAddtional'+topologyConfigUserStageToComputationNameMap+    :: HashMap Text Text -- ^ 'tcustcnmAddtional'+    -> TopologyConfigUserStageToComputationNameMap+topologyConfigUserStageToComputationNameMap pTcustcnmAddtional_ =+    TopologyConfigUserStageToComputationNameMap'+    { _tcustcnmAddtional = _Coerce # pTcustcnmAddtional_+    }++tcustcnmAddtional :: Lens' TopologyConfigUserStageToComputationNameMap (HashMap Text Text)+tcustcnmAddtional+  = lens _tcustcnmAddtional+      (\ s a -> s{_tcustcnmAddtional = a})+      . _Coerce++instance FromJSON+         TopologyConfigUserStageToComputationNameMap where+        parseJSON+          = withObject+              "TopologyConfigUserStageToComputationNameMap"+              (\ o ->+                 TopologyConfigUserStageToComputationNameMap' <$>+                   (parseJSONObject o))++instance ToJSON+         TopologyConfigUserStageToComputationNameMap where+        toJSON = toJSON . _tcustcnmAddtional++-- | A task which consists of a shell command for the worker to execute.+--+-- /See:/ 'shellTask' smart constructor.+data ShellTask = ShellTask'+    { _stCommand  :: !(Maybe Text)+    , _stExitCode :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ShellTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stCommand'+--+-- * 'stExitCode'+shellTask+    :: ShellTask+shellTask =+    ShellTask'+    { _stCommand = Nothing+    , _stExitCode = Nothing+    }++-- | The shell command to run.+stCommand :: Lens' ShellTask (Maybe Text)+stCommand+  = lens _stCommand (\ s a -> s{_stCommand = a})++-- | Exit code for the task.+stExitCode :: Lens' ShellTask (Maybe Int32)+stExitCode+  = lens _stExitCode (\ s a -> s{_stExitCode = a}) .+      mapping _Coerce++instance FromJSON ShellTask where+        parseJSON+          = withObject "ShellTask"+              (\ o ->+                 ShellTask' <$>+                   (o .:? "command") <*> (o .:? "exitCode"))++instance ToJSON ShellTask where+        toJSON ShellTask'{..}+          = object+              (catMaybes+                 [("command" .=) <$> _stCommand,+                  ("exitCode" .=) <$> _stExitCode])++-- | Metadata for a Datastore connector used by the job.+--+-- /See:/ 'datastoreIODetails' smart constructor.+data DatastoreIODetails = DatastoreIODetails'+    { _diodNamespace :: !(Maybe Text)+    , _diodProjectId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DatastoreIODetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diodNamespace'+--+-- * 'diodProjectId'+datastoreIODetails+    :: DatastoreIODetails+datastoreIODetails =+    DatastoreIODetails'+    { _diodNamespace = Nothing+    , _diodProjectId = Nothing+    }++-- | Namespace used in the connection.+diodNamespace :: Lens' DatastoreIODetails (Maybe Text)+diodNamespace+  = lens _diodNamespace+      (\ s a -> s{_diodNamespace = a})++-- | ProjectId accessed in the connection.+diodProjectId :: Lens' DatastoreIODetails (Maybe Text)+diodProjectId+  = lens _diodProjectId+      (\ s a -> s{_diodProjectId = a})++instance FromJSON DatastoreIODetails where+        parseJSON+          = withObject "DatastoreIODetails"+              (\ o ->+                 DatastoreIODetails' <$>+                   (o .:? "namespace") <*> (o .:? "projectId"))++instance ToJSON DatastoreIODetails where+        toJSON DatastoreIODetails'{..}+          = object+              (catMaybes+                 [("namespace" .=) <$> _diodNamespace,+                  ("projectId" .=) <$> _diodProjectId])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | Represents the level of parallelism in a WorkItem\'s input, reported by+-- the worker.+--+-- /See:/ 'reportedParallelism' smart constructor.+data ReportedParallelism = ReportedParallelism'+    { _rpValue      :: !(Maybe (Textual Double))+    , _rpIsInfinite :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportedParallelism' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpValue'+--+-- * 'rpIsInfinite'+reportedParallelism+    :: ReportedParallelism+reportedParallelism =+    ReportedParallelism'+    { _rpValue = Nothing+    , _rpIsInfinite = Nothing+    }++-- | Specifies the level of parallelism in case it is finite.+rpValue :: Lens' ReportedParallelism (Maybe Double)+rpValue+  = lens _rpValue (\ s a -> s{_rpValue = a}) .+      mapping _Coerce++-- | Specifies whether the parallelism is infinite. If true, \"value\" is+-- ignored. Infinite parallelism means the service will assume that the+-- work item can always be split into more non-empty work items by dynamic+-- splitting. This is a work-around for lack of support for infinity by the+-- current JSON-based Java RPC stack.+rpIsInfinite :: Lens' ReportedParallelism (Maybe Bool)+rpIsInfinite+  = lens _rpIsInfinite (\ s a -> s{_rpIsInfinite = a})++instance FromJSON ReportedParallelism where+        parseJSON+          = withObject "ReportedParallelism"+              (\ o ->+                 ReportedParallelism' <$>+                   (o .:? "value") <*> (o .:? "isInfinite"))++instance ToJSON ReportedParallelism where+        toJSON ReportedParallelism'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _rpValue,+                  ("isInfinite" .=) <$> _rpIsInfinite])++-- | Named properties associated with the step. Each kind of predefined step+-- has its own required set of properties. Must be provided on Create. Only+-- retrieved with JOB_VIEW_ALL.+--+-- /See:/ 'stepProperties' smart constructor.+newtype StepProperties = StepProperties'+    { _spAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StepProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spAddtional'+stepProperties+    :: HashMap Text JSONValue -- ^ 'spAddtional'+    -> StepProperties+stepProperties pSpAddtional_ =+    StepProperties'+    { _spAddtional = _Coerce # pSpAddtional_+    }++-- | Properties of the object.+spAddtional :: Lens' StepProperties (HashMap Text JSONValue)+spAddtional+  = lens _spAddtional (\ s a -> s{_spAddtional = a}) .+      _Coerce++instance FromJSON StepProperties where+        parseJSON+          = withObject "StepProperties"+              (\ o -> StepProperties' <$> (parseJSONObject o))++instance ToJSON StepProperties where+        toJSON = toJSON . _spAddtional++-- | Global topology of the streaming Dataflow job, including all+-- computations and their sharded locations.+--+-- /See:/ 'topologyConfig' smart constructor.+data TopologyConfig = TopologyConfig'+    { _tcDataDiskAssignments           :: !(Maybe [DataDiskAssignment])+    , _tcPersistentStateVersion        :: !(Maybe (Textual Int32))+    , _tcForwardingKeyBits             :: !(Maybe (Textual Int32))+    , _tcUserStageToComputationNameMap :: !(Maybe TopologyConfigUserStageToComputationNameMap)+    , _tcComputations                  :: !(Maybe [ComputationTopology])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TopologyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcDataDiskAssignments'+--+-- * 'tcPersistentStateVersion'+--+-- * 'tcForwardingKeyBits'+--+-- * 'tcUserStageToComputationNameMap'+--+-- * 'tcComputations'+topologyConfig+    :: TopologyConfig+topologyConfig =+    TopologyConfig'+    { _tcDataDiskAssignments = Nothing+    , _tcPersistentStateVersion = Nothing+    , _tcForwardingKeyBits = Nothing+    , _tcUserStageToComputationNameMap = Nothing+    , _tcComputations = Nothing+    }++-- | The disks assigned to a streaming Dataflow job.+tcDataDiskAssignments :: Lens' TopologyConfig [DataDiskAssignment]+tcDataDiskAssignments+  = lens _tcDataDiskAssignments+      (\ s a -> s{_tcDataDiskAssignments = a})+      . _Default+      . _Coerce++-- | Version number for persistent state.+tcPersistentStateVersion :: Lens' TopologyConfig (Maybe Int32)+tcPersistentStateVersion+  = lens _tcPersistentStateVersion+      (\ s a -> s{_tcPersistentStateVersion = a})+      . mapping _Coerce++-- | The size (in bits) of keys that will be assigned to source messages.+tcForwardingKeyBits :: Lens' TopologyConfig (Maybe Int32)+tcForwardingKeyBits+  = lens _tcForwardingKeyBits+      (\ s a -> s{_tcForwardingKeyBits = a})+      . mapping _Coerce++-- | Maps user stage names to stable computation names.+tcUserStageToComputationNameMap :: Lens' TopologyConfig (Maybe TopologyConfigUserStageToComputationNameMap)+tcUserStageToComputationNameMap+  = lens _tcUserStageToComputationNameMap+      (\ s a -> s{_tcUserStageToComputationNameMap = a})++-- | The computations associated with a streaming Dataflow job.+tcComputations :: Lens' TopologyConfig [ComputationTopology]+tcComputations+  = lens _tcComputations+      (\ s a -> s{_tcComputations = a})+      . _Default+      . _Coerce++instance FromJSON TopologyConfig where+        parseJSON+          = withObject "TopologyConfig"+              (\ o ->+                 TopologyConfig' <$>+                   (o .:? "dataDiskAssignments" .!= mempty) <*>+                     (o .:? "persistentStateVersion")+                     <*> (o .:? "forwardingKeyBits")+                     <*> (o .:? "userStageToComputationNameMap")+                     <*> (o .:? "computations" .!= mempty))++instance ToJSON TopologyConfig where+        toJSON TopologyConfig'{..}+          = object+              (catMaybes+                 [("dataDiskAssignments" .=) <$>+                    _tcDataDiskAssignments,+                  ("persistentStateVersion" .=) <$>+                    _tcPersistentStateVersion,+                  ("forwardingKeyBits" .=) <$> _tcForwardingKeyBits,+                  ("userStageToComputationNameMap" .=) <$>+                    _tcUserStageToComputationNameMap,+                  ("computations" .=) <$> _tcComputations])++-- | A suggestion by the service to the worker to dynamically split the+-- WorkItem.+--+-- /See:/ 'approximateSplitRequest' smart constructor.+data ApproximateSplitRequest = ApproximateSplitRequest'+    { _asrFractionConsumed    :: !(Maybe (Textual Double))+    , _asrFractionOfRemainder :: !(Maybe (Textual Double))+    , _asrPosition            :: !(Maybe Position)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApproximateSplitRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asrFractionConsumed'+--+-- * 'asrFractionOfRemainder'+--+-- * 'asrPosition'+approximateSplitRequest+    :: ApproximateSplitRequest+approximateSplitRequest =+    ApproximateSplitRequest'+    { _asrFractionConsumed = Nothing+    , _asrFractionOfRemainder = Nothing+    , _asrPosition = Nothing+    }++-- | A fraction at which to split the work item, from 0.0 (beginning of the+-- input) to 1.0 (end of the input).+asrFractionConsumed :: Lens' ApproximateSplitRequest (Maybe Double)+asrFractionConsumed+  = lens _asrFractionConsumed+      (\ s a -> s{_asrFractionConsumed = a})+      . mapping _Coerce++-- | The fraction of the remainder of work to split the work item at, from+-- 0.0 (split at the current position) to 1.0 (end of the input).+asrFractionOfRemainder :: Lens' ApproximateSplitRequest (Maybe Double)+asrFractionOfRemainder+  = lens _asrFractionOfRemainder+      (\ s a -> s{_asrFractionOfRemainder = a})+      . mapping _Coerce++-- | A Position at which to split the work item.+asrPosition :: Lens' ApproximateSplitRequest (Maybe Position)+asrPosition+  = lens _asrPosition (\ s a -> s{_asrPosition = a})++instance FromJSON ApproximateSplitRequest where+        parseJSON+          = withObject "ApproximateSplitRequest"+              (\ o ->+                 ApproximateSplitRequest' <$>+                   (o .:? "fractionConsumed") <*>+                     (o .:? "fractionOfRemainder")+                     <*> (o .:? "position"))++instance ToJSON ApproximateSplitRequest where+        toJSON ApproximateSplitRequest'{..}+          = object+              (catMaybes+                 [("fractionConsumed" .=) <$> _asrFractionConsumed,+                  ("fractionOfRemainder" .=) <$>+                    _asrFractionOfRemainder,+                  ("position" .=) <$> _asrPosition])++-- | A representation of an int64, n, that is immune to precision loss when+-- encoded in JSON.+--+-- /See:/ 'splitInt64' smart constructor.+data SplitInt64 = SplitInt64'+    { _siHighBits :: !(Maybe (Textual Int32))+    , _siLowBits  :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SplitInt64' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siHighBits'+--+-- * 'siLowBits'+splitInt64+    :: SplitInt64+splitInt64 =+    SplitInt64'+    { _siHighBits = Nothing+    , _siLowBits = Nothing+    }++-- | The high order bits, including the sign: n >> 32.+siHighBits :: Lens' SplitInt64 (Maybe Int32)+siHighBits+  = lens _siHighBits (\ s a -> s{_siHighBits = a}) .+      mapping _Coerce++-- | The low order bits: n & 0xffffffff.+siLowBits :: Lens' SplitInt64 (Maybe Word32)+siLowBits+  = lens _siLowBits (\ s a -> s{_siLowBits = a}) .+      mapping _Coerce++instance FromJSON SplitInt64 where+        parseJSON+          = withObject "SplitInt64"+              (\ o ->+                 SplitInt64' <$>+                   (o .:? "highBits") <*> (o .:? "lowBits"))++instance ToJSON SplitInt64 where+        toJSON SplitInt64'{..}+          = object+              (catMaybes+                 [("highBits" .=) <$> _siHighBits,+                  ("lowBits" .=) <$> _siLowBits])++-- | Provides data to pass through to the worker harness.+--+-- /See:/ 'workerSettings' smart constructor.+data WorkerSettings = WorkerSettings'+    { _wsServicePath        :: !(Maybe Text)+    , _wsBaseURL            :: !(Maybe Text)+    , _wsShuffleServicePath :: !(Maybe Text)+    , _wsTempStoragePrefix  :: !(Maybe Text)+    , _wsReportingEnabled   :: !(Maybe Bool)+    , _wsWorkerId           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wsServicePath'+--+-- * 'wsBaseURL'+--+-- * 'wsShuffleServicePath'+--+-- * 'wsTempStoragePrefix'+--+-- * 'wsReportingEnabled'+--+-- * 'wsWorkerId'+workerSettings+    :: WorkerSettings+workerSettings =+    WorkerSettings'+    { _wsServicePath = Nothing+    , _wsBaseURL = Nothing+    , _wsShuffleServicePath = Nothing+    , _wsTempStoragePrefix = Nothing+    , _wsReportingEnabled = Nothing+    , _wsWorkerId = Nothing+    }++-- | The Cloud Dataflow service path relative to the root URL, for example,+-- \"dataflow\/v1b3\/projects\".+wsServicePath :: Lens' WorkerSettings (Maybe Text)+wsServicePath+  = lens _wsServicePath+      (\ s a -> s{_wsServicePath = a})++-- | The base URL for accessing Google Cloud APIs. When workers access Google+-- Cloud APIs, they logically do so via relative URLs. If this field is+-- specified, it supplies the base URL to use for resolving these relative+-- URLs. The normative algorithm used is defined by RFC 1808, \"Relative+-- Uniform Resource Locators\". If not specified, the default value is+-- \"http:\/\/www.googleapis.com\/\"+wsBaseURL :: Lens' WorkerSettings (Maybe Text)+wsBaseURL+  = lens _wsBaseURL (\ s a -> s{_wsBaseURL = a})++-- | The Shuffle service path relative to the root URL, for example,+-- \"shuffle\/v1beta1\".+wsShuffleServicePath :: Lens' WorkerSettings (Maybe Text)+wsShuffleServicePath+  = lens _wsShuffleServicePath+      (\ s a -> s{_wsShuffleServicePath = a})++-- | The prefix of the resources the system should use for temporary storage.+-- The supported resource type is: Google Cloud Storage:+-- storage.googleapis.com\/{bucket}\/{object}+-- bucket.storage.googleapis.com\/{object}+wsTempStoragePrefix :: Lens' WorkerSettings (Maybe Text)+wsTempStoragePrefix+  = lens _wsTempStoragePrefix+      (\ s a -> s{_wsTempStoragePrefix = a})++-- | Whether to send work progress updates to the service.+wsReportingEnabled :: Lens' WorkerSettings (Maybe Bool)+wsReportingEnabled+  = lens _wsReportingEnabled+      (\ s a -> s{_wsReportingEnabled = a})++-- | The ID of the worker running this pipeline.+wsWorkerId :: Lens' WorkerSettings (Maybe Text)+wsWorkerId+  = lens _wsWorkerId (\ s a -> s{_wsWorkerId = a})++instance FromJSON WorkerSettings where+        parseJSON+          = withObject "WorkerSettings"+              (\ o ->+                 WorkerSettings' <$>+                   (o .:? "servicePath") <*> (o .:? "baseUrl") <*>+                     (o .:? "shuffleServicePath")+                     <*> (o .:? "tempStoragePrefix")+                     <*> (o .:? "reportingEnabled")+                     <*> (o .:? "workerId"))++instance ToJSON WorkerSettings where+        toJSON WorkerSettings'{..}+          = object+              (catMaybes+                 [("servicePath" .=) <$> _wsServicePath,+                  ("baseUrl" .=) <$> _wsBaseURL,+                  ("shuffleServicePath" .=) <$> _wsShuffleServicePath,+                  ("tempStoragePrefix" .=) <$> _wsTempStoragePrefix,+                  ("reportingEnabled" .=) <$> _wsReportingEnabled,+                  ("workerId" .=) <$> _wsWorkerId])++-- | Response to a get debug configuration request.+--+-- /See:/ 'getDebugConfigResponse' smart constructor.+newtype GetDebugConfigResponse = GetDebugConfigResponse'+    { _gdcrConfig :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDebugConfigResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcrConfig'+getDebugConfigResponse+    :: GetDebugConfigResponse+getDebugConfigResponse =+    GetDebugConfigResponse'+    { _gdcrConfig = Nothing+    }++-- | The encoded debug configuration for the requested component.+gdcrConfig :: Lens' GetDebugConfigResponse (Maybe Text)+gdcrConfig+  = lens _gdcrConfig (\ s a -> s{_gdcrConfig = a})++instance FromJSON GetDebugConfigResponse where+        parseJSON+          = withObject "GetDebugConfigResponse"+              (\ o -> GetDebugConfigResponse' <$> (o .:? "config"))++instance ToJSON GetDebugConfigResponse where+        toJSON GetDebugConfigResponse'{..}+          = object (catMaybes [("config" .=) <$> _gdcrConfig])++-- | The version of the SDK used to run the jobl+--+-- /See:/ 'sdkVersion' smart constructor.+data SdkVersion = SdkVersion'+    { _svSdkSupportStatus   :: !(Maybe SdkVersionSdkSupportStatus)+    , _svVersionDisplayName :: !(Maybe Text)+    , _svVersion            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SdkVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svSdkSupportStatus'+--+-- * 'svVersionDisplayName'+--+-- * 'svVersion'+sdkVersion+    :: SdkVersion+sdkVersion =+    SdkVersion'+    { _svSdkSupportStatus = Nothing+    , _svVersionDisplayName = Nothing+    , _svVersion = Nothing+    }++-- | The support status for this SDK version.+svSdkSupportStatus :: Lens' SdkVersion (Maybe SdkVersionSdkSupportStatus)+svSdkSupportStatus+  = lens _svSdkSupportStatus+      (\ s a -> s{_svSdkSupportStatus = a})++-- | A readable string describing the version of the sdk.+svVersionDisplayName :: Lens' SdkVersion (Maybe Text)+svVersionDisplayName+  = lens _svVersionDisplayName+      (\ s a -> s{_svVersionDisplayName = a})++-- | The version of the SDK used to run the job.+svVersion :: Lens' SdkVersion (Maybe Text)+svVersion+  = lens _svVersion (\ s a -> s{_svVersion = a})++instance FromJSON SdkVersion where+        parseJSON+          = withObject "SdkVersion"+              (\ o ->+                 SdkVersion' <$>+                   (o .:? "sdkSupportStatus") <*>+                     (o .:? "versionDisplayName")+                     <*> (o .:? "version"))++instance ToJSON SdkVersion where+        toJSON SdkVersion'{..}+          = object+              (catMaybes+                 [("sdkSupportStatus" .=) <$> _svSdkSupportStatus,+                  ("versionDisplayName" .=) <$> _svVersionDisplayName,+                  ("version" .=) <$> _svVersion])++-- | Other data returned by the service, specific to the particular worker+-- harness.+--+-- /See:/ 'workItemServiceStateHarnessData' smart constructor.+newtype WorkItemServiceStateHarnessData = WorkItemServiceStateHarnessData'+    { _wisshdAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkItemServiceStateHarnessData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wisshdAddtional'+workItemServiceStateHarnessData+    :: HashMap Text JSONValue -- ^ 'wisshdAddtional'+    -> WorkItemServiceStateHarnessData+workItemServiceStateHarnessData pWisshdAddtional_ =+    WorkItemServiceStateHarnessData'+    { _wisshdAddtional = _Coerce # pWisshdAddtional_+    }++-- | Properties of the object.+wisshdAddtional :: Lens' WorkItemServiceStateHarnessData (HashMap Text JSONValue)+wisshdAddtional+  = lens _wisshdAddtional+      (\ s a -> s{_wisshdAddtional = a})+      . _Coerce++instance FromJSON WorkItemServiceStateHarnessData+         where+        parseJSON+          = withObject "WorkItemServiceStateHarnessData"+              (\ o ->+                 WorkItemServiceStateHarnessData' <$>+                   (parseJSONObject o))++instance ToJSON WorkItemServiceStateHarnessData where+        toJSON = toJSON . _wisshdAddtional++-- | Data disk assignment for a given VM instance.+--+-- /See:/ 'dataDiskAssignment' smart constructor.+data DataDiskAssignment = DataDiskAssignment'+    { _ddaVMInstance :: !(Maybe Text)+    , _ddaDataDisks  :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataDiskAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddaVMInstance'+--+-- * 'ddaDataDisks'+dataDiskAssignment+    :: DataDiskAssignment+dataDiskAssignment =+    DataDiskAssignment'+    { _ddaVMInstance = Nothing+    , _ddaDataDisks = Nothing+    }++-- | VM instance name the data disks mounted to, for example+-- \"myproject-1014-104817-4c2-harness-0\".+ddaVMInstance :: Lens' DataDiskAssignment (Maybe Text)+ddaVMInstance+  = lens _ddaVMInstance+      (\ s a -> s{_ddaVMInstance = a})++-- | Mounted data disks. The order is important a data disk\'s 0-based index+-- in this list defines which persistent directory the disk is mounted to,+-- for example the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\"+-- }, { \"myproject-1014-104817-4c2-harness-0-disk-1\" }.+ddaDataDisks :: Lens' DataDiskAssignment [Text]+ddaDataDisks+  = lens _ddaDataDisks (\ s a -> s{_ddaDataDisks = a})+      . _Default+      . _Coerce++instance FromJSON DataDiskAssignment where+        parseJSON+          = withObject "DataDiskAssignment"+              (\ o ->+                 DataDiskAssignment' <$>+                   (o .:? "vmInstance") <*>+                     (o .:? "dataDisks" .!= mempty))++instance ToJSON DataDiskAssignment where+        toJSON DataDiskAssignment'{..}+          = object+              (catMaybes+                 [("vmInstance" .=) <$> _ddaVMInstance,+                  ("dataDisks" .=) <$> _ddaDataDisks])++-- | Worker metrics exported from workers. This contains resource utilization+-- metrics accumulated from a variety of sources. For more information, see+-- go\/df-resource-signals.+--+-- /See:/ 'resourceUtilizationReport' smart constructor.+newtype ResourceUtilizationReport = ResourceUtilizationReport'+    { _rurCPUTime :: Maybe [CPUTime]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceUtilizationReport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rurCPUTime'+resourceUtilizationReport+    :: ResourceUtilizationReport+resourceUtilizationReport =+    ResourceUtilizationReport'+    { _rurCPUTime = Nothing+    }++-- | CPU utilization samples.+rurCPUTime :: Lens' ResourceUtilizationReport [CPUTime]+rurCPUTime+  = lens _rurCPUTime (\ s a -> s{_rurCPUTime = a}) .+      _Default+      . _Coerce++instance FromJSON ResourceUtilizationReport where+        parseJSON+          = withObject "ResourceUtilizationReport"+              (\ o ->+                 ResourceUtilizationReport' <$>+                   (o .:? "cpuTime" .!= mempty))++instance ToJSON ResourceUtilizationReport where+        toJSON ResourceUtilizationReport'{..}+          = object (catMaybes [("cpuTime" .=) <$> _rurCPUTime])++-- | Indicates which location failed to respond to a request for data.+--+-- /See:/ 'failedLocation' smart constructor.+newtype FailedLocation = FailedLocation'+    { _flName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FailedLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flName'+failedLocation+    :: FailedLocation+failedLocation =+    FailedLocation'+    { _flName = Nothing+    }++-- | The name of the failed location.+flName :: Lens' FailedLocation (Maybe Text)+flName = lens _flName (\ s a -> s{_flName = a})++instance FromJSON FailedLocation where+        parseJSON+          = withObject "FailedLocation"+              (\ o -> FailedLocation' <$> (o .:? "name"))++instance ToJSON FailedLocation where+        toJSON FailedLocation'{..}+          = object (catMaybes [("name" .=) <$> _flName])++-- | A worker_message response allows the server to pass information to the+-- sender.+--+-- /See:/ 'workerMessageResponse' smart constructor.+data WorkerMessageResponse = WorkerMessageResponse'+    { _wmrWorkerHealthReportResponse   :: !(Maybe WorkerHealthReportResponse)+    , _wmrWorkerMetricsResponse        :: !(Maybe ResourceUtilizationReportResponse)+    , _wmrWorkerShutdownNoticeResponse :: !(Maybe WorkerShutdownNoticeResponse)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerMessageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wmrWorkerHealthReportResponse'+--+-- * 'wmrWorkerMetricsResponse'+--+-- * 'wmrWorkerShutdownNoticeResponse'+workerMessageResponse+    :: WorkerMessageResponse+workerMessageResponse =+    WorkerMessageResponse'+    { _wmrWorkerHealthReportResponse = Nothing+    , _wmrWorkerMetricsResponse = Nothing+    , _wmrWorkerShutdownNoticeResponse = Nothing+    }++-- | The service\'s response to a worker\'s health report.+wmrWorkerHealthReportResponse :: Lens' WorkerMessageResponse (Maybe WorkerHealthReportResponse)+wmrWorkerHealthReportResponse+  = lens _wmrWorkerHealthReportResponse+      (\ s a -> s{_wmrWorkerHealthReportResponse = a})++-- | Service\'s response to reporting worker metrics (currently empty).+wmrWorkerMetricsResponse :: Lens' WorkerMessageResponse (Maybe ResourceUtilizationReportResponse)+wmrWorkerMetricsResponse+  = lens _wmrWorkerMetricsResponse+      (\ s a -> s{_wmrWorkerMetricsResponse = a})++-- | Service\'s response to shutdown notice (currently empty).+wmrWorkerShutdownNoticeResponse :: Lens' WorkerMessageResponse (Maybe WorkerShutdownNoticeResponse)+wmrWorkerShutdownNoticeResponse+  = lens _wmrWorkerShutdownNoticeResponse+      (\ s a -> s{_wmrWorkerShutdownNoticeResponse = a})++instance FromJSON WorkerMessageResponse where+        parseJSON+          = withObject "WorkerMessageResponse"+              (\ o ->+                 WorkerMessageResponse' <$>+                   (o .:? "workerHealthReportResponse") <*>+                     (o .:? "workerMetricsResponse")+                     <*> (o .:? "workerShutdownNoticeResponse"))++instance ToJSON WorkerMessageResponse where+        toJSON WorkerMessageResponse'{..}+          = object+              (catMaybes+                 [("workerHealthReportResponse" .=) <$>+                    _wmrWorkerHealthReportResponse,+                  ("workerMetricsResponse" .=) <$>+                    _wmrWorkerMetricsResponse,+                  ("workerShutdownNoticeResponse" .=) <$>+                    _wmrWorkerShutdownNoticeResponse])++-- | The runtime parameters to pass to the job.+--+-- /See:/ 'createJobFromTemplateRequestParameters' smart constructor.+newtype CreateJobFromTemplateRequestParameters = CreateJobFromTemplateRequestParameters'+    { _cjftrpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateJobFromTemplateRequestParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cjftrpAddtional'+createJobFromTemplateRequestParameters+    :: HashMap Text Text -- ^ 'cjftrpAddtional'+    -> CreateJobFromTemplateRequestParameters+createJobFromTemplateRequestParameters pCjftrpAddtional_ =+    CreateJobFromTemplateRequestParameters'+    { _cjftrpAddtional = _Coerce # pCjftrpAddtional_+    }++cjftrpAddtional :: Lens' CreateJobFromTemplateRequestParameters (HashMap Text Text)+cjftrpAddtional+  = lens _cjftrpAddtional+      (\ s a -> s{_cjftrpAddtional = a})+      . _Coerce++instance FromJSON+         CreateJobFromTemplateRequestParameters where+        parseJSON+          = withObject "CreateJobFromTemplateRequestParameters"+              (\ o ->+                 CreateJobFromTemplateRequestParameters' <$>+                   (parseJSONObject o))++instance ToJSON+         CreateJobFromTemplateRequestParameters where+        toJSON = toJSON . _cjftrpAddtional++-- | Metadata for a BigTable connector used by the job.+--+-- /See:/ 'bigTableIODetails' smart constructor.+data BigTableIODetails = BigTableIODetails'+    { _btiodInstanceId :: !(Maybe Text)+    , _btiodProjectId  :: !(Maybe Text)+    , _btiodTableId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BigTableIODetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'btiodInstanceId'+--+-- * 'btiodProjectId'+--+-- * 'btiodTableId'+bigTableIODetails+    :: BigTableIODetails+bigTableIODetails =+    BigTableIODetails'+    { _btiodInstanceId = Nothing+    , _btiodProjectId = Nothing+    , _btiodTableId = Nothing+    }++-- | InstanceId accessed in the connection.+btiodInstanceId :: Lens' BigTableIODetails (Maybe Text)+btiodInstanceId+  = lens _btiodInstanceId+      (\ s a -> s{_btiodInstanceId = a})++-- | ProjectId accessed in the connection.+btiodProjectId :: Lens' BigTableIODetails (Maybe Text)+btiodProjectId+  = lens _btiodProjectId+      (\ s a -> s{_btiodProjectId = a})++-- | TableId accessed in the connection.+btiodTableId :: Lens' BigTableIODetails (Maybe Text)+btiodTableId+  = lens _btiodTableId (\ s a -> s{_btiodTableId = a})++instance FromJSON BigTableIODetails where+        parseJSON+          = withObject "BigTableIODetails"+              (\ o ->+                 BigTableIODetails' <$>+                   (o .:? "instanceId") <*> (o .:? "projectId") <*>+                     (o .:? "tableId"))++instance ToJSON BigTableIODetails where+        toJSON BigTableIODetails'{..}+          = object+              (catMaybes+                 [("instanceId" .=) <$> _btiodInstanceId,+                  ("projectId" .=) <$> _btiodProjectId,+                  ("tableId" .=) <$> _btiodTableId])++-- | The Dataflow service\'s idea of the current state of a WorkItem being+-- processed by a worker.+--+-- /See:/ 'workItemServiceState' smart constructor.+data WorkItemServiceState = WorkItemServiceState'+    { _wissNextReportIndex       :: !(Maybe (Textual Int64))+    , _wissReportStatusInterval  :: !(Maybe GDuration)+    , _wissHarnessData           :: !(Maybe WorkItemServiceStateHarnessData)+    , _wissSuggestedStopPoint    :: !(Maybe ApproximateProgress)+    , _wissSuggestedStopPosition :: !(Maybe Position)+    , _wissLeaseExpireTime       :: !(Maybe DateTime')+    , _wissSplitRequest          :: !(Maybe ApproximateSplitRequest)+    , _wissMetricShortId         :: !(Maybe [MetricShortId])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkItemServiceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wissNextReportIndex'+--+-- * 'wissReportStatusInterval'+--+-- * 'wissHarnessData'+--+-- * 'wissSuggestedStopPoint'+--+-- * 'wissSuggestedStopPosition'+--+-- * 'wissLeaseExpireTime'+--+-- * 'wissSplitRequest'+--+-- * 'wissMetricShortId'+workItemServiceState+    :: WorkItemServiceState+workItemServiceState =+    WorkItemServiceState'+    { _wissNextReportIndex = Nothing+    , _wissReportStatusInterval = Nothing+    , _wissHarnessData = Nothing+    , _wissSuggestedStopPoint = Nothing+    , _wissSuggestedStopPosition = Nothing+    , _wissLeaseExpireTime = Nothing+    , _wissSplitRequest = Nothing+    , _wissMetricShortId = Nothing+    }++-- | The index value to use for the next report sent by the worker. Note: If+-- the report call fails for whatever reason, the worker should reuse this+-- index for subsequent report attempts.+wissNextReportIndex :: Lens' WorkItemServiceState (Maybe Int64)+wissNextReportIndex+  = lens _wissNextReportIndex+      (\ s a -> s{_wissNextReportIndex = a})+      . mapping _Coerce++-- | New recommended reporting interval.+wissReportStatusInterval :: Lens' WorkItemServiceState (Maybe Scientific)+wissReportStatusInterval+  = lens _wissReportStatusInterval+      (\ s a -> s{_wissReportStatusInterval = a})+      . mapping _GDuration++-- | Other data returned by the service, specific to the particular worker+-- harness.+wissHarnessData :: Lens' WorkItemServiceState (Maybe WorkItemServiceStateHarnessData)+wissHarnessData+  = lens _wissHarnessData+      (\ s a -> s{_wissHarnessData = a})++-- | DEPRECATED in favor of split_request.+wissSuggestedStopPoint :: Lens' WorkItemServiceState (Maybe ApproximateProgress)+wissSuggestedStopPoint+  = lens _wissSuggestedStopPoint+      (\ s a -> s{_wissSuggestedStopPoint = a})++-- | Obsolete, always empty.+wissSuggestedStopPosition :: Lens' WorkItemServiceState (Maybe Position)+wissSuggestedStopPosition+  = lens _wissSuggestedStopPosition+      (\ s a -> s{_wissSuggestedStopPosition = a})++-- | Time at which the current lease will expire.+wissLeaseExpireTime :: Lens' WorkItemServiceState (Maybe UTCTime)+wissLeaseExpireTime+  = lens _wissLeaseExpireTime+      (\ s a -> s{_wissLeaseExpireTime = a})+      . mapping _DateTime++-- | The progress point in the WorkItem where the Dataflow service suggests+-- that the worker truncate the task.+wissSplitRequest :: Lens' WorkItemServiceState (Maybe ApproximateSplitRequest)+wissSplitRequest+  = lens _wissSplitRequest+      (\ s a -> s{_wissSplitRequest = a})++-- | The short ids that workers should use in subsequent metric updates.+-- Workers should strive to use short ids whenever possible, but it is ok+-- to request the short_id again if a worker lost track of it (e.g. if the+-- worker is recovering from a crash). NOTE: it is possible that the+-- response may have short ids for a subset of the metrics.+wissMetricShortId :: Lens' WorkItemServiceState [MetricShortId]+wissMetricShortId+  = lens _wissMetricShortId+      (\ s a -> s{_wissMetricShortId = a})+      . _Default+      . _Coerce++instance FromJSON WorkItemServiceState where+        parseJSON+          = withObject "WorkItemServiceState"+              (\ o ->+                 WorkItemServiceState' <$>+                   (o .:? "nextReportIndex") <*>+                     (o .:? "reportStatusInterval")+                     <*> (o .:? "harnessData")+                     <*> (o .:? "suggestedStopPoint")+                     <*> (o .:? "suggestedStopPosition")+                     <*> (o .:? "leaseExpireTime")+                     <*> (o .:? "splitRequest")+                     <*> (o .:? "metricShortId" .!= mempty))++instance ToJSON WorkItemServiceState where+        toJSON WorkItemServiceState'{..}+          = object+              (catMaybes+                 [("nextReportIndex" .=) <$> _wissNextReportIndex,+                  ("reportStatusInterval" .=) <$>+                    _wissReportStatusInterval,+                  ("harnessData" .=) <$> _wissHarnessData,+                  ("suggestedStopPoint" .=) <$>+                    _wissSuggestedStopPoint,+                  ("suggestedStopPosition" .=) <$>+                    _wissSuggestedStopPosition,+                  ("leaseExpireTime" .=) <$> _wissLeaseExpireTime,+                  ("splitRequest" .=) <$> _wissSplitRequest,+                  ("metricShortId" .=) <$> _wissMetricShortId])++-- | Response to the request to launch a template.+--+-- /See:/ 'launchTemplateResponse' smart constructor.+newtype LaunchTemplateResponse = LaunchTemplateResponse'+    { _ltrJob :: Maybe Job+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchTemplateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrJob'+launchTemplateResponse+    :: LaunchTemplateResponse+launchTemplateResponse =+    LaunchTemplateResponse'+    { _ltrJob = Nothing+    }++-- | The job that was launched, if the request was not a dry run and the job+-- was successfully launched.+ltrJob :: Lens' LaunchTemplateResponse (Maybe Job)+ltrJob = lens _ltrJob (\ s a -> s{_ltrJob = a})++instance FromJSON LaunchTemplateResponse where+        parseJSON+          = withObject "LaunchTemplateResponse"+              (\ o -> LaunchTemplateResponse' <$> (o .:? "job"))++instance ToJSON LaunchTemplateResponse where+        toJSON LaunchTemplateResponse'{..}+          = object (catMaybes [("job" .=) <$> _ltrJob])++-- | A task which initializes part of a streaming Dataflow job.+--+-- /See:/ 'streamingSetupTask' smart constructor.+data StreamingSetupTask = StreamingSetupTask'+    { _sstStreamingComputationTopology :: !(Maybe TopologyConfig)+    , _sstReceiveWorkPort              :: !(Maybe (Textual Int32))+    , _sstWorkerHarnessPort            :: !(Maybe (Textual Int32))+    , _sstDrain                        :: !(Maybe Bool)+    , _sstSnapshotConfig               :: !(Maybe StreamingApplianceSnapshotConfig)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingSetupTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sstStreamingComputationTopology'+--+-- * 'sstReceiveWorkPort'+--+-- * 'sstWorkerHarnessPort'+--+-- * 'sstDrain'+--+-- * 'sstSnapshotConfig'+streamingSetupTask+    :: StreamingSetupTask+streamingSetupTask =+    StreamingSetupTask'+    { _sstStreamingComputationTopology = Nothing+    , _sstReceiveWorkPort = Nothing+    , _sstWorkerHarnessPort = Nothing+    , _sstDrain = Nothing+    , _sstSnapshotConfig = Nothing+    }++-- | The global topology of the streaming Dataflow job.+sstStreamingComputationTopology :: Lens' StreamingSetupTask (Maybe TopologyConfig)+sstStreamingComputationTopology+  = lens _sstStreamingComputationTopology+      (\ s a -> s{_sstStreamingComputationTopology = a})++-- | The TCP port on which the worker should listen for messages from other+-- streaming computation workers.+sstReceiveWorkPort :: Lens' StreamingSetupTask (Maybe Int32)+sstReceiveWorkPort+  = lens _sstReceiveWorkPort+      (\ s a -> s{_sstReceiveWorkPort = a})+      . mapping _Coerce++-- | The TCP port used by the worker to communicate with the Dataflow worker+-- harness.+sstWorkerHarnessPort :: Lens' StreamingSetupTask (Maybe Int32)+sstWorkerHarnessPort+  = lens _sstWorkerHarnessPort+      (\ s a -> s{_sstWorkerHarnessPort = a})+      . mapping _Coerce++-- | The user has requested drain.+sstDrain :: Lens' StreamingSetupTask (Maybe Bool)+sstDrain = lens _sstDrain (\ s a -> s{_sstDrain = a})++-- | Configures streaming appliance snapshot.+sstSnapshotConfig :: Lens' StreamingSetupTask (Maybe StreamingApplianceSnapshotConfig)+sstSnapshotConfig+  = lens _sstSnapshotConfig+      (\ s a -> s{_sstSnapshotConfig = a})++instance FromJSON StreamingSetupTask where+        parseJSON+          = withObject "StreamingSetupTask"+              (\ o ->+                 StreamingSetupTask' <$>+                   (o .:? "streamingComputationTopology") <*>+                     (o .:? "receiveWorkPort")+                     <*> (o .:? "workerHarnessPort")+                     <*> (o .:? "drain")+                     <*> (o .:? "snapshotConfig"))++instance ToJSON StreamingSetupTask where+        toJSON StreamingSetupTask'{..}+          = object+              (catMaybes+                 [("streamingComputationTopology" .=) <$>+                    _sstStreamingComputationTopology,+                  ("receiveWorkPort" .=) <$> _sstReceiveWorkPort,+                  ("workerHarnessPort" .=) <$> _sstWorkerHarnessPort,+                  ("drain" .=) <$> _sstDrain,+                  ("snapshotConfig" .=) <$> _sstSnapshotConfig])++-- | The codec to use for interpreting an element in the input PTable.+--+-- /See:/ 'partialGroupByKeyInstructionInputElementCodec' smart constructor.+newtype PartialGroupByKeyInstructionInputElementCodec = PartialGroupByKeyInstructionInputElementCodec'+    { _pgbkiiecAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartialGroupByKeyInstructionInputElementCodec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgbkiiecAddtional'+partialGroupByKeyInstructionInputElementCodec+    :: HashMap Text JSONValue -- ^ 'pgbkiiecAddtional'+    -> PartialGroupByKeyInstructionInputElementCodec+partialGroupByKeyInstructionInputElementCodec pPgbkiiecAddtional_ =+    PartialGroupByKeyInstructionInputElementCodec'+    { _pgbkiiecAddtional = _Coerce # pPgbkiiecAddtional_+    }++-- | Properties of the object.+pgbkiiecAddtional :: Lens' PartialGroupByKeyInstructionInputElementCodec (HashMap Text JSONValue)+pgbkiiecAddtional+  = lens _pgbkiiecAddtional+      (\ s a -> s{_pgbkiiecAddtional = a})+      . _Coerce++instance FromJSON+         PartialGroupByKeyInstructionInputElementCodec where+        parseJSON+          = withObject+              "PartialGroupByKeyInstructionInputElementCodec"+              (\ o ->+                 PartialGroupByKeyInstructionInputElementCodec' <$>+                   (parseJSONObject o))++instance ToJSON+         PartialGroupByKeyInstructionInputElementCodec where+        toJSON = toJSON . _pgbkiiecAddtional++-- | MapTask consists of an ordered set of instructions, each of which+-- describes one particular low-level operation for the worker to perform+-- in order to accomplish the MapTask\'s WorkItem. Each instruction must+-- appear in the list before any instructions which depends on its output.+--+-- /See:/ 'mapTask' smart constructor.+data MapTask = MapTask'+    { _mtInstructions  :: !(Maybe [ParallelInstruction])+    , _mtCounterPrefix :: !(Maybe Text)+    , _mtSystemName    :: !(Maybe Text)+    , _mtStageName     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtInstructions'+--+-- * 'mtCounterPrefix'+--+-- * 'mtSystemName'+--+-- * 'mtStageName'+mapTask+    :: MapTask+mapTask =+    MapTask'+    { _mtInstructions = Nothing+    , _mtCounterPrefix = Nothing+    , _mtSystemName = Nothing+    , _mtStageName = Nothing+    }++-- | The instructions in the MapTask.+mtInstructions :: Lens' MapTask [ParallelInstruction]+mtInstructions+  = lens _mtInstructions+      (\ s a -> s{_mtInstructions = a})+      . _Default+      . _Coerce++-- | Counter prefix that can be used to prefix counters. Not currently used+-- in Dataflow.+mtCounterPrefix :: Lens' MapTask (Maybe Text)+mtCounterPrefix+  = lens _mtCounterPrefix+      (\ s a -> s{_mtCounterPrefix = a})++-- | System-defined name of this MapTask. Unique across the workflow.+mtSystemName :: Lens' MapTask (Maybe Text)+mtSystemName+  = lens _mtSystemName (\ s a -> s{_mtSystemName = a})++-- | System-defined name of the stage containing this MapTask. Unique across+-- the workflow.+mtStageName :: Lens' MapTask (Maybe Text)+mtStageName+  = lens _mtStageName (\ s a -> s{_mtStageName = a})++instance FromJSON MapTask where+        parseJSON+          = withObject "MapTask"+              (\ o ->+                 MapTask' <$>+                   (o .:? "instructions" .!= mempty) <*>+                     (o .:? "counterPrefix")+                     <*> (o .:? "systemName")+                     <*> (o .:? "stageName"))++instance ToJSON MapTask where+        toJSON MapTask'{..}+          = object+              (catMaybes+                 [("instructions" .=) <$> _mtInstructions,+                  ("counterPrefix" .=) <$> _mtCounterPrefix,+                  ("systemName" .=) <$> _mtSystemName,+                  ("stageName" .=) <$> _mtStageName])++-- | Describes mounted data disk.+--+-- /See:/ 'mountedDataDisk' smart constructor.+newtype MountedDataDisk = MountedDataDisk'+    { _mddDataDisk :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MountedDataDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mddDataDisk'+mountedDataDisk+    :: MountedDataDisk+mountedDataDisk =+    MountedDataDisk'+    { _mddDataDisk = Nothing+    }++-- | The name of the data disk. This name is local to the Google Cloud+-- Platform project and uniquely identifies the disk within that project,+-- for example \"myproject-1014-104817-4c2-harness-0-disk-1\".+mddDataDisk :: Lens' MountedDataDisk (Maybe Text)+mddDataDisk+  = lens _mddDataDisk (\ s a -> s{_mddDataDisk = a})++instance FromJSON MountedDataDisk where+        parseJSON+          = withObject "MountedDataDisk"+              (\ o -> MountedDataDisk' <$> (o .:? "dataDisk"))++instance ToJSON MountedDataDisk where+        toJSON MountedDataDisk'{..}+          = object+              (catMaybes [("dataDisk" .=) <$> _mddDataDisk])++-- | The codec to use to encode data written to the sink.+--+-- /See:/ 'sinkCodec' smart constructor.+newtype SinkCodec = SinkCodec'+    { _scAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SinkCodec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scAddtional'+sinkCodec+    :: HashMap Text JSONValue -- ^ 'scAddtional'+    -> SinkCodec+sinkCodec pScAddtional_ =+    SinkCodec'+    { _scAddtional = _Coerce # pScAddtional_+    }++-- | Properties of the object.+scAddtional :: Lens' SinkCodec (HashMap Text JSONValue)+scAddtional+  = lens _scAddtional (\ s a -> s{_scAddtional = a}) .+      _Coerce++instance FromJSON SinkCodec where+        parseJSON+          = withObject "SinkCodec"+              (\ o -> SinkCodec' <$> (parseJSONObject o))++instance ToJSON SinkCodec where+        toJSON = toJSON . _scAddtional++-- | A representation of an integer mean metric contribution.+--+-- /See:/ 'integerMean' smart constructor.+data IntegerMean = IntegerMean'+    { _imCount :: !(Maybe SplitInt64)+    , _imSum   :: !(Maybe SplitInt64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegerMean' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imCount'+--+-- * 'imSum'+integerMean+    :: IntegerMean+integerMean =+    IntegerMean'+    { _imCount = Nothing+    , _imSum = Nothing+    }++-- | The number of values being aggregated.+imCount :: Lens' IntegerMean (Maybe SplitInt64)+imCount = lens _imCount (\ s a -> s{_imCount = a})++-- | The sum of all values being aggregated.+imSum :: Lens' IntegerMean (Maybe SplitInt64)+imSum = lens _imSum (\ s a -> s{_imSum = a})++instance FromJSON IntegerMean where+        parseJSON+          = withObject "IntegerMean"+              (\ o ->+                 IntegerMean' <$> (o .:? "count") <*> (o .:? "sum"))++instance ToJSON IntegerMean where+        toJSON IntegerMean'{..}+          = object+              (catMaybes+                 [("count" .=) <$> _imCount, ("sum" .=) <$> _imSum])++--+-- /See:/ 'workerHealthReportPodsItem' smart constructor.+newtype WorkerHealthReportPodsItem = WorkerHealthReportPodsItem'+    { _whrpiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerHealthReportPodsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'whrpiAddtional'+workerHealthReportPodsItem+    :: HashMap Text JSONValue -- ^ 'whrpiAddtional'+    -> WorkerHealthReportPodsItem+workerHealthReportPodsItem pWhrpiAddtional_ =+    WorkerHealthReportPodsItem'+    { _whrpiAddtional = _Coerce # pWhrpiAddtional_+    }++-- | Properties of the object.+whrpiAddtional :: Lens' WorkerHealthReportPodsItem (HashMap Text JSONValue)+whrpiAddtional+  = lens _whrpiAddtional+      (\ s a -> s{_whrpiAddtional = a})+      . _Coerce++instance FromJSON WorkerHealthReportPodsItem where+        parseJSON+          = withObject "WorkerHealthReportPodsItem"+              (\ o ->+                 WorkerHealthReportPodsItem' <$> (parseJSONObject o))++instance ToJSON WorkerHealthReportPodsItem where+        toJSON = toJSON . _whrpiAddtional++-- | The user function to invoke.+--+-- /See:/ 'parDoInstructionUserFn' smart constructor.+newtype ParDoInstructionUserFn = ParDoInstructionUserFn'+    { _pdiufAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParDoInstructionUserFn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdiufAddtional'+parDoInstructionUserFn+    :: HashMap Text JSONValue -- ^ 'pdiufAddtional'+    -> ParDoInstructionUserFn+parDoInstructionUserFn pPdiufAddtional_ =+    ParDoInstructionUserFn'+    { _pdiufAddtional = _Coerce # pPdiufAddtional_+    }++-- | Properties of the object.+pdiufAddtional :: Lens' ParDoInstructionUserFn (HashMap Text JSONValue)+pdiufAddtional+  = lens _pdiufAddtional+      (\ s a -> s{_pdiufAddtional = a})+      . _Coerce++instance FromJSON ParDoInstructionUserFn where+        parseJSON+          = withObject "ParDoInstructionUserFn"+              (\ o ->+                 ParDoInstructionUserFn' <$> (parseJSONObject o))++instance ToJSON ParDoInstructionUserFn where+        toJSON = toJSON . _pdiufAddtional++-- | The codec to use to encode data being written via this output.+--+-- /See:/ 'instructionOutputCodec' smart constructor.+newtype InstructionOutputCodec = InstructionOutputCodec'+    { _iocAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstructionOutputCodec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iocAddtional'+instructionOutputCodec+    :: HashMap Text JSONValue -- ^ 'iocAddtional'+    -> InstructionOutputCodec+instructionOutputCodec pIocAddtional_ =+    InstructionOutputCodec'+    { _iocAddtional = _Coerce # pIocAddtional_+    }++-- | Properties of the object.+iocAddtional :: Lens' InstructionOutputCodec (HashMap Text JSONValue)+iocAddtional+  = lens _iocAddtional (\ s a -> s{_iocAddtional = a})+      . _Coerce++instance FromJSON InstructionOutputCodec where+        parseJSON+          = withObject "InstructionOutputCodec"+              (\ o ->+                 InstructionOutputCodec' <$> (parseJSONObject o))++instance ToJSON InstructionOutputCodec where+        toJSON = toJSON . _iocAddtional++-- | Describes a stream of data, either as input to be processed or as output+-- of a streaming Dataflow job.+--+-- /See:/ 'streamLocation' smart constructor.+data StreamLocation = StreamLocation'+    { _slStreamingStageLocation :: !(Maybe StreamingStageLocation)+    , _slSideInputLocation      :: !(Maybe StreamingSideInputLocation)+    , _slCustomSourceLocation   :: !(Maybe CustomSourceLocation)+    , _slPubsubLocation         :: !(Maybe PubsubLocation)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slStreamingStageLocation'+--+-- * 'slSideInputLocation'+--+-- * 'slCustomSourceLocation'+--+-- * 'slPubsubLocation'+streamLocation+    :: StreamLocation+streamLocation =+    StreamLocation'+    { _slStreamingStageLocation = Nothing+    , _slSideInputLocation = Nothing+    , _slCustomSourceLocation = Nothing+    , _slPubsubLocation = Nothing+    }++-- | The stream is part of another computation within the current streaming+-- Dataflow job.+slStreamingStageLocation :: Lens' StreamLocation (Maybe StreamingStageLocation)+slStreamingStageLocation+  = lens _slStreamingStageLocation+      (\ s a -> s{_slStreamingStageLocation = a})++-- | The stream is a streaming side input.+slSideInputLocation :: Lens' StreamLocation (Maybe StreamingSideInputLocation)+slSideInputLocation+  = lens _slSideInputLocation+      (\ s a -> s{_slSideInputLocation = a})++-- | The stream is a custom source.+slCustomSourceLocation :: Lens' StreamLocation (Maybe CustomSourceLocation)+slCustomSourceLocation+  = lens _slCustomSourceLocation+      (\ s a -> s{_slCustomSourceLocation = a})++-- | The stream is a pubsub stream.+slPubsubLocation :: Lens' StreamLocation (Maybe PubsubLocation)+slPubsubLocation+  = lens _slPubsubLocation+      (\ s a -> s{_slPubsubLocation = a})++instance FromJSON StreamLocation where+        parseJSON+          = withObject "StreamLocation"+              (\ o ->+                 StreamLocation' <$>+                   (o .:? "streamingStageLocation") <*>+                     (o .:? "sideInputLocation")+                     <*> (o .:? "customSourceLocation")+                     <*> (o .:? "pubsubLocation"))++instance ToJSON StreamLocation where+        toJSON StreamLocation'{..}+          = object+              (catMaybes+                 [("streamingStageLocation" .=) <$>+                    _slStreamingStageLocation,+                  ("sideInputLocation" .=) <$> _slSideInputLocation,+                  ("customSourceLocation" .=) <$>+                    _slCustomSourceLocation,+                  ("pubsubLocation" .=) <$> _slPubsubLocation])++-- | Other stats that can accompany an event. E.g. { \"downloaded_bytes\" :+-- \"123456\" }+--+-- /See:/ 'workerLifecycleEventMetadata' smart constructor.+newtype WorkerLifecycleEventMetadata = WorkerLifecycleEventMetadata'+    { _wlemAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerLifecycleEventMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wlemAddtional'+workerLifecycleEventMetadata+    :: HashMap Text Text -- ^ 'wlemAddtional'+    -> WorkerLifecycleEventMetadata+workerLifecycleEventMetadata pWlemAddtional_ =+    WorkerLifecycleEventMetadata'+    { _wlemAddtional = _Coerce # pWlemAddtional_+    }++wlemAddtional :: Lens' WorkerLifecycleEventMetadata (HashMap Text Text)+wlemAddtional+  = lens _wlemAddtional+      (\ s a -> s{_wlemAddtional = a})+      . _Coerce++instance FromJSON WorkerLifecycleEventMetadata where+        parseJSON+          = withObject "WorkerLifecycleEventMetadata"+              (\ o ->+                 WorkerLifecycleEventMetadata' <$>+                   (parseJSONObject o))++instance ToJSON WorkerLifecycleEventMetadata where+        toJSON = toJSON . _wlemAddtional++-- | Extra arguments for this worker pool.+--+-- /See:/ 'workerPoolPoolArgs' smart constructor.+newtype WorkerPoolPoolArgs = WorkerPoolPoolArgs'+    { _wppaAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerPoolPoolArgs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wppaAddtional'+workerPoolPoolArgs+    :: HashMap Text JSONValue -- ^ 'wppaAddtional'+    -> WorkerPoolPoolArgs+workerPoolPoolArgs pWppaAddtional_ =+    WorkerPoolPoolArgs'+    { _wppaAddtional = _Coerce # pWppaAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+wppaAddtional :: Lens' WorkerPoolPoolArgs (HashMap Text JSONValue)+wppaAddtional+  = lens _wppaAddtional+      (\ s a -> s{_wppaAddtional = a})+      . _Coerce++instance FromJSON WorkerPoolPoolArgs where+        parseJSON+          = withObject "WorkerPoolPoolArgs"+              (\ o -> WorkerPoolPoolArgs' <$> (parseJSONObject o))++instance ToJSON WorkerPoolPoolArgs where+        toJSON = toJSON . _wppaAddtional++-- | The environment values to set at runtime.+--+-- /See:/ 'runtimeEnvironment' smart constructor.+data RuntimeEnvironment = RuntimeEnvironment'+    { _reNumWorkers              :: !(Maybe (Textual Int32))+    , _reNetwork                 :: !(Maybe Text)+    , _reZone                    :: !(Maybe Text)+    , _reBypassTempDirValidation :: !(Maybe Bool)+    , _reSubnetwork              :: !(Maybe Text)+    , _reMachineType             :: !(Maybe Text)+    , _reAdditionalUserLabels    :: !(Maybe RuntimeEnvironmentAdditionalUserLabels)+    , _reServiceAccountEmail     :: !(Maybe Text)+    , _reAdditionalExperiments   :: !(Maybe [Text])+    , _reMaxWorkers              :: !(Maybe (Textual Int32))+    , _reTempLocation            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RuntimeEnvironment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'reNumWorkers'+--+-- * 'reNetwork'+--+-- * 'reZone'+--+-- * 'reBypassTempDirValidation'+--+-- * 'reSubnetwork'+--+-- * 'reMachineType'+--+-- * 'reAdditionalUserLabels'+--+-- * 'reServiceAccountEmail'+--+-- * 'reAdditionalExperiments'+--+-- * 'reMaxWorkers'+--+-- * 'reTempLocation'+runtimeEnvironment+    :: RuntimeEnvironment+runtimeEnvironment =+    RuntimeEnvironment'+    { _reNumWorkers = Nothing+    , _reNetwork = Nothing+    , _reZone = Nothing+    , _reBypassTempDirValidation = Nothing+    , _reSubnetwork = Nothing+    , _reMachineType = Nothing+    , _reAdditionalUserLabels = Nothing+    , _reServiceAccountEmail = Nothing+    , _reAdditionalExperiments = Nothing+    , _reMaxWorkers = Nothing+    , _reTempLocation = Nothing+    }++-- | The initial number of Google Compute Engine instnaces for the job.+reNumWorkers :: Lens' RuntimeEnvironment (Maybe Int32)+reNumWorkers+  = lens _reNumWorkers (\ s a -> s{_reNumWorkers = a})+      . mapping _Coerce++-- | Network to which VMs will be assigned. If empty or unspecified, the+-- service will use the network \"default\".+reNetwork :: Lens' RuntimeEnvironment (Maybe Text)+reNetwork+  = lens _reNetwork (\ s a -> s{_reNetwork = a})++-- | The Compute Engine [availability+-- zone](https:\/\/cloud.google.com\/compute\/docs\/regions-zones\/regions-zones)+-- for launching worker instances to run your pipeline.+reZone :: Lens' RuntimeEnvironment (Maybe Text)+reZone = lens _reZone (\ s a -> s{_reZone = a})++-- | Whether to bypass the safety checks for the job\'s temporary directory.+-- Use with caution.+reBypassTempDirValidation :: Lens' RuntimeEnvironment (Maybe Bool)+reBypassTempDirValidation+  = lens _reBypassTempDirValidation+      (\ s a -> s{_reBypassTempDirValidation = a})++-- | Subnetwork to which VMs will be assigned, if desired. Expected to be of+-- the form \"regions\/REGION\/subnetworks\/SUBNETWORK\".+reSubnetwork :: Lens' RuntimeEnvironment (Maybe Text)+reSubnetwork+  = lens _reSubnetwork (\ s a -> s{_reSubnetwork = a})++-- | The machine type to use for the job. Defaults to the value from the+-- template if not specified.+reMachineType :: Lens' RuntimeEnvironment (Maybe Text)+reMachineType+  = lens _reMachineType+      (\ s a -> s{_reMachineType = a})++-- | Additional user labels attached to the job.+reAdditionalUserLabels :: Lens' RuntimeEnvironment (Maybe RuntimeEnvironmentAdditionalUserLabels)+reAdditionalUserLabels+  = lens _reAdditionalUserLabels+      (\ s a -> s{_reAdditionalUserLabels = a})++-- | The email address of the service account to run the job as.+reServiceAccountEmail :: Lens' RuntimeEnvironment (Maybe Text)+reServiceAccountEmail+  = lens _reServiceAccountEmail+      (\ s a -> s{_reServiceAccountEmail = a})++-- | Additional experiment flags for the job.+reAdditionalExperiments :: Lens' RuntimeEnvironment [Text]+reAdditionalExperiments+  = lens _reAdditionalExperiments+      (\ s a -> s{_reAdditionalExperiments = a})+      . _Default+      . _Coerce++-- | The maximum number of Google Compute Engine instances to be made+-- available to your pipeline during execution, from 1 to 1000.+reMaxWorkers :: Lens' RuntimeEnvironment (Maybe Int32)+reMaxWorkers+  = lens _reMaxWorkers (\ s a -> s{_reMaxWorkers = a})+      . mapping _Coerce++-- | The Cloud Storage path to use for temporary files. Must be a valid Cloud+-- Storage URL, beginning with \`gs:\/\/\`.+reTempLocation :: Lens' RuntimeEnvironment (Maybe Text)+reTempLocation+  = lens _reTempLocation+      (\ s a -> s{_reTempLocation = a})++instance FromJSON RuntimeEnvironment where+        parseJSON+          = withObject "RuntimeEnvironment"+              (\ o ->+                 RuntimeEnvironment' <$>+                   (o .:? "numWorkers") <*> (o .:? "network") <*>+                     (o .:? "zone")+                     <*> (o .:? "bypassTempDirValidation")+                     <*> (o .:? "subnetwork")+                     <*> (o .:? "machineType")+                     <*> (o .:? "additionalUserLabels")+                     <*> (o .:? "serviceAccountEmail")+                     <*> (o .:? "additionalExperiments" .!= mempty)+                     <*> (o .:? "maxWorkers")+                     <*> (o .:? "tempLocation"))++instance ToJSON RuntimeEnvironment where+        toJSON RuntimeEnvironment'{..}+          = object+              (catMaybes+                 [("numWorkers" .=) <$> _reNumWorkers,+                  ("network" .=) <$> _reNetwork,+                  ("zone" .=) <$> _reZone,+                  ("bypassTempDirValidation" .=) <$>+                    _reBypassTempDirValidation,+                  ("subnetwork" .=) <$> _reSubnetwork,+                  ("machineType" .=) <$> _reMachineType,+                  ("additionalUserLabels" .=) <$>+                    _reAdditionalUserLabels,+                  ("serviceAccountEmail" .=) <$>+                    _reServiceAccountEmail,+                  ("additionalExperiments" .=) <$>+                    _reAdditionalExperiments,+                  ("maxWorkers" .=) <$> _reMaxWorkers,+                  ("tempLocation" .=) <$> _reTempLocation])++-- | CounterMetadata includes all static non-name non-value counter+-- attributes.+--+-- /See:/ 'counterMetadata' smart constructor.+data CounterMetadata = CounterMetadata'+    { _cmKind          :: !(Maybe CounterMetadataKind)+    , _cmDescription   :: !(Maybe Text)+    , _cmStandardUnits :: !(Maybe CounterMetadataStandardUnits)+    , _cmOtherUnits    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CounterMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmKind'+--+-- * 'cmDescription'+--+-- * 'cmStandardUnits'+--+-- * 'cmOtherUnits'+counterMetadata+    :: CounterMetadata+counterMetadata =+    CounterMetadata'+    { _cmKind = Nothing+    , _cmDescription = Nothing+    , _cmStandardUnits = Nothing+    , _cmOtherUnits = Nothing+    }++-- | Counter aggregation kind.+cmKind :: Lens' CounterMetadata (Maybe CounterMetadataKind)+cmKind = lens _cmKind (\ s a -> s{_cmKind = a})++-- | Human-readable description of the counter semantics.+cmDescription :: Lens' CounterMetadata (Maybe Text)+cmDescription+  = lens _cmDescription+      (\ s a -> s{_cmDescription = a})++-- | System defined Units, see above enum.+cmStandardUnits :: Lens' CounterMetadata (Maybe CounterMetadataStandardUnits)+cmStandardUnits+  = lens _cmStandardUnits+      (\ s a -> s{_cmStandardUnits = a})++-- | A string referring to the unit type.+cmOtherUnits :: Lens' CounterMetadata (Maybe Text)+cmOtherUnits+  = lens _cmOtherUnits (\ s a -> s{_cmOtherUnits = a})++instance FromJSON CounterMetadata where+        parseJSON+          = withObject "CounterMetadata"+              (\ o ->+                 CounterMetadata' <$>+                   (o .:? "kind") <*> (o .:? "description") <*>+                     (o .:? "standardUnits")+                     <*> (o .:? "otherUnits"))++instance ToJSON CounterMetadata where+        toJSON CounterMetadata'{..}+          = object+              (catMaybes+                 [("kind" .=) <$> _cmKind,+                  ("description" .=) <$> _cmDescription,+                  ("standardUnits" .=) <$> _cmStandardUnits,+                  ("otherUnits" .=) <$> _cmOtherUnits])++-- | The response to the worker messages.+--+-- /See:/ 'sendWorkerMessagesResponse' smart constructor.+newtype SendWorkerMessagesResponse = SendWorkerMessagesResponse'+    { _swmrWorkerMessageResponses :: Maybe [WorkerMessageResponse]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SendWorkerMessagesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'swmrWorkerMessageResponses'+sendWorkerMessagesResponse+    :: SendWorkerMessagesResponse+sendWorkerMessagesResponse =+    SendWorkerMessagesResponse'+    { _swmrWorkerMessageResponses = Nothing+    }++-- | The servers response to the worker messages.+swmrWorkerMessageResponses :: Lens' SendWorkerMessagesResponse [WorkerMessageResponse]+swmrWorkerMessageResponses+  = lens _swmrWorkerMessageResponses+      (\ s a -> s{_swmrWorkerMessageResponses = a})+      . _Default+      . _Coerce++instance FromJSON SendWorkerMessagesResponse where+        parseJSON+          = withObject "SendWorkerMessagesResponse"+              (\ o ->+                 SendWorkerMessagesResponse' <$>+                   (o .:? "workerMessageResponses" .!= mempty))++instance ToJSON SendWorkerMessagesResponse where+        toJSON SendWorkerMessagesResponse'{..}+          = object+              (catMaybes+                 [("workerMessageResponses" .=) <$>+                    _swmrWorkerMessageResponses])++-- | Identifies the location of a streaming side input.+--+-- /See:/ 'streamingSideInputLocation' smart constructor.+data StreamingSideInputLocation = StreamingSideInputLocation'+    { _ssilTag         :: !(Maybe Text)+    , _ssilStateFamily :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingSideInputLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssilTag'+--+-- * 'ssilStateFamily'+streamingSideInputLocation+    :: StreamingSideInputLocation+streamingSideInputLocation =+    StreamingSideInputLocation'+    { _ssilTag = Nothing+    , _ssilStateFamily = Nothing+    }++-- | Identifies the particular side input within the streaming Dataflow job.+ssilTag :: Lens' StreamingSideInputLocation (Maybe Text)+ssilTag = lens _ssilTag (\ s a -> s{_ssilTag = a})++-- | Identifies the state family where this side input is stored.+ssilStateFamily :: Lens' StreamingSideInputLocation (Maybe Text)+ssilStateFamily+  = lens _ssilStateFamily+      (\ s a -> s{_ssilStateFamily = a})++instance FromJSON StreamingSideInputLocation where+        parseJSON+          = withObject "StreamingSideInputLocation"+              (\ o ->+                 StreamingSideInputLocation' <$>+                   (o .:? "tag") <*> (o .:? "stateFamily"))++instance ToJSON StreamingSideInputLocation where+        toJSON StreamingSideInputLocation'{..}+          = object+              (catMaybes+                 [("tag" .=) <$> _ssilTag,+                  ("stateFamily" .=) <$> _ssilStateFamily])++-- | Request to get updated debug configuration for component.+--+-- /See:/ 'getDebugConfigRequest' smart constructor.+data GetDebugConfigRequest = GetDebugConfigRequest'+    { _gdcrLocation    :: !(Maybe Text)+    , _gdcrComponentId :: !(Maybe Text)+    , _gdcrWorkerId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDebugConfigRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcrLocation'+--+-- * 'gdcrComponentId'+--+-- * 'gdcrWorkerId'+getDebugConfigRequest+    :: GetDebugConfigRequest+getDebugConfigRequest =+    GetDebugConfigRequest'+    { _gdcrLocation = Nothing+    , _gdcrComponentId = Nothing+    , _gdcrWorkerId = Nothing+    }++-- | The location which contains the job specified by job_id.+gdcrLocation :: Lens' GetDebugConfigRequest (Maybe Text)+gdcrLocation+  = lens _gdcrLocation (\ s a -> s{_gdcrLocation = a})++-- | The internal component id for which debug configuration is requested.+gdcrComponentId :: Lens' GetDebugConfigRequest (Maybe Text)+gdcrComponentId+  = lens _gdcrComponentId+      (\ s a -> s{_gdcrComponentId = a})++-- | The worker id, i.e., VM hostname.+gdcrWorkerId :: Lens' GetDebugConfigRequest (Maybe Text)+gdcrWorkerId+  = lens _gdcrWorkerId (\ s a -> s{_gdcrWorkerId = a})++instance FromJSON GetDebugConfigRequest where+        parseJSON+          = withObject "GetDebugConfigRequest"+              (\ o ->+                 GetDebugConfigRequest' <$>+                   (o .:? "location") <*> (o .:? "componentId") <*>+                     (o .:? "workerId"))++instance ToJSON GetDebugConfigRequest where+        toJSON GetDebugConfigRequest'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _gdcrLocation,+                  ("componentId" .=) <$> _gdcrComponentId,+                  ("workerId" .=) <$> _gdcrWorkerId])++-- | A single message which encapsulates structured name and metadata for a+-- given counter.+--+-- /See:/ 'counterStructuredNameAndMetadata' smart constructor.+data CounterStructuredNameAndMetadata = CounterStructuredNameAndMetadata'+    { _csnamName     :: !(Maybe CounterStructuredName)+    , _csnamMetadata :: !(Maybe CounterMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CounterStructuredNameAndMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csnamName'+--+-- * 'csnamMetadata'+counterStructuredNameAndMetadata+    :: CounterStructuredNameAndMetadata+counterStructuredNameAndMetadata =+    CounterStructuredNameAndMetadata'+    { _csnamName = Nothing+    , _csnamMetadata = Nothing+    }++-- | Structured name of the counter.+csnamName :: Lens' CounterStructuredNameAndMetadata (Maybe CounterStructuredName)+csnamName+  = lens _csnamName (\ s a -> s{_csnamName = a})++-- | Metadata associated with a counter+csnamMetadata :: Lens' CounterStructuredNameAndMetadata (Maybe CounterMetadata)+csnamMetadata+  = lens _csnamMetadata+      (\ s a -> s{_csnamMetadata = a})++instance FromJSON CounterStructuredNameAndMetadata+         where+        parseJSON+          = withObject "CounterStructuredNameAndMetadata"+              (\ o ->+                 CounterStructuredNameAndMetadata' <$>+                   (o .:? "name") <*> (o .:? "metadata"))++instance ToJSON CounterStructuredNameAndMetadata+         where+        toJSON CounterStructuredNameAndMetadata'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _csnamName,+                  ("metadata" .=) <$> _csnamMetadata])++-- | Shutdown notification from workers. This is to be sent by the shutdown+-- script of the worker VM so that the backend knows that the VM is being+-- shut down.+--+-- /See:/ 'workerShutdownNotice' smart constructor.+newtype WorkerShutdownNotice = WorkerShutdownNotice'+    { _wsnReason :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerShutdownNotice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wsnReason'+workerShutdownNotice+    :: WorkerShutdownNotice+workerShutdownNotice =+    WorkerShutdownNotice'+    { _wsnReason = Nothing+    }++-- | The reason for the worker shutdown. Current possible values are:+-- \"UNKNOWN\": shutdown reason is unknown. \"PREEMPTION\": shutdown reason+-- is preemption. Other possible reasons may be added in the future.+wsnReason :: Lens' WorkerShutdownNotice (Maybe Text)+wsnReason+  = lens _wsnReason (\ s a -> s{_wsnReason = a})++instance FromJSON WorkerShutdownNotice where+        parseJSON+          = withObject "WorkerShutdownNotice"+              (\ o -> WorkerShutdownNotice' <$> (o .:? "reason"))++instance ToJSON WorkerShutdownNotice where+        toJSON WorkerShutdownNotice'{..}+          = object (catMaybes [("reason" .=) <$> _wsnReason])++-- | A task which describes what action should be performed for the specified+-- streaming computation ranges.+--+-- /See:/ 'streamingComputationTask' smart constructor.+data StreamingComputationTask = StreamingComputationTask'+    { _sctTaskType          :: !(Maybe StreamingComputationTaskTaskType)+    , _sctDataDisks         :: !(Maybe [MountedDataDisk])+    , _sctComputationRanges :: !(Maybe [StreamingComputationRanges])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingComputationTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sctTaskType'+--+-- * 'sctDataDisks'+--+-- * 'sctComputationRanges'+streamingComputationTask+    :: StreamingComputationTask+streamingComputationTask =+    StreamingComputationTask'+    { _sctTaskType = Nothing+    , _sctDataDisks = Nothing+    , _sctComputationRanges = Nothing+    }++-- | A type of streaming computation task.+sctTaskType :: Lens' StreamingComputationTask (Maybe StreamingComputationTaskTaskType)+sctTaskType+  = lens _sctTaskType (\ s a -> s{_sctTaskType = a})++-- | Describes the set of data disks this task should apply to.+sctDataDisks :: Lens' StreamingComputationTask [MountedDataDisk]+sctDataDisks+  = lens _sctDataDisks (\ s a -> s{_sctDataDisks = a})+      . _Default+      . _Coerce++-- | Contains ranges of a streaming computation this task should apply to.+sctComputationRanges :: Lens' StreamingComputationTask [StreamingComputationRanges]+sctComputationRanges+  = lens _sctComputationRanges+      (\ s a -> s{_sctComputationRanges = a})+      . _Default+      . _Coerce++instance FromJSON StreamingComputationTask where+        parseJSON+          = withObject "StreamingComputationTask"+              (\ o ->+                 StreamingComputationTask' <$>+                   (o .:? "taskType") <*> (o .:? "dataDisks" .!= mempty)+                     <*> (o .:? "computationRanges" .!= mempty))++instance ToJSON StreamingComputationTask where+        toJSON StreamingComputationTask'{..}+          = object+              (catMaybes+                 [("taskType" .=) <$> _sctTaskType,+                  ("dataDisks" .=) <$> _sctDataDisks,+                  ("computationRanges" .=) <$> _sctComputationRanges])++-- | A descriptive representation of submitted pipeline as well as the+-- executed form. This data is provided by the Dataflow service for ease of+-- visualizing the pipeline and interpretting Dataflow provided metrics.+--+-- /See:/ 'pipelineDescription' smart constructor.+data PipelineDescription = PipelineDescription'+    { _pdExecutionPipelineStage    :: !(Maybe [ExecutionStageSummary])+    , _pdDisplayData               :: !(Maybe [DisplayData])+    , _pdOriginalPipelineTransform :: !(Maybe [TransformSummary])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PipelineDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdExecutionPipelineStage'+--+-- * 'pdDisplayData'+--+-- * 'pdOriginalPipelineTransform'+pipelineDescription+    :: PipelineDescription+pipelineDescription =+    PipelineDescription'+    { _pdExecutionPipelineStage = Nothing+    , _pdDisplayData = Nothing+    , _pdOriginalPipelineTransform = Nothing+    }++-- | Description of each stage of execution of the pipeline.+pdExecutionPipelineStage :: Lens' PipelineDescription [ExecutionStageSummary]+pdExecutionPipelineStage+  = lens _pdExecutionPipelineStage+      (\ s a -> s{_pdExecutionPipelineStage = a})+      . _Default+      . _Coerce++-- | Pipeline level display data.+pdDisplayData :: Lens' PipelineDescription [DisplayData]+pdDisplayData+  = lens _pdDisplayData+      (\ s a -> s{_pdDisplayData = a})+      . _Default+      . _Coerce++-- | Description of each transform in the pipeline and collections between+-- them.+pdOriginalPipelineTransform :: Lens' PipelineDescription [TransformSummary]+pdOriginalPipelineTransform+  = lens _pdOriginalPipelineTransform+      (\ s a -> s{_pdOriginalPipelineTransform = a})+      . _Default+      . _Coerce++instance FromJSON PipelineDescription where+        parseJSON+          = withObject "PipelineDescription"+              (\ o ->+                 PipelineDescription' <$>+                   (o .:? "executionPipelineStage" .!= mempty) <*>+                     (o .:? "displayData" .!= mempty)+                     <*> (o .:? "originalPipelineTransform" .!= mempty))++instance ToJSON PipelineDescription where+        toJSON PipelineDescription'{..}+          = object+              (catMaybes+                 [("executionPipelineStage" .=) <$>+                    _pdExecutionPipelineStage,+                  ("displayData" .=) <$> _pdDisplayData,+                  ("originalPipelineTransform" .=) <$>+                    _pdOriginalPipelineTransform])++-- | A particular message pertaining to a Dataflow job.+--+-- /See:/ 'jobMessage' smart constructor.+data JobMessage = JobMessage'+    { _jmTime              :: !(Maybe DateTime')+    , _jmMessageText       :: !(Maybe Text)+    , _jmMessageImportance :: !(Maybe JobMessageMessageImportance)+    , _jmId                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jmTime'+--+-- * 'jmMessageText'+--+-- * 'jmMessageImportance'+--+-- * 'jmId'+jobMessage+    :: JobMessage+jobMessage =+    JobMessage'+    { _jmTime = Nothing+    , _jmMessageText = Nothing+    , _jmMessageImportance = Nothing+    , _jmId = Nothing+    }++-- | The timestamp of the message.+jmTime :: Lens' JobMessage (Maybe UTCTime)+jmTime+  = lens _jmTime (\ s a -> s{_jmTime = a}) .+      mapping _DateTime++-- | The text of the message.+jmMessageText :: Lens' JobMessage (Maybe Text)+jmMessageText+  = lens _jmMessageText+      (\ s a -> s{_jmMessageText = a})++-- | Importance level of the message.+jmMessageImportance :: Lens' JobMessage (Maybe JobMessageMessageImportance)+jmMessageImportance+  = lens _jmMessageImportance+      (\ s a -> s{_jmMessageImportance = a})++-- | Deprecated.+jmId :: Lens' JobMessage (Maybe Text)+jmId = lens _jmId (\ s a -> s{_jmId = a})++instance FromJSON JobMessage where+        parseJSON+          = withObject "JobMessage"+              (\ o ->+                 JobMessage' <$>+                   (o .:? "time") <*> (o .:? "messageText") <*>+                     (o .:? "messageImportance")+                     <*> (o .:? "id"))++instance ToJSON JobMessage where+        toJSON JobMessage'{..}+          = object+              (catMaybes+                 [("time" .=) <$> _jmTime,+                  ("messageText" .=) <$> _jmMessageText,+                  ("messageImportance" .=) <$> _jmMessageImportance,+                  ("id" .=) <$> _jmId])++-- | A report of an event in a worker\'s lifecycle. The proto contains one+-- event, because the worker is expected to asynchronously send each+-- message immediately after the event. Due to this asynchrony, messages+-- may arrive out of order (or missing), and it is up to the consumer to+-- interpret. The timestamp of the event is in the enclosing WorkerMessage+-- proto.+--+-- /See:/ 'workerLifecycleEvent' smart constructor.+data WorkerLifecycleEvent = WorkerLifecycleEvent'+    { _wleEvent              :: !(Maybe WorkerLifecycleEventEvent)+    , _wleContainerStartTime :: !(Maybe DateTime')+    , _wleMetadata           :: !(Maybe WorkerLifecycleEventMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerLifecycleEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wleEvent'+--+-- * 'wleContainerStartTime'+--+-- * 'wleMetadata'+workerLifecycleEvent+    :: WorkerLifecycleEvent+workerLifecycleEvent =+    WorkerLifecycleEvent'+    { _wleEvent = Nothing+    , _wleContainerStartTime = Nothing+    , _wleMetadata = Nothing+    }++-- | The event being reported.+wleEvent :: Lens' WorkerLifecycleEvent (Maybe WorkerLifecycleEventEvent)+wleEvent = lens _wleEvent (\ s a -> s{_wleEvent = a})++-- | The start time of this container. All events will report this so that+-- events can be grouped together across container\/VM restarts.+wleContainerStartTime :: Lens' WorkerLifecycleEvent (Maybe UTCTime)+wleContainerStartTime+  = lens _wleContainerStartTime+      (\ s a -> s{_wleContainerStartTime = a})+      . mapping _DateTime++-- | Other stats that can accompany an event. E.g. { \"downloaded_bytes\" :+-- \"123456\" }+wleMetadata :: Lens' WorkerLifecycleEvent (Maybe WorkerLifecycleEventMetadata)+wleMetadata+  = lens _wleMetadata (\ s a -> s{_wleMetadata = a})++instance FromJSON WorkerLifecycleEvent where+        parseJSON+          = withObject "WorkerLifecycleEvent"+              (\ o ->+                 WorkerLifecycleEvent' <$>+                   (o .:? "event") <*> (o .:? "containerStartTime") <*>+                     (o .:? "metadata"))++instance ToJSON WorkerLifecycleEvent where+        toJSON WorkerLifecycleEvent'{..}+          = object+              (catMaybes+                 [("event" .=) <$> _wleEvent,+                  ("containerStartTime" .=) <$> _wleContainerStartTime,+                  ("metadata" .=) <$> _wleMetadata])++-- | Additional user labels attached to the job.+--+-- /See:/ 'runtimeEnvironmentAdditionalUserLabels' smart constructor.+newtype RuntimeEnvironmentAdditionalUserLabels = RuntimeEnvironmentAdditionalUserLabels'+    { _reaulAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RuntimeEnvironmentAdditionalUserLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'reaulAddtional'+runtimeEnvironmentAdditionalUserLabels+    :: HashMap Text Text -- ^ 'reaulAddtional'+    -> RuntimeEnvironmentAdditionalUserLabels+runtimeEnvironmentAdditionalUserLabels pReaulAddtional_ =+    RuntimeEnvironmentAdditionalUserLabels'+    { _reaulAddtional = _Coerce # pReaulAddtional_+    }++reaulAddtional :: Lens' RuntimeEnvironmentAdditionalUserLabels (HashMap Text Text)+reaulAddtional+  = lens _reaulAddtional+      (\ s a -> s{_reaulAddtional = a})+      . _Coerce++instance FromJSON+         RuntimeEnvironmentAdditionalUserLabels where+        parseJSON+          = withObject "RuntimeEnvironmentAdditionalUserLabels"+              (\ o ->+                 RuntimeEnvironmentAdditionalUserLabels' <$>+                   (parseJSONObject o))++instance ToJSON+         RuntimeEnvironmentAdditionalUserLabels where+        toJSON = toJSON . _reaulAddtional++-- | Information about an output of a SeqMapTask.+--+-- /See:/ 'seqMapTaskOutputInfo' smart constructor.+data SeqMapTaskOutputInfo = SeqMapTaskOutputInfo'+    { _smtoiSink :: !(Maybe Sink)+    , _smtoiTag  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SeqMapTaskOutputInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smtoiSink'+--+-- * 'smtoiTag'+seqMapTaskOutputInfo+    :: SeqMapTaskOutputInfo+seqMapTaskOutputInfo =+    SeqMapTaskOutputInfo'+    { _smtoiSink = Nothing+    , _smtoiTag = Nothing+    }++-- | The sink to write the output value to.+smtoiSink :: Lens' SeqMapTaskOutputInfo (Maybe Sink)+smtoiSink+  = lens _smtoiSink (\ s a -> s{_smtoiSink = a})++-- | The id of the TupleTag the user code will tag the output value by.+smtoiTag :: Lens' SeqMapTaskOutputInfo (Maybe Text)+smtoiTag = lens _smtoiTag (\ s a -> s{_smtoiTag = a})++instance FromJSON SeqMapTaskOutputInfo where+        parseJSON+          = withObject "SeqMapTaskOutputInfo"+              (\ o ->+                 SeqMapTaskOutputInfo' <$>+                   (o .:? "sink") <*> (o .:? "tag"))++instance ToJSON SeqMapTaskOutputInfo where+        toJSON SeqMapTaskOutputInfo'{..}+          = object+              (catMaybes+                 [("sink" .=) <$> _smtoiSink,+                  ("tag" .=) <$> _smtoiTag])++-- | Metadata for a PubSub connector used by the job.+--+-- /See:/ 'pubSubIODetails' smart constructor.+data PubSubIODetails = PubSubIODetails'+    { _psiodTopic        :: !(Maybe Text)+    , _psiodSubscription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PubSubIODetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psiodTopic'+--+-- * 'psiodSubscription'+pubSubIODetails+    :: PubSubIODetails+pubSubIODetails =+    PubSubIODetails'+    { _psiodTopic = Nothing+    , _psiodSubscription = Nothing+    }++-- | Topic accessed in the connection.+psiodTopic :: Lens' PubSubIODetails (Maybe Text)+psiodTopic+  = lens _psiodTopic (\ s a -> s{_psiodTopic = a})++-- | Subscription used in the connection.+psiodSubscription :: Lens' PubSubIODetails (Maybe Text)+psiodSubscription+  = lens _psiodSubscription+      (\ s a -> s{_psiodSubscription = a})++instance FromJSON PubSubIODetails where+        parseJSON+          = withObject "PubSubIODetails"+              (\ o ->+                 PubSubIODetails' <$>+                   (o .:? "topic") <*> (o .:? "subscription"))++instance ToJSON PubSubIODetails where+        toJSON PubSubIODetails'{..}+          = object+              (catMaybes+                 [("topic" .=) <$> _psiodTopic,+                  ("subscription" .=) <$> _psiodSubscription])++-- | A request to compute the SourceMetadata of a Source.+--+-- /See:/ 'sourceGetMetadataRequest' smart constructor.+newtype SourceGetMetadataRequest = SourceGetMetadataRequest'+    { _sgmrSource :: Maybe Source+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceGetMetadataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgmrSource'+sourceGetMetadataRequest+    :: SourceGetMetadataRequest+sourceGetMetadataRequest =+    SourceGetMetadataRequest'+    { _sgmrSource = Nothing+    }++-- | Specification of the source whose metadata should be computed.+sgmrSource :: Lens' SourceGetMetadataRequest (Maybe Source)+sgmrSource+  = lens _sgmrSource (\ s a -> s{_sgmrSource = a})++instance FromJSON SourceGetMetadataRequest where+        parseJSON+          = withObject "SourceGetMetadataRequest"+              (\ o ->+                 SourceGetMetadataRequest' <$> (o .:? "source"))++instance ToJSON SourceGetMetadataRequest where+        toJSON SourceGetMetadataRequest'{..}+          = object (catMaybes [("source" .=) <$> _sgmrSource])++-- | Service-side response to WorkerMessage issuing shutdown notice.+--+-- /See:/ 'workerShutdownNoticeResponse' smart constructor.+data WorkerShutdownNoticeResponse =+    WorkerShutdownNoticeResponse'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerShutdownNoticeResponse' with the minimum fields required to make a request.+--+workerShutdownNoticeResponse+    :: WorkerShutdownNoticeResponse+workerShutdownNoticeResponse = WorkerShutdownNoticeResponse'++instance FromJSON WorkerShutdownNoticeResponse where+        parseJSON+          = withObject "WorkerShutdownNoticeResponse"+              (\ o -> pure WorkerShutdownNoticeResponse')++instance ToJSON WorkerShutdownNoticeResponse where+        toJSON = const emptyObject++-- | The user function to invoke.+--+-- /See:/ 'seqMapTaskUserFn' smart constructor.+newtype SeqMapTaskUserFn = SeqMapTaskUserFn'+    { _smtufAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SeqMapTaskUserFn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smtufAddtional'+seqMapTaskUserFn+    :: HashMap Text JSONValue -- ^ 'smtufAddtional'+    -> SeqMapTaskUserFn+seqMapTaskUserFn pSmtufAddtional_ =+    SeqMapTaskUserFn'+    { _smtufAddtional = _Coerce # pSmtufAddtional_+    }++-- | Properties of the object.+smtufAddtional :: Lens' SeqMapTaskUserFn (HashMap Text JSONValue)+smtufAddtional+  = lens _smtufAddtional+      (\ s a -> s{_smtufAddtional = a})+      . _Coerce++instance FromJSON SeqMapTaskUserFn where+        parseJSON+          = withObject "SeqMapTaskUserFn"+              (\ o -> SeqMapTaskUserFn' <$> (parseJSONObject o))++instance ToJSON SeqMapTaskUserFn where+        toJSON = toJSON . _smtufAddtional++-- | The value combining function to invoke.+--+-- /See:/ 'partialGroupByKeyInstructionValueCombiningFn' smart constructor.+newtype PartialGroupByKeyInstructionValueCombiningFn = PartialGroupByKeyInstructionValueCombiningFn'+    { _pgbkivcfAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartialGroupByKeyInstructionValueCombiningFn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgbkivcfAddtional'+partialGroupByKeyInstructionValueCombiningFn+    :: HashMap Text JSONValue -- ^ 'pgbkivcfAddtional'+    -> PartialGroupByKeyInstructionValueCombiningFn+partialGroupByKeyInstructionValueCombiningFn pPgbkivcfAddtional_ =+    PartialGroupByKeyInstructionValueCombiningFn'+    { _pgbkivcfAddtional = _Coerce # pPgbkivcfAddtional_+    }++-- | Properties of the object.+pgbkivcfAddtional :: Lens' PartialGroupByKeyInstructionValueCombiningFn (HashMap Text JSONValue)+pgbkivcfAddtional+  = lens _pgbkivcfAddtional+      (\ s a -> s{_pgbkivcfAddtional = a})+      . _Coerce++instance FromJSON+         PartialGroupByKeyInstructionValueCombiningFn where+        parseJSON+          = withObject+              "PartialGroupByKeyInstructionValueCombiningFn"+              (\ o ->+                 PartialGroupByKeyInstructionValueCombiningFn' <$>+                   (parseJSONObject o))++instance ToJSON+         PartialGroupByKeyInstructionValueCombiningFn where+        toJSON = toJSON . _pgbkivcfAddtional++-- | Defines a job to be run by the Cloud Dataflow service.+--+-- /See:/ 'job' smart constructor.+data Job = Job'+    { _jStepsLocation         :: !(Maybe Text)+    , _jCreatedFromSnapshotId :: !(Maybe Text)+    , _jRequestedState        :: !(Maybe JobRequestedState)+    , _jJobMetadata           :: !(Maybe JobMetadata)+    , _jLocation              :: !(Maybe Text)+    , _jStartTime             :: !(Maybe DateTime')+    , _jEnvironment           :: !(Maybe Environment)+    , _jClientRequestId       :: !(Maybe Text)+    , _jStageStates           :: !(Maybe [ExecutionStageState])+    , _jCurrentState          :: !(Maybe JobCurrentState)+    , _jReplacedByJobId       :: !(Maybe Text)+    , _jTempFiles             :: !(Maybe [Text])+    , _jSteps                 :: !(Maybe [Step])+    , _jPipelineDescription   :: !(Maybe PipelineDescription)+    , _jExecutionInfo         :: !(Maybe JobExecutionInfo)+    , _jName                  :: !(Maybe Text)+    , _jTransformNameMApping  :: !(Maybe JobTransformNameMApping)+    , _jId                    :: !(Maybe Text)+    , _jLabels                :: !(Maybe JobLabels)+    , _jProjectId             :: !(Maybe Text)+    , _jType                  :: !(Maybe JobType)+    , _jCurrentStateTime      :: !(Maybe DateTime')+    , _jReplaceJobId          :: !(Maybe Text)+    , _jCreateTime            :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Job' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jStepsLocation'+--+-- * 'jCreatedFromSnapshotId'+--+-- * 'jRequestedState'+--+-- * 'jJobMetadata'+--+-- * 'jLocation'+--+-- * 'jStartTime'+--+-- * 'jEnvironment'+--+-- * 'jClientRequestId'+--+-- * 'jStageStates'+--+-- * 'jCurrentState'+--+-- * 'jReplacedByJobId'+--+-- * 'jTempFiles'+--+-- * 'jSteps'+--+-- * 'jPipelineDescription'+--+-- * 'jExecutionInfo'+--+-- * 'jName'+--+-- * 'jTransformNameMApping'+--+-- * 'jId'+--+-- * 'jLabels'+--+-- * 'jProjectId'+--+-- * 'jType'+--+-- * 'jCurrentStateTime'+--+-- * 'jReplaceJobId'+--+-- * 'jCreateTime'+job+    :: Job+job =+    Job'+    { _jStepsLocation = Nothing+    , _jCreatedFromSnapshotId = Nothing+    , _jRequestedState = Nothing+    , _jJobMetadata = Nothing+    , _jLocation = Nothing+    , _jStartTime = Nothing+    , _jEnvironment = Nothing+    , _jClientRequestId = Nothing+    , _jStageStates = Nothing+    , _jCurrentState = Nothing+    , _jReplacedByJobId = Nothing+    , _jTempFiles = Nothing+    , _jSteps = Nothing+    , _jPipelineDescription = Nothing+    , _jExecutionInfo = Nothing+    , _jName = Nothing+    , _jTransformNameMApping = Nothing+    , _jId = Nothing+    , _jLabels = Nothing+    , _jProjectId = Nothing+    , _jType = Nothing+    , _jCurrentStateTime = Nothing+    , _jReplaceJobId = Nothing+    , _jCreateTime = Nothing+    }++-- | The GCS location where the steps are stored.+jStepsLocation :: Lens' Job (Maybe Text)+jStepsLocation+  = lens _jStepsLocation+      (\ s a -> s{_jStepsLocation = a})++-- | If this is specified, the job\'s initial state is populated from the+-- given snapshot.+jCreatedFromSnapshotId :: Lens' Job (Maybe Text)+jCreatedFromSnapshotId+  = lens _jCreatedFromSnapshotId+      (\ s a -> s{_jCreatedFromSnapshotId = a})++-- | The job\'s requested state. \`UpdateJob\` may be used to switch between+-- the \`JOB_STATE_STOPPED\` and \`JOB_STATE_RUNNING\` states, by setting+-- requested_state. \`UpdateJob\` may also be used to directly set a job\'s+-- requested state to \`JOB_STATE_CANCELLED\` or \`JOB_STATE_DONE\`,+-- irrevocably terminating the job if it has not already reached a terminal+-- state.+jRequestedState :: Lens' Job (Maybe JobRequestedState)+jRequestedState+  = lens _jRequestedState+      (\ s a -> s{_jRequestedState = a})++-- | This field is populated by the Dataflow service to support filtering+-- jobs by the metadata values provided here. Populated for ListJobs and+-- all GetJob views SUMMARY and higher.+jJobMetadata :: Lens' Job (Maybe JobMetadata)+jJobMetadata+  = lens _jJobMetadata (\ s a -> s{_jJobMetadata = a})++-- | The location that contains this job.+jLocation :: Lens' Job (Maybe Text)+jLocation+  = lens _jLocation (\ s a -> s{_jLocation = a})++-- | The timestamp when the job was started (transitioned to+-- JOB_STATE_PENDING). Flexible resource scheduling jobs are started with+-- some delay after job creation, so start_time is unset before start and+-- is updated when the job is started by the Cloud Dataflow service. For+-- other jobs, start_time always equals to create_time and is immutable and+-- set by the Cloud Dataflow service.+jStartTime :: Lens' Job (Maybe UTCTime)+jStartTime+  = lens _jStartTime (\ s a -> s{_jStartTime = a}) .+      mapping _DateTime++-- | The environment for the job.+jEnvironment :: Lens' Job (Maybe Environment)+jEnvironment+  = lens _jEnvironment (\ s a -> s{_jEnvironment = a})++-- | The client\'s unique identifier of the job, re-used across retried+-- attempts. If this field is set, the service will ensure its uniqueness.+-- The request to create a job will fail if the service has knowledge of a+-- previously submitted job with the same client\'s ID and job name. The+-- caller may use this field to ensure idempotence of job creation across+-- retried attempts to create a job. By default, the field is empty and, in+-- that case, the service ignores it.+jClientRequestId :: Lens' Job (Maybe Text)+jClientRequestId+  = lens _jClientRequestId+      (\ s a -> s{_jClientRequestId = a})++-- | This field may be mutated by the Cloud Dataflow service; callers cannot+-- mutate it.+jStageStates :: Lens' Job [ExecutionStageState]+jStageStates+  = lens _jStageStates (\ s a -> s{_jStageStates = a})+      . _Default+      . _Coerce++-- | The current state of the job. Jobs are created in the+-- \`JOB_STATE_STOPPED\` state unless otherwise specified. A job in the+-- \`JOB_STATE_RUNNING\` state may asynchronously enter a terminal state.+-- After a job has reached a terminal state, no further state updates may+-- be made. This field may be mutated by the Cloud Dataflow service;+-- callers cannot mutate it.+jCurrentState :: Lens' Job (Maybe JobCurrentState)+jCurrentState+  = lens _jCurrentState+      (\ s a -> s{_jCurrentState = a})++-- | If another job is an update of this job (and thus, this job is in+-- \`JOB_STATE_UPDATED\`), this field contains the ID of that job.+jReplacedByJobId :: Lens' Job (Maybe Text)+jReplacedByJobId+  = lens _jReplacedByJobId+      (\ s a -> s{_jReplacedByJobId = a})++-- | A set of files the system should be aware of that are used for temporary+-- storage. These temporary files will be removed on job completion. No+-- duplicates are allowed. No file patterns are supported. The supported+-- files are: Google Cloud Storage:+-- storage.googleapis.com\/{bucket}\/{object}+-- bucket.storage.googleapis.com\/{object}+jTempFiles :: Lens' Job [Text]+jTempFiles+  = lens _jTempFiles (\ s a -> s{_jTempFiles = a}) .+      _Default+      . _Coerce++-- | Exactly one of step or steps_location should be specified. The top-level+-- steps that constitute the entire job.+jSteps :: Lens' Job [Step]+jSteps+  = lens _jSteps (\ s a -> s{_jSteps = a}) . _Default .+      _Coerce++-- | Preliminary field: The format of this data may change at any time. A+-- description of the user pipeline and stages through which it is+-- executed. Created by Cloud Dataflow service. Only retrieved with+-- JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL.+jPipelineDescription :: Lens' Job (Maybe PipelineDescription)+jPipelineDescription+  = lens _jPipelineDescription+      (\ s a -> s{_jPipelineDescription = a})++-- | Deprecated.+jExecutionInfo :: Lens' Job (Maybe JobExecutionInfo)+jExecutionInfo+  = lens _jExecutionInfo+      (\ s a -> s{_jExecutionInfo = a})++-- | The user-specified Cloud Dataflow job name. Only one Job with a given+-- name may exist in a project at any given time. If a caller attempts to+-- create a Job with the same name as an already-existing Job, the attempt+-- returns the existing Job. The name must match the regular expression+-- \`[a-z]([-a-z0-9]{0,38}[a-z0-9])?\`+jName :: Lens' Job (Maybe Text)+jName = lens _jName (\ s a -> s{_jName = a})++-- | The map of transform name prefixes of the job to be replaced to the+-- corresponding name prefixes of the new job.+jTransformNameMApping :: Lens' Job (Maybe JobTransformNameMApping)+jTransformNameMApping+  = lens _jTransformNameMApping+      (\ s a -> s{_jTransformNameMApping = a})++-- | The unique ID of this job. This field is set by the Cloud Dataflow+-- service when the Job is created, and is immutable for the life of the+-- job.+jId :: Lens' Job (Maybe Text)+jId = lens _jId (\ s a -> s{_jId = a})++-- | User-defined labels for this job. The labels map can contain no more+-- than 64 entries. Entries of the labels map are UTF8 strings that comply+-- with the following restrictions: * Keys must conform to regexp:+-- \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp:+-- [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally+-- constrained to be \<= 128 bytes in size.+jLabels :: Lens' Job (Maybe JobLabels)+jLabels = lens _jLabels (\ s a -> s{_jLabels = a})++-- | The ID of the Cloud Platform project that the job belongs to.+jProjectId :: Lens' Job (Maybe Text)+jProjectId+  = lens _jProjectId (\ s a -> s{_jProjectId = a})++-- | The type of Cloud Dataflow job.+jType :: Lens' Job (Maybe JobType)+jType = lens _jType (\ s a -> s{_jType = a})++-- | The timestamp associated with the current state.+jCurrentStateTime :: Lens' Job (Maybe UTCTime)+jCurrentStateTime+  = lens _jCurrentStateTime+      (\ s a -> s{_jCurrentStateTime = a})+      . mapping _DateTime++-- | If this job is an update of an existing job, this field is the job ID of+-- the job it replaced. When sending a \`CreateJobRequest\`, you can update+-- a job by specifying it here. The job named here is stopped, and its+-- intermediate state is transferred to this job.+jReplaceJobId :: Lens' Job (Maybe Text)+jReplaceJobId+  = lens _jReplaceJobId+      (\ s a -> s{_jReplaceJobId = a})++-- | The timestamp when the job was initially created. Immutable and set by+-- the Cloud Dataflow service.+jCreateTime :: Lens' Job (Maybe UTCTime)+jCreateTime+  = lens _jCreateTime (\ s a -> s{_jCreateTime = a}) .+      mapping _DateTime++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ o ->+                 Job' <$>+                   (o .:? "stepsLocation") <*>+                     (o .:? "createdFromSnapshotId")+                     <*> (o .:? "requestedState")+                     <*> (o .:? "jobMetadata")+                     <*> (o .:? "location")+                     <*> (o .:? "startTime")+                     <*> (o .:? "environment")+                     <*> (o .:? "clientRequestId")+                     <*> (o .:? "stageStates" .!= mempty)+                     <*> (o .:? "currentState")+                     <*> (o .:? "replacedByJobId")+                     <*> (o .:? "tempFiles" .!= mempty)+                     <*> (o .:? "steps" .!= mempty)+                     <*> (o .:? "pipelineDescription")+                     <*> (o .:? "executionInfo")+                     <*> (o .:? "name")+                     <*> (o .:? "transformNameMapping")+                     <*> (o .:? "id")+                     <*> (o .:? "labels")+                     <*> (o .:? "projectId")+                     <*> (o .:? "type")+                     <*> (o .:? "currentStateTime")+                     <*> (o .:? "replaceJobId")+                     <*> (o .:? "createTime"))++instance ToJSON Job where+        toJSON Job'{..}+          = object+              (catMaybes+                 [("stepsLocation" .=) <$> _jStepsLocation,+                  ("createdFromSnapshotId" .=) <$>+                    _jCreatedFromSnapshotId,+                  ("requestedState" .=) <$> _jRequestedState,+                  ("jobMetadata" .=) <$> _jJobMetadata,+                  ("location" .=) <$> _jLocation,+                  ("startTime" .=) <$> _jStartTime,+                  ("environment" .=) <$> _jEnvironment,+                  ("clientRequestId" .=) <$> _jClientRequestId,+                  ("stageStates" .=) <$> _jStageStates,+                  ("currentState" .=) <$> _jCurrentState,+                  ("replacedByJobId" .=) <$> _jReplacedByJobId,+                  ("tempFiles" .=) <$> _jTempFiles,+                  ("steps" .=) <$> _jSteps,+                  ("pipelineDescription" .=) <$> _jPipelineDescription,+                  ("executionInfo" .=) <$> _jExecutionInfo,+                  ("name" .=) <$> _jName,+                  ("transformNameMapping" .=) <$>+                    _jTransformNameMApping,+                  ("id" .=) <$> _jId, ("labels" .=) <$> _jLabels,+                  ("projectId" .=) <$> _jProjectId,+                  ("type" .=) <$> _jType,+                  ("currentStateTime" .=) <$> _jCurrentStateTime,+                  ("replaceJobId" .=) <$> _jReplaceJobId,+                  ("createTime" .=) <$> _jCreateTime])++-- | An instruction that reads records. Takes no inputs, produces one output.+--+-- /See:/ 'readInstruction' smart constructor.+newtype ReadInstruction = ReadInstruction'+    { _riSource :: Maybe Source+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReadInstruction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riSource'+readInstruction+    :: ReadInstruction+readInstruction =+    ReadInstruction'+    { _riSource = Nothing+    }++-- | The source to read from.+riSource :: Lens' ReadInstruction (Maybe Source)+riSource = lens _riSource (\ s a -> s{_riSource = a})++instance FromJSON ReadInstruction where+        parseJSON+          = withObject "ReadInstruction"+              (\ o -> ReadInstruction' <$> (o .:? "source"))++instance ToJSON ReadInstruction where+        toJSON ReadInstruction'{..}+          = object (catMaybes [("source" .=) <$> _riSource])++-- | A progress measurement of a WorkItem by a worker.+--+-- /See:/ 'approximateReportedProgress' smart constructor.+data ApproximateReportedProgress = ApproximateReportedProgress'+    { _arpFractionConsumed     :: !(Maybe (Textual Double))+    , _arpConsumedParallelism  :: !(Maybe ReportedParallelism)+    , _arpRemainingParallelism :: !(Maybe ReportedParallelism)+    , _arpPosition             :: !(Maybe Position)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApproximateReportedProgress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arpFractionConsumed'+--+-- * 'arpConsumedParallelism'+--+-- * 'arpRemainingParallelism'+--+-- * 'arpPosition'+approximateReportedProgress+    :: ApproximateReportedProgress+approximateReportedProgress =+    ApproximateReportedProgress'+    { _arpFractionConsumed = Nothing+    , _arpConsumedParallelism = Nothing+    , _arpRemainingParallelism = Nothing+    , _arpPosition = Nothing+    }++-- | Completion as fraction of the input consumed, from 0.0 (beginning,+-- nothing consumed), to 1.0 (end of the input, entire input consumed).+arpFractionConsumed :: Lens' ApproximateReportedProgress (Maybe Double)+arpFractionConsumed+  = lens _arpFractionConsumed+      (\ s a -> s{_arpFractionConsumed = a})+      . mapping _Coerce++-- | Total amount of parallelism in the portion of input of this task that+-- has already been consumed and is no longer active. In the first two+-- examples above (see remaining_parallelism), the value should be 29 or 2+-- respectively. The sum of remaining_parallelism and consumed_parallelism+-- should equal the total amount of parallelism in this work item. If+-- specified, must be finite.+arpConsumedParallelism :: Lens' ApproximateReportedProgress (Maybe ReportedParallelism)+arpConsumedParallelism+  = lens _arpConsumedParallelism+      (\ s a -> s{_arpConsumedParallelism = a})++-- | Total amount of parallelism in the input of this task that remains,+-- (i.e. can be delegated to this task and any new tasks via dynamic+-- splitting). Always at least 1 for non-finished work items and 0 for+-- finished. \"Amount of parallelism\" refers to how many non-empty parts+-- of the input can be read in parallel. This does not necessarily equal+-- number of records. An input that can be read in parallel down to the+-- individual records is called \"perfectly splittable\". An example of+-- non-perfectly parallelizable input is a block-compressed file format+-- where a block of records has to be read as a whole, but different blocks+-- can be read in parallel. Examples: * If we are processing record #30+-- (starting at 1) out of 50 in a perfectly splittable 50-record input,+-- this value should be 21 (20 remaining + 1 current). * If we are reading+-- through block 3 in a block-compressed file consisting of 5 blocks, this+-- value should be 3 (since blocks 4 and 5 can be processed in parallel by+-- new tasks via dynamic splitting and the current task remains processing+-- block 3). * If we are reading through the last block in a+-- block-compressed file, or reading or processing the last record in a+-- perfectly splittable input, this value should be 1, because apart from+-- the current task, no additional remainder can be split off.+arpRemainingParallelism :: Lens' ApproximateReportedProgress (Maybe ReportedParallelism)+arpRemainingParallelism+  = lens _arpRemainingParallelism+      (\ s a -> s{_arpRemainingParallelism = a})++-- | A Position within the work to represent a progress.+arpPosition :: Lens' ApproximateReportedProgress (Maybe Position)+arpPosition+  = lens _arpPosition (\ s a -> s{_arpPosition = a})++instance FromJSON ApproximateReportedProgress where+        parseJSON+          = withObject "ApproximateReportedProgress"+              (\ o ->+                 ApproximateReportedProgress' <$>+                   (o .:? "fractionConsumed") <*>+                     (o .:? "consumedParallelism")+                     <*> (o .:? "remainingParallelism")+                     <*> (o .:? "position"))++instance ToJSON ApproximateReportedProgress where+        toJSON ApproximateReportedProgress'{..}+          = object+              (catMaybes+                 [("fractionConsumed" .=) <$> _arpFractionConsumed,+                  ("consumedParallelism" .=) <$>+                    _arpConsumedParallelism,+                  ("remainingParallelism" .=) <$>+                    _arpRemainingParallelism,+                  ("position" .=) <$> _arpPosition])++-- | The sink to write to, plus its parameters.+--+-- /See:/ 'sinkSpec' smart constructor.+newtype SinkSpec = SinkSpec'+    { _sAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SinkSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sAddtional'+sinkSpec+    :: HashMap Text JSONValue -- ^ 'sAddtional'+    -> SinkSpec+sinkSpec pSAddtional_ =+    SinkSpec'+    { _sAddtional = _Coerce # pSAddtional_+    }++-- | Properties of the object.+sAddtional :: Lens' SinkSpec (HashMap Text JSONValue)+sAddtional+  = lens _sAddtional (\ s a -> s{_sAddtional = a}) .+      _Coerce++instance FromJSON SinkSpec where+        parseJSON+          = withObject "SinkSpec"+              (\ o -> SinkSpec' <$> (parseJSONObject o))++instance ToJSON SinkSpec where+        toJSON = toJSON . _sAddtional++-- | Describes one particular pool of Cloud Dataflow workers to be+-- instantiated by the Cloud Dataflow service in order to perform the+-- computations required by a job. Note that a workflow job may use+-- multiple pools, in order to match the various computational requirements+-- of the various stages of the job.+--+-- /See:/ 'workerPool' smart constructor.+data WorkerPool = WorkerPool'+    { _wpAutoscalingSettings         :: !(Maybe AutoscalingSettings)+    , _wpNumThreadsPerWorker         :: !(Maybe (Textual Int32))+    , _wpDiskSizeGb                  :: !(Maybe (Textual Int32))+    , _wpKind                        :: !(Maybe Text)+    , _wpTaskrunnerSettings          :: !(Maybe TaskRunnerSettings)+    , _wpNumWorkers                  :: !(Maybe (Textual Int32))+    , _wpNetwork                     :: !(Maybe Text)+    , _wpZone                        :: !(Maybe Text)+    , _wpIPConfiguration             :: !(Maybe WorkerPoolIPConfiguration)+    , _wpPackages                    :: !(Maybe [Package])+    , _wpOnHostMaintenance           :: !(Maybe Text)+    , _wpDiskSourceImage             :: !(Maybe Text)+    , _wpSubnetwork                  :: !(Maybe Text)+    , _wpMachineType                 :: !(Maybe Text)+    , _wpMetadata                    :: !(Maybe WorkerPoolMetadata)+    , _wpDiskType                    :: !(Maybe Text)+    , _wpTeardownPolicy              :: !(Maybe WorkerPoolTeardownPolicy)+    , _wpDefaultPackageSet           :: !(Maybe WorkerPoolDefaultPackageSet)+    , _wpPoolArgs                    :: !(Maybe WorkerPoolPoolArgs)+    , _wpWorkerHarnessContainerImage :: !(Maybe Text)+    , _wpDataDisks                   :: !(Maybe [Disk])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerPool' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wpAutoscalingSettings'+--+-- * 'wpNumThreadsPerWorker'+--+-- * 'wpDiskSizeGb'+--+-- * 'wpKind'+--+-- * 'wpTaskrunnerSettings'+--+-- * 'wpNumWorkers'+--+-- * 'wpNetwork'+--+-- * 'wpZone'+--+-- * 'wpIPConfiguration'+--+-- * 'wpPackages'+--+-- * 'wpOnHostMaintenance'+--+-- * 'wpDiskSourceImage'+--+-- * 'wpSubnetwork'+--+-- * 'wpMachineType'+--+-- * 'wpMetadata'+--+-- * 'wpDiskType'+--+-- * 'wpTeardownPolicy'+--+-- * 'wpDefaultPackageSet'+--+-- * 'wpPoolArgs'+--+-- * 'wpWorkerHarnessContainerImage'+--+-- * 'wpDataDisks'+workerPool+    :: WorkerPool+workerPool =+    WorkerPool'+    { _wpAutoscalingSettings = Nothing+    , _wpNumThreadsPerWorker = Nothing+    , _wpDiskSizeGb = Nothing+    , _wpKind = Nothing+    , _wpTaskrunnerSettings = Nothing+    , _wpNumWorkers = Nothing+    , _wpNetwork = Nothing+    , _wpZone = Nothing+    , _wpIPConfiguration = Nothing+    , _wpPackages = Nothing+    , _wpOnHostMaintenance = Nothing+    , _wpDiskSourceImage = Nothing+    , _wpSubnetwork = Nothing+    , _wpMachineType = Nothing+    , _wpMetadata = Nothing+    , _wpDiskType = Nothing+    , _wpTeardownPolicy = Nothing+    , _wpDefaultPackageSet = Nothing+    , _wpPoolArgs = Nothing+    , _wpWorkerHarnessContainerImage = Nothing+    , _wpDataDisks = Nothing+    }++-- | Settings for autoscaling of this WorkerPool.+wpAutoscalingSettings :: Lens' WorkerPool (Maybe AutoscalingSettings)+wpAutoscalingSettings+  = lens _wpAutoscalingSettings+      (\ s a -> s{_wpAutoscalingSettings = a})++-- | The number of threads per worker harness. If empty or unspecified, the+-- service will choose a number of threads (according to the number of+-- cores on the selected machine type for batch, or 1 by convention for+-- streaming).+wpNumThreadsPerWorker :: Lens' WorkerPool (Maybe Int32)+wpNumThreadsPerWorker+  = lens _wpNumThreadsPerWorker+      (\ s a -> s{_wpNumThreadsPerWorker = a})+      . mapping _Coerce++-- | Size of root disk for VMs, in GB. If zero or unspecified, the service+-- will attempt to choose a reasonable default.+wpDiskSizeGb :: Lens' WorkerPool (Maybe Int32)+wpDiskSizeGb+  = lens _wpDiskSizeGb (\ s a -> s{_wpDiskSizeGb = a})+      . mapping _Coerce++-- | The kind of the worker pool; currently only \`harness\` and \`shuffle\`+-- are supported.+wpKind :: Lens' WorkerPool (Maybe Text)+wpKind = lens _wpKind (\ s a -> s{_wpKind = a})++-- | Settings passed through to Google Compute Engine workers when using the+-- standard Dataflow task runner. Users should ignore this field.+wpTaskrunnerSettings :: Lens' WorkerPool (Maybe TaskRunnerSettings)+wpTaskrunnerSettings+  = lens _wpTaskrunnerSettings+      (\ s a -> s{_wpTaskrunnerSettings = a})++-- | Number of Google Compute Engine workers in this pool needed to execute+-- the job. If zero or unspecified, the service will attempt to choose a+-- reasonable default.+wpNumWorkers :: Lens' WorkerPool (Maybe Int32)+wpNumWorkers+  = lens _wpNumWorkers (\ s a -> s{_wpNumWorkers = a})+      . mapping _Coerce++-- | Network to which VMs will be assigned. If empty or unspecified, the+-- service will use the network \"default\".+wpNetwork :: Lens' WorkerPool (Maybe Text)+wpNetwork+  = lens _wpNetwork (\ s a -> s{_wpNetwork = a})++-- | Zone to run the worker pools in. If empty or unspecified, the service+-- will attempt to choose a reasonable default.+wpZone :: Lens' WorkerPool (Maybe Text)+wpZone = lens _wpZone (\ s a -> s{_wpZone = a})++-- | Configuration for VM IPs.+wpIPConfiguration :: Lens' WorkerPool (Maybe WorkerPoolIPConfiguration)+wpIPConfiguration+  = lens _wpIPConfiguration+      (\ s a -> s{_wpIPConfiguration = a})++-- | Packages to be installed on workers.+wpPackages :: Lens' WorkerPool [Package]+wpPackages+  = lens _wpPackages (\ s a -> s{_wpPackages = a}) .+      _Default+      . _Coerce++-- | The action to take on host maintenance, as defined by the Google Compute+-- Engine API.+wpOnHostMaintenance :: Lens' WorkerPool (Maybe Text)+wpOnHostMaintenance+  = lens _wpOnHostMaintenance+      (\ s a -> s{_wpOnHostMaintenance = a})++-- | Fully qualified source image for disks.+wpDiskSourceImage :: Lens' WorkerPool (Maybe Text)+wpDiskSourceImage+  = lens _wpDiskSourceImage+      (\ s a -> s{_wpDiskSourceImage = a})++-- | Subnetwork to which VMs will be assigned, if desired. Expected to be of+-- the form \"regions\/REGION\/subnetworks\/SUBNETWORK\".+wpSubnetwork :: Lens' WorkerPool (Maybe Text)+wpSubnetwork+  = lens _wpSubnetwork (\ s a -> s{_wpSubnetwork = a})++-- | Machine type (e.g. \"n1-standard-1\"). If empty or unspecified, the+-- service will attempt to choose a reasonable default.+wpMachineType :: Lens' WorkerPool (Maybe Text)+wpMachineType+  = lens _wpMachineType+      (\ s a -> s{_wpMachineType = a})++-- | Metadata to set on the Google Compute Engine VMs.+wpMetadata :: Lens' WorkerPool (Maybe WorkerPoolMetadata)+wpMetadata+  = lens _wpMetadata (\ s a -> s{_wpMetadata = a})++-- | Type of root disk for VMs. If empty or unspecified, the service will+-- attempt to choose a reasonable default.+wpDiskType :: Lens' WorkerPool (Maybe Text)+wpDiskType+  = lens _wpDiskType (\ s a -> s{_wpDiskType = a})++-- | Sets the policy for determining when to turndown worker pool. Allowed+-- values are: \`TEARDOWN_ALWAYS\`, \`TEARDOWN_ON_SUCCESS\`, and+-- \`TEARDOWN_NEVER\`. \`TEARDOWN_ALWAYS\` means workers are always torn+-- down regardless of whether the job succeeds. \`TEARDOWN_ON_SUCCESS\`+-- means workers are torn down if the job succeeds. \`TEARDOWN_NEVER\`+-- means the workers are never torn down. If the workers are not torn down+-- by the service, they will continue to run and use Google Compute Engine+-- VM resources in the user\'s project until they are explicitly terminated+-- by the user. Because of this, Google recommends using the+-- \`TEARDOWN_ALWAYS\` policy except for small, manually supervised test+-- jobs. If unknown or unspecified, the service will attempt to choose a+-- reasonable default.+wpTeardownPolicy :: Lens' WorkerPool (Maybe WorkerPoolTeardownPolicy)+wpTeardownPolicy+  = lens _wpTeardownPolicy+      (\ s a -> s{_wpTeardownPolicy = a})++-- | The default package set to install. This allows the service to select a+-- default set of packages which are useful to worker harnesses written in+-- a particular language.+wpDefaultPackageSet :: Lens' WorkerPool (Maybe WorkerPoolDefaultPackageSet)+wpDefaultPackageSet+  = lens _wpDefaultPackageSet+      (\ s a -> s{_wpDefaultPackageSet = a})++-- | Extra arguments for this worker pool.+wpPoolArgs :: Lens' WorkerPool (Maybe WorkerPoolPoolArgs)+wpPoolArgs+  = lens _wpPoolArgs (\ s a -> s{_wpPoolArgs = a})++-- | Required. Docker container image that executes the Cloud Dataflow worker+-- harness, residing in Google Container Registry.+wpWorkerHarnessContainerImage :: Lens' WorkerPool (Maybe Text)+wpWorkerHarnessContainerImage+  = lens _wpWorkerHarnessContainerImage+      (\ s a -> s{_wpWorkerHarnessContainerImage = a})++-- | Data disks that are used by a VM in this workflow.+wpDataDisks :: Lens' WorkerPool [Disk]+wpDataDisks+  = lens _wpDataDisks (\ s a -> s{_wpDataDisks = a}) .+      _Default+      . _Coerce++instance FromJSON WorkerPool where+        parseJSON+          = withObject "WorkerPool"+              (\ o ->+                 WorkerPool' <$>+                   (o .:? "autoscalingSettings") <*>+                     (o .:? "numThreadsPerWorker")+                     <*> (o .:? "diskSizeGb")+                     <*> (o .:? "kind")+                     <*> (o .:? "taskrunnerSettings")+                     <*> (o .:? "numWorkers")+                     <*> (o .:? "network")+                     <*> (o .:? "zone")+                     <*> (o .:? "ipConfiguration")+                     <*> (o .:? "packages" .!= mempty)+                     <*> (o .:? "onHostMaintenance")+                     <*> (o .:? "diskSourceImage")+                     <*> (o .:? "subnetwork")+                     <*> (o .:? "machineType")+                     <*> (o .:? "metadata")+                     <*> (o .:? "diskType")+                     <*> (o .:? "teardownPolicy")+                     <*> (o .:? "defaultPackageSet")+                     <*> (o .:? "poolArgs")+                     <*> (o .:? "workerHarnessContainerImage")+                     <*> (o .:? "dataDisks" .!= mempty))++instance ToJSON WorkerPool where+        toJSON WorkerPool'{..}+          = object+              (catMaybes+                 [("autoscalingSettings" .=) <$>+                    _wpAutoscalingSettings,+                  ("numThreadsPerWorker" .=) <$>+                    _wpNumThreadsPerWorker,+                  ("diskSizeGb" .=) <$> _wpDiskSizeGb,+                  ("kind" .=) <$> _wpKind,+                  ("taskrunnerSettings" .=) <$> _wpTaskrunnerSettings,+                  ("numWorkers" .=) <$> _wpNumWorkers,+                  ("network" .=) <$> _wpNetwork,+                  ("zone" .=) <$> _wpZone,+                  ("ipConfiguration" .=) <$> _wpIPConfiguration,+                  ("packages" .=) <$> _wpPackages,+                  ("onHostMaintenance" .=) <$> _wpOnHostMaintenance,+                  ("diskSourceImage" .=) <$> _wpDiskSourceImage,+                  ("subnetwork" .=) <$> _wpSubnetwork,+                  ("machineType" .=) <$> _wpMachineType,+                  ("metadata" .=) <$> _wpMetadata,+                  ("diskType" .=) <$> _wpDiskType,+                  ("teardownPolicy" .=) <$> _wpTeardownPolicy,+                  ("defaultPackageSet" .=) <$> _wpDefaultPackageSet,+                  ("poolArgs" .=) <$> _wpPoolArgs,+                  ("workerHarnessContainerImage" .=) <$>+                    _wpWorkerHarnessContainerImage,+                  ("dataDisks" .=) <$> _wpDataDisks])++-- | Defines a particular step within a Cloud Dataflow job. A job consists of+-- multiple steps, each of which performs some specific operation as part+-- of the overall job. Data is typically passed from one step to another as+-- part of the job. Here\'s an example of a sequence of steps which+-- together implement a Map-Reduce job: * Read a collection of data from+-- some source, parsing the collection\'s elements. * Validate the+-- elements. * Apply a user-defined function to map each element to some+-- value and extract an element-specific key value. * Group elements with+-- the same key into a single element with that key, transforming a+-- multiply-keyed collection into a uniquely-keyed collection. * Write the+-- elements out to some data sink. Note that the Cloud Dataflow service may+-- be used to run many different types of jobs, not just Map-Reduce.+--+-- /See:/ 'step' smart constructor.+data Step = Step'+    { _sKind       :: !(Maybe Text)+    , _sName       :: !(Maybe Text)+    , _sProperties :: !(Maybe StepProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Step' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sKind'+--+-- * 'sName'+--+-- * 'sProperties'+step+    :: Step+step =+    Step'+    { _sKind = Nothing+    , _sName = Nothing+    , _sProperties = Nothing+    }++-- | The kind of step in the Cloud Dataflow job.+sKind :: Lens' Step (Maybe Text)+sKind = lens _sKind (\ s a -> s{_sKind = a})++-- | The name that identifies the step. This must be unique for each step+-- with respect to all other steps in the Cloud Dataflow job.+sName :: Lens' Step (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | Named properties associated with the step. Each kind of predefined step+-- has its own required set of properties. Must be provided on Create. Only+-- retrieved with JOB_VIEW_ALL.+sProperties :: Lens' Step (Maybe StepProperties)+sProperties+  = lens _sProperties (\ s a -> s{_sProperties = a})++instance FromJSON Step where+        parseJSON+          = withObject "Step"+              (\ o ->+                 Step' <$>+                   (o .:? "kind") <*> (o .:? "name") <*>+                     (o .:? "properties"))++instance ToJSON Step where+        toJSON Step'{..}+          = object+              (catMaybes+                 [("kind" .=) <$> _sKind, ("name" .=) <$> _sName,+                  ("properties" .=) <$> _sProperties])++-- | Description of an interstitial value between transforms in an execution+-- stage.+--+-- /See:/ 'componentSource' smart constructor.+data ComponentSource = ComponentSource'+    { _csUserName                      :: !(Maybe Text)+    , _csName                          :: !(Maybe Text)+    , _csOriginalTransformOrCollection :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ComponentSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csUserName'+--+-- * 'csName'+--+-- * 'csOriginalTransformOrCollection'+componentSource+    :: ComponentSource+componentSource =+    ComponentSource'+    { _csUserName = Nothing+    , _csName = Nothing+    , _csOriginalTransformOrCollection = Nothing+    }++-- | Human-readable name for this transform; may be user or system generated.+csUserName :: Lens' ComponentSource (Maybe Text)+csUserName+  = lens _csUserName (\ s a -> s{_csUserName = a})++-- | Dataflow service generated name for this source.+csName :: Lens' ComponentSource (Maybe Text)+csName = lens _csName (\ s a -> s{_csName = a})++-- | User name for the original user transform or collection with which this+-- source is most closely associated.+csOriginalTransformOrCollection :: Lens' ComponentSource (Maybe Text)+csOriginalTransformOrCollection+  = lens _csOriginalTransformOrCollection+      (\ s a -> s{_csOriginalTransformOrCollection = a})++instance FromJSON ComponentSource where+        parseJSON+          = withObject "ComponentSource"+              (\ o ->+                 ComponentSource' <$>+                   (o .:? "userName") <*> (o .:? "name") <*>+                     (o .:? "originalTransformOrCollection"))++instance ToJSON ComponentSource where+        toJSON ComponentSource'{..}+          = object+              (catMaybes+                 [("userName" .=) <$> _csUserName,+                  ("name" .=) <$> _csName,+                  ("originalTransformOrCollection" .=) <$>+                    _csOriginalTransformOrCollection])++-- | The packages that must be installed in order for a worker to run the+-- steps of the Cloud Dataflow job that will be assigned to its worker+-- pool. This is the mechanism by which the Cloud Dataflow SDK causes code+-- to be loaded onto the workers. For example, the Cloud Dataflow Java SDK+-- might use this to install jars containing the user\'s code and all of+-- the various dependencies (libraries, data files, etc.) required in order+-- for that code to run.+--+-- /See:/ 'package' smart constructor.+data Package = Package'+    { _pLocation :: !(Maybe Text)+    , _pName     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Package' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pLocation'+--+-- * 'pName'+package+    :: Package+package =+    Package'+    { _pLocation = Nothing+    , _pName = Nothing+    }++-- | The resource to read the package from. The supported resource type is:+-- Google Cloud Storage: storage.googleapis.com\/{bucket}+-- bucket.storage.googleapis.com\/+pLocation :: Lens' Package (Maybe Text)+pLocation+  = lens _pLocation (\ s a -> s{_pLocation = a})++-- | The name of the package.+pName :: Lens' Package (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++instance FromJSON Package where+        parseJSON+          = withObject "Package"+              (\ o ->+                 Package' <$> (o .:? "location") <*> (o .:? "name"))++instance ToJSON Package where+        toJSON Package'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _pLocation,+                  ("name" .=) <$> _pName])++-- | Description of the composing transforms, names\/ids, and input\/outputs+-- of a stage of execution. Some composing transforms and sources may have+-- been generated by the Dataflow service during execution planning.+--+-- /See:/ 'executionStageSummary' smart constructor.+data ExecutionStageSummary = ExecutionStageSummary'+    { _essOutputSource       :: !(Maybe [StageSource])+    , _essKind               :: !(Maybe ExecutionStageSummaryKind)+    , _essInputSource        :: !(Maybe [StageSource])+    , _essName               :: !(Maybe Text)+    , _essComponentSource    :: !(Maybe [ComponentSource])+    , _essId                 :: !(Maybe Text)+    , _essComponentTransform :: !(Maybe [ComponentTransform])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExecutionStageSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'essOutputSource'+--+-- * 'essKind'+--+-- * 'essInputSource'+--+-- * 'essName'+--+-- * 'essComponentSource'+--+-- * 'essId'+--+-- * 'essComponentTransform'+executionStageSummary+    :: ExecutionStageSummary+executionStageSummary =+    ExecutionStageSummary'+    { _essOutputSource = Nothing+    , _essKind = Nothing+    , _essInputSource = Nothing+    , _essName = Nothing+    , _essComponentSource = Nothing+    , _essId = Nothing+    , _essComponentTransform = Nothing+    }++-- | Output sources for this stage.+essOutputSource :: Lens' ExecutionStageSummary [StageSource]+essOutputSource+  = lens _essOutputSource+      (\ s a -> s{_essOutputSource = a})+      . _Default+      . _Coerce++-- | Type of tranform this stage is executing.+essKind :: Lens' ExecutionStageSummary (Maybe ExecutionStageSummaryKind)+essKind = lens _essKind (\ s a -> s{_essKind = a})++-- | Input sources for this stage.+essInputSource :: Lens' ExecutionStageSummary [StageSource]+essInputSource+  = lens _essInputSource+      (\ s a -> s{_essInputSource = a})+      . _Default+      . _Coerce++-- | Dataflow service generated name for this stage.+essName :: Lens' ExecutionStageSummary (Maybe Text)+essName = lens _essName (\ s a -> s{_essName = a})++-- | Collections produced and consumed by component transforms of this stage.+essComponentSource :: Lens' ExecutionStageSummary [ComponentSource]+essComponentSource+  = lens _essComponentSource+      (\ s a -> s{_essComponentSource = a})+      . _Default+      . _Coerce++-- | Dataflow service generated id for this stage.+essId :: Lens' ExecutionStageSummary (Maybe Text)+essId = lens _essId (\ s a -> s{_essId = a})++-- | Transforms that comprise this execution stage.+essComponentTransform :: Lens' ExecutionStageSummary [ComponentTransform]+essComponentTransform+  = lens _essComponentTransform+      (\ s a -> s{_essComponentTransform = a})+      . _Default+      . _Coerce++instance FromJSON ExecutionStageSummary where+        parseJSON+          = withObject "ExecutionStageSummary"+              (\ o ->+                 ExecutionStageSummary' <$>+                   (o .:? "outputSource" .!= mempty) <*> (o .:? "kind")+                     <*> (o .:? "inputSource" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "componentSource" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "componentTransform" .!= mempty))++instance ToJSON ExecutionStageSummary where+        toJSON ExecutionStageSummary'{..}+          = object+              (catMaybes+                 [("outputSource" .=) <$> _essOutputSource,+                  ("kind" .=) <$> _essKind,+                  ("inputSource" .=) <$> _essInputSource,+                  ("name" .=) <$> _essName,+                  ("componentSource" .=) <$> _essComponentSource,+                  ("id" .=) <$> _essId,+                  ("componentTransform" .=) <$>+                    _essComponentTransform])++-- | Parameters contains specific information about the code. This is a+-- struct to allow parameters of different types. Examples: 1. For a+-- \"HARNESS_STARTED\" message parameters might provide the name of the+-- worker and additional data like timing information. 2. For a+-- \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing the GCS+-- objects being downloaded and fields containing errors. In general+-- complex data structures should be avoided. If a worker needs to send a+-- specific and complicated data structure then please consider defining a+-- new proto and adding it to the data oneof in WorkerMessageResponse.+-- Conventions: Parameters should only be used for information that isn\'t+-- typically passed as a label. hostname and other worker identifiers+-- should almost always be passed as labels since they will be included on+-- most messages.+--+-- /See:/ 'workerMessageCodeParameters' smart constructor.+newtype WorkerMessageCodeParameters = WorkerMessageCodeParameters'+    { _wmcpAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerMessageCodeParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wmcpAddtional'+workerMessageCodeParameters+    :: HashMap Text JSONValue -- ^ 'wmcpAddtional'+    -> WorkerMessageCodeParameters+workerMessageCodeParameters pWmcpAddtional_ =+    WorkerMessageCodeParameters'+    { _wmcpAddtional = _Coerce # pWmcpAddtional_+    }++-- | Properties of the object.+wmcpAddtional :: Lens' WorkerMessageCodeParameters (HashMap Text JSONValue)+wmcpAddtional+  = lens _wmcpAddtional+      (\ s a -> s{_wmcpAddtional = a})+      . _Coerce++instance FromJSON WorkerMessageCodeParameters where+        parseJSON+          = withObject "WorkerMessageCodeParameters"+              (\ o ->+                 WorkerMessageCodeParameters' <$> (parseJSONObject o))++instance ToJSON WorkerMessageCodeParameters where+        toJSON = toJSON . _wmcpAddtional++-- | When a task splits using WorkItemStatus.dynamic_source_split, this+-- message describes the two parts of the split relative to the description+-- of the current task\'s input.+--+-- /See:/ 'dynamicSourceSplit' smart constructor.+data DynamicSourceSplit = DynamicSourceSplit'+    { _dssResidual :: !(Maybe DerivedSource)+    , _dssPrimary  :: !(Maybe DerivedSource)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DynamicSourceSplit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssResidual'+--+-- * 'dssPrimary'+dynamicSourceSplit+    :: DynamicSourceSplit+dynamicSourceSplit =+    DynamicSourceSplit'+    { _dssResidual = Nothing+    , _dssPrimary = Nothing+    }++-- | Residual part (returned to the pool of work). Specified relative to the+-- previously-current source.+dssResidual :: Lens' DynamicSourceSplit (Maybe DerivedSource)+dssResidual+  = lens _dssResidual (\ s a -> s{_dssResidual = a})++-- | Primary part (continued to be processed by worker). Specified relative+-- to the previously-current source. Becomes current.+dssPrimary :: Lens' DynamicSourceSplit (Maybe DerivedSource)+dssPrimary+  = lens _dssPrimary (\ s a -> s{_dssPrimary = a})++instance FromJSON DynamicSourceSplit where+        parseJSON+          = withObject "DynamicSourceSplit"+              (\ o ->+                 DynamicSourceSplit' <$>+                   (o .:? "residual") <*> (o .:? "primary"))++instance ToJSON DynamicSourceSplit where+        toJSON DynamicSourceSplit'{..}+          = object+              (catMaybes+                 [("residual" .=) <$> _dssResidual,+                  ("primary" .=) <$> _dssPrimary])++-- | Request to create a snapshot of a job.+--+-- /See:/ 'snapshotJobRequest' smart constructor.+data SnapshotJobRequest = SnapshotJobRequest'+    { _sjrTtl      :: !(Maybe GDuration)+    , _sjrLocation :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotJobRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sjrTtl'+--+-- * 'sjrLocation'+snapshotJobRequest+    :: SnapshotJobRequest+snapshotJobRequest =+    SnapshotJobRequest'+    { _sjrTtl = Nothing+    , _sjrLocation = Nothing+    }++-- | TTL for the snapshot.+sjrTtl :: Lens' SnapshotJobRequest (Maybe Scientific)+sjrTtl+  = lens _sjrTtl (\ s a -> s{_sjrTtl = a}) .+      mapping _GDuration++-- | The location that contains this job.+sjrLocation :: Lens' SnapshotJobRequest (Maybe Text)+sjrLocation+  = lens _sjrLocation (\ s a -> s{_sjrLocation = a})++instance FromJSON SnapshotJobRequest where+        parseJSON+          = withObject "SnapshotJobRequest"+              (\ o ->+                 SnapshotJobRequest' <$>+                   (o .:? "ttl") <*> (o .:? "location"))++instance ToJSON SnapshotJobRequest where+        toJSON SnapshotJobRequest'{..}+          = object+              (catMaybes+                 [("ttl" .=) <$> _sjrTtl,+                  ("location" .=) <$> _sjrLocation])++-- | Response from a request to report the status of WorkItems.+--+-- /See:/ 'reportWorkItemStatusResponse' smart constructor.+newtype ReportWorkItemStatusResponse = ReportWorkItemStatusResponse'+    { _rwisrWorkItemServiceStates :: Maybe [WorkItemServiceState]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportWorkItemStatusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rwisrWorkItemServiceStates'+reportWorkItemStatusResponse+    :: ReportWorkItemStatusResponse+reportWorkItemStatusResponse =+    ReportWorkItemStatusResponse'+    { _rwisrWorkItemServiceStates = Nothing+    }++-- | A set of messages indicating the service-side state for each WorkItem+-- whose status was reported, in the same order as the WorkItemStatus+-- messages in the ReportWorkItemStatusRequest which resulting in this+-- response.+rwisrWorkItemServiceStates :: Lens' ReportWorkItemStatusResponse [WorkItemServiceState]+rwisrWorkItemServiceStates+  = lens _rwisrWorkItemServiceStates+      (\ s a -> s{_rwisrWorkItemServiceStates = a})+      . _Default+      . _Coerce++instance FromJSON ReportWorkItemStatusResponse where+        parseJSON+          = withObject "ReportWorkItemStatusResponse"+              (\ o ->+                 ReportWorkItemStatusResponse' <$>+                   (o .:? "workItemServiceStates" .!= mempty))++instance ToJSON ReportWorkItemStatusResponse where+        toJSON ReportWorkItemStatusResponse'{..}+          = object+              (catMaybes+                 [("workItemServiceStates" .=) <$>+                    _rwisrWorkItemServiceStates])++-- | DEPRECATED in favor of DynamicSourceSplit.+--+-- /See:/ 'sourceFork' smart constructor.+data SourceFork = SourceFork'+    { _sfResidual       :: !(Maybe SourceSplitShard)+    , _sfPrimarySource  :: !(Maybe DerivedSource)+    , _sfPrimary        :: !(Maybe SourceSplitShard)+    , _sfResidualSource :: !(Maybe DerivedSource)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceFork' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfResidual'+--+-- * 'sfPrimarySource'+--+-- * 'sfPrimary'+--+-- * 'sfResidualSource'+sourceFork+    :: SourceFork+sourceFork =+    SourceFork'+    { _sfResidual = Nothing+    , _sfPrimarySource = Nothing+    , _sfPrimary = Nothing+    , _sfResidualSource = Nothing+    }++-- | DEPRECATED+sfResidual :: Lens' SourceFork (Maybe SourceSplitShard)+sfResidual+  = lens _sfResidual (\ s a -> s{_sfResidual = a})++-- | DEPRECATED+sfPrimarySource :: Lens' SourceFork (Maybe DerivedSource)+sfPrimarySource+  = lens _sfPrimarySource+      (\ s a -> s{_sfPrimarySource = a})++-- | DEPRECATED+sfPrimary :: Lens' SourceFork (Maybe SourceSplitShard)+sfPrimary+  = lens _sfPrimary (\ s a -> s{_sfPrimary = a})++-- | DEPRECATED+sfResidualSource :: Lens' SourceFork (Maybe DerivedSource)+sfResidualSource+  = lens _sfResidualSource+      (\ s a -> s{_sfResidualSource = a})++instance FromJSON SourceFork where+        parseJSON+          = withObject "SourceFork"+              (\ o ->+                 SourceFork' <$>+                   (o .:? "residual") <*> (o .:? "primarySource") <*>+                     (o .:? "primary")+                     <*> (o .:? "residualSource"))++instance ToJSON SourceFork where+        toJSON SourceFork'{..}+          = object+              (catMaybes+                 [("residual" .=) <$> _sfResidual,+                  ("primarySource" .=) <$> _sfPrimarySource,+                  ("primary" .=) <$> _sfPrimary,+                  ("residualSource" .=) <$> _sfResidualSource])++-- | Service-side response to WorkerMessage reporting resource utilization.+--+-- /See:/ 'resourceUtilizationReportResponse' smart constructor.+data ResourceUtilizationReportResponse =+    ResourceUtilizationReportResponse'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceUtilizationReportResponse' with the minimum fields required to make a request.+--+resourceUtilizationReportResponse+    :: ResourceUtilizationReportResponse+resourceUtilizationReportResponse = ResourceUtilizationReportResponse'++instance FromJSON ResourceUtilizationReportResponse+         where+        parseJSON+          = withObject "ResourceUtilizationReportResponse"+              (\ o -> pure ResourceUtilizationReportResponse')++instance ToJSON ResourceUtilizationReportResponse+         where+        toJSON = const emptyObject++-- | Describes full or partial data disk assignment information of the+-- computation ranges.+--+-- /See:/ 'streamingComputationRanges' smart constructor.+data StreamingComputationRanges = StreamingComputationRanges'+    { _scrRangeAssignments :: !(Maybe [KeyRangeDataDiskAssignment])+    , _scrComputationId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingComputationRanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scrRangeAssignments'+--+-- * 'scrComputationId'+streamingComputationRanges+    :: StreamingComputationRanges+streamingComputationRanges =+    StreamingComputationRanges'+    { _scrRangeAssignments = Nothing+    , _scrComputationId = Nothing+    }++-- | Data disk assignments for ranges from this computation.+scrRangeAssignments :: Lens' StreamingComputationRanges [KeyRangeDataDiskAssignment]+scrRangeAssignments+  = lens _scrRangeAssignments+      (\ s a -> s{_scrRangeAssignments = a})+      . _Default+      . _Coerce++-- | The ID of the computation.+scrComputationId :: Lens' StreamingComputationRanges (Maybe Text)+scrComputationId+  = lens _scrComputationId+      (\ s a -> s{_scrComputationId = a})++instance FromJSON StreamingComputationRanges where+        parseJSON+          = withObject "StreamingComputationRanges"+              (\ o ->+                 StreamingComputationRanges' <$>+                   (o .:? "rangeAssignments" .!= mempty) <*>+                     (o .:? "computationId"))++instance ToJSON StreamingComputationRanges where+        toJSON StreamingComputationRanges'{..}+          = object+              (catMaybes+                 [("rangeAssignments" .=) <$> _scrRangeAssignments,+                  ("computationId" .=) <$> _scrComputationId])++-- | Response to a request to list Cloud Dataflow jobs. This may be a partial+-- response, depending on the page size in the ListJobsRequest.+--+-- /See:/ 'listJobsResponse' smart constructor.+data ListJobsResponse = ListJobsResponse'+    { _ljrNextPageToken  :: !(Maybe Text)+    , _ljrFailedLocation :: !(Maybe [FailedLocation])+    , _ljrJobs           :: !(Maybe [Job])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ljrNextPageToken'+--+-- * 'ljrFailedLocation'+--+-- * 'ljrJobs'+listJobsResponse+    :: ListJobsResponse+listJobsResponse =+    ListJobsResponse'+    { _ljrNextPageToken = Nothing+    , _ljrFailedLocation = Nothing+    , _ljrJobs = Nothing+    }++-- | Set if there may be more results than fit in this response.+ljrNextPageToken :: Lens' ListJobsResponse (Maybe Text)+ljrNextPageToken+  = lens _ljrNextPageToken+      (\ s a -> s{_ljrNextPageToken = a})++-- | Zero or more messages describing locations that failed to respond.+ljrFailedLocation :: Lens' ListJobsResponse [FailedLocation]+ljrFailedLocation+  = lens _ljrFailedLocation+      (\ s a -> s{_ljrFailedLocation = a})+      . _Default+      . _Coerce++-- | A subset of the requested job information.+ljrJobs :: Lens' ListJobsResponse [Job]+ljrJobs+  = lens _ljrJobs (\ s a -> s{_ljrJobs = a}) . _Default+      . _Coerce++instance FromJSON ListJobsResponse where+        parseJSON+          = withObject "ListJobsResponse"+              (\ o ->+                 ListJobsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "failedLocation" .!= mempty)+                     <*> (o .:? "jobs" .!= mempty))++instance ToJSON ListJobsResponse where+        toJSON ListJobsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ljrNextPageToken,+                  ("failedLocation" .=) <$> _ljrFailedLocation,+                  ("jobs" .=) <$> _ljrJobs])++-- | The runtime parameters to pass to the job.+--+-- /See:/ 'launchTemplateParametersParameters' smart constructor.+newtype LaunchTemplateParametersParameters = LaunchTemplateParametersParameters'+    { _ltppAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchTemplateParametersParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltppAddtional'+launchTemplateParametersParameters+    :: HashMap Text Text -- ^ 'ltppAddtional'+    -> LaunchTemplateParametersParameters+launchTemplateParametersParameters pLtppAddtional_ =+    LaunchTemplateParametersParameters'+    { _ltppAddtional = _Coerce # pLtppAddtional_+    }++ltppAddtional :: Lens' LaunchTemplateParametersParameters (HashMap Text Text)+ltppAddtional+  = lens _ltppAddtional+      (\ s a -> s{_ltppAddtional = a})+      . _Coerce++instance FromJSON LaunchTemplateParametersParameters+         where+        parseJSON+          = withObject "LaunchTemplateParametersParameters"+              (\ o ->+                 LaunchTemplateParametersParameters' <$>+                   (parseJSONObject o))++instance ToJSON LaunchTemplateParametersParameters+         where+        toJSON = toJSON . _ltppAddtional++-- | A source that records can be read and decoded from.+--+-- /See:/ 'source' smart constructor.+data Source = Source'+    { _souDoesNotNeedSplitting :: !(Maybe Bool)+    , _souBaseSpecs            :: !(Maybe [SourceBaseSpecsItem])+    , _souCodec                :: !(Maybe SourceCodec)+    , _souSpec                 :: !(Maybe SourceSpec)+    , _souMetadata             :: !(Maybe SourceMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Source' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'souDoesNotNeedSplitting'+--+-- * 'souBaseSpecs'+--+-- * 'souCodec'+--+-- * 'souSpec'+--+-- * 'souMetadata'+source+    :: Source+source =+    Source'+    { _souDoesNotNeedSplitting = Nothing+    , _souBaseSpecs = Nothing+    , _souCodec = Nothing+    , _souSpec = Nothing+    , _souMetadata = Nothing+    }++-- | Setting this value to true hints to the framework that the source+-- doesn\'t need splitting, and using SourceSplitRequest on it would yield+-- SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set this to+-- true when splitting a single file into a set of byte ranges of+-- appropriate size, and set this to false when splitting a filepattern+-- into individual files. However, for efficiency, a file splitter may+-- decide to produce file subranges directly from the filepattern to avoid+-- a splitting round-trip. See SourceSplitRequest for an overview of the+-- splitting process. This field is meaningful only in the Source objects+-- populated by the user (e.g. when filling in a DerivedSource). Source+-- objects supplied by the framework to the user don\'t have this field+-- populated.+souDoesNotNeedSplitting :: Lens' Source (Maybe Bool)+souDoesNotNeedSplitting+  = lens _souDoesNotNeedSplitting+      (\ s a -> s{_souDoesNotNeedSplitting = a})++-- | While splitting, sources may specify the produced bundles as differences+-- against another source, in order to save backend-side memory and allow+-- bigger jobs. For details, see SourceSplitRequest. To support this use+-- case, the full set of parameters of the source is logically obtained by+-- taking the latest explicitly specified value of each parameter in the+-- order: base_specs (later items win), spec (overrides anything in+-- base_specs).+souBaseSpecs :: Lens' Source [SourceBaseSpecsItem]+souBaseSpecs+  = lens _souBaseSpecs (\ s a -> s{_souBaseSpecs = a})+      . _Default+      . _Coerce++-- | The codec to use to decode data read from the source.+souCodec :: Lens' Source (Maybe SourceCodec)+souCodec = lens _souCodec (\ s a -> s{_souCodec = a})++-- | The source to read from, plus its parameters.+souSpec :: Lens' Source (Maybe SourceSpec)+souSpec = lens _souSpec (\ s a -> s{_souSpec = a})++-- | Optionally, metadata for this source can be supplied right away,+-- avoiding a SourceGetMetadataOperation roundtrip (see+-- SourceOperationRequest). This field is meaningful only in the Source+-- objects populated by the user (e.g. when filling in a DerivedSource).+-- Source objects supplied by the framework to the user don\'t have this+-- field populated.+souMetadata :: Lens' Source (Maybe SourceMetadata)+souMetadata+  = lens _souMetadata (\ s a -> s{_souMetadata = a})++instance FromJSON Source where+        parseJSON+          = withObject "Source"+              (\ o ->+                 Source' <$>+                   (o .:? "doesNotNeedSplitting") <*>+                     (o .:? "baseSpecs" .!= mempty)+                     <*> (o .:? "codec")+                     <*> (o .:? "spec")+                     <*> (o .:? "metadata"))++instance ToJSON Source where+        toJSON Source'{..}+          = object+              (catMaybes+                 [("doesNotNeedSplitting" .=) <$>+                    _souDoesNotNeedSplitting,+                  ("baseSpecs" .=) <$> _souBaseSpecs,+                  ("codec" .=) <$> _souCodec, ("spec" .=) <$> _souSpec,+                  ("metadata" .=) <$> _souMetadata])++-- | Obsolete in favor of ApproximateReportedProgress and+-- ApproximateSplitRequest.+--+-- /See:/ 'approximateProgress' smart constructor.+data ApproximateProgress = ApproximateProgress'+    { _apRemainingTime   :: !(Maybe GDuration)+    , _apPercentComplete :: !(Maybe (Textual Double))+    , _apPosition        :: !(Maybe Position)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApproximateProgress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apRemainingTime'+--+-- * 'apPercentComplete'+--+-- * 'apPosition'+approximateProgress+    :: ApproximateProgress+approximateProgress =+    ApproximateProgress'+    { _apRemainingTime = Nothing+    , _apPercentComplete = Nothing+    , _apPosition = Nothing+    }++-- | Obsolete.+apRemainingTime :: Lens' ApproximateProgress (Maybe Scientific)+apRemainingTime+  = lens _apRemainingTime+      (\ s a -> s{_apRemainingTime = a})+      . mapping _GDuration++-- | Obsolete.+apPercentComplete :: Lens' ApproximateProgress (Maybe Double)+apPercentComplete+  = lens _apPercentComplete+      (\ s a -> s{_apPercentComplete = a})+      . mapping _Coerce++-- | Obsolete.+apPosition :: Lens' ApproximateProgress (Maybe Position)+apPosition+  = lens _apPosition (\ s a -> s{_apPosition = a})++instance FromJSON ApproximateProgress where+        parseJSON+          = withObject "ApproximateProgress"+              (\ o ->+                 ApproximateProgress' <$>+                   (o .:? "remainingTime") <*> (o .:? "percentComplete")+                     <*> (o .:? "position"))++instance ToJSON ApproximateProgress where+        toJSON ApproximateProgress'{..}+          = object+              (catMaybes+                 [("remainingTime" .=) <$> _apRemainingTime,+                  ("percentComplete" .=) <$> _apPercentComplete,+                  ("position" .=) <$> _apPosition])++-- | WorkerMessage provides information to the backend about a worker.+--+-- /See:/ 'workerMessage' smart constructor.+data WorkerMessage = WorkerMessage'+    { _wmWorkerHealthReport   :: !(Maybe WorkerHealthReport)+    , _wmTime                 :: !(Maybe DateTime')+    , _wmWorkerMessageCode    :: !(Maybe WorkerMessageCode)+    , _wmWorkerMetrics        :: !(Maybe ResourceUtilizationReport)+    , _wmWorkerLifecycleEvent :: !(Maybe WorkerLifecycleEvent)+    , _wmWorkerShutdownNotice :: !(Maybe WorkerShutdownNotice)+    , _wmLabels               :: !(Maybe WorkerMessageLabels)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WorkerMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wmWorkerHealthReport'+--+-- * 'wmTime'+--+-- * 'wmWorkerMessageCode'+--+-- * 'wmWorkerMetrics'+--+-- * 'wmWorkerLifecycleEvent'+--+-- * 'wmWorkerShutdownNotice'+--+-- * 'wmLabels'+workerMessage+    :: WorkerMessage+workerMessage =+    WorkerMessage'+    { _wmWorkerHealthReport = Nothing+    , _wmTime = Nothing+    , _wmWorkerMessageCode = Nothing+    , _wmWorkerMetrics = Nothing+    , _wmWorkerLifecycleEvent = Nothing+    , _wmWorkerShutdownNotice = Nothing+    , _wmLabels = Nothing+    }++-- | The health of a worker.+wmWorkerHealthReport :: Lens' WorkerMessage (Maybe WorkerHealthReport)+wmWorkerHealthReport+  = lens _wmWorkerHealthReport+      (\ s a -> s{_wmWorkerHealthReport = a})++-- | The timestamp of the worker_message.+wmTime :: Lens' WorkerMessage (Maybe UTCTime)+wmTime+  = lens _wmTime (\ s a -> s{_wmTime = a}) .+      mapping _DateTime++-- | A worker message code.+wmWorkerMessageCode :: Lens' WorkerMessage (Maybe WorkerMessageCode)+wmWorkerMessageCode+  = lens _wmWorkerMessageCode+      (\ s a -> s{_wmWorkerMessageCode = a})++-- | Resource metrics reported by workers.+wmWorkerMetrics :: Lens' WorkerMessage (Maybe ResourceUtilizationReport)+wmWorkerMetrics+  = lens _wmWorkerMetrics+      (\ s a -> s{_wmWorkerMetrics = a})++-- | Record of worker lifecycle events.+wmWorkerLifecycleEvent :: Lens' WorkerMessage (Maybe WorkerLifecycleEvent)+wmWorkerLifecycleEvent+  = lens _wmWorkerLifecycleEvent+      (\ s a -> s{_wmWorkerLifecycleEvent = a})++-- | Shutdown notice by workers.+wmWorkerShutdownNotice :: Lens' WorkerMessage (Maybe WorkerShutdownNotice)+wmWorkerShutdownNotice+  = lens _wmWorkerShutdownNotice+      (\ s a -> s{_wmWorkerShutdownNotice = a})++-- | Labels are used to group WorkerMessages. For example, a worker_message+-- about a particular container might have the labels: { \"JOB_ID\":+-- \"2015-04-22\", \"WORKER_ID\": \"wordcount-vm-2015…\"+-- \"CONTAINER_TYPE\": \"worker\", \"CONTAINER_ID\": \"ac1234def\"} Label+-- tags typically correspond to Label enum values. However, for ease of+-- development other strings can be used as tags. LABEL_UNSPECIFIED should+-- not be used here.+wmLabels :: Lens' WorkerMessage (Maybe WorkerMessageLabels)+wmLabels = lens _wmLabels (\ s a -> s{_wmLabels = a})++instance FromJSON WorkerMessage where+        parseJSON+          = withObject "WorkerMessage"+              (\ o ->+                 WorkerMessage' <$>+                   (o .:? "workerHealthReport") <*> (o .:? "time") <*>+                     (o .:? "workerMessageCode")+                     <*> (o .:? "workerMetrics")+                     <*> (o .:? "workerLifecycleEvent")+                     <*> (o .:? "workerShutdownNotice")+                     <*> (o .:? "labels"))++instance ToJSON WorkerMessage where+        toJSON WorkerMessage'{..}+          = object+              (catMaybes+                 [("workerHealthReport" .=) <$> _wmWorkerHealthReport,+                  ("time" .=) <$> _wmTime,+                  ("workerMessageCode" .=) <$> _wmWorkerMessageCode,+                  ("workerMetrics" .=) <$> _wmWorkerMetrics,+                  ("workerLifecycleEvent" .=) <$>+                    _wmWorkerLifecycleEvent,+                  ("workerShutdownNotice" .=) <$>+                    _wmWorkerShutdownNotice,+                  ("labels" .=) <$> _wmLabels])++-- | Location information for a specific key-range of a sharded computation.+-- Currently we only support UTF-8 character splits to simplify encoding+-- into JSON.+--+-- /See:/ 'keyRangeLocation' smart constructor.+data KeyRangeLocation = KeyRangeLocation'+    { _krlDataDisk                      :: !(Maybe Text)+    , _krlDeprecatedPersistentDirectory :: !(Maybe Text)+    , _krlStart                         :: !(Maybe Text)+    , _krlDeliveryEndpoint              :: !(Maybe Text)+    , _krlEnd                           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyRangeLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'krlDataDisk'+--+-- * 'krlDeprecatedPersistentDirectory'+--+-- * 'krlStart'+--+-- * 'krlDeliveryEndpoint'+--+-- * 'krlEnd'+keyRangeLocation+    :: KeyRangeLocation+keyRangeLocation =+    KeyRangeLocation'+    { _krlDataDisk = Nothing+    , _krlDeprecatedPersistentDirectory = Nothing+    , _krlStart = Nothing+    , _krlDeliveryEndpoint = Nothing+    , _krlEnd = Nothing+    }++-- | The name of the data disk where data for this range is stored. This name+-- is local to the Google Cloud Platform project and uniquely identifies+-- the disk within that project, for example+-- \"myproject-1014-104817-4c2-harness-0-disk-1\".+krlDataDisk :: Lens' KeyRangeLocation (Maybe Text)+krlDataDisk+  = lens _krlDataDisk (\ s a -> s{_krlDataDisk = a})++-- | DEPRECATED. The location of the persistent state for this range, as a+-- persistent directory in the worker local filesystem.+krlDeprecatedPersistentDirectory :: Lens' KeyRangeLocation (Maybe Text)+krlDeprecatedPersistentDirectory+  = lens _krlDeprecatedPersistentDirectory+      (\ s a -> s{_krlDeprecatedPersistentDirectory = a})++-- | The start (inclusive) of the key range.+krlStart :: Lens' KeyRangeLocation (Maybe Text)+krlStart = lens _krlStart (\ s a -> s{_krlStart = a})++-- | The physical location of this range assignment to be used for streaming+-- computation cross-worker message delivery.+krlDeliveryEndpoint :: Lens' KeyRangeLocation (Maybe Text)+krlDeliveryEndpoint+  = lens _krlDeliveryEndpoint+      (\ s a -> s{_krlDeliveryEndpoint = a})++-- | The end (exclusive) of the key range.+krlEnd :: Lens' KeyRangeLocation (Maybe Text)+krlEnd = lens _krlEnd (\ s a -> s{_krlEnd = a})++instance FromJSON KeyRangeLocation where+        parseJSON+          = withObject "KeyRangeLocation"+              (\ o ->+                 KeyRangeLocation' <$>+                   (o .:? "dataDisk") <*>+                     (o .:? "deprecatedPersistentDirectory")+                     <*> (o .:? "start")+                     <*> (o .:? "deliveryEndpoint")+                     <*> (o .:? "end"))++instance ToJSON KeyRangeLocation where+        toJSON KeyRangeLocation'{..}+          = object+              (catMaybes+                 [("dataDisk" .=) <$> _krlDataDisk,+                  ("deprecatedPersistentDirectory" .=) <$>+                    _krlDeprecatedPersistentDirectory,+                  ("start" .=) <$> _krlStart,+                  ("deliveryEndpoint" .=) <$> _krlDeliveryEndpoint,+                  ("end" .=) <$> _krlEnd])++-- | Histogram of value counts for a distribution. Buckets have an inclusive+-- lower bound and exclusive upper bound and use \"1,2,5 bucketing\": The+-- first bucket range is from [0,1) and all subsequent bucket boundaries+-- are powers of ten multiplied by 1, 2, or 5. Thus, bucket boundaries are+-- 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ... Negative values are not+-- supported.+--+-- /See:/ 'histogram' smart constructor.+data Histogram = Histogram'+    { _hBucketCounts      :: !(Maybe [Textual Int64])+    , _hFirstBucketOffSet :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Histogram' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hBucketCounts'+--+-- * 'hFirstBucketOffSet'+histogram+    :: Histogram+histogram =+    Histogram'+    { _hBucketCounts = Nothing+    , _hFirstBucketOffSet = Nothing+    }++-- | Counts of values in each bucket. For efficiency, prefix and trailing+-- buckets with count = 0 are elided. Buckets can store the full range of+-- values of an unsigned long, with ULLONG_MAX falling into the 59th bucket+-- with range [1e19, 2e19).+hBucketCounts :: Lens' Histogram [Int64]+hBucketCounts+  = lens _hBucketCounts+      (\ s a -> s{_hBucketCounts = a})+      . _Default+      . _Coerce++-- | Starting index of first stored bucket. The non-inclusive upper-bound of+-- the ith bucket is given by: pow(10,(i-first_bucket_offset)\/3) *+-- (1,2,5)[(i-first_bucket_offset)%3]+hFirstBucketOffSet :: Lens' Histogram (Maybe Int32)+hFirstBucketOffSet+  = lens _hFirstBucketOffSet+      (\ s a -> s{_hFirstBucketOffSet = a})+      . mapping _Coerce++instance FromJSON Histogram where+        parseJSON+          = withObject "Histogram"+              (\ o ->+                 Histogram' <$>+                   (o .:? "bucketCounts" .!= mempty) <*>+                     (o .:? "firstBucketOffset"))++instance ToJSON Histogram where+        toJSON Histogram'{..}+          = object+              (catMaybes+                 [("bucketCounts" .=) <$> _hBucketCounts,+                  ("firstBucketOffset" .=) <$> _hFirstBucketOffSet])++-- | Information about an output of a multi-output DoFn.+--+-- /See:/ 'multiOutputInfo' smart constructor.+newtype MultiOutputInfo = MultiOutputInfo'+    { _moiTag :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MultiOutputInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'moiTag'+multiOutputInfo+    :: MultiOutputInfo+multiOutputInfo =+    MultiOutputInfo'+    { _moiTag = Nothing+    }++-- | The id of the tag the user code will emit to this output by; this should+-- correspond to the tag of some SideInputInfo.+moiTag :: Lens' MultiOutputInfo (Maybe Text)+moiTag = lens _moiTag (\ s a -> s{_moiTag = a})++instance FromJSON MultiOutputInfo where+        parseJSON+          = withObject "MultiOutputInfo"+              (\ o -> MultiOutputInfo' <$> (o .:? "tag"))++instance ToJSON MultiOutputInfo where+        toJSON MultiOutputInfo'{..}+          = object (catMaybes [("tag" .=) <$> _moiTag])++-- | An instruction that does a partial group-by-key. One input and one+-- output.+--+-- /See:/ 'partialGroupByKeyInstruction' smart constructor.+data PartialGroupByKeyInstruction = PartialGroupByKeyInstruction'+    { _pgbkiValueCombiningFn                    :: !(Maybe PartialGroupByKeyInstructionValueCombiningFn)+    , _pgbkiSideInputs                          :: !(Maybe [SideInputInfo])+    , _pgbkiInput                               :: !(Maybe InstructionInput)+    , _pgbkiOriginalCombineValuesStepName       :: !(Maybe Text)+    , _pgbkiInputElementCodec                   :: !(Maybe PartialGroupByKeyInstructionInputElementCodec)+    , _pgbkiOriginalCombineValuesInputStoreName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartialGroupByKeyInstruction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgbkiValueCombiningFn'+--+-- * 'pgbkiSideInputs'+--+-- * 'pgbkiInput'+--+-- * 'pgbkiOriginalCombineValuesStepName'+--+-- * 'pgbkiInputElementCodec'+--+-- * 'pgbkiOriginalCombineValuesInputStoreName'+partialGroupByKeyInstruction+    :: PartialGroupByKeyInstruction+partialGroupByKeyInstruction =+    PartialGroupByKeyInstruction'+    { _pgbkiValueCombiningFn = Nothing+    , _pgbkiSideInputs = Nothing+    , _pgbkiInput = Nothing+    , _pgbkiOriginalCombineValuesStepName = Nothing+    , _pgbkiInputElementCodec = Nothing+    , _pgbkiOriginalCombineValuesInputStoreName = Nothing+    }++-- | The value combining function to invoke.+pgbkiValueCombiningFn :: Lens' PartialGroupByKeyInstruction (Maybe PartialGroupByKeyInstructionValueCombiningFn)+pgbkiValueCombiningFn+  = lens _pgbkiValueCombiningFn+      (\ s a -> s{_pgbkiValueCombiningFn = a})++-- | Zero or more side inputs.+pgbkiSideInputs :: Lens' PartialGroupByKeyInstruction [SideInputInfo]+pgbkiSideInputs+  = lens _pgbkiSideInputs+      (\ s a -> s{_pgbkiSideInputs = a})+      . _Default+      . _Coerce++-- | Describes the input to the partial group-by-key instruction.+pgbkiInput :: Lens' PartialGroupByKeyInstruction (Maybe InstructionInput)+pgbkiInput+  = lens _pgbkiInput (\ s a -> s{_pgbkiInput = a})++-- | If this instruction includes a combining function, this is the name of+-- the CombineValues instruction lifted into this instruction.+pgbkiOriginalCombineValuesStepName :: Lens' PartialGroupByKeyInstruction (Maybe Text)+pgbkiOriginalCombineValuesStepName+  = lens _pgbkiOriginalCombineValuesStepName+      (\ s a -> s{_pgbkiOriginalCombineValuesStepName = a})++-- | The codec to use for interpreting an element in the input PTable.+pgbkiInputElementCodec :: Lens' PartialGroupByKeyInstruction (Maybe PartialGroupByKeyInstructionInputElementCodec)+pgbkiInputElementCodec+  = lens _pgbkiInputElementCodec+      (\ s a -> s{_pgbkiInputElementCodec = a})++-- | If this instruction includes a combining function this is the name of+-- the intermediate store between the GBK and the CombineValues.+pgbkiOriginalCombineValuesInputStoreName :: Lens' PartialGroupByKeyInstruction (Maybe Text)+pgbkiOriginalCombineValuesInputStoreName+  = lens _pgbkiOriginalCombineValuesInputStoreName+      (\ s a ->+         s{_pgbkiOriginalCombineValuesInputStoreName = a})++instance FromJSON PartialGroupByKeyInstruction where+        parseJSON+          = withObject "PartialGroupByKeyInstruction"+              (\ o ->+                 PartialGroupByKeyInstruction' <$>+                   (o .:? "valueCombiningFn") <*>+                     (o .:? "sideInputs" .!= mempty)+                     <*> (o .:? "input")+                     <*> (o .:? "originalCombineValuesStepName")+                     <*> (o .:? "inputElementCodec")+                     <*> (o .:? "originalCombineValuesInputStoreName"))++instance ToJSON PartialGroupByKeyInstruction where+        toJSON PartialGroupByKeyInstruction'{..}+          = object+              (catMaybes+                 [("valueCombiningFn" .=) <$> _pgbkiValueCombiningFn,+                  ("sideInputs" .=) <$> _pgbkiSideInputs,+                  ("input" .=) <$> _pgbkiInput,+                  ("originalCombineValuesStepName" .=) <$>+                    _pgbkiOriginalCombineValuesStepName,+                  ("inputElementCodec" .=) <$> _pgbkiInputElementCodec,+                  ("originalCombineValuesInputStoreName" .=) <$>+                    _pgbkiOriginalCombineValuesInputStoreName])++-- | An instruction that does a ParDo operation. Takes one main input and+-- zero or more side inputs, and produces zero or more outputs. Runs user+-- code.+--+-- /See:/ 'parDoInstruction' smart constructor.+data ParDoInstruction = ParDoInstruction'+    { _pdiNumOutputs       :: !(Maybe (Textual Int32))+    , _pdiMultiOutputInfos :: !(Maybe [MultiOutputInfo])+    , _pdiSideInputs       :: !(Maybe [SideInputInfo])+    , _pdiInput            :: !(Maybe InstructionInput)+    , _pdiUserFn           :: !(Maybe ParDoInstructionUserFn)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParDoInstruction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdiNumOutputs'+--+-- * 'pdiMultiOutputInfos'+--+-- * 'pdiSideInputs'+--+-- * 'pdiInput'+--+-- * 'pdiUserFn'+parDoInstruction+    :: ParDoInstruction+parDoInstruction =+    ParDoInstruction'+    { _pdiNumOutputs = Nothing+    , _pdiMultiOutputInfos = Nothing+    , _pdiSideInputs = Nothing+    , _pdiInput = Nothing+    , _pdiUserFn = Nothing+    }++-- | The number of outputs.+pdiNumOutputs :: Lens' ParDoInstruction (Maybe Int32)+pdiNumOutputs+  = lens _pdiNumOutputs+      (\ s a -> s{_pdiNumOutputs = a})+      . mapping _Coerce++-- | Information about each of the outputs, if user_fn is a MultiDoFn.+pdiMultiOutputInfos :: Lens' ParDoInstruction [MultiOutputInfo]+pdiMultiOutputInfos+  = lens _pdiMultiOutputInfos+      (\ s a -> s{_pdiMultiOutputInfos = a})+      . _Default+      . _Coerce++-- | Zero or more side inputs.+pdiSideInputs :: Lens' ParDoInstruction [SideInputInfo]+pdiSideInputs+  = lens _pdiSideInputs+      (\ s a -> s{_pdiSideInputs = a})+      . _Default+      . _Coerce++-- | The input.+pdiInput :: Lens' ParDoInstruction (Maybe InstructionInput)+pdiInput = lens _pdiInput (\ s a -> s{_pdiInput = a})++-- | The user function to invoke.+pdiUserFn :: Lens' ParDoInstruction (Maybe ParDoInstructionUserFn)+pdiUserFn+  = lens _pdiUserFn (\ s a -> s{_pdiUserFn = a})++instance FromJSON ParDoInstruction where+        parseJSON+          = withObject "ParDoInstruction"+              (\ o ->+                 ParDoInstruction' <$>+                   (o .:? "numOutputs") <*>+                     (o .:? "multiOutputInfos" .!= mempty)+                     <*> (o .:? "sideInputs" .!= mempty)+                     <*> (o .:? "input")+                     <*> (o .:? "userFn"))++instance ToJSON ParDoInstruction where+        toJSON ParDoInstruction'{..}+          = object+              (catMaybes+                 [("numOutputs" .=) <$> _pdiNumOutputs,+                  ("multiOutputInfos" .=) <$> _pdiMultiOutputInfos,+                  ("sideInputs" .=) <$> _pdiSideInputs,+                  ("input" .=) <$> _pdiInput,+                  ("userFn" .=) <$> _pdiUserFn])++-- | Identifies the location of a custom souce.+--+-- /See:/ 'customSourceLocation' smart constructor.+newtype CustomSourceLocation = CustomSourceLocation'+    { _cslStateful :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomSourceLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cslStateful'+customSourceLocation+    :: CustomSourceLocation+customSourceLocation =+    CustomSourceLocation'+    { _cslStateful = Nothing+    }++-- | Whether this source is stateful.+cslStateful :: Lens' CustomSourceLocation (Maybe Bool)+cslStateful+  = lens _cslStateful (\ s a -> s{_cslStateful = a})++instance FromJSON CustomSourceLocation where+        parseJSON+          = withObject "CustomSourceLocation"+              (\ o -> CustomSourceLocation' <$> (o .:? "stateful"))++instance ToJSON CustomSourceLocation where+        toJSON CustomSourceLocation'{..}+          = object+              (catMaybes [("stateful" .=) <$> _cslStateful])++-- | A metric value representing a distribution.+--+-- /See:/ 'distributionUpdate' smart constructor.+data DistributionUpdate = DistributionUpdate'+    { _duMax          :: !(Maybe SplitInt64)+    , _duCount        :: !(Maybe SplitInt64)+    , _duMin          :: !(Maybe SplitInt64)+    , _duHistogram    :: !(Maybe Histogram)+    , _duSumOfSquares :: !(Maybe (Textual Double))+    , _duSum          :: !(Maybe SplitInt64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DistributionUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'duMax'+--+-- * 'duCount'+--+-- * 'duMin'+--+-- * 'duHistogram'+--+-- * 'duSumOfSquares'+--+-- * 'duSum'+distributionUpdate+    :: DistributionUpdate+distributionUpdate =+    DistributionUpdate'+    { _duMax = Nothing+    , _duCount = Nothing+    , _duMin = Nothing+    , _duHistogram = Nothing+    , _duSumOfSquares = Nothing+    , _duSum = Nothing+    }++-- | The maximum value present in the distribution.+duMax :: Lens' DistributionUpdate (Maybe SplitInt64)+duMax = lens _duMax (\ s a -> s{_duMax = a})++-- | The count of the number of elements present in the distribution.+duCount :: Lens' DistributionUpdate (Maybe SplitInt64)+duCount = lens _duCount (\ s a -> s{_duCount = a})++-- | The minimum value present in the distribution.+duMin :: Lens' DistributionUpdate (Maybe SplitInt64)+duMin = lens _duMin (\ s a -> s{_duMin = a})++-- | (Optional) Histogram of value counts for the distribution.+duHistogram :: Lens' DistributionUpdate (Maybe Histogram)+duHistogram+  = lens _duHistogram (\ s a -> s{_duHistogram = a})++-- | Use a double since the sum of squares is likely to overflow int64.+duSumOfSquares :: Lens' DistributionUpdate (Maybe Double)+duSumOfSquares+  = lens _duSumOfSquares+      (\ s a -> s{_duSumOfSquares = a})+      . mapping _Coerce++-- | Use an int64 since we\'d prefer the added precision. If overflow is a+-- common problem we can detect it and use an additional int64 or a double.+duSum :: Lens' DistributionUpdate (Maybe SplitInt64)+duSum = lens _duSum (\ s a -> s{_duSum = a})++instance FromJSON DistributionUpdate where+        parseJSON+          = withObject "DistributionUpdate"+              (\ o ->+                 DistributionUpdate' <$>+                   (o .:? "max") <*> (o .:? "count") <*> (o .:? "min")+                     <*> (o .:? "histogram")+                     <*> (o .:? "sumOfSquares")+                     <*> (o .:? "sum"))++instance ToJSON DistributionUpdate where+        toJSON DistributionUpdate'{..}+          = object+              (catMaybes+                 [("max" .=) <$> _duMax, ("count" .=) <$> _duCount,+                  ("min" .=) <$> _duMin,+                  ("histogram" .=) <$> _duHistogram,+                  ("sumOfSquares" .=) <$> _duSumOfSquares,+                  ("sum" .=) <$> _duSum])++--+-- /See:/ 'sourceBaseSpecsItem' smart constructor.+newtype SourceBaseSpecsItem = SourceBaseSpecsItem'+    { _sbsiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceBaseSpecsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbsiAddtional'+sourceBaseSpecsItem+    :: HashMap Text JSONValue -- ^ 'sbsiAddtional'+    -> SourceBaseSpecsItem+sourceBaseSpecsItem pSbsiAddtional_ =+    SourceBaseSpecsItem'+    { _sbsiAddtional = _Coerce # pSbsiAddtional_+    }++-- | Properties of the object.+sbsiAddtional :: Lens' SourceBaseSpecsItem (HashMap Text JSONValue)+sbsiAddtional+  = lens _sbsiAddtional+      (\ s a -> s{_sbsiAddtional = a})+      . _Coerce++instance FromJSON SourceBaseSpecsItem where+        parseJSON+          = withObject "SourceBaseSpecsItem"+              (\ o -> SourceBaseSpecsItem' <$> (parseJSONObject o))++instance ToJSON SourceBaseSpecsItem where+        toJSON = toJSON . _sbsiAddtional++-- | Describes a particular operation comprising a MapTask.+--+-- /See:/ 'parallelInstruction' smart constructor.+data ParallelInstruction = ParallelInstruction'+    { _piRead              :: !(Maybe ReadInstruction)+    , _piWrite             :: !(Maybe WriteInstruction)+    , _piParDo             :: !(Maybe ParDoInstruction)+    , _piPartialGroupByKey :: !(Maybe PartialGroupByKeyInstruction)+    , _piOutputs           :: !(Maybe [InstructionOutput])+    , _piName              :: !(Maybe Text)+    , _piSystemName        :: !(Maybe Text)+    , _piFlatten           :: !(Maybe FlattenInstruction)+    , _piOriginalName      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParallelInstruction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piRead'+--+-- * 'piWrite'+--+-- * 'piParDo'+--+-- * 'piPartialGroupByKey'+--+-- * 'piOutputs'+--+-- * 'piName'+--+-- * 'piSystemName'+--+-- * 'piFlatten'+--+-- * 'piOriginalName'+parallelInstruction+    :: ParallelInstruction+parallelInstruction =+    ParallelInstruction'+    { _piRead = Nothing+    , _piWrite = Nothing+    , _piParDo = Nothing+    , _piPartialGroupByKey = Nothing+    , _piOutputs = Nothing+    , _piName = Nothing+    , _piSystemName = Nothing+    , _piFlatten = Nothing+    , _piOriginalName = Nothing+    }++-- | Additional information for Read instructions.+piRead :: Lens' ParallelInstruction (Maybe ReadInstruction)+piRead = lens _piRead (\ s a -> s{_piRead = a})++-- | Additional information for Write instructions.+piWrite :: Lens' ParallelInstruction (Maybe WriteInstruction)+piWrite = lens _piWrite (\ s a -> s{_piWrite = a})++-- | Additional information for ParDo instructions.+piParDo :: Lens' ParallelInstruction (Maybe ParDoInstruction)+piParDo = lens _piParDo (\ s a -> s{_piParDo = a})++-- | Additional information for PartialGroupByKey instructions.+piPartialGroupByKey :: Lens' ParallelInstruction (Maybe PartialGroupByKeyInstruction)+piPartialGroupByKey+  = lens _piPartialGroupByKey+      (\ s a -> s{_piPartialGroupByKey = a})++-- | Describes the outputs of the instruction.+piOutputs :: Lens' ParallelInstruction [InstructionOutput]+piOutputs+  = lens _piOutputs (\ s a -> s{_piOutputs = a}) .+      _Default+      . _Coerce++-- | User-provided name of this operation.+piName :: Lens' ParallelInstruction (Maybe Text)+piName = lens _piName (\ s a -> s{_piName = a})++-- | System-defined name of this operation. Unique across the workflow.+piSystemName :: Lens' ParallelInstruction (Maybe Text)+piSystemName+  = lens _piSystemName (\ s a -> s{_piSystemName = a})++-- | Additional information for Flatten instructions.+piFlatten :: Lens' ParallelInstruction (Maybe FlattenInstruction)+piFlatten+  = lens _piFlatten (\ s a -> s{_piFlatten = a})++-- | System-defined name for the operation in the original workflow graph.+piOriginalName :: Lens' ParallelInstruction (Maybe Text)+piOriginalName+  = lens _piOriginalName+      (\ s a -> s{_piOriginalName = a})++instance FromJSON ParallelInstruction where+        parseJSON+          = withObject "ParallelInstruction"+              (\ o ->+                 ParallelInstruction' <$>+                   (o .:? "read") <*> (o .:? "write") <*>+                     (o .:? "parDo")+                     <*> (o .:? "partialGroupByKey")+                     <*> (o .:? "outputs" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "systemName")+                     <*> (o .:? "flatten")+                     <*> (o .:? "originalName"))++instance ToJSON ParallelInstruction where+        toJSON ParallelInstruction'{..}+          = object+              (catMaybes+                 [("read" .=) <$> _piRead, ("write" .=) <$> _piWrite,+                  ("parDo" .=) <$> _piParDo,+                  ("partialGroupByKey" .=) <$> _piPartialGroupByKey,+                  ("outputs" .=) <$> _piOutputs,+                  ("name" .=) <$> _piName,+                  ("systemName" .=) <$> _piSystemName,+                  ("flatten" .=) <$> _piFlatten,+                  ("originalName" .=) <$> _piOriginalName])++-- | How to interpret the source element(s) as a side input value.+--+-- /See:/ 'sideInputInfoKind' smart constructor.+newtype SideInputInfoKind = SideInputInfoKind'+    { _siikAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SideInputInfoKind' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siikAddtional'+sideInputInfoKind+    :: HashMap Text JSONValue -- ^ 'siikAddtional'+    -> SideInputInfoKind+sideInputInfoKind pSiikAddtional_ =+    SideInputInfoKind'+    { _siikAddtional = _Coerce # pSiikAddtional_+    }++-- | Properties of the object.+siikAddtional :: Lens' SideInputInfoKind (HashMap Text JSONValue)+siikAddtional+  = lens _siikAddtional+      (\ s a -> s{_siikAddtional = a})+      . _Coerce++instance FromJSON SideInputInfoKind where+        parseJSON+          = withObject "SideInputInfoKind"+              (\ o -> SideInputInfoKind' <$> (parseJSONObject o))++instance ToJSON SideInputInfoKind where+        toJSON = toJSON . _siikAddtional++-- | A task that carries configuration information for streaming+-- computations.+--+-- /See:/ 'streamingConfigTask' smart constructor.+data StreamingConfigTask = StreamingConfigTask'+    { _sctUserStepToStateFamilyNameMap :: !(Maybe StreamingConfigTaskUserStepToStateFamilyNameMap)+    , _sctStreamingComputationConfigs  :: !(Maybe [StreamingComputationConfig])+    , _sctWindmillServiceEndpoint      :: !(Maybe Text)+    , _sctWindmillServicePort          :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingConfigTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sctUserStepToStateFamilyNameMap'+--+-- * 'sctStreamingComputationConfigs'+--+-- * 'sctWindmillServiceEndpoint'+--+-- * 'sctWindmillServicePort'+streamingConfigTask+    :: StreamingConfigTask+streamingConfigTask =+    StreamingConfigTask'+    { _sctUserStepToStateFamilyNameMap = Nothing+    , _sctStreamingComputationConfigs = Nothing+    , _sctWindmillServiceEndpoint = Nothing+    , _sctWindmillServicePort = Nothing+    }++-- | Map from user step names to state families.+sctUserStepToStateFamilyNameMap :: Lens' StreamingConfigTask (Maybe StreamingConfigTaskUserStepToStateFamilyNameMap)+sctUserStepToStateFamilyNameMap+  = lens _sctUserStepToStateFamilyNameMap+      (\ s a -> s{_sctUserStepToStateFamilyNameMap = a})++-- | Set of computation configuration information.+sctStreamingComputationConfigs :: Lens' StreamingConfigTask [StreamingComputationConfig]+sctStreamingComputationConfigs+  = lens _sctStreamingComputationConfigs+      (\ s a -> s{_sctStreamingComputationConfigs = a})+      . _Default+      . _Coerce++-- | If present, the worker must use this endpoint to communicate with+-- Windmill Service dispatchers, otherwise the worker must continue to use+-- whatever endpoint it had been using.+sctWindmillServiceEndpoint :: Lens' StreamingConfigTask (Maybe Text)+sctWindmillServiceEndpoint+  = lens _sctWindmillServiceEndpoint+      (\ s a -> s{_sctWindmillServiceEndpoint = a})++-- | If present, the worker must use this port to communicate with Windmill+-- Service dispatchers. Only applicable when windmill_service_endpoint is+-- specified.+sctWindmillServicePort :: Lens' StreamingConfigTask (Maybe Int64)+sctWindmillServicePort+  = lens _sctWindmillServicePort+      (\ s a -> s{_sctWindmillServicePort = a})+      . mapping _Coerce++instance FromJSON StreamingConfigTask where+        parseJSON+          = withObject "StreamingConfigTask"+              (\ o ->+                 StreamingConfigTask' <$>+                   (o .:? "userStepToStateFamilyNameMap") <*>+                     (o .:? "streamingComputationConfigs" .!= mempty)+                     <*> (o .:? "windmillServiceEndpoint")+                     <*> (o .:? "windmillServicePort"))++instance ToJSON StreamingConfigTask where+        toJSON StreamingConfigTask'{..}+          = object+              (catMaybes+                 [("userStepToStateFamilyNameMap" .=) <$>+                    _sctUserStepToStateFamilyNameMap,+                  ("streamingComputationConfigs" .=) <$>+                    _sctStreamingComputationConfigs,+                  ("windmillServiceEndpoint" .=) <$>+                    _sctWindmillServiceEndpoint,+                  ("windmillServicePort" .=) <$>+                    _sctWindmillServicePort])++-- | The metric short id is returned to the user alongside an offset into+-- ReportWorkItemStatusRequest+--+-- /See:/ 'metricShortId' smart constructor.+data MetricShortId = MetricShortId'+    { _msiShortId     :: !(Maybe (Textual Int64))+    , _msiMetricIndex :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricShortId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'msiShortId'+--+-- * 'msiMetricIndex'+metricShortId+    :: MetricShortId+metricShortId =+    MetricShortId'+    { _msiShortId = Nothing+    , _msiMetricIndex = Nothing+    }++-- | The service-generated short identifier for the metric.+msiShortId :: Lens' MetricShortId (Maybe Int64)+msiShortId+  = lens _msiShortId (\ s a -> s{_msiShortId = a}) .+      mapping _Coerce++-- | The index of the corresponding metric in the+-- ReportWorkItemStatusRequest. Required.+msiMetricIndex :: Lens' MetricShortId (Maybe Int32)+msiMetricIndex+  = lens _msiMetricIndex+      (\ s a -> s{_msiMetricIndex = a})+      . mapping _Coerce++instance FromJSON MetricShortId where+        parseJSON+          = withObject "MetricShortId"+              (\ o ->+                 MetricShortId' <$>+                   (o .:? "shortId") <*> (o .:? "metricIndex"))++instance ToJSON MetricShortId where+        toJSON MetricShortId'{..}+          = object+              (catMaybes+                 [("shortId" .=) <$> _msiShortId,+                  ("metricIndex" .=) <$> _msiMetricIndex])++-- | A request for sending worker messages to the service.+--+-- /See:/ 'sendWorkerMessagesRequest' smart constructor.+data SendWorkerMessagesRequest = SendWorkerMessagesRequest'+    { _swmrLocation       :: !(Maybe Text)+    , _swmrWorkerMessages :: !(Maybe [WorkerMessage])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SendWorkerMessagesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'swmrLocation'+--+-- * 'swmrWorkerMessages'+sendWorkerMessagesRequest+    :: SendWorkerMessagesRequest+sendWorkerMessagesRequest =+    SendWorkerMessagesRequest'+    { _swmrLocation = Nothing+    , _swmrWorkerMessages = Nothing+    }++-- | The location which contains the job+swmrLocation :: Lens' SendWorkerMessagesRequest (Maybe Text)+swmrLocation+  = lens _swmrLocation (\ s a -> s{_swmrLocation = a})++-- | The WorkerMessages to send.+swmrWorkerMessages :: Lens' SendWorkerMessagesRequest [WorkerMessage]+swmrWorkerMessages+  = lens _swmrWorkerMessages+      (\ s a -> s{_swmrWorkerMessages = a})+      . _Default+      . _Coerce++instance FromJSON SendWorkerMessagesRequest where+        parseJSON+          = withObject "SendWorkerMessagesRequest"+              (\ o ->+                 SendWorkerMessagesRequest' <$>+                   (o .:? "location") <*>+                     (o .:? "workerMessages" .!= mempty))++instance ToJSON SendWorkerMessagesRequest where+        toJSON SendWorkerMessagesRequest'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _swmrLocation,+                  ("workerMessages" .=) <$> _swmrWorkerMessages])++-- | DEPRECATED in favor of DerivedSource.+--+-- /See:/ 'sourceSplitShard' smart constructor.+data SourceSplitShard = SourceSplitShard'+    { _sssDerivationMode :: !(Maybe SourceSplitShardDerivationMode)+    , _sssSource         :: !(Maybe Source)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceSplitShard' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sssDerivationMode'+--+-- * 'sssSource'+sourceSplitShard+    :: SourceSplitShard+sourceSplitShard =+    SourceSplitShard'+    { _sssDerivationMode = Nothing+    , _sssSource = Nothing+    }++-- | DEPRECATED+sssDerivationMode :: Lens' SourceSplitShard (Maybe SourceSplitShardDerivationMode)+sssDerivationMode+  = lens _sssDerivationMode+      (\ s a -> s{_sssDerivationMode = a})++-- | DEPRECATED+sssSource :: Lens' SourceSplitShard (Maybe Source)+sssSource+  = lens _sssSource (\ s a -> s{_sssSource = a})++instance FromJSON SourceSplitShard where+        parseJSON+          = withObject "SourceSplitShard"+              (\ o ->+                 SourceSplitShard' <$>+                   (o .:? "derivationMode") <*> (o .:? "source"))++instance ToJSON SourceSplitShard where+        toJSON SourceSplitShard'{..}+          = object+              (catMaybes+                 [("derivationMode" .=) <$> _sssDerivationMode,+                  ("source" .=) <$> _sssSource])++-- | Information about a side input of a DoFn or an input of a SeqDoFn.+--+-- /See:/ 'sideInputInfo' smart constructor.+data SideInputInfo = SideInputInfo'+    { _siiTag     :: !(Maybe Text)+    , _siiKind    :: !(Maybe SideInputInfoKind)+    , _siiSources :: !(Maybe [Source])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SideInputInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siiTag'+--+-- * 'siiKind'+--+-- * 'siiSources'+sideInputInfo+    :: SideInputInfo+sideInputInfo =+    SideInputInfo'+    { _siiTag = Nothing+    , _siiKind = Nothing+    , _siiSources = Nothing+    }++-- | The id of the tag the user code will access this side input by; this+-- should correspond to the tag of some MultiOutputInfo.+siiTag :: Lens' SideInputInfo (Maybe Text)+siiTag = lens _siiTag (\ s a -> s{_siiTag = a})++-- | How to interpret the source element(s) as a side input value.+siiKind :: Lens' SideInputInfo (Maybe SideInputInfoKind)+siiKind = lens _siiKind (\ s a -> s{_siiKind = a})++-- | The source(s) to read element(s) from to get the value of this side+-- input. If more than one source, then the elements are taken from the+-- sources, in the specified order if order matters. At least one source is+-- required.+siiSources :: Lens' SideInputInfo [Source]+siiSources+  = lens _siiSources (\ s a -> s{_siiSources = a}) .+      _Default+      . _Coerce++instance FromJSON SideInputInfo where+        parseJSON+          = withObject "SideInputInfo"+              (\ o ->+                 SideInputInfo' <$>+                   (o .:? "tag") <*> (o .:? "kind") <*>+                     (o .:? "sources" .!= mempty))++instance ToJSON SideInputInfo where+        toJSON SideInputInfo'{..}+          = object+              (catMaybes+                 [("tag" .=) <$> _siiTag, ("kind" .=) <$> _siiKind,+                  ("sources" .=) <$> _siiSources])++-- | Description of a transform executed as part of an execution stage.+--+-- /See:/ 'componentTransform' smart constructor.+data ComponentTransform = ComponentTransform'+    { _ctOriginalTransform :: !(Maybe Text)+    , _ctUserName          :: !(Maybe Text)+    , _ctName              :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ComponentTransform' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctOriginalTransform'+--+-- * 'ctUserName'+--+-- * 'ctName'+componentTransform+    :: ComponentTransform+componentTransform =+    ComponentTransform'+    { _ctOriginalTransform = Nothing+    , _ctUserName = Nothing+    , _ctName = Nothing+    }++-- | User name for the original user transform with which this transform is+-- most closely associated.+ctOriginalTransform :: Lens' ComponentTransform (Maybe Text)+ctOriginalTransform+  = lens _ctOriginalTransform+      (\ s a -> s{_ctOriginalTransform = a})++-- | Human-readable name for this transform; may be user or system generated.+ctUserName :: Lens' ComponentTransform (Maybe Text)+ctUserName+  = lens _ctUserName (\ s a -> s{_ctUserName = a})++-- | Dataflow service generated name for this source.+ctName :: Lens' ComponentTransform (Maybe Text)+ctName = lens _ctName (\ s a -> s{_ctName = a})++instance FromJSON ComponentTransform where+        parseJSON+          = withObject "ComponentTransform"+              (\ o ->+                 ComponentTransform' <$>+                   (o .:? "originalTransform") <*> (o .:? "userName")+                     <*> (o .:? "name"))++instance ToJSON ComponentTransform where+        toJSON ComponentTransform'{..}+          = object+              (catMaybes+                 [("originalTransform" .=) <$> _ctOriginalTransform,+                  ("userName" .=) <$> _ctUserName,+                  ("name" .=) <$> _ctName])++-- | Additional information about how a Cloud Dataflow job will be executed+-- that isn\'t contained in the submitted job.+--+-- /See:/ 'jobExecutionInfo' smart constructor.+newtype JobExecutionInfo = JobExecutionInfo'+    { _jeiStages :: Maybe JobExecutionInfoStages+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobExecutionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jeiStages'+jobExecutionInfo+    :: JobExecutionInfo+jobExecutionInfo =+    JobExecutionInfo'+    { _jeiStages = Nothing+    }++-- | A mapping from each stage to the information about that stage.+jeiStages :: Lens' JobExecutionInfo (Maybe JobExecutionInfoStages)+jeiStages+  = lens _jeiStages (\ s a -> s{_jeiStages = a})++instance FromJSON JobExecutionInfo where+        parseJSON+          = withObject "JobExecutionInfo"+              (\ o -> JobExecutionInfo' <$> (o .:? "stages"))++instance ToJSON JobExecutionInfo where+        toJSON JobExecutionInfo'{..}+          = object (catMaybes [("stages" .=) <$> _jeiStages])++-- | The codec to use to decode data read from the source.+--+-- /See:/ 'sourceCodec' smart constructor.+newtype SourceCodec = SourceCodec'+    { _souAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceCodec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'souAddtional'+sourceCodec+    :: HashMap Text JSONValue -- ^ 'souAddtional'+    -> SourceCodec+sourceCodec pSouAddtional_ =+    SourceCodec'+    { _souAddtional = _Coerce # pSouAddtional_+    }++-- | Properties of the object.+souAddtional :: Lens' SourceCodec (HashMap Text JSONValue)+souAddtional+  = lens _souAddtional (\ s a -> s{_souAddtional = a})+      . _Coerce++instance FromJSON SourceCodec where+        parseJSON+          = withObject "SourceCodec"+              (\ o -> SourceCodec' <$> (parseJSONObject o))++instance ToJSON SourceCodec where+        toJSON = toJSON . _souAddtional++-- | State family configuration.+--+-- /See:/ 'stateFamilyConfig' smart constructor.+data StateFamilyConfig = StateFamilyConfig'+    { _sfcIsRead      :: !(Maybe Bool)+    , _sfcStateFamily :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StateFamilyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfcIsRead'+--+-- * 'sfcStateFamily'+stateFamilyConfig+    :: StateFamilyConfig+stateFamilyConfig =+    StateFamilyConfig'+    { _sfcIsRead = Nothing+    , _sfcStateFamily = Nothing+    }++-- | If true, this family corresponds to a read operation.+sfcIsRead :: Lens' StateFamilyConfig (Maybe Bool)+sfcIsRead+  = lens _sfcIsRead (\ s a -> s{_sfcIsRead = a})++-- | The state family value.+sfcStateFamily :: Lens' StateFamilyConfig (Maybe Text)+sfcStateFamily+  = lens _sfcStateFamily+      (\ s a -> s{_sfcStateFamily = a})++instance FromJSON StateFamilyConfig where+        parseJSON+          = withObject "StateFamilyConfig"+              (\ o ->+                 StateFamilyConfig' <$>+                   (o .:? "isRead") <*> (o .:? "stateFamily"))++instance ToJSON StateFamilyConfig where+        toJSON StateFamilyConfig'{..}+          = object+              (catMaybes+                 [("isRead" .=) <$> _sfcIsRead,+                  ("stateFamily" .=) <$> _sfcStateFamily])++-- | Data disk assignment information for a specific key-range of a sharded+-- computation. Currently we only support UTF-8 character splits to+-- simplify encoding into JSON.+--+-- /See:/ 'keyRangeDataDiskAssignment' smart constructor.+data KeyRangeDataDiskAssignment = KeyRangeDataDiskAssignment'+    { _krddaDataDisk :: !(Maybe Text)+    , _krddaStart    :: !(Maybe Text)+    , _krddaEnd      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyRangeDataDiskAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'krddaDataDisk'+--+-- * 'krddaStart'+--+-- * 'krddaEnd'+keyRangeDataDiskAssignment+    :: KeyRangeDataDiskAssignment+keyRangeDataDiskAssignment =+    KeyRangeDataDiskAssignment'+    { _krddaDataDisk = Nothing+    , _krddaStart = Nothing+    , _krddaEnd = Nothing+    }++-- | The name of the data disk where data for this range is stored. This name+-- is local to the Google Cloud Platform project and uniquely identifies+-- the disk within that project, for example+-- \"myproject-1014-104817-4c2-harness-0-disk-1\".+krddaDataDisk :: Lens' KeyRangeDataDiskAssignment (Maybe Text)+krddaDataDisk+  = lens _krddaDataDisk+      (\ s a -> s{_krddaDataDisk = a})++-- | The start (inclusive) of the key range.+krddaStart :: Lens' KeyRangeDataDiskAssignment (Maybe Text)+krddaStart+  = lens _krddaStart (\ s a -> s{_krddaStart = a})++-- | The end (exclusive) of the key range.+krddaEnd :: Lens' KeyRangeDataDiskAssignment (Maybe Text)+krddaEnd = lens _krddaEnd (\ s a -> s{_krddaEnd = a})++instance FromJSON KeyRangeDataDiskAssignment where+        parseJSON+          = withObject "KeyRangeDataDiskAssignment"+              (\ o ->+                 KeyRangeDataDiskAssignment' <$>+                   (o .:? "dataDisk") <*> (o .:? "start") <*>+                     (o .:? "end"))++instance ToJSON KeyRangeDataDiskAssignment where+        toJSON KeyRangeDataDiskAssignment'{..}+          = object+              (catMaybes+                 [("dataDisk" .=) <$> _krddaDataDisk,+                  ("start" .=) <$> _krddaStart,+                  ("end" .=) <$> _krddaEnd])++-- | A structured message reporting an autoscaling decision made by the+-- Dataflow service.+--+-- /See:/ 'autoscalingEvent' smart constructor.+data AutoscalingEvent = AutoscalingEvent'+    { _aeCurrentNumWorkers :: !(Maybe (Textual Int64))+    , _aeTime              :: !(Maybe DateTime')+    , _aeEventType         :: !(Maybe AutoscalingEventEventType)+    , _aeTargetNumWorkers  :: !(Maybe (Textual Int64))+    , _aeWorkerPool        :: !(Maybe Text)+    , _aeDescription       :: !(Maybe StructuredMessage)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalingEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aeCurrentNumWorkers'+--+-- * 'aeTime'+--+-- * 'aeEventType'+--+-- * 'aeTargetNumWorkers'+--+-- * 'aeWorkerPool'+--+-- * 'aeDescription'+autoscalingEvent+    :: AutoscalingEvent+autoscalingEvent =+    AutoscalingEvent'+    { _aeCurrentNumWorkers = Nothing+    , _aeTime = Nothing+    , _aeEventType = Nothing+    , _aeTargetNumWorkers = Nothing+    , _aeWorkerPool = Nothing+    , _aeDescription = Nothing+    }++-- | The current number of workers the job has.+aeCurrentNumWorkers :: Lens' AutoscalingEvent (Maybe Int64)+aeCurrentNumWorkers+  = lens _aeCurrentNumWorkers+      (\ s a -> s{_aeCurrentNumWorkers = a})+      . mapping _Coerce++-- | The time this event was emitted to indicate a new target or current+-- num_workers value.+aeTime :: Lens' AutoscalingEvent (Maybe UTCTime)+aeTime+  = lens _aeTime (\ s a -> s{_aeTime = a}) .+      mapping _DateTime++-- | The type of autoscaling event to report.+aeEventType :: Lens' AutoscalingEvent (Maybe AutoscalingEventEventType)+aeEventType+  = lens _aeEventType (\ s a -> s{_aeEventType = a})++-- | The target number of workers the worker pool wants to resize to use.+aeTargetNumWorkers :: Lens' AutoscalingEvent (Maybe Int64)+aeTargetNumWorkers+  = lens _aeTargetNumWorkers+      (\ s a -> s{_aeTargetNumWorkers = a})+      . mapping _Coerce++-- | A short and friendly name for the worker pool this event refers to,+-- populated from the value of PoolStageRelation::user_pool_name.+aeWorkerPool :: Lens' AutoscalingEvent (Maybe Text)+aeWorkerPool+  = lens _aeWorkerPool (\ s a -> s{_aeWorkerPool = a})++-- | A message describing why the system decided to adjust the current number+-- of workers, why it failed, or why the system decided to not make any+-- changes to the number of workers.+aeDescription :: Lens' AutoscalingEvent (Maybe StructuredMessage)+aeDescription+  = lens _aeDescription+      (\ s a -> s{_aeDescription = a})++instance FromJSON AutoscalingEvent where+        parseJSON+          = withObject "AutoscalingEvent"+              (\ o ->+                 AutoscalingEvent' <$>+                   (o .:? "currentNumWorkers") <*> (o .:? "time") <*>+                     (o .:? "eventType")+                     <*> (o .:? "targetNumWorkers")+                     <*> (o .:? "workerPool")+                     <*> (o .:? "description"))++instance ToJSON AutoscalingEvent where+        toJSON AutoscalingEvent'{..}+          = object+              (catMaybes+                 [("currentNumWorkers" .=) <$> _aeCurrentNumWorkers,+                  ("time" .=) <$> _aeTime,+                  ("eventType" .=) <$> _aeEventType,+                  ("targetNumWorkers" .=) <$> _aeTargetNumWorkers,+                  ("workerPool" .=) <$> _aeWorkerPool,+                  ("description" .=) <$> _aeDescription])++-- | Represents the operation to split a high-level Source specification into+-- bundles (parts for parallel processing). At a high level, splitting of a+-- source into bundles happens as follows: SourceSplitRequest is applied to+-- the source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further+-- splitting happens and the source is used \"as is\". Otherwise, splitting+-- is applied recursively to each produced DerivedSource. As an+-- optimization, for any Source, if its does_not_need_splitting is true,+-- the framework assumes that splitting this source would return+-- SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn\'t initiate a+-- SourceSplitRequest. This applies both to the initial source being split+-- and to bundles produced from it.+--+-- /See:/ 'sourceSplitRequest' smart constructor.+data SourceSplitRequest = SourceSplitRequest'+    { _ssrSource  :: !(Maybe Source)+    , _ssrOptions :: !(Maybe SourceSplitOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceSplitRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssrSource'+--+-- * 'ssrOptions'+sourceSplitRequest+    :: SourceSplitRequest+sourceSplitRequest =+    SourceSplitRequest'+    { _ssrSource = Nothing+    , _ssrOptions = Nothing+    }++-- | Specification of the source to be split.+ssrSource :: Lens' SourceSplitRequest (Maybe Source)+ssrSource+  = lens _ssrSource (\ s a -> s{_ssrSource = a})++-- | Hints for tuning the splitting process.+ssrOptions :: Lens' SourceSplitRequest (Maybe SourceSplitOptions)+ssrOptions+  = lens _ssrOptions (\ s a -> s{_ssrOptions = a})++instance FromJSON SourceSplitRequest where+        parseJSON+          = withObject "SourceSplitRequest"+              (\ o ->+                 SourceSplitRequest' <$>+                   (o .:? "source") <*> (o .:? "options"))++instance ToJSON SourceSplitRequest where+        toJSON SourceSplitRequest'{..}+          = object+              (catMaybes+                 [("source" .=) <$> _ssrSource,+                  ("options" .=) <$> _ssrOptions])++-- | Response to a request to list job messages.+--+-- /See:/ 'listJobMessagesResponse' smart constructor.+data ListJobMessagesResponse = ListJobMessagesResponse'+    { _ljmrJobMessages       :: !(Maybe [JobMessage])+    , _ljmrNextPageToken     :: !(Maybe Text)+    , _ljmrAutoscalingEvents :: !(Maybe [AutoscalingEvent])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListJobMessagesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ljmrJobMessages'+--+-- * 'ljmrNextPageToken'+--+-- * 'ljmrAutoscalingEvents'+listJobMessagesResponse+    :: ListJobMessagesResponse+listJobMessagesResponse =+    ListJobMessagesResponse'+    { _ljmrJobMessages = Nothing+    , _ljmrNextPageToken = Nothing+    , _ljmrAutoscalingEvents = Nothing+    }++-- | Messages in ascending timestamp order.+ljmrJobMessages :: Lens' ListJobMessagesResponse [JobMessage]+ljmrJobMessages+  = lens _ljmrJobMessages+      (\ s a -> s{_ljmrJobMessages = a})+      . _Default+      . _Coerce++-- | The token to obtain the next page of results if there are more.+ljmrNextPageToken :: Lens' ListJobMessagesResponse (Maybe Text)+ljmrNextPageToken+  = lens _ljmrNextPageToken+      (\ s a -> s{_ljmrNextPageToken = a})++-- | Autoscaling events in ascending timestamp order.+ljmrAutoscalingEvents :: Lens' ListJobMessagesResponse [AutoscalingEvent]+ljmrAutoscalingEvents+  = lens _ljmrAutoscalingEvents+      (\ s a -> s{_ljmrAutoscalingEvents = a})+      . _Default+      . _Coerce++instance FromJSON ListJobMessagesResponse where+        parseJSON+          = withObject "ListJobMessagesResponse"+              (\ o ->+                 ListJobMessagesResponse' <$>+                   (o .:? "jobMessages" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*> (o .:? "autoscalingEvents" .!= mempty))++instance ToJSON ListJobMessagesResponse where+        toJSON ListJobMessagesResponse'{..}+          = object+              (catMaybes+                 [("jobMessages" .=) <$> _ljmrJobMessages,+                  ("nextPageToken" .=) <$> _ljmrNextPageToken,+                  ("autoscalingEvents" .=) <$> _ljmrAutoscalingEvents])++-- | Identifies a pubsub location to use for transferring data into or out of+-- a streaming Dataflow job.+--+-- /See:/ 'pubsubLocation' smart constructor.+data PubsubLocation = PubsubLocation'+    { _plTrackingSubscription :: !(Maybe Text)+    , _plDropLateData         :: !(Maybe Bool)+    , _plTimestampLabel       :: !(Maybe Text)+    , _plIdLabel              :: !(Maybe Text)+    , _plTopic                :: !(Maybe Text)+    , _plWithAttributes       :: !(Maybe Bool)+    , _plSubscription         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PubsubLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plTrackingSubscription'+--+-- * 'plDropLateData'+--+-- * 'plTimestampLabel'+--+-- * 'plIdLabel'+--+-- * 'plTopic'+--+-- * 'plWithAttributes'+--+-- * 'plSubscription'+pubsubLocation+    :: PubsubLocation+pubsubLocation =+    PubsubLocation'+    { _plTrackingSubscription = Nothing+    , _plDropLateData = Nothing+    , _plTimestampLabel = Nothing+    , _plIdLabel = Nothing+    , _plTopic = Nothing+    , _plWithAttributes = Nothing+    , _plSubscription = Nothing+    }++-- | If set, specifies the pubsub subscription that will be used for tracking+-- custom time timestamps for watermark estimation.+plTrackingSubscription :: Lens' PubsubLocation (Maybe Text)+plTrackingSubscription+  = lens _plTrackingSubscription+      (\ s a -> s{_plTrackingSubscription = a})++-- | Indicates whether the pipeline allows late-arriving data.+plDropLateData :: Lens' PubsubLocation (Maybe Bool)+plDropLateData+  = lens _plDropLateData+      (\ s a -> s{_plDropLateData = a})++-- | If set, contains a pubsub label from which to extract record timestamps.+-- If left empty, record timestamps will be generated upon arrival.+plTimestampLabel :: Lens' PubsubLocation (Maybe Text)+plTimestampLabel+  = lens _plTimestampLabel+      (\ s a -> s{_plTimestampLabel = a})++-- | If set, contains a pubsub label from which to extract record ids. If+-- left empty, record deduplication will be strictly best effort.+plIdLabel :: Lens' PubsubLocation (Maybe Text)+plIdLabel+  = lens _plIdLabel (\ s a -> s{_plIdLabel = a})++-- | A pubsub topic, in the form of \"pubsub.googleapis.com\/topics\/\/\"+plTopic :: Lens' PubsubLocation (Maybe Text)+plTopic = lens _plTopic (\ s a -> s{_plTopic = a})++-- | If true, then the client has requested to get pubsub attributes.+plWithAttributes :: Lens' PubsubLocation (Maybe Bool)+plWithAttributes+  = lens _plWithAttributes+      (\ s a -> s{_plWithAttributes = a})++-- | A pubsub subscription, in the form of+-- \"pubsub.googleapis.com\/subscriptions\/\/\"+plSubscription :: Lens' PubsubLocation (Maybe Text)+plSubscription+  = lens _plSubscription+      (\ s a -> s{_plSubscription = a})++instance FromJSON PubsubLocation where+        parseJSON+          = withObject "PubsubLocation"+              (\ o ->+                 PubsubLocation' <$>+                   (o .:? "trackingSubscription") <*>+                     (o .:? "dropLateData")+                     <*> (o .:? "timestampLabel")+                     <*> (o .:? "idLabel")+                     <*> (o .:? "topic")+                     <*> (o .:? "withAttributes")+                     <*> (o .:? "subscription"))++instance ToJSON PubsubLocation where+        toJSON PubsubLocation'{..}+          = object+              (catMaybes+                 [("trackingSubscription" .=) <$>+                    _plTrackingSubscription,+                  ("dropLateData" .=) <$> _plDropLateData,+                  ("timestampLabel" .=) <$> _plTimestampLabel,+                  ("idLabel" .=) <$> _plIdLabel,+                  ("topic" .=) <$> _plTopic,+                  ("withAttributes" .=) <$> _plWithAttributes,+                  ("subscription" .=) <$> _plSubscription])++-- | A metric value representing a list of floating point numbers.+--+-- /See:/ 'floatingPointList' smart constructor.+newtype FloatingPointList = FloatingPointList'+    { _fplElements :: Maybe [Textual Double]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloatingPointList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fplElements'+floatingPointList+    :: FloatingPointList+floatingPointList =+    FloatingPointList'+    { _fplElements = Nothing+    }++-- | Elements of the list.+fplElements :: Lens' FloatingPointList [Double]+fplElements+  = lens _fplElements (\ s a -> s{_fplElements = a}) .+      _Default+      . _Coerce++instance FromJSON FloatingPointList where+        parseJSON+          = withObject "FloatingPointList"+              (\ o ->+                 FloatingPointList' <$> (o .:? "elements" .!= mempty))++instance ToJSON FloatingPointList where+        toJSON FloatingPointList'{..}+          = object+              (catMaybes [("elements" .=) <$> _fplElements])++-- | An input of an instruction, as a reference to an output of a producer+-- instruction.+--+-- /See:/ 'instructionInput' smart constructor.+data InstructionInput = InstructionInput'+    { _iiProducerInstructionIndex :: !(Maybe (Textual Int32))+    , _iiOutputNum                :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstructionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiProducerInstructionIndex'+--+-- * 'iiOutputNum'+instructionInput+    :: InstructionInput+instructionInput =+    InstructionInput'+    { _iiProducerInstructionIndex = Nothing+    , _iiOutputNum = Nothing+    }++-- | The index (origin zero) of the parallel instruction that produces the+-- output to be consumed by this input. This index is relative to the list+-- of instructions in this input\'s instruction\'s containing MapTask.+iiProducerInstructionIndex :: Lens' InstructionInput (Maybe Int32)+iiProducerInstructionIndex+  = lens _iiProducerInstructionIndex+      (\ s a -> s{_iiProducerInstructionIndex = a})+      . mapping _Coerce++-- | The output index (origin zero) within the producer.+iiOutputNum :: Lens' InstructionInput (Maybe Int32)+iiOutputNum+  = lens _iiOutputNum (\ s a -> s{_iiOutputNum = a}) .+      mapping _Coerce++instance FromJSON InstructionInput where+        parseJSON+          = withObject "InstructionInput"+              (\ o ->+                 InstructionInput' <$>+                   (o .:? "producerInstructionIndex") <*>+                     (o .:? "outputNum"))++instance ToJSON InstructionInput where+        toJSON InstructionInput'{..}+          = object+              (catMaybes+                 [("producerInstructionIndex" .=) <$>+                    _iiProducerInstructionIndex,+                  ("outputNum" .=) <$> _iiOutputNum])++-- | Describes a particular function to invoke.+--+-- /See:/ 'seqMapTask' smart constructor.+data SeqMapTask = SeqMapTask'+    { _smtInputs      :: !(Maybe [SideInputInfo])+    , _smtName        :: !(Maybe Text)+    , _smtOutputInfos :: !(Maybe [SeqMapTaskOutputInfo])+    , _smtSystemName  :: !(Maybe Text)+    , _smtStageName   :: !(Maybe Text)+    , _smtUserFn      :: !(Maybe SeqMapTaskUserFn)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SeqMapTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smtInputs'+--+-- * 'smtName'+--+-- * 'smtOutputInfos'+--+-- * 'smtSystemName'+--+-- * 'smtStageName'+--+-- * 'smtUserFn'+seqMapTask+    :: SeqMapTask+seqMapTask =+    SeqMapTask'+    { _smtInputs = Nothing+    , _smtName = Nothing+    , _smtOutputInfos = Nothing+    , _smtSystemName = Nothing+    , _smtStageName = Nothing+    , _smtUserFn = Nothing+    }++-- | Information about each of the inputs.+smtInputs :: Lens' SeqMapTask [SideInputInfo]+smtInputs+  = lens _smtInputs (\ s a -> s{_smtInputs = a}) .+      _Default+      . _Coerce++-- | The user-provided name of the SeqDo operation.+smtName :: Lens' SeqMapTask (Maybe Text)+smtName = lens _smtName (\ s a -> s{_smtName = a})++-- | Information about each of the outputs.+smtOutputInfos :: Lens' SeqMapTask [SeqMapTaskOutputInfo]+smtOutputInfos+  = lens _smtOutputInfos+      (\ s a -> s{_smtOutputInfos = a})+      . _Default+      . _Coerce++-- | System-defined name of the SeqDo operation. Unique across the workflow.+smtSystemName :: Lens' SeqMapTask (Maybe Text)+smtSystemName+  = lens _smtSystemName+      (\ s a -> s{_smtSystemName = a})++-- | System-defined name of the stage containing the SeqDo operation. Unique+-- across the workflow.+smtStageName :: Lens' SeqMapTask (Maybe Text)+smtStageName+  = lens _smtStageName (\ s a -> s{_smtStageName = a})++-- | The user function to invoke.+smtUserFn :: Lens' SeqMapTask (Maybe SeqMapTaskUserFn)+smtUserFn+  = lens _smtUserFn (\ s a -> s{_smtUserFn = a})++instance FromJSON SeqMapTask where+        parseJSON+          = withObject "SeqMapTask"+              (\ o ->+                 SeqMapTask' <$>+                   (o .:? "inputs" .!= mempty) <*> (o .:? "name") <*>+                     (o .:? "outputInfos" .!= mempty)+                     <*> (o .:? "systemName")+                     <*> (o .:? "stageName")+                     <*> (o .:? "userFn"))++instance ToJSON SeqMapTask where+        toJSON SeqMapTask'{..}+          = object+              (catMaybes+                 [("inputs" .=) <$> _smtInputs,+                  ("name" .=) <$> _smtName,+                  ("outputInfos" .=) <$> _smtOutputInfos,+                  ("systemName" .=) <$> _smtSystemName,+                  ("stageName" .=) <$> _smtStageName,+                  ("userFn" .=) <$> _smtUserFn])++-- | Map from user step names to state families.+--+-- /See:/ 'streamingConfigTaskUserStepToStateFamilyNameMap' smart constructor.+newtype StreamingConfigTaskUserStepToStateFamilyNameMap = StreamingConfigTaskUserStepToStateFamilyNameMap'+    { _sctustsfnmAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StreamingConfigTaskUserStepToStateFamilyNameMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sctustsfnmAddtional'+streamingConfigTaskUserStepToStateFamilyNameMap+    :: HashMap Text Text -- ^ 'sctustsfnmAddtional'+    -> StreamingConfigTaskUserStepToStateFamilyNameMap+streamingConfigTaskUserStepToStateFamilyNameMap pSctustsfnmAddtional_ =+    StreamingConfigTaskUserStepToStateFamilyNameMap'+    { _sctustsfnmAddtional = _Coerce # pSctustsfnmAddtional_+    }++sctustsfnmAddtional :: Lens' StreamingConfigTaskUserStepToStateFamilyNameMap (HashMap Text Text)+sctustsfnmAddtional+  = lens _sctustsfnmAddtional+      (\ s a -> s{_sctustsfnmAddtional = a})+      . _Coerce++instance FromJSON+         StreamingConfigTaskUserStepToStateFamilyNameMap where+        parseJSON+          = withObject+              "StreamingConfigTaskUserStepToStateFamilyNameMap"+              (\ o ->+                 StreamingConfigTaskUserStepToStateFamilyNameMap' <$>+                   (parseJSONObject o))++instance ToJSON+         StreamingConfigTaskUserStepToStateFamilyNameMap where+        toJSON = toJSON . _sctustsfnmAddtional++-- | A message describing the state of a particular execution stage.+--+-- /See:/ 'executionStageState' smart constructor.+data ExecutionStageState = ExecutionStageState'+    { _essExecutionStageName  :: !(Maybe Text)+    , _essCurrentStateTime    :: !(Maybe DateTime')+    , _essExecutionStageState :: !(Maybe ExecutionStageStateExecutionStageState)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExecutionStageState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'essExecutionStageName'+--+-- * 'essCurrentStateTime'+--+-- * 'essExecutionStageState'+executionStageState+    :: ExecutionStageState+executionStageState =+    ExecutionStageState'+    { _essExecutionStageName = Nothing+    , _essCurrentStateTime = Nothing+    , _essExecutionStageState = Nothing+    }++-- | The name of the execution stage.+essExecutionStageName :: Lens' ExecutionStageState (Maybe Text)+essExecutionStageName+  = lens _essExecutionStageName+      (\ s a -> s{_essExecutionStageName = a})++-- | The time at which the stage transitioned to this state.+essCurrentStateTime :: Lens' ExecutionStageState (Maybe UTCTime)+essCurrentStateTime+  = lens _essCurrentStateTime+      (\ s a -> s{_essCurrentStateTime = a})+      . mapping _DateTime++-- | Executions stage states allow the same set of values as JobState.+essExecutionStageState :: Lens' ExecutionStageState (Maybe ExecutionStageStateExecutionStageState)+essExecutionStageState+  = lens _essExecutionStageState+      (\ s a -> s{_essExecutionStageState = a})++instance FromJSON ExecutionStageState where+        parseJSON+          = withObject "ExecutionStageState"+              (\ o ->+                 ExecutionStageState' <$>+                   (o .:? "executionStageName") <*>+                     (o .:? "currentStateTime")+                     <*> (o .:? "executionStageState"))++instance ToJSON ExecutionStageState where+        toJSON ExecutionStageState'{..}+          = object+              (catMaybes+                 [("executionStageName" .=) <$>+                    _essExecutionStageName,+                  ("currentStateTime" .=) <$> _essCurrentStateTime,+                  ("executionStageState" .=) <$>+                    _essExecutionStageState])++-- | Description of an input or output of an execution stage.+--+-- /See:/ 'stageSource' smart constructor.+data StageSource = StageSource'+    { _ssSizeBytes                     :: !(Maybe (Textual Int64))+    , _ssUserName                      :: !(Maybe Text)+    , _ssName                          :: !(Maybe Text)+    , _ssOriginalTransformOrCollection :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StageSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssSizeBytes'+--+-- * 'ssUserName'+--+-- * 'ssName'+--+-- * 'ssOriginalTransformOrCollection'+stageSource+    :: StageSource+stageSource =+    StageSource'+    { _ssSizeBytes = Nothing+    , _ssUserName = Nothing+    , _ssName = Nothing+    , _ssOriginalTransformOrCollection = Nothing+    }++-- | Size of the source, if measurable.+ssSizeBytes :: Lens' StageSource (Maybe Int64)+ssSizeBytes+  = lens _ssSizeBytes (\ s a -> s{_ssSizeBytes = a}) .+      mapping _Coerce++-- | Human-readable name for this source; may be user or system generated.+ssUserName :: Lens' StageSource (Maybe Text)+ssUserName+  = lens _ssUserName (\ s a -> s{_ssUserName = a})++-- | Dataflow service generated name for this source.+ssName :: Lens' StageSource (Maybe Text)+ssName = lens _ssName (\ s a -> s{_ssName = a})++-- | User name for the original user transform or collection with which this+-- source is most closely associated.+ssOriginalTransformOrCollection :: Lens' StageSource (Maybe Text)+ssOriginalTransformOrCollection+  = lens _ssOriginalTransformOrCollection+      (\ s a -> s{_ssOriginalTransformOrCollection = a})++instance FromJSON StageSource where+        parseJSON+          = withObject "StageSource"+              (\ o ->+                 StageSource' <$>+                   (o .:? "sizeBytes") <*> (o .:? "userName") <*>+                     (o .:? "name")+                     <*> (o .:? "originalTransformOrCollection"))++instance ToJSON StageSource where+        toJSON StageSource'{..}+          = object+              (catMaybes+                 [("sizeBytes" .=) <$> _ssSizeBytes,+                  ("userName" .=) <$> _ssUserName,+                  ("name" .=) <$> _ssName,+                  ("originalTransformOrCollection" .=) <$>+                    _ssOriginalTransformOrCollection])++-- | A work item that represents the different operations that can be+-- performed on a user-defined Source specification.+--+-- /See:/ 'sourceOperationRequest' smart constructor.+data SourceOperationRequest = SourceOperationRequest'+    { _souSplit        :: !(Maybe SourceSplitRequest)+    , _souGetMetadata  :: !(Maybe SourceGetMetadataRequest)+    , _souName         :: !(Maybe Text)+    , _souSystemName   :: !(Maybe Text)+    , _souStageName    :: !(Maybe Text)+    , _souOriginalName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceOperationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'souSplit'+--+-- * 'souGetMetadata'+--+-- * 'souName'+--+-- * 'souSystemName'+--+-- * 'souStageName'+--+-- * 'souOriginalName'+sourceOperationRequest+    :: SourceOperationRequest+sourceOperationRequest =+    SourceOperationRequest'+    { _souSplit = Nothing+    , _souGetMetadata = Nothing+    , _souName = Nothing+    , _souSystemName = Nothing+    , _souStageName = Nothing+    , _souOriginalName = Nothing+    }++-- | Information about a request to split a source.+souSplit :: Lens' SourceOperationRequest (Maybe SourceSplitRequest)+souSplit = lens _souSplit (\ s a -> s{_souSplit = a})++-- | Information about a request to get metadata about a source.+souGetMetadata :: Lens' SourceOperationRequest (Maybe SourceGetMetadataRequest)+souGetMetadata+  = lens _souGetMetadata+      (\ s a -> s{_souGetMetadata = a})++-- | User-provided name of the Read instruction for this source.+souName :: Lens' SourceOperationRequest (Maybe Text)+souName = lens _souName (\ s a -> s{_souName = a})++-- | System-defined name of the Read instruction for this source. Unique+-- across the workflow.+souSystemName :: Lens' SourceOperationRequest (Maybe Text)+souSystemName+  = lens _souSystemName+      (\ s a -> s{_souSystemName = a})++-- | System-defined name of the stage containing the source operation. Unique+-- across the workflow.+souStageName :: Lens' SourceOperationRequest (Maybe Text)+souStageName+  = lens _souStageName (\ s a -> s{_souStageName = a})++-- | System-defined name for the Read instruction for this source in the+-- original workflow graph.+souOriginalName :: Lens' SourceOperationRequest (Maybe Text)+souOriginalName+  = lens _souOriginalName+      (\ s a -> s{_souOriginalName = a})++instance FromJSON SourceOperationRequest where+        parseJSON+          = withObject "SourceOperationRequest"+              (\ o ->+                 SourceOperationRequest' <$>+                   (o .:? "split") <*> (o .:? "getMetadata") <*>+                     (o .:? "name")+                     <*> (o .:? "systemName")+                     <*> (o .:? "stageName")+                     <*> (o .:? "originalName"))++instance ToJSON SourceOperationRequest where+        toJSON SourceOperationRequest'{..}+          = object+              (catMaybes+                 [("split" .=) <$> _souSplit,+                  ("getMetadata" .=) <$> _souGetMetadata,+                  ("name" .=) <$> _souName,+                  ("systemName" .=) <$> _souSystemName,+                  ("stageName" .=) <$> _souStageName,+                  ("originalName" .=) <$> _souOriginalName])++-- | Metadata for a Spanner connector used by the job.+--+-- /See:/ 'spannerIODetails' smart constructor.+data SpannerIODetails = SpannerIODetails'+    { _siodInstanceId :: !(Maybe Text)+    , _siodDatabaseId :: !(Maybe Text)+    , _siodProjectId  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpannerIODetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siodInstanceId'+--+-- * 'siodDatabaseId'+--+-- * 'siodProjectId'+spannerIODetails+    :: SpannerIODetails+spannerIODetails =+    SpannerIODetails'+    { _siodInstanceId = Nothing+    , _siodDatabaseId = Nothing+    , _siodProjectId = Nothing+    }++-- | InstanceId accessed in the connection.+siodInstanceId :: Lens' SpannerIODetails (Maybe Text)+siodInstanceId+  = lens _siodInstanceId+      (\ s a -> s{_siodInstanceId = a})++-- | DatabaseId accessed in the connection.+siodDatabaseId :: Lens' SpannerIODetails (Maybe Text)+siodDatabaseId+  = lens _siodDatabaseId+      (\ s a -> s{_siodDatabaseId = a})++-- | ProjectId accessed in the connection.+siodProjectId :: Lens' SpannerIODetails (Maybe Text)+siodProjectId+  = lens _siodProjectId+      (\ s a -> s{_siodProjectId = a})++instance FromJSON SpannerIODetails where+        parseJSON+          = withObject "SpannerIODetails"+              (\ o ->+                 SpannerIODetails' <$>+                   (o .:? "instanceId") <*> (o .:? "databaseId") <*>+                     (o .:? "projectId"))++instance ToJSON SpannerIODetails where+        toJSON SpannerIODetails'{..}+          = object+              (catMaybes+                 [("instanceId" .=) <$> _siodInstanceId,+                  ("databaseId" .=) <$> _siodDatabaseId,+                  ("projectId" .=) <$> _siodProjectId])++-- | Response to a request to lease WorkItems.+--+-- /See:/ 'leaseWorkItemResponse' smart constructor.+newtype LeaseWorkItemResponse = LeaseWorkItemResponse'+    { _lwirWorkItems :: Maybe [WorkItem]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LeaseWorkItemResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lwirWorkItems'+leaseWorkItemResponse+    :: LeaseWorkItemResponse+leaseWorkItemResponse =+    LeaseWorkItemResponse'+    { _lwirWorkItems = Nothing+    }++-- | A list of the leased WorkItems.+lwirWorkItems :: Lens' LeaseWorkItemResponse [WorkItem]+lwirWorkItems+  = lens _lwirWorkItems+      (\ s a -> s{_lwirWorkItems = a})+      . _Default+      . _Coerce++instance FromJSON LeaseWorkItemResponse where+        parseJSON+          = withObject "LeaseWorkItemResponse"+              (\ o ->+                 LeaseWorkItemResponse' <$>+                   (o .:? "workItems" .!= mempty))++instance ToJSON LeaseWorkItemResponse where+        toJSON LeaseWorkItemResponse'{..}+          = object+              (catMaybes [("workItems" .=) <$> _lwirWorkItems])++-- | Position defines a position within a collection of data. The value can+-- be either the end position, a key (used with ordered collections), a+-- byte offset, or a record index.+--+-- /See:/ 'position' smart constructor.+data Position = Position'+    { _pByteOffSet      :: !(Maybe (Textual Int64))+    , _pConcatPosition  :: !(Maybe ConcatPosition)+    , _pRecordIndex     :: !(Maybe (Textual Int64))+    , _pShufflePosition :: !(Maybe Text)+    , _pKey             :: !(Maybe Text)+    , _pEnd             :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Position' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pByteOffSet'+--+-- * 'pConcatPosition'+--+-- * 'pRecordIndex'+--+-- * 'pShufflePosition'+--+-- * 'pKey'+--+-- * 'pEnd'+position+    :: Position+position =+    Position'+    { _pByteOffSet = Nothing+    , _pConcatPosition = Nothing+    , _pRecordIndex = Nothing+    , _pShufflePosition = Nothing+    , _pKey = Nothing+    , _pEnd = Nothing+    }++-- | Position is a byte offset.+pByteOffSet :: Lens' Position (Maybe Int64)+pByteOffSet+  = lens _pByteOffSet (\ s a -> s{_pByteOffSet = a}) .+      mapping _Coerce++-- | CloudPosition is a concat position.+pConcatPosition :: Lens' Position (Maybe ConcatPosition)+pConcatPosition+  = lens _pConcatPosition+      (\ s a -> s{_pConcatPosition = a})++-- | Position is a record index.+pRecordIndex :: Lens' Position (Maybe Int64)+pRecordIndex+  = lens _pRecordIndex (\ s a -> s{_pRecordIndex = a})+      . mapping _Coerce++-- | CloudPosition is a base64 encoded BatchShufflePosition (with FIXED+-- sharding).+pShufflePosition :: Lens' Position (Maybe Text)+pShufflePosition+  = lens _pShufflePosition+      (\ s a -> s{_pShufflePosition = a})++-- | Position is a string key, ordered lexicographically.+pKey :: Lens' Position (Maybe Text)+pKey = lens _pKey (\ s a -> s{_pKey = a})++-- | Position is past all other positions. Also useful for the end position+-- of an unbounded range.+pEnd :: Lens' Position (Maybe Bool)+pEnd = lens _pEnd (\ s a -> s{_pEnd = a})++instance FromJSON Position where+        parseJSON+          = withObject "Position"+              (\ o ->+                 Position' <$>+                   (o .:? "byteOffset") <*> (o .:? "concatPosition") <*>+                     (o .:? "recordIndex")+                     <*> (o .:? "shufflePosition")+                     <*> (o .:? "key")+                     <*> (o .:? "end"))++instance ToJSON Position where+        toJSON Position'{..}+          = object+              (catMaybes+                 [("byteOffset" .=) <$> _pByteOffSet,+                  ("concatPosition" .=) <$> _pConcatPosition,+                  ("recordIndex" .=) <$> _pRecordIndex,+                  ("shufflePosition" .=) <$> _pShufflePosition,+                  ("key" .=) <$> _pKey, ("end" .=) <$> _pEnd])++-- | Structured data associated with this message.+--+-- /See:/ 'parameter' smart constructor.+data Parameter = Parameter'+    { _parValue :: !(Maybe JSONValue)+    , _parKey   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Parameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parValue'+--+-- * 'parKey'+parameter+    :: Parameter+parameter =+    Parameter'+    { _parValue = Nothing+    , _parKey = Nothing+    }++-- | Value for this parameter.+parValue :: Lens' Parameter (Maybe JSONValue)+parValue = lens _parValue (\ s a -> s{_parValue = a})++-- | Key or name for this parameter.+parKey :: Lens' Parameter (Maybe Text)+parKey = lens _parKey (\ s a -> s{_parKey = a})++instance FromJSON Parameter where+        parseJSON+          = withObject "Parameter"+              (\ o ->+                 Parameter' <$> (o .:? "value") <*> (o .:? "key"))++instance ToJSON Parameter where+        toJSON Parameter'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _parValue, ("key" .=) <$> _parKey])
gen/Network/Google/Dataflow/Types/Sum.hs view
@@ -16,4 +16,1326 @@ -- module Network.Google.Dataflow.Types.Sum where -import           Network.Google.Prelude+import           Network.Google.Prelude hiding (Bytes)++-- | Counter aggregation kind.+data NameAndKindKind+    = Invalid+      -- ^ @INVALID@+      -- Counter aggregation kind was not set.+    | Sum+      -- ^ @SUM@+      -- Aggregated value is the sum of all contributed values.+    | Max+      -- ^ @MAX@+      -- Aggregated value is the max of all contributed values.+    | Min+      -- ^ @MIN@+      -- Aggregated value is the min of all contributed values.+    | Mean+      -- ^ @MEAN@+      -- Aggregated value is the mean of all contributed values.+    | OR+      -- ^ @OR@+      -- Aggregated value represents the logical \'or\' of all contributed+      -- values.+    | And+      -- ^ @AND@+      -- Aggregated value represents the logical \'and\' of all contributed+      -- values.+    | Set+      -- ^ @SET@+      -- Aggregated value is a set of unique contributed values.+    | Distribution+      -- ^ @DISTRIBUTION@+      -- Aggregated value captures statistics about a distribution.+    | LatestValue+      -- ^ @LATEST_VALUE@+      -- Aggregated value tracks the latest value of a variable.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NameAndKindKind++instance FromHttpApiData NameAndKindKind where+    parseQueryParam = \case+        "INVALID" -> Right Invalid+        "SUM" -> Right Sum+        "MAX" -> Right Max+        "MIN" -> Right Min+        "MEAN" -> Right Mean+        "OR" -> Right OR+        "AND" -> Right And+        "SET" -> Right Set+        "DISTRIBUTION" -> Right Distribution+        "LATEST_VALUE" -> Right LatestValue+        x -> Left ("Unable to parse NameAndKindKind from: " <> x)++instance ToHttpApiData NameAndKindKind where+    toQueryParam = \case+        Invalid -> "INVALID"+        Sum -> "SUM"+        Max -> "MAX"+        Min -> "MIN"+        Mean -> "MEAN"+        OR -> "OR"+        And -> "AND"+        Set -> "SET"+        Distribution -> "DISTRIBUTION"+        LatestValue -> "LATEST_VALUE"++instance FromJSON NameAndKindKind where+    parseJSON = parseJSONText "NameAndKindKind"++instance ToJSON NameAndKindKind where+    toJSON = toJSONText++-- | The type of Cloud Dataflow job.+data JobType+    = JobTypeUnknown+      -- ^ @JOB_TYPE_UNKNOWN@+      -- The type of the job is unspecified, or unknown.+    | JobTypeBatch+      -- ^ @JOB_TYPE_BATCH@+      -- A batch job with a well-defined end point: data is read, data is+      -- processed, data is written, and the job is done.+    | JobTypeStreaming+      -- ^ @JOB_TYPE_STREAMING@+      -- A continuously streaming job with no end: data is read, processed, and+      -- written continuously.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable JobType++instance FromHttpApiData JobType where+    parseQueryParam = \case+        "JOB_TYPE_UNKNOWN" -> Right JobTypeUnknown+        "JOB_TYPE_BATCH" -> Right JobTypeBatch+        "JOB_TYPE_STREAMING" -> Right JobTypeStreaming+        x -> Left ("Unable to parse JobType from: " <> x)++instance ToHttpApiData JobType where+    toQueryParam = \case+        JobTypeUnknown -> "JOB_TYPE_UNKNOWN"+        JobTypeBatch -> "JOB_TYPE_BATCH"+        JobTypeStreaming -> "JOB_TYPE_STREAMING"++instance FromJSON JobType where+    parseJSON = parseJSONText "JobType"++instance ToJSON JobType where+    toJSON = toJSONText++-- | Sets the policy for determining when to turndown worker pool. Allowed+-- values are: \`TEARDOWN_ALWAYS\`, \`TEARDOWN_ON_SUCCESS\`, and+-- \`TEARDOWN_NEVER\`. \`TEARDOWN_ALWAYS\` means workers are always torn+-- down regardless of whether the job succeeds. \`TEARDOWN_ON_SUCCESS\`+-- means workers are torn down if the job succeeds. \`TEARDOWN_NEVER\`+-- means the workers are never torn down. If the workers are not torn down+-- by the service, they will continue to run and use Google Compute Engine+-- VM resources in the user\'s project until they are explicitly terminated+-- by the user. Because of this, Google recommends using the+-- \`TEARDOWN_ALWAYS\` policy except for small, manually supervised test+-- jobs. If unknown or unspecified, the service will attempt to choose a+-- reasonable default.+data WorkerPoolTeardownPolicy+    = TeardownPolicyUnknown+      -- ^ @TEARDOWN_POLICY_UNKNOWN@+      -- The teardown policy isn\'t specified, or is unknown.+    | TeardownAlways+      -- ^ @TEARDOWN_ALWAYS@+      -- Always teardown the resource.+    | TeardownOnSuccess+      -- ^ @TEARDOWN_ON_SUCCESS@+      -- Teardown the resource on success. This is useful for debugging failures.+    | TeardownNever+      -- ^ @TEARDOWN_NEVER@+      -- Never teardown the resource. This is useful for debugging and+      -- development.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable WorkerPoolTeardownPolicy++instance FromHttpApiData WorkerPoolTeardownPolicy where+    parseQueryParam = \case+        "TEARDOWN_POLICY_UNKNOWN" -> Right TeardownPolicyUnknown+        "TEARDOWN_ALWAYS" -> Right TeardownAlways+        "TEARDOWN_ON_SUCCESS" -> Right TeardownOnSuccess+        "TEARDOWN_NEVER" -> Right TeardownNever+        x -> Left ("Unable to parse WorkerPoolTeardownPolicy from: " <> x)++instance ToHttpApiData WorkerPoolTeardownPolicy where+    toQueryParam = \case+        TeardownPolicyUnknown -> "TEARDOWN_POLICY_UNKNOWN"+        TeardownAlways -> "TEARDOWN_ALWAYS"+        TeardownOnSuccess -> "TEARDOWN_ON_SUCCESS"+        TeardownNever -> "TEARDOWN_NEVER"++instance FromJSON WorkerPoolTeardownPolicy where+    parseJSON = parseJSONText "WorkerPoolTeardownPolicy"++instance ToJSON WorkerPoolTeardownPolicy where+    toJSON = toJSONText++-- | The algorithm to use for autoscaling.+data AutoscalingSettingsAlgorithm+    = AutoscalingAlgorithmUnknown+      -- ^ @AUTOSCALING_ALGORITHM_UNKNOWN@+      -- The algorithm is unknown, or unspecified.+    | AutoscalingAlgorithmNone+      -- ^ @AUTOSCALING_ALGORITHM_NONE@+      -- Disable autoscaling.+    | AutoscalingAlgorithmBasic+      -- ^ @AUTOSCALING_ALGORITHM_BASIC@+      -- Increase worker count over time to reduce job execution time.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AutoscalingSettingsAlgorithm++instance FromHttpApiData AutoscalingSettingsAlgorithm where+    parseQueryParam = \case+        "AUTOSCALING_ALGORITHM_UNKNOWN" -> Right AutoscalingAlgorithmUnknown+        "AUTOSCALING_ALGORITHM_NONE" -> Right AutoscalingAlgorithmNone+        "AUTOSCALING_ALGORITHM_BASIC" -> Right AutoscalingAlgorithmBasic+        x -> Left ("Unable to parse AutoscalingSettingsAlgorithm from: " <> x)++instance ToHttpApiData AutoscalingSettingsAlgorithm where+    toQueryParam = \case+        AutoscalingAlgorithmUnknown -> "AUTOSCALING_ALGORITHM_UNKNOWN"+        AutoscalingAlgorithmNone -> "AUTOSCALING_ALGORITHM_NONE"+        AutoscalingAlgorithmBasic -> "AUTOSCALING_ALGORITHM_BASIC"++instance FromJSON AutoscalingSettingsAlgorithm where+    parseJSON = parseJSONText "AutoscalingSettingsAlgorithm"++instance ToJSON AutoscalingSettingsAlgorithm where+    toJSON = toJSONText++-- | Type of transform.+data TransformSummaryKind+    = UnknownKind+      -- ^ @UNKNOWN_KIND@+      -- Unrecognized transform type.+    | ParDoKind+      -- ^ @PAR_DO_KIND@+      -- ParDo transform.+    | GroupByKeyKind+      -- ^ @GROUP_BY_KEY_KIND@+      -- Group By Key transform.+    | FlattenKind+      -- ^ @FLATTEN_KIND@+      -- Flatten transform.+    | ReadKind+      -- ^ @READ_KIND@+      -- Read transform.+    | WriteKind+      -- ^ @WRITE_KIND@+      -- Write transform.+    | ConstantKind+      -- ^ @CONSTANT_KIND@+      -- Constructs from a constant value, such as with Create.of.+    | SingletonKind+      -- ^ @SINGLETON_KIND@+      -- Creates a Singleton view of a collection.+    | ShuffleKind+      -- ^ @SHUFFLE_KIND@+      -- Opening or closing a shuffle session, often as part of a GroupByKey.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TransformSummaryKind++instance FromHttpApiData TransformSummaryKind where+    parseQueryParam = \case+        "UNKNOWN_KIND" -> Right UnknownKind+        "PAR_DO_KIND" -> Right ParDoKind+        "GROUP_BY_KEY_KIND" -> Right GroupByKeyKind+        "FLATTEN_KIND" -> Right FlattenKind+        "READ_KIND" -> Right ReadKind+        "WRITE_KIND" -> Right WriteKind+        "CONSTANT_KIND" -> Right ConstantKind+        "SINGLETON_KIND" -> Right SingletonKind+        "SHUFFLE_KIND" -> Right ShuffleKind+        x -> Left ("Unable to parse TransformSummaryKind from: " <> x)++instance ToHttpApiData TransformSummaryKind where+    toQueryParam = \case+        UnknownKind -> "UNKNOWN_KIND"+        ParDoKind -> "PAR_DO_KIND"+        GroupByKeyKind -> "GROUP_BY_KEY_KIND"+        FlattenKind -> "FLATTEN_KIND"+        ReadKind -> "READ_KIND"+        WriteKind -> "WRITE_KIND"+        ConstantKind -> "CONSTANT_KIND"+        SingletonKind -> "SINGLETON_KIND"+        ShuffleKind -> "SHUFFLE_KIND"++instance FromJSON TransformSummaryKind where+    parseJSON = parseJSONText "TransformSummaryKind"++instance ToJSON TransformSummaryKind where+    toJSON = toJSONText++-- | Portion of this counter, either key or value.+data CounterStructuredNamePortion+    = All+      -- ^ @ALL@+      -- Counter portion has not been set.+    | Key+      -- ^ @KEY@+      -- Counter reports a key.+    | Value+      -- ^ @VALUE@+      -- Counter reports a value.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CounterStructuredNamePortion++instance FromHttpApiData CounterStructuredNamePortion where+    parseQueryParam = \case+        "ALL" -> Right All+        "KEY" -> Right Key+        "VALUE" -> Right Value+        x -> Left ("Unable to parse CounterStructuredNamePortion from: " <> x)++instance ToHttpApiData CounterStructuredNamePortion where+    toQueryParam = \case+        All -> "ALL"+        Key -> "KEY"+        Value -> "VALUE"++instance FromJSON CounterStructuredNamePortion where+    parseJSON = parseJSONText "CounterStructuredNamePortion"++instance ToJSON CounterStructuredNamePortion where+    toJSON = toJSONText++-- | Importance level of the message.+data JobMessageMessageImportance+    = JobMessageImportanceUnknown+      -- ^ @JOB_MESSAGE_IMPORTANCE_UNKNOWN@+      -- The message importance isn\'t specified, or is unknown.+    | JobMessageDebug+      -- ^ @JOB_MESSAGE_DEBUG@+      -- The message is at the \'debug\' level: typically only useful for+      -- software engineers working on the code the job is running. Typically,+      -- Dataflow pipeline runners do not display log messages at this level by+      -- default.+    | JobMessageDetailed+      -- ^ @JOB_MESSAGE_DETAILED@+      -- The message is at the \'detailed\' level: somewhat verbose, but+      -- potentially useful to users. Typically, Dataflow pipeline runners do not+      -- display log messages at this level by default. These messages are+      -- displayed by default in the Dataflow monitoring UI.+    | JobMessageBasic+      -- ^ @JOB_MESSAGE_BASIC@+      -- The message is at the \'basic\' level: useful for keeping track of the+      -- execution of a Dataflow pipeline. Typically, Dataflow pipeline runners+      -- display log messages at this level by default, and these messages are+      -- displayed by default in the Dataflow monitoring UI.+    | JobMessageWarning+      -- ^ @JOB_MESSAGE_WARNING@+      -- The message is at the \'warning\' level: indicating a condition+      -- pertaining to a job which may require human intervention. Typically,+      -- Dataflow pipeline runners display log messages at this level by default,+      -- and these messages are displayed by default in the Dataflow monitoring+      -- UI.+    | JobMessageError+      -- ^ @JOB_MESSAGE_ERROR@+      -- The message is at the \'error\' level: indicating a condition preventing+      -- a job from succeeding. Typically, Dataflow pipeline runners display log+      -- messages at this level by default, and these messages are displayed by+      -- default in the Dataflow monitoring UI.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable JobMessageMessageImportance++instance FromHttpApiData JobMessageMessageImportance where+    parseQueryParam = \case+        "JOB_MESSAGE_IMPORTANCE_UNKNOWN" -> Right JobMessageImportanceUnknown+        "JOB_MESSAGE_DEBUG" -> Right JobMessageDebug+        "JOB_MESSAGE_DETAILED" -> Right JobMessageDetailed+        "JOB_MESSAGE_BASIC" -> Right JobMessageBasic+        "JOB_MESSAGE_WARNING" -> Right JobMessageWarning+        "JOB_MESSAGE_ERROR" -> Right JobMessageError+        x -> Left ("Unable to parse JobMessageMessageImportance from: " <> x)++instance ToHttpApiData JobMessageMessageImportance where+    toQueryParam = \case+        JobMessageImportanceUnknown -> "JOB_MESSAGE_IMPORTANCE_UNKNOWN"+        JobMessageDebug -> "JOB_MESSAGE_DEBUG"+        JobMessageDetailed -> "JOB_MESSAGE_DETAILED"+        JobMessageBasic -> "JOB_MESSAGE_BASIC"+        JobMessageWarning -> "JOB_MESSAGE_WARNING"+        JobMessageError -> "JOB_MESSAGE_ERROR"++instance FromJSON JobMessageMessageImportance where+    parseJSON = parseJSONText "JobMessageMessageImportance"++instance ToJSON JobMessageMessageImportance where+    toJSON = toJSONText++-- | Indicates whether splitting happened and produced a list of bundles. If+-- this is USE_CURRENT_SOURCE_AS_IS, the current source should be processed+-- \"as is\" without splitting. \"bundles\" is ignored in this case. If+-- this is SPLITTING_HAPPENED, then \"bundles\" contains a list of bundles+-- into which the source was split.+data SourceSplitResponseOutcome+    = SourceSplitOutcomeUnknown+      -- ^ @SOURCE_SPLIT_OUTCOME_UNKNOWN@+      -- The source split outcome is unknown, or unspecified.+    | SourceSplitOutcomeUseCurrent+      -- ^ @SOURCE_SPLIT_OUTCOME_USE_CURRENT@+      -- The current source should be processed \"as is\" without splitting.+    | SourceSplitOutcomeSplittingHAppened+      -- ^ @SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED@+      -- Splitting produced a list of bundles.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SourceSplitResponseOutcome++instance FromHttpApiData SourceSplitResponseOutcome where+    parseQueryParam = \case+        "SOURCE_SPLIT_OUTCOME_UNKNOWN" -> Right SourceSplitOutcomeUnknown+        "SOURCE_SPLIT_OUTCOME_USE_CURRENT" -> Right SourceSplitOutcomeUseCurrent+        "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED" -> Right SourceSplitOutcomeSplittingHAppened+        x -> Left ("Unable to parse SourceSplitResponseOutcome from: " <> x)++instance ToHttpApiData SourceSplitResponseOutcome where+    toQueryParam = \case+        SourceSplitOutcomeUnknown -> "SOURCE_SPLIT_OUTCOME_UNKNOWN"+        SourceSplitOutcomeUseCurrent -> "SOURCE_SPLIT_OUTCOME_USE_CURRENT"+        SourceSplitOutcomeSplittingHAppened -> "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED"++instance FromJSON SourceSplitResponseOutcome where+    parseJSON = parseJSONText "SourceSplitResponseOutcome"++instance ToJSON SourceSplitResponseOutcome where+    toJSON = toJSONText++-- | DEPRECATED+data SourceSplitShardDerivationMode+    = SourceDerivationModeUnknown+      -- ^ @SOURCE_DERIVATION_MODE_UNKNOWN@+      -- The source derivation is unknown, or unspecified.+    | SourceDerivationModeIndependent+      -- ^ @SOURCE_DERIVATION_MODE_INDEPENDENT@+      -- Produce a completely independent Source with no base.+    | SourceDerivationModeChildOfCurrent+      -- ^ @SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT@+      -- Produce a Source based on the Source being split.+    | SourceDerivationModeSiblingOfCurrent+      -- ^ @SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT@+      -- Produce a Source based on the base of the Source being split.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SourceSplitShardDerivationMode++instance FromHttpApiData SourceSplitShardDerivationMode where+    parseQueryParam = \case+        "SOURCE_DERIVATION_MODE_UNKNOWN" -> Right SourceDerivationModeUnknown+        "SOURCE_DERIVATION_MODE_INDEPENDENT" -> Right SourceDerivationModeIndependent+        "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT" -> Right SourceDerivationModeChildOfCurrent+        "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" -> Right SourceDerivationModeSiblingOfCurrent+        x -> Left ("Unable to parse SourceSplitShardDerivationMode from: " <> x)++instance ToHttpApiData SourceSplitShardDerivationMode where+    toQueryParam = \case+        SourceDerivationModeUnknown -> "SOURCE_DERIVATION_MODE_UNKNOWN"+        SourceDerivationModeIndependent -> "SOURCE_DERIVATION_MODE_INDEPENDENT"+        SourceDerivationModeChildOfCurrent -> "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT"+        SourceDerivationModeSiblingOfCurrent -> "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT"++instance FromJSON SourceSplitShardDerivationMode where+    parseJSON = parseJSONText "SourceSplitShardDerivationMode"++instance ToJSON SourceSplitShardDerivationMode where+    toJSON = toJSONText++-- | The default package set to install. This allows the service to select a+-- default set of packages which are useful to worker harnesses written in+-- a particular language.+data WorkerPoolDefaultPackageSet+    = DefaultPackageSetUnknown+      -- ^ @DEFAULT_PACKAGE_SET_UNKNOWN@+      -- The default set of packages to stage is unknown, or unspecified.+    | DefaultPackageSetNone+      -- ^ @DEFAULT_PACKAGE_SET_NONE@+      -- Indicates that no packages should be staged at the worker unless+      -- explicitly specified by the job.+    | DefaultPackageSetJava+      -- ^ @DEFAULT_PACKAGE_SET_JAVA@+      -- Stage packages typically useful to workers written in Java.+    | DefaultPackageSetPython+      -- ^ @DEFAULT_PACKAGE_SET_PYTHON@+      -- Stage pacakges typically useful to workers written in Python.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable WorkerPoolDefaultPackageSet++instance FromHttpApiData WorkerPoolDefaultPackageSet where+    parseQueryParam = \case+        "DEFAULT_PACKAGE_SET_UNKNOWN" -> Right DefaultPackageSetUnknown+        "DEFAULT_PACKAGE_SET_NONE" -> Right DefaultPackageSetNone+        "DEFAULT_PACKAGE_SET_JAVA" -> Right DefaultPackageSetJava+        "DEFAULT_PACKAGE_SET_PYTHON" -> Right DefaultPackageSetPython+        x -> Left ("Unable to parse WorkerPoolDefaultPackageSet from: " <> x)++instance ToHttpApiData WorkerPoolDefaultPackageSet where+    toQueryParam = \case+        DefaultPackageSetUnknown -> "DEFAULT_PACKAGE_SET_UNKNOWN"+        DefaultPackageSetNone -> "DEFAULT_PACKAGE_SET_NONE"+        DefaultPackageSetJava -> "DEFAULT_PACKAGE_SET_JAVA"+        DefaultPackageSetPython -> "DEFAULT_PACKAGE_SET_PYTHON"++instance FromJSON WorkerPoolDefaultPackageSet where+    parseJSON = parseJSONText "WorkerPoolDefaultPackageSet"++instance ToJSON WorkerPoolDefaultPackageSet where+    toJSON = toJSONText++-- | Counter aggregation kind.+data CounterMetadataKind+    = CMKInvalid+      -- ^ @INVALID@+      -- Counter aggregation kind was not set.+    | CMKSum+      -- ^ @SUM@+      -- Aggregated value is the sum of all contributed values.+    | CMKMax+      -- ^ @MAX@+      -- Aggregated value is the max of all contributed values.+    | CMKMin+      -- ^ @MIN@+      -- Aggregated value is the min of all contributed values.+    | CMKMean+      -- ^ @MEAN@+      -- Aggregated value is the mean of all contributed values.+    | CMKOR+      -- ^ @OR@+      -- Aggregated value represents the logical \'or\' of all contributed+      -- values.+    | CMKAnd+      -- ^ @AND@+      -- Aggregated value represents the logical \'and\' of all contributed+      -- values.+    | CMKSet+      -- ^ @SET@+      -- Aggregated value is a set of unique contributed values.+    | CMKDistribution+      -- ^ @DISTRIBUTION@+      -- Aggregated value captures statistics about a distribution.+    | CMKLatestValue+      -- ^ @LATEST_VALUE@+      -- Aggregated value tracks the latest value of a variable.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CounterMetadataKind++instance FromHttpApiData CounterMetadataKind where+    parseQueryParam = \case+        "INVALID" -> Right CMKInvalid+        "SUM" -> Right CMKSum+        "MAX" -> Right CMKMax+        "MIN" -> Right CMKMin+        "MEAN" -> Right CMKMean+        "OR" -> Right CMKOR+        "AND" -> Right CMKAnd+        "SET" -> Right CMKSet+        "DISTRIBUTION" -> Right CMKDistribution+        "LATEST_VALUE" -> Right CMKLatestValue+        x -> Left ("Unable to parse CounterMetadataKind from: " <> x)++instance ToHttpApiData CounterMetadataKind where+    toQueryParam = \case+        CMKInvalid -> "INVALID"+        CMKSum -> "SUM"+        CMKMax -> "MAX"+        CMKMin -> "MIN"+        CMKMean -> "MEAN"+        CMKOR -> "OR"+        CMKAnd -> "AND"+        CMKSet -> "SET"+        CMKDistribution -> "DISTRIBUTION"+        CMKLatestValue -> "LATEST_VALUE"++instance FromJSON CounterMetadataKind where+    parseJSON = parseJSONText "CounterMetadataKind"++instance ToJSON CounterMetadataKind where+    toJSON = toJSONText++-- | The current state of the job. Jobs are created in the+-- \`JOB_STATE_STOPPED\` state unless otherwise specified. A job in the+-- \`JOB_STATE_RUNNING\` state may asynchronously enter a terminal state.+-- After a job has reached a terminal state, no further state updates may+-- be made. This field may be mutated by the Cloud Dataflow service;+-- callers cannot mutate it.+data JobCurrentState+    = JobStateUnknown+      -- ^ @JOB_STATE_UNKNOWN@+      -- The job\'s run state isn\'t specified.+    | JobStateStopped+      -- ^ @JOB_STATE_STOPPED@+      -- \`JOB_STATE_STOPPED\` indicates that the job has not yet started to run.+    | JobStateRunning+      -- ^ @JOB_STATE_RUNNING@+      -- \`JOB_STATE_RUNNING\` indicates that the job is currently running.+    | JobStateDone+      -- ^ @JOB_STATE_DONE@+      -- \`JOB_STATE_DONE\` indicates that the job has successfully completed.+      -- This is a terminal job state. This state may be set by the Cloud+      -- Dataflow service, as a transition from \`JOB_STATE_RUNNING\`. It may+      -- also be set via a Cloud Dataflow \`UpdateJob\` call, if the job has not+      -- yet reached a terminal state.+    | JobStateFailed+      -- ^ @JOB_STATE_FAILED@+      -- \`JOB_STATE_FAILED\` indicates that the job has failed. This is a+      -- terminal job state. This state may only be set by the Cloud Dataflow+      -- service, and only as a transition from \`JOB_STATE_RUNNING\`.+    | JobStateCancelled+      -- ^ @JOB_STATE_CANCELLED@+      -- \`JOB_STATE_CANCELLED\` indicates that the job has been explicitly+      -- cancelled. This is a terminal job state. This state may only be set via+      -- a Cloud Dataflow \`UpdateJob\` call, and only if the job has not yet+      -- reached another terminal state.+    | JobStateUpdated+      -- ^ @JOB_STATE_UPDATED@+      -- \`JOB_STATE_UPDATED\` indicates that the job was successfully updated,+      -- meaning that this job was stopped and another job was started,+      -- inheriting state from this one. This is a terminal job state. This state+      -- may only be set by the Cloud Dataflow service, and only as a transition+      -- from \`JOB_STATE_RUNNING\`.+    | JobStateDraining+      -- ^ @JOB_STATE_DRAINING@+      -- \`JOB_STATE_DRAINING\` indicates that the job is in the process of+      -- draining. A draining job has stopped pulling from its input sources and+      -- is processing any data that remains in-flight. This state may be set via+      -- a Cloud Dataflow \`UpdateJob\` call, but only as a transition from+      -- \`JOB_STATE_RUNNING\`. Jobs that are draining may only transition to+      -- \`JOB_STATE_DRAINED\`, \`JOB_STATE_CANCELLED\`, or \`JOB_STATE_FAILED\`.+    | JobStateDrained+      -- ^ @JOB_STATE_DRAINED@+      -- \`JOB_STATE_DRAINED\` indicates that the job has been drained. A drained+      -- job terminated by stopping pulling from its input sources and processing+      -- any data that remained in-flight when draining was requested. This state+      -- is a terminal state, may only be set by the Cloud Dataflow service, and+      -- only as a transition from \`JOB_STATE_DRAINING\`.+    | JobStatePending+      -- ^ @JOB_STATE_PENDING@+      -- \`JOB_STATE_PENDING\` indicates that the job has been created but is not+      -- yet running. Jobs that are pending may only transition to+      -- \`JOB_STATE_RUNNING\`, or \`JOB_STATE_FAILED\`.+    | JobStateCancelling+      -- ^ @JOB_STATE_CANCELLING@+      -- \`JOB_STATE_CANCELLING\` indicates that the job has been explicitly+      -- cancelled and is in the process of stopping. Jobs that are cancelling+      -- may only transition to \`JOB_STATE_CANCELLED\` or \`JOB_STATE_FAILED\`.+    | JobStateQueued+      -- ^ @JOB_STATE_QUEUED@+      -- \`JOB_STATE_QUEUED\` indicates that the job has been created but is+      -- being delayed until launch. Jobs that are queued may only transition to+      -- \`JOB_STATE_PENDING\` or \`JOB_STATE_CANCELLED\`.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable JobCurrentState++instance FromHttpApiData JobCurrentState where+    parseQueryParam = \case+        "JOB_STATE_UNKNOWN" -> Right JobStateUnknown+        "JOB_STATE_STOPPED" -> Right JobStateStopped+        "JOB_STATE_RUNNING" -> Right JobStateRunning+        "JOB_STATE_DONE" -> Right JobStateDone+        "JOB_STATE_FAILED" -> Right JobStateFailed+        "JOB_STATE_CANCELLED" -> Right JobStateCancelled+        "JOB_STATE_UPDATED" -> Right JobStateUpdated+        "JOB_STATE_DRAINING" -> Right JobStateDraining+        "JOB_STATE_DRAINED" -> Right JobStateDrained+        "JOB_STATE_PENDING" -> Right JobStatePending+        "JOB_STATE_CANCELLING" -> Right JobStateCancelling+        "JOB_STATE_QUEUED" -> Right JobStateQueued+        x -> Left ("Unable to parse JobCurrentState from: " <> x)++instance ToHttpApiData JobCurrentState where+    toQueryParam = \case+        JobStateUnknown -> "JOB_STATE_UNKNOWN"+        JobStateStopped -> "JOB_STATE_STOPPED"+        JobStateRunning -> "JOB_STATE_RUNNING"+        JobStateDone -> "JOB_STATE_DONE"+        JobStateFailed -> "JOB_STATE_FAILED"+        JobStateCancelled -> "JOB_STATE_CANCELLED"+        JobStateUpdated -> "JOB_STATE_UPDATED"+        JobStateDraining -> "JOB_STATE_DRAINING"+        JobStateDrained -> "JOB_STATE_DRAINED"+        JobStatePending -> "JOB_STATE_PENDING"+        JobStateCancelling -> "JOB_STATE_CANCELLING"+        JobStateQueued -> "JOB_STATE_QUEUED"++instance FromJSON JobCurrentState where+    parseJSON = parseJSONText "JobCurrentState"++instance ToJSON JobCurrentState where+    toJSON = toJSONText++-- | System defined Units, see above enum.+data CounterMetadataStandardUnits+    = Bytes+      -- ^ @BYTES@+      -- Counter returns a value in bytes.+    | BytesPerSec+      -- ^ @BYTES_PER_SEC@+      -- Counter returns a value in bytes per second.+    | Milliseconds+      -- ^ @MILLISECONDS@+      -- Counter returns a value in milliseconds.+    | Microseconds+      -- ^ @MICROSECONDS@+      -- Counter returns a value in microseconds.+    | Nanoseconds+      -- ^ @NANOSECONDS@+      -- Counter returns a value in nanoseconds.+    | TimestampMsec+      -- ^ @TIMESTAMP_MSEC@+      -- Counter returns a timestamp in milliseconds.+    | TimestampUsec+      -- ^ @TIMESTAMP_USEC@+      -- Counter returns a timestamp in microseconds.+    | TimestampNsec+      -- ^ @TIMESTAMP_NSEC@+      -- Counter returns a timestamp in nanoseconds.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CounterMetadataStandardUnits++instance FromHttpApiData CounterMetadataStandardUnits where+    parseQueryParam = \case+        "BYTES" -> Right Bytes+        "BYTES_PER_SEC" -> Right BytesPerSec+        "MILLISECONDS" -> Right Milliseconds+        "MICROSECONDS" -> Right Microseconds+        "NANOSECONDS" -> Right Nanoseconds+        "TIMESTAMP_MSEC" -> Right TimestampMsec+        "TIMESTAMP_USEC" -> Right TimestampUsec+        "TIMESTAMP_NSEC" -> Right TimestampNsec+        x -> Left ("Unable to parse CounterMetadataStandardUnits from: " <> x)++instance ToHttpApiData CounterMetadataStandardUnits where+    toQueryParam = \case+        Bytes -> "BYTES"+        BytesPerSec -> "BYTES_PER_SEC"+        Milliseconds -> "MILLISECONDS"+        Microseconds -> "MICROSECONDS"+        Nanoseconds -> "NANOSECONDS"+        TimestampMsec -> "TIMESTAMP_MSEC"+        TimestampUsec -> "TIMESTAMP_USEC"+        TimestampNsec -> "TIMESTAMP_NSEC"++instance FromJSON CounterMetadataStandardUnits where+    parseJSON = parseJSONText "CounterMetadataStandardUnits"++instance ToJSON CounterMetadataStandardUnits where+    toJSON = toJSONText++-- | The type of autoscaling event to report.+data AutoscalingEventEventType+    = TypeUnknown+      -- ^ @TYPE_UNKNOWN@+      -- Default type for the enum. Value should never be returned.+    | TargetNumWorkersChanged+      -- ^ @TARGET_NUM_WORKERS_CHANGED@+      -- The TARGET_NUM_WORKERS_CHANGED type should be used when the target+      -- worker pool size has changed at the start of an actuation. An event+      -- should always be specified as TARGET_NUM_WORKERS_CHANGED if it reflects+      -- a change in the target_num_workers.+    | CurrentNumWorkersChanged+      -- ^ @CURRENT_NUM_WORKERS_CHANGED@+      -- The CURRENT_NUM_WORKERS_CHANGED type should be used when actual worker+      -- pool size has been changed, but the target_num_workers has not changed.+    | ActuationFailure+      -- ^ @ACTUATION_FAILURE@+      -- The ACTUATION_FAILURE type should be used when we want to report an+      -- error to the user indicating why the current number of workers in the+      -- pool could not be changed. Displayed in the current status and history+      -- widgets.+    | NoChange+      -- ^ @NO_CHANGE@+      -- Used when we want to report to the user a reason why we are not+      -- currently adjusting the number of workers. Should specify both+      -- target_num_workers, current_num_workers and a decision_message.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AutoscalingEventEventType++instance FromHttpApiData AutoscalingEventEventType where+    parseQueryParam = \case+        "TYPE_UNKNOWN" -> Right TypeUnknown+        "TARGET_NUM_WORKERS_CHANGED" -> Right TargetNumWorkersChanged+        "CURRENT_NUM_WORKERS_CHANGED" -> Right CurrentNumWorkersChanged+        "ACTUATION_FAILURE" -> Right ActuationFailure+        "NO_CHANGE" -> Right NoChange+        x -> Left ("Unable to parse AutoscalingEventEventType from: " <> x)++instance ToHttpApiData AutoscalingEventEventType where+    toQueryParam = \case+        TypeUnknown -> "TYPE_UNKNOWN"+        TargetNumWorkersChanged -> "TARGET_NUM_WORKERS_CHANGED"+        CurrentNumWorkersChanged -> "CURRENT_NUM_WORKERS_CHANGED"+        ActuationFailure -> "ACTUATION_FAILURE"+        NoChange -> "NO_CHANGE"++instance FromJSON AutoscalingEventEventType where+    parseJSON = parseJSONText "AutoscalingEventEventType"++instance ToJSON AutoscalingEventEventType where+    toJSON = toJSONText++-- | What source to base the produced source on (if any).+data DerivedSourceDerivationMode+    = DSDMSourceDerivationModeUnknown+      -- ^ @SOURCE_DERIVATION_MODE_UNKNOWN@+      -- The source derivation is unknown, or unspecified.+    | DSDMSourceDerivationModeIndependent+      -- ^ @SOURCE_DERIVATION_MODE_INDEPENDENT@+      -- Produce a completely independent Source with no base.+    | DSDMSourceDerivationModeChildOfCurrent+      -- ^ @SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT@+      -- Produce a Source based on the Source being split.+    | DSDMSourceDerivationModeSiblingOfCurrent+      -- ^ @SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT@+      -- Produce a Source based on the base of the Source being split.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DerivedSourceDerivationMode++instance FromHttpApiData DerivedSourceDerivationMode where+    parseQueryParam = \case+        "SOURCE_DERIVATION_MODE_UNKNOWN" -> Right DSDMSourceDerivationModeUnknown+        "SOURCE_DERIVATION_MODE_INDEPENDENT" -> Right DSDMSourceDerivationModeIndependent+        "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT" -> Right DSDMSourceDerivationModeChildOfCurrent+        "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" -> Right DSDMSourceDerivationModeSiblingOfCurrent+        x -> Left ("Unable to parse DerivedSourceDerivationMode from: " <> x)++instance ToHttpApiData DerivedSourceDerivationMode where+    toQueryParam = \case+        DSDMSourceDerivationModeUnknown -> "SOURCE_DERIVATION_MODE_UNKNOWN"+        DSDMSourceDerivationModeIndependent -> "SOURCE_DERIVATION_MODE_INDEPENDENT"+        DSDMSourceDerivationModeChildOfCurrent -> "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT"+        DSDMSourceDerivationModeSiblingOfCurrent -> "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT"++instance FromJSON DerivedSourceDerivationMode where+    parseJSON = parseJSONText "DerivedSourceDerivationMode"++instance ToJSON DerivedSourceDerivationMode where+    toJSON = toJSONText++-- | Type of tranform this stage is executing.+data ExecutionStageSummaryKind+    = ESSKUnknownKind+      -- ^ @UNKNOWN_KIND@+      -- Unrecognized transform type.+    | ESSKParDoKind+      -- ^ @PAR_DO_KIND@+      -- ParDo transform.+    | ESSKGroupByKeyKind+      -- ^ @GROUP_BY_KEY_KIND@+      -- Group By Key transform.+    | ESSKFlattenKind+      -- ^ @FLATTEN_KIND@+      -- Flatten transform.+    | ESSKReadKind+      -- ^ @READ_KIND@+      -- Read transform.+    | ESSKWriteKind+      -- ^ @WRITE_KIND@+      -- Write transform.+    | ESSKConstantKind+      -- ^ @CONSTANT_KIND@+      -- Constructs from a constant value, such as with Create.of.+    | ESSKSingletonKind+      -- ^ @SINGLETON_KIND@+      -- Creates a Singleton view of a collection.+    | ESSKShuffleKind+      -- ^ @SHUFFLE_KIND@+      -- Opening or closing a shuffle session, often as part of a GroupByKey.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ExecutionStageSummaryKind++instance FromHttpApiData ExecutionStageSummaryKind where+    parseQueryParam = \case+        "UNKNOWN_KIND" -> Right ESSKUnknownKind+        "PAR_DO_KIND" -> Right ESSKParDoKind+        "GROUP_BY_KEY_KIND" -> Right ESSKGroupByKeyKind+        "FLATTEN_KIND" -> Right ESSKFlattenKind+        "READ_KIND" -> Right ESSKReadKind+        "WRITE_KIND" -> Right ESSKWriteKind+        "CONSTANT_KIND" -> Right ESSKConstantKind+        "SINGLETON_KIND" -> Right ESSKSingletonKind+        "SHUFFLE_KIND" -> Right ESSKShuffleKind+        x -> Left ("Unable to parse ExecutionStageSummaryKind from: " <> x)++instance ToHttpApiData ExecutionStageSummaryKind where+    toQueryParam = \case+        ESSKUnknownKind -> "UNKNOWN_KIND"+        ESSKParDoKind -> "PAR_DO_KIND"+        ESSKGroupByKeyKind -> "GROUP_BY_KEY_KIND"+        ESSKFlattenKind -> "FLATTEN_KIND"+        ESSKReadKind -> "READ_KIND"+        ESSKWriteKind -> "WRITE_KIND"+        ESSKConstantKind -> "CONSTANT_KIND"+        ESSKSingletonKind -> "SINGLETON_KIND"+        ESSKShuffleKind -> "SHUFFLE_KIND"++instance FromJSON ExecutionStageSummaryKind where+    parseJSON = parseJSONText "ExecutionStageSummaryKind"++instance ToJSON ExecutionStageSummaryKind where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText++-- | The job\'s requested state. \`UpdateJob\` may be used to switch between+-- the \`JOB_STATE_STOPPED\` and \`JOB_STATE_RUNNING\` states, by setting+-- requested_state. \`UpdateJob\` may also be used to directly set a job\'s+-- requested state to \`JOB_STATE_CANCELLED\` or \`JOB_STATE_DONE\`,+-- irrevocably terminating the job if it has not already reached a terminal+-- state.+data JobRequestedState+    = JRSJobStateUnknown+      -- ^ @JOB_STATE_UNKNOWN@+      -- The job\'s run state isn\'t specified.+    | JRSJobStateStopped+      -- ^ @JOB_STATE_STOPPED@+      -- \`JOB_STATE_STOPPED\` indicates that the job has not yet started to run.+    | JRSJobStateRunning+      -- ^ @JOB_STATE_RUNNING@+      -- \`JOB_STATE_RUNNING\` indicates that the job is currently running.+    | JRSJobStateDone+      -- ^ @JOB_STATE_DONE@+      -- \`JOB_STATE_DONE\` indicates that the job has successfully completed.+      -- This is a terminal job state. This state may be set by the Cloud+      -- Dataflow service, as a transition from \`JOB_STATE_RUNNING\`. It may+      -- also be set via a Cloud Dataflow \`UpdateJob\` call, if the job has not+      -- yet reached a terminal state.+    | JRSJobStateFailed+      -- ^ @JOB_STATE_FAILED@+      -- \`JOB_STATE_FAILED\` indicates that the job has failed. This is a+      -- terminal job state. This state may only be set by the Cloud Dataflow+      -- service, and only as a transition from \`JOB_STATE_RUNNING\`.+    | JRSJobStateCancelled+      -- ^ @JOB_STATE_CANCELLED@+      -- \`JOB_STATE_CANCELLED\` indicates that the job has been explicitly+      -- cancelled. This is a terminal job state. This state may only be set via+      -- a Cloud Dataflow \`UpdateJob\` call, and only if the job has not yet+      -- reached another terminal state.+    | JRSJobStateUpdated+      -- ^ @JOB_STATE_UPDATED@+      -- \`JOB_STATE_UPDATED\` indicates that the job was successfully updated,+      -- meaning that this job was stopped and another job was started,+      -- inheriting state from this one. This is a terminal job state. This state+      -- may only be set by the Cloud Dataflow service, and only as a transition+      -- from \`JOB_STATE_RUNNING\`.+    | JRSJobStateDraining+      -- ^ @JOB_STATE_DRAINING@+      -- \`JOB_STATE_DRAINING\` indicates that the job is in the process of+      -- draining. A draining job has stopped pulling from its input sources and+      -- is processing any data that remains in-flight. This state may be set via+      -- a Cloud Dataflow \`UpdateJob\` call, but only as a transition from+      -- \`JOB_STATE_RUNNING\`. Jobs that are draining may only transition to+      -- \`JOB_STATE_DRAINED\`, \`JOB_STATE_CANCELLED\`, or \`JOB_STATE_FAILED\`.+    | JRSJobStateDrained+      -- ^ @JOB_STATE_DRAINED@+      -- \`JOB_STATE_DRAINED\` indicates that the job has been drained. A drained+      -- job terminated by stopping pulling from its input sources and processing+      -- any data that remained in-flight when draining was requested. This state+      -- is a terminal state, may only be set by the Cloud Dataflow service, and+      -- only as a transition from \`JOB_STATE_DRAINING\`.+    | JRSJobStatePending+      -- ^ @JOB_STATE_PENDING@+      -- \`JOB_STATE_PENDING\` indicates that the job has been created but is not+      -- yet running. Jobs that are pending may only transition to+      -- \`JOB_STATE_RUNNING\`, or \`JOB_STATE_FAILED\`.+    | JRSJobStateCancelling+      -- ^ @JOB_STATE_CANCELLING@+      -- \`JOB_STATE_CANCELLING\` indicates that the job has been explicitly+      -- cancelled and is in the process of stopping. Jobs that are cancelling+      -- may only transition to \`JOB_STATE_CANCELLED\` or \`JOB_STATE_FAILED\`.+    | JRSJobStateQueued+      -- ^ @JOB_STATE_QUEUED@+      -- \`JOB_STATE_QUEUED\` indicates that the job has been created but is+      -- being delayed until launch. Jobs that are queued may only transition to+      -- \`JOB_STATE_PENDING\` or \`JOB_STATE_CANCELLED\`.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable JobRequestedState++instance FromHttpApiData JobRequestedState where+    parseQueryParam = \case+        "JOB_STATE_UNKNOWN" -> Right JRSJobStateUnknown+        "JOB_STATE_STOPPED" -> Right JRSJobStateStopped+        "JOB_STATE_RUNNING" -> Right JRSJobStateRunning+        "JOB_STATE_DONE" -> Right JRSJobStateDone+        "JOB_STATE_FAILED" -> Right JRSJobStateFailed+        "JOB_STATE_CANCELLED" -> Right JRSJobStateCancelled+        "JOB_STATE_UPDATED" -> Right JRSJobStateUpdated+        "JOB_STATE_DRAINING" -> Right JRSJobStateDraining+        "JOB_STATE_DRAINED" -> Right JRSJobStateDrained+        "JOB_STATE_PENDING" -> Right JRSJobStatePending+        "JOB_STATE_CANCELLING" -> Right JRSJobStateCancelling+        "JOB_STATE_QUEUED" -> Right JRSJobStateQueued+        x -> Left ("Unable to parse JobRequestedState from: " <> x)++instance ToHttpApiData JobRequestedState where+    toQueryParam = \case+        JRSJobStateUnknown -> "JOB_STATE_UNKNOWN"+        JRSJobStateStopped -> "JOB_STATE_STOPPED"+        JRSJobStateRunning -> "JOB_STATE_RUNNING"+        JRSJobStateDone -> "JOB_STATE_DONE"+        JRSJobStateFailed -> "JOB_STATE_FAILED"+        JRSJobStateCancelled -> "JOB_STATE_CANCELLED"+        JRSJobStateUpdated -> "JOB_STATE_UPDATED"+        JRSJobStateDraining -> "JOB_STATE_DRAINING"+        JRSJobStateDrained -> "JOB_STATE_DRAINED"+        JRSJobStatePending -> "JOB_STATE_PENDING"+        JRSJobStateCancelling -> "JOB_STATE_CANCELLING"+        JRSJobStateQueued -> "JOB_STATE_QUEUED"++instance FromJSON JobRequestedState where+    parseJSON = parseJSONText "JobRequestedState"++instance ToJSON JobRequestedState where+    toJSON = toJSONText++-- | The event being reported.+data WorkerLifecycleEventEvent+    = UnknownEvent+      -- ^ @UNKNOWN_EVENT@+      -- Invalid event.+    | OSStart+      -- ^ @OS_START@+      -- The time the VM started.+    | ContainerStart+      -- ^ @CONTAINER_START@+      -- Our container code starts running. Multiple containers could be+      -- distinguished with WorkerMessage.labels if desired.+    | NetworkUp+      -- ^ @NETWORK_UP@+      -- The worker has a functional external network connection.+    | StagingFilesDownloadStart+      -- ^ @STAGING_FILES_DOWNLOAD_START@+      -- Started downloading staging files.+    | StagingFilesDownloadFinish+      -- ^ @STAGING_FILES_DOWNLOAD_FINISH@+      -- Finished downloading all staging files.+    | SdkInstallStart+      -- ^ @SDK_INSTALL_START@+      -- For applicable SDKs, started installation of SDK and worker packages.+    | SdkInstallFinish+      -- ^ @SDK_INSTALL_FINISH@+      -- Finished installing SDK.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable WorkerLifecycleEventEvent++instance FromHttpApiData WorkerLifecycleEventEvent where+    parseQueryParam = \case+        "UNKNOWN_EVENT" -> Right UnknownEvent+        "OS_START" -> Right OSStart+        "CONTAINER_START" -> Right ContainerStart+        "NETWORK_UP" -> Right NetworkUp+        "STAGING_FILES_DOWNLOAD_START" -> Right StagingFilesDownloadStart+        "STAGING_FILES_DOWNLOAD_FINISH" -> Right StagingFilesDownloadFinish+        "SDK_INSTALL_START" -> Right SdkInstallStart+        "SDK_INSTALL_FINISH" -> Right SdkInstallFinish+        x -> Left ("Unable to parse WorkerLifecycleEventEvent from: " <> x)++instance ToHttpApiData WorkerLifecycleEventEvent where+    toQueryParam = \case+        UnknownEvent -> "UNKNOWN_EVENT"+        OSStart -> "OS_START"+        ContainerStart -> "CONTAINER_START"+        NetworkUp -> "NETWORK_UP"+        StagingFilesDownloadStart -> "STAGING_FILES_DOWNLOAD_START"+        StagingFilesDownloadFinish -> "STAGING_FILES_DOWNLOAD_FINISH"+        SdkInstallStart -> "SDK_INSTALL_START"+        SdkInstallFinish -> "SDK_INSTALL_FINISH"++instance FromJSON WorkerLifecycleEventEvent where+    parseJSON = parseJSONText "WorkerLifecycleEventEvent"++instance ToJSON WorkerLifecycleEventEvent where+    toJSON = toJSONText++-- | Executions stage states allow the same set of values as JobState.+data ExecutionStageStateExecutionStageState+    = ESSESSJobStateUnknown+      -- ^ @JOB_STATE_UNKNOWN@+      -- The job\'s run state isn\'t specified.+    | ESSESSJobStateStopped+      -- ^ @JOB_STATE_STOPPED@+      -- \`JOB_STATE_STOPPED\` indicates that the job has not yet started to run.+    | ESSESSJobStateRunning+      -- ^ @JOB_STATE_RUNNING@+      -- \`JOB_STATE_RUNNING\` indicates that the job is currently running.+    | ESSESSJobStateDone+      -- ^ @JOB_STATE_DONE@+      -- \`JOB_STATE_DONE\` indicates that the job has successfully completed.+      -- This is a terminal job state. This state may be set by the Cloud+      -- Dataflow service, as a transition from \`JOB_STATE_RUNNING\`. It may+      -- also be set via a Cloud Dataflow \`UpdateJob\` call, if the job has not+      -- yet reached a terminal state.+    | ESSESSJobStateFailed+      -- ^ @JOB_STATE_FAILED@+      -- \`JOB_STATE_FAILED\` indicates that the job has failed. This is a+      -- terminal job state. This state may only be set by the Cloud Dataflow+      -- service, and only as a transition from \`JOB_STATE_RUNNING\`.+    | ESSESSJobStateCancelled+      -- ^ @JOB_STATE_CANCELLED@+      -- \`JOB_STATE_CANCELLED\` indicates that the job has been explicitly+      -- cancelled. This is a terminal job state. This state may only be set via+      -- a Cloud Dataflow \`UpdateJob\` call, and only if the job has not yet+      -- reached another terminal state.+    | ESSESSJobStateUpdated+      -- ^ @JOB_STATE_UPDATED@+      -- \`JOB_STATE_UPDATED\` indicates that the job was successfully updated,+      -- meaning that this job was stopped and another job was started,+      -- inheriting state from this one. This is a terminal job state. This state+      -- may only be set by the Cloud Dataflow service, and only as a transition+      -- from \`JOB_STATE_RUNNING\`.+    | ESSESSJobStateDraining+      -- ^ @JOB_STATE_DRAINING@+      -- \`JOB_STATE_DRAINING\` indicates that the job is in the process of+      -- draining. A draining job has stopped pulling from its input sources and+      -- is processing any data that remains in-flight. This state may be set via+      -- a Cloud Dataflow \`UpdateJob\` call, but only as a transition from+      -- \`JOB_STATE_RUNNING\`. Jobs that are draining may only transition to+      -- \`JOB_STATE_DRAINED\`, \`JOB_STATE_CANCELLED\`, or \`JOB_STATE_FAILED\`.+    | ESSESSJobStateDrained+      -- ^ @JOB_STATE_DRAINED@+      -- \`JOB_STATE_DRAINED\` indicates that the job has been drained. A drained+      -- job terminated by stopping pulling from its input sources and processing+      -- any data that remained in-flight when draining was requested. This state+      -- is a terminal state, may only be set by the Cloud Dataflow service, and+      -- only as a transition from \`JOB_STATE_DRAINING\`.+    | ESSESSJobStatePending+      -- ^ @JOB_STATE_PENDING@+      -- \`JOB_STATE_PENDING\` indicates that the job has been created but is not+      -- yet running. Jobs that are pending may only transition to+      -- \`JOB_STATE_RUNNING\`, or \`JOB_STATE_FAILED\`.+    | ESSESSJobStateCancelling+      -- ^ @JOB_STATE_CANCELLING@+      -- \`JOB_STATE_CANCELLING\` indicates that the job has been explicitly+      -- cancelled and is in the process of stopping. Jobs that are cancelling+      -- may only transition to \`JOB_STATE_CANCELLED\` or \`JOB_STATE_FAILED\`.+    | ESSESSJobStateQueued+      -- ^ @JOB_STATE_QUEUED@+      -- \`JOB_STATE_QUEUED\` indicates that the job has been created but is+      -- being delayed until launch. Jobs that are queued may only transition to+      -- \`JOB_STATE_PENDING\` or \`JOB_STATE_CANCELLED\`.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ExecutionStageStateExecutionStageState++instance FromHttpApiData ExecutionStageStateExecutionStageState where+    parseQueryParam = \case+        "JOB_STATE_UNKNOWN" -> Right ESSESSJobStateUnknown+        "JOB_STATE_STOPPED" -> Right ESSESSJobStateStopped+        "JOB_STATE_RUNNING" -> Right ESSESSJobStateRunning+        "JOB_STATE_DONE" -> Right ESSESSJobStateDone+        "JOB_STATE_FAILED" -> Right ESSESSJobStateFailed+        "JOB_STATE_CANCELLED" -> Right ESSESSJobStateCancelled+        "JOB_STATE_UPDATED" -> Right ESSESSJobStateUpdated+        "JOB_STATE_DRAINING" -> Right ESSESSJobStateDraining+        "JOB_STATE_DRAINED" -> Right ESSESSJobStateDrained+        "JOB_STATE_PENDING" -> Right ESSESSJobStatePending+        "JOB_STATE_CANCELLING" -> Right ESSESSJobStateCancelling+        "JOB_STATE_QUEUED" -> Right ESSESSJobStateQueued+        x -> Left ("Unable to parse ExecutionStageStateExecutionStageState from: " <> x)++instance ToHttpApiData ExecutionStageStateExecutionStageState where+    toQueryParam = \case+        ESSESSJobStateUnknown -> "JOB_STATE_UNKNOWN"+        ESSESSJobStateStopped -> "JOB_STATE_STOPPED"+        ESSESSJobStateRunning -> "JOB_STATE_RUNNING"+        ESSESSJobStateDone -> "JOB_STATE_DONE"+        ESSESSJobStateFailed -> "JOB_STATE_FAILED"+        ESSESSJobStateCancelled -> "JOB_STATE_CANCELLED"+        ESSESSJobStateUpdated -> "JOB_STATE_UPDATED"+        ESSESSJobStateDraining -> "JOB_STATE_DRAINING"+        ESSESSJobStateDrained -> "JOB_STATE_DRAINED"+        ESSESSJobStatePending -> "JOB_STATE_PENDING"+        ESSESSJobStateCancelling -> "JOB_STATE_CANCELLING"+        ESSESSJobStateQueued -> "JOB_STATE_QUEUED"++instance FromJSON ExecutionStageStateExecutionStageState where+    parseJSON = parseJSONText "ExecutionStageStateExecutionStageState"++instance ToJSON ExecutionStageStateExecutionStageState where+    toJSON = toJSONText++-- | Configuration for VM IPs.+data WorkerPoolIPConfiguration+    = WorkerIPUnspecified+      -- ^ @WORKER_IP_UNSPECIFIED@+      -- The configuration is unknown, or unspecified.+    | WorkerIPPublic+      -- ^ @WORKER_IP_PUBLIC@+      -- Workers should have public IP addresses.+    | WorkerIPPrivate+      -- ^ @WORKER_IP_PRIVATE@+      -- Workers should have private IP addresses.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable WorkerPoolIPConfiguration++instance FromHttpApiData WorkerPoolIPConfiguration where+    parseQueryParam = \case+        "WORKER_IP_UNSPECIFIED" -> Right WorkerIPUnspecified+        "WORKER_IP_PUBLIC" -> Right WorkerIPPublic+        "WORKER_IP_PRIVATE" -> Right WorkerIPPrivate+        x -> Left ("Unable to parse WorkerPoolIPConfiguration from: " <> x)++instance ToHttpApiData WorkerPoolIPConfiguration where+    toQueryParam = \case+        WorkerIPUnspecified -> "WORKER_IP_UNSPECIFIED"+        WorkerIPPublic -> "WORKER_IP_PUBLIC"+        WorkerIPPrivate -> "WORKER_IP_PRIVATE"++instance FromJSON WorkerPoolIPConfiguration where+    parseJSON = parseJSONText "WorkerPoolIPConfiguration"++instance ToJSON WorkerPoolIPConfiguration where+    toJSON = toJSONText++-- | One of the standard Origins defined above.+data CounterStructuredNameOrigin+    = System+      -- ^ @SYSTEM@+      -- Counter was created by the Dataflow system.+    | User+      -- ^ @USER@+      -- Counter was created by the user.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CounterStructuredNameOrigin++instance FromHttpApiData CounterStructuredNameOrigin where+    parseQueryParam = \case+        "SYSTEM" -> Right System+        "USER" -> Right User+        x -> Left ("Unable to parse CounterStructuredNameOrigin from: " <> x)++instance ToHttpApiData CounterStructuredNameOrigin where+    toQueryParam = \case+        System -> "SYSTEM"+        User -> "USER"++instance FromJSON CounterStructuredNameOrigin where+    parseJSON = parseJSONText "CounterStructuredNameOrigin"++instance ToJSON CounterStructuredNameOrigin where+    toJSON = toJSONText++-- | A type of streaming computation task.+data StreamingComputationTaskTaskType+    = StreamingComputationTaskUnknown+      -- ^ @STREAMING_COMPUTATION_TASK_UNKNOWN@+      -- The streaming computation task is unknown, or unspecified.+    | StreamingComputationTaskStop+      -- ^ @STREAMING_COMPUTATION_TASK_STOP@+      -- Stop processing specified streaming computation range(s).+    | StreamingComputationTaskStart+      -- ^ @STREAMING_COMPUTATION_TASK_START@+      -- Start processing specified streaming computation range(s).+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable StreamingComputationTaskTaskType++instance FromHttpApiData StreamingComputationTaskTaskType where+    parseQueryParam = \case+        "STREAMING_COMPUTATION_TASK_UNKNOWN" -> Right StreamingComputationTaskUnknown+        "STREAMING_COMPUTATION_TASK_STOP" -> Right StreamingComputationTaskStop+        "STREAMING_COMPUTATION_TASK_START" -> Right StreamingComputationTaskStart+        x -> Left ("Unable to parse StreamingComputationTaskTaskType from: " <> x)++instance ToHttpApiData StreamingComputationTaskTaskType where+    toQueryParam = \case+        StreamingComputationTaskUnknown -> "STREAMING_COMPUTATION_TASK_UNKNOWN"+        StreamingComputationTaskStop -> "STREAMING_COMPUTATION_TASK_STOP"+        StreamingComputationTaskStart -> "STREAMING_COMPUTATION_TASK_START"++instance FromJSON StreamingComputationTaskTaskType where+    parseJSON = parseJSONText "StreamingComputationTaskTaskType"++instance ToJSON StreamingComputationTaskTaskType where+    toJSON = toJSONText++-- | The support status for this SDK version.+data SdkVersionSdkSupportStatus+    = Unknown+      -- ^ @UNKNOWN@+      -- Cloud Dataflow is unaware of this version.+    | Supported+      -- ^ @SUPPORTED@+      -- This is a known version of an SDK, and is supported.+    | Stale+      -- ^ @STALE@+      -- A newer version of the SDK family exists, and an update is recommended.+    | Deprecated+      -- ^ @DEPRECATED@+      -- This version of the SDK is deprecated and will eventually be no longer+      -- supported.+    | Unsupported+      -- ^ @UNSUPPORTED@+      -- Support for this SDK version has ended and it should no longer be used.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SdkVersionSdkSupportStatus++instance FromHttpApiData SdkVersionSdkSupportStatus where+    parseQueryParam = \case+        "UNKNOWN" -> Right Unknown+        "SUPPORTED" -> Right Supported+        "STALE" -> Right Stale+        "DEPRECATED" -> Right Deprecated+        "UNSUPPORTED" -> Right Unsupported+        x -> Left ("Unable to parse SdkVersionSdkSupportStatus from: " <> x)++instance ToHttpApiData SdkVersionSdkSupportStatus where+    toQueryParam = \case+        Unknown -> "UNKNOWN"+        Supported -> "SUPPORTED"+        Stale -> "STALE"+        Deprecated -> "DEPRECATED"+        Unsupported -> "UNSUPPORTED"++instance FromJSON SdkVersionSdkSupportStatus where+    parseJSON = parseJSONText "SdkVersionSdkSupportStatus"++instance ToJSON SdkVersionSdkSupportStatus where+    toJSON = toJSONText
+ gen/Network/Google/Resource/Dataflow/Projects/Jobs/Aggregated.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the jobs of a project across all regions.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.aggregated@.+module Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated+    (+    -- * REST Resource+      ProjectsJobsAggregatedResource++    -- * Creating a Request+    , projectsJobsAggregated+    , ProjectsJobsAggregated++    -- * Request Lenses+    , pjaXgafv+    , pjaUploadProtocol+    , pjaLocation+    , pjaAccessToken+    , pjaUploadType+    , pjaView+    , pjaFilter+    , pjaPageToken+    , pjaProjectId+    , pjaPageSize+    , pjaCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.jobs.aggregated@ method which the+-- 'ProjectsJobsAggregated' request conforms to.+type ProjectsJobsAggregatedResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "jobs:aggregated" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "location" Text :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "view" Text :>+                         QueryParam "filter" Text :>+                           QueryParam "pageToken" Text :>+                             QueryParam "pageSize" (Textual Int32) :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] ListJobsResponse++-- | List the jobs of a project across all regions.+--+-- /See:/ 'projectsJobsAggregated' smart constructor.+data ProjectsJobsAggregated = ProjectsJobsAggregated'+    { _pjaXgafv          :: !(Maybe Xgafv)+    , _pjaUploadProtocol :: !(Maybe Text)+    , _pjaLocation       :: !(Maybe Text)+    , _pjaAccessToken    :: !(Maybe Text)+    , _pjaUploadType     :: !(Maybe Text)+    , _pjaView           :: !(Maybe Text)+    , _pjaFilter         :: !(Maybe Text)+    , _pjaPageToken      :: !(Maybe Text)+    , _pjaProjectId      :: !Text+    , _pjaPageSize       :: !(Maybe (Textual Int32))+    , _pjaCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsJobsAggregated' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjaXgafv'+--+-- * 'pjaUploadProtocol'+--+-- * 'pjaLocation'+--+-- * 'pjaAccessToken'+--+-- * 'pjaUploadType'+--+-- * 'pjaView'+--+-- * 'pjaFilter'+--+-- * 'pjaPageToken'+--+-- * 'pjaProjectId'+--+-- * 'pjaPageSize'+--+-- * 'pjaCallback'+projectsJobsAggregated+    :: Text -- ^ 'pjaProjectId'+    -> ProjectsJobsAggregated+projectsJobsAggregated pPjaProjectId_ =+    ProjectsJobsAggregated'+    { _pjaXgafv = Nothing+    , _pjaUploadProtocol = Nothing+    , _pjaLocation = Nothing+    , _pjaAccessToken = Nothing+    , _pjaUploadType = Nothing+    , _pjaView = Nothing+    , _pjaFilter = Nothing+    , _pjaPageToken = Nothing+    , _pjaProjectId = pPjaProjectId_+    , _pjaPageSize = Nothing+    , _pjaCallback = Nothing+    }++-- | V1 error format.+pjaXgafv :: Lens' ProjectsJobsAggregated (Maybe Xgafv)+pjaXgafv = lens _pjaXgafv (\ s a -> s{_pjaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pjaUploadProtocol :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaUploadProtocol+  = lens _pjaUploadProtocol+      (\ s a -> s{_pjaUploadProtocol = a})++-- | The location that contains this job.+pjaLocation :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaLocation+  = lens _pjaLocation (\ s a -> s{_pjaLocation = a})++-- | OAuth access token.+pjaAccessToken :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaAccessToken+  = lens _pjaAccessToken+      (\ s a -> s{_pjaAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pjaUploadType :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaUploadType+  = lens _pjaUploadType+      (\ s a -> s{_pjaUploadType = a})++-- | Level of information requested in response. Default is+-- \`JOB_VIEW_SUMMARY\`.+pjaView :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaView = lens _pjaView (\ s a -> s{_pjaView = a})++-- | The kind of filter to use.+pjaFilter :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaFilter+  = lens _pjaFilter (\ s a -> s{_pjaFilter = a})++-- | Set this to the \'next_page_token\' field of a previous response to+-- request additional results in a long list.+pjaPageToken :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaPageToken+  = lens _pjaPageToken (\ s a -> s{_pjaPageToken = a})++-- | The project which owns the jobs.+pjaProjectId :: Lens' ProjectsJobsAggregated Text+pjaProjectId+  = lens _pjaProjectId (\ s a -> s{_pjaProjectId = a})++-- | If there are many jobs, limit response to at most this many. The actual+-- number of jobs returned will be the lesser of max_responses and an+-- unspecified server-defined limit.+pjaPageSize :: Lens' ProjectsJobsAggregated (Maybe Int32)+pjaPageSize+  = lens _pjaPageSize (\ s a -> s{_pjaPageSize = a}) .+      mapping _Coerce++-- | JSONP+pjaCallback :: Lens' ProjectsJobsAggregated (Maybe Text)+pjaCallback+  = lens _pjaCallback (\ s a -> s{_pjaCallback = a})++instance GoogleRequest ProjectsJobsAggregated where+        type Rs ProjectsJobsAggregated = ListJobsResponse+        type Scopes ProjectsJobsAggregated =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsJobsAggregated'{..}+          = go _pjaProjectId _pjaXgafv _pjaUploadProtocol+              _pjaLocation+              _pjaAccessToken+              _pjaUploadType+              _pjaView+              _pjaFilter+              _pjaPageToken+              _pjaPageSize+              _pjaCallback+              (Just AltJSON)+              dataflowService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsJobsAggregatedResource)+                      mempty
gen/Network/Google/Resource/Dataflow/Projects/Jobs/Create.hs view
@@ -22,7 +22,7 @@ -- -- Creates a Cloud Dataflow job. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.create@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.create@. module Network.Google.Resource.Dataflow.Projects.Jobs.Create     (     -- * REST Resource@@ -36,11 +36,9 @@     , pjcXgafv     , pjcUploadProtocol     , pjcLocation-    , pjcPp     , pjcAccessToken     , pjcUploadType     , pjcPayload-    , pjcBearerToken     , pjcView     , pjcProjectId     , pjcReplaceJobId@@ -57,31 +55,27 @@        "projects" :>          Capture "projectId" Text :>            "jobs" :>-             QueryParam "$.xgafv" Text :>+             QueryParam "$.xgafv" Xgafv :>                QueryParam "upload_protocol" Text :>                  QueryParam "location" Text :>-                   QueryParam "pp" Bool :>-                     QueryParam "access_token" Text :>-                       QueryParam "uploadType" Text :>-                         QueryParam "bearer_token" Text :>-                           QueryParam "view" Text :>-                             QueryParam "replaceJobId" Text :>-                               QueryParam "callback" Text :>-                                 QueryParam "alt" AltJSON :>-                                   ReqBody '[JSON] Job :> Post '[JSON] Job+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "view" Text :>+                         QueryParam "replaceJobId" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               ReqBody '[JSON] Job :> Post '[JSON] Job  -- | Creates a Cloud Dataflow job. -- -- /See:/ 'projectsJobsCreate' smart constructor. data ProjectsJobsCreate = ProjectsJobsCreate'-    { _pjcXgafv          :: !(Maybe Text)+    { _pjcXgafv          :: !(Maybe Xgafv)     , _pjcUploadProtocol :: !(Maybe Text)     , _pjcLocation       :: !(Maybe Text)-    , _pjcPp             :: !Bool     , _pjcAccessToken    :: !(Maybe Text)     , _pjcUploadType     :: !(Maybe Text)     , _pjcPayload        :: !Job-    , _pjcBearerToken    :: !(Maybe Text)     , _pjcView           :: !(Maybe Text)     , _pjcProjectId      :: !Text     , _pjcReplaceJobId   :: !(Maybe Text)@@ -98,16 +92,12 @@ -- -- * 'pjcLocation' ----- * 'pjcPp'--- -- * 'pjcAccessToken' -- -- * 'pjcUploadType' -- -- * 'pjcPayload' ----- * 'pjcBearerToken'--- -- * 'pjcView' -- -- * 'pjcProjectId'@@ -124,11 +114,9 @@     { _pjcXgafv = Nothing     , _pjcUploadProtocol = Nothing     , _pjcLocation = Nothing-    , _pjcPp = True     , _pjcAccessToken = Nothing     , _pjcUploadType = Nothing     , _pjcPayload = pPjcPayload_-    , _pjcBearerToken = Nothing     , _pjcView = Nothing     , _pjcProjectId = pPjcProjectId_     , _pjcReplaceJobId = Nothing@@ -136,7 +124,7 @@     }  -- | V1 error format.-pjcXgafv :: Lens' ProjectsJobsCreate (Maybe Text)+pjcXgafv :: Lens' ProjectsJobsCreate (Maybe Xgafv) pjcXgafv = lens _pjcXgafv (\ s a -> s{_pjcXgafv = a})  -- | Upload protocol for media (e.g. \"raw\", \"multipart\").@@ -150,10 +138,6 @@ pjcLocation   = lens _pjcLocation (\ s a -> s{_pjcLocation = a}) --- | Pretty-print response.-pjcPp :: Lens' ProjectsJobsCreate Bool-pjcPp = lens _pjcPp (\ s a -> s{_pjcPp = a})- -- | OAuth access token. pjcAccessToken :: Lens' ProjectsJobsCreate (Maybe Text) pjcAccessToken@@ -171,12 +155,6 @@ pjcPayload   = lens _pjcPayload (\ s a -> s{_pjcPayload = a}) --- | OAuth bearer token.-pjcBearerToken :: Lens' ProjectsJobsCreate (Maybe Text)-pjcBearerToken-  = lens _pjcBearerToken-      (\ s a -> s{_pjcBearerToken = a})- -- | The level of information requested in response. pjcView :: Lens' ProjectsJobsCreate (Maybe Text) pjcView = lens _pjcView (\ s a -> s{_pjcView = a})@@ -201,14 +179,14 @@         type Rs ProjectsJobsCreate = Job         type Scopes ProjectsJobsCreate =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsCreate'{..}           = go _pjcProjectId _pjcXgafv _pjcUploadProtocol               _pjcLocation-              (Just _pjcPp)               _pjcAccessToken               _pjcUploadType-              _pjcBearerToken               _pjcView               _pjcReplaceJobId               _pjcCallback
gen/Network/Google/Resource/Dataflow/Projects/Jobs/Debug/GetConfig.hs view
@@ -22,7 +22,7 @@ -- -- Get encoded debug configuration for component. Not cacheable. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.debug.getConfig@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.debug.getConfig@. module Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig     (     -- * REST Resource@@ -36,11 +36,9 @@     , pjdgcXgafv     , pjdgcJobId     , pjdgcUploadProtocol-    , pjdgcPp     , pjdgcAccessToken     , pjdgcUploadType     , pjdgcPayload-    , pjdgcBearerToken     , pjdgcProjectId     , pjdgcCallback     ) where@@ -58,29 +56,25 @@              Capture "jobId" Text :>                "debug" :>                  "getConfig" :>-                   QueryParam "$.xgafv" Text :>+                   QueryParam "$.xgafv" Xgafv :>                      QueryParam "upload_protocol" Text :>-                       QueryParam "pp" Bool :>-                         QueryParam "access_token" Text :>-                           QueryParam "uploadType" Text :>-                             QueryParam "bearer_token" Text :>-                               QueryParam "callback" Text :>-                                 QueryParam "alt" AltJSON :>-                                   ReqBody '[JSON] GetDebugConfigRequest :>-                                     Post '[JSON] GetDebugConfigResponse+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               ReqBody '[JSON] GetDebugConfigRequest :>+                                 Post '[JSON] GetDebugConfigResponse  -- | Get encoded debug configuration for component. Not cacheable. -- -- /See:/ 'projectsJobsDebugGetConfig' smart constructor. data ProjectsJobsDebugGetConfig = ProjectsJobsDebugGetConfig'-    { _pjdgcXgafv          :: !(Maybe Text)+    { _pjdgcXgafv          :: !(Maybe Xgafv)     , _pjdgcJobId          :: !Text     , _pjdgcUploadProtocol :: !(Maybe Text)-    , _pjdgcPp             :: !Bool     , _pjdgcAccessToken    :: !(Maybe Text)     , _pjdgcUploadType     :: !(Maybe Text)     , _pjdgcPayload        :: !GetDebugConfigRequest-    , _pjdgcBearerToken    :: !(Maybe Text)     , _pjdgcProjectId      :: !Text     , _pjdgcCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -95,16 +89,12 @@ -- -- * 'pjdgcUploadProtocol' ----- * 'pjdgcPp'--- -- * 'pjdgcAccessToken' -- -- * 'pjdgcUploadType' -- -- * 'pjdgcPayload' ----- * 'pjdgcBearerToken'--- -- * 'pjdgcProjectId' -- -- * 'pjdgcCallback'@@ -118,17 +108,15 @@     { _pjdgcXgafv = Nothing     , _pjdgcJobId = pPjdgcJobId_     , _pjdgcUploadProtocol = Nothing-    , _pjdgcPp = True     , _pjdgcAccessToken = Nothing     , _pjdgcUploadType = Nothing     , _pjdgcPayload = pPjdgcPayload_-    , _pjdgcBearerToken = Nothing     , _pjdgcProjectId = pPjdgcProjectId_     , _pjdgcCallback = Nothing     }  -- | V1 error format.-pjdgcXgafv :: Lens' ProjectsJobsDebugGetConfig (Maybe Text)+pjdgcXgafv :: Lens' ProjectsJobsDebugGetConfig (Maybe Xgafv) pjdgcXgafv   = lens _pjdgcXgafv (\ s a -> s{_pjdgcXgafv = a}) @@ -143,10 +131,6 @@   = lens _pjdgcUploadProtocol       (\ s a -> s{_pjdgcUploadProtocol = a}) --- | Pretty-print response.-pjdgcPp :: Lens' ProjectsJobsDebugGetConfig Bool-pjdgcPp = lens _pjdgcPp (\ s a -> s{_pjdgcPp = a})- -- | OAuth access token. pjdgcAccessToken :: Lens' ProjectsJobsDebugGetConfig (Maybe Text) pjdgcAccessToken@@ -164,12 +148,6 @@ pjdgcPayload   = lens _pjdgcPayload (\ s a -> s{_pjdgcPayload = a}) --- | OAuth bearer token.-pjdgcBearerToken :: Lens' ProjectsJobsDebugGetConfig (Maybe Text)-pjdgcBearerToken-  = lens _pjdgcBearerToken-      (\ s a -> s{_pjdgcBearerToken = a})- -- | The project id. pjdgcProjectId :: Lens' ProjectsJobsDebugGetConfig Text pjdgcProjectId@@ -188,14 +166,14 @@              GetDebugConfigResponse         type Scopes ProjectsJobsDebugGetConfig =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsDebugGetConfig'{..}           = go _pjdgcProjectId _pjdgcJobId _pjdgcXgafv               _pjdgcUploadProtocol-              (Just _pjdgcPp)               _pjdgcAccessToken               _pjdgcUploadType-              _pjdgcBearerToken               _pjdgcCallback               (Just AltJSON)               _pjdgcPayload
gen/Network/Google/Resource/Dataflow/Projects/Jobs/Debug/SendCapture.hs view
@@ -22,7 +22,7 @@ -- -- Send encoded debug capture data for component. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.debug.sendCapture@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.debug.sendCapture@. module Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture     (     -- * REST Resource@@ -36,11 +36,9 @@     , pjdscXgafv     , pjdscJobId     , pjdscUploadProtocol-    , pjdscPp     , pjdscAccessToken     , pjdscUploadType     , pjdscPayload-    , pjdscBearerToken     , pjdscProjectId     , pjdscCallback     ) where@@ -58,29 +56,25 @@              Capture "jobId" Text :>                "debug" :>                  "sendCapture" :>-                   QueryParam "$.xgafv" Text :>+                   QueryParam "$.xgafv" Xgafv :>                      QueryParam "upload_protocol" Text :>-                       QueryParam "pp" Bool :>-                         QueryParam "access_token" Text :>-                           QueryParam "uploadType" Text :>-                             QueryParam "bearer_token" Text :>-                               QueryParam "callback" Text :>-                                 QueryParam "alt" AltJSON :>-                                   ReqBody '[JSON] SendDebugCaptureRequest :>-                                     Post '[JSON] SendDebugCaptureResponse+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               ReqBody '[JSON] SendDebugCaptureRequest :>+                                 Post '[JSON] SendDebugCaptureResponse  -- | Send encoded debug capture data for component. -- -- /See:/ 'projectsJobsDebugSendCapture' smart constructor. data ProjectsJobsDebugSendCapture = ProjectsJobsDebugSendCapture'-    { _pjdscXgafv          :: !(Maybe Text)+    { _pjdscXgafv          :: !(Maybe Xgafv)     , _pjdscJobId          :: !Text     , _pjdscUploadProtocol :: !(Maybe Text)-    , _pjdscPp             :: !Bool     , _pjdscAccessToken    :: !(Maybe Text)     , _pjdscUploadType     :: !(Maybe Text)     , _pjdscPayload        :: !SendDebugCaptureRequest-    , _pjdscBearerToken    :: !(Maybe Text)     , _pjdscProjectId      :: !Text     , _pjdscCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -95,16 +89,12 @@ -- -- * 'pjdscUploadProtocol' ----- * 'pjdscPp'--- -- * 'pjdscAccessToken' -- -- * 'pjdscUploadType' -- -- * 'pjdscPayload' ----- * 'pjdscBearerToken'--- -- * 'pjdscProjectId' -- -- * 'pjdscCallback'@@ -118,17 +108,15 @@     { _pjdscXgafv = Nothing     , _pjdscJobId = pPjdscJobId_     , _pjdscUploadProtocol = Nothing-    , _pjdscPp = True     , _pjdscAccessToken = Nothing     , _pjdscUploadType = Nothing     , _pjdscPayload = pPjdscPayload_-    , _pjdscBearerToken = Nothing     , _pjdscProjectId = pPjdscProjectId_     , _pjdscCallback = Nothing     }  -- | V1 error format.-pjdscXgafv :: Lens' ProjectsJobsDebugSendCapture (Maybe Text)+pjdscXgafv :: Lens' ProjectsJobsDebugSendCapture (Maybe Xgafv) pjdscXgafv   = lens _pjdscXgafv (\ s a -> s{_pjdscXgafv = a}) @@ -143,10 +131,6 @@   = lens _pjdscUploadProtocol       (\ s a -> s{_pjdscUploadProtocol = a}) --- | Pretty-print response.-pjdscPp :: Lens' ProjectsJobsDebugSendCapture Bool-pjdscPp = lens _pjdscPp (\ s a -> s{_pjdscPp = a})- -- | OAuth access token. pjdscAccessToken :: Lens' ProjectsJobsDebugSendCapture (Maybe Text) pjdscAccessToken@@ -164,12 +148,6 @@ pjdscPayload   = lens _pjdscPayload (\ s a -> s{_pjdscPayload = a}) --- | OAuth bearer token.-pjdscBearerToken :: Lens' ProjectsJobsDebugSendCapture (Maybe Text)-pjdscBearerToken-  = lens _pjdscBearerToken-      (\ s a -> s{_pjdscBearerToken = a})- -- | The project id. pjdscProjectId :: Lens' ProjectsJobsDebugSendCapture Text pjdscProjectId@@ -188,14 +166,14 @@              SendDebugCaptureResponse         type Scopes ProjectsJobsDebugSendCapture =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsDebugSendCapture'{..}           = go _pjdscProjectId _pjdscJobId _pjdscXgafv               _pjdscUploadProtocol-              (Just _pjdscPp)               _pjdscAccessToken               _pjdscUploadType-              _pjdscBearerToken               _pjdscCallback               (Just AltJSON)               _pjdscPayload
gen/Network/Google/Resource/Dataflow/Projects/Jobs/Get.hs view
@@ -22,7 +22,7 @@ -- -- Gets the state of the specified Cloud Dataflow job. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.get@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.get@. module Network.Google.Resource.Dataflow.Projects.Jobs.Get     (     -- * REST Resource@@ -37,10 +37,8 @@     , pjgJobId     , pjgUploadProtocol     , pjgLocation-    , pjgPp     , pjgAccessToken     , pjgUploadType-    , pjgBearerToken     , pjgView     , pjgProjectId     , pjgCallback@@ -57,29 +55,25 @@          Capture "projectId" Text :>            "jobs" :>              Capture "jobId" Text :>-               QueryParam "$.xgafv" Text :>+               QueryParam "$.xgafv" Xgafv :>                  QueryParam "upload_protocol" Text :>                    QueryParam "location" Text :>-                     QueryParam "pp" Bool :>-                       QueryParam "access_token" Text :>-                         QueryParam "uploadType" Text :>-                           QueryParam "bearer_token" Text :>-                             QueryParam "view" Text :>-                               QueryParam "callback" Text :>-                                 QueryParam "alt" AltJSON :> Get '[JSON] Job+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "view" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :> Get '[JSON] Job  -- | Gets the state of the specified Cloud Dataflow job. -- -- /See:/ 'projectsJobsGet' smart constructor. data ProjectsJobsGet = ProjectsJobsGet'-    { _pjgXgafv          :: !(Maybe Text)+    { _pjgXgafv          :: !(Maybe Xgafv)     , _pjgJobId          :: !Text     , _pjgUploadProtocol :: !(Maybe Text)     , _pjgLocation       :: !(Maybe Text)-    , _pjgPp             :: !Bool     , _pjgAccessToken    :: !(Maybe Text)     , _pjgUploadType     :: !(Maybe Text)-    , _pjgBearerToken    :: !(Maybe Text)     , _pjgView           :: !(Maybe Text)     , _pjgProjectId      :: !Text     , _pjgCallback       :: !(Maybe Text)@@ -97,14 +91,10 @@ -- -- * 'pjgLocation' ----- * 'pjgPp'--- -- * 'pjgAccessToken' -- -- * 'pjgUploadType' ----- * 'pjgBearerToken'--- -- * 'pjgView' -- -- * 'pjgProjectId'@@ -120,17 +110,15 @@     , _pjgJobId = pPjgJobId_     , _pjgUploadProtocol = Nothing     , _pjgLocation = Nothing-    , _pjgPp = True     , _pjgAccessToken = Nothing     , _pjgUploadType = Nothing-    , _pjgBearerToken = Nothing     , _pjgView = Nothing     , _pjgProjectId = pPjgProjectId_     , _pjgCallback = Nothing     }  -- | V1 error format.-pjgXgafv :: Lens' ProjectsJobsGet (Maybe Text)+pjgXgafv :: Lens' ProjectsJobsGet (Maybe Xgafv) pjgXgafv = lens _pjgXgafv (\ s a -> s{_pjgXgafv = a})  -- | The job ID.@@ -148,10 +136,6 @@ pjgLocation   = lens _pjgLocation (\ s a -> s{_pjgLocation = a}) --- | Pretty-print response.-pjgPp :: Lens' ProjectsJobsGet Bool-pjgPp = lens _pjgPp (\ s a -> s{_pjgPp = a})- -- | OAuth access token. pjgAccessToken :: Lens' ProjectsJobsGet (Maybe Text) pjgAccessToken@@ -164,12 +148,6 @@   = lens _pjgUploadType       (\ s a -> s{_pjgUploadType = a}) --- | OAuth bearer token.-pjgBearerToken :: Lens' ProjectsJobsGet (Maybe Text)-pjgBearerToken-  = lens _pjgBearerToken-      (\ s a -> s{_pjgBearerToken = a})- -- | The level of information requested in response. pjgView :: Lens' ProjectsJobsGet (Maybe Text) pjgView = lens _pjgView (\ s a -> s{_pjgView = a})@@ -188,15 +166,15 @@         type Rs ProjectsJobsGet = Job         type Scopes ProjectsJobsGet =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsGet'{..}           = go _pjgProjectId _pjgJobId _pjgXgafv               _pjgUploadProtocol               _pjgLocation-              (Just _pjgPp)               _pjgAccessToken               _pjgUploadType-              _pjgBearerToken               _pjgView               _pjgCallback               (Just AltJSON)
gen/Network/Google/Resource/Dataflow/Projects/Jobs/GetMetrics.hs view
@@ -22,7 +22,7 @@ -- -- Request the job status. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.getMetrics@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.getMetrics@. module Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics     (     -- * REST Resource@@ -38,10 +38,8 @@     , pjgmUploadProtocol     , pjgmLocation     , pjgmStartTime-    , pjgmPp     , pjgmAccessToken     , pjgmUploadType-    , pjgmBearerToken     , pjgmProjectId     , pjgmCallback     ) where@@ -58,31 +56,27 @@            "jobs" :>              Capture "jobId" Text :>                "metrics" :>-                 QueryParam "$.xgafv" Text :>+                 QueryParam "$.xgafv" Xgafv :>                    QueryParam "upload_protocol" Text :>                      QueryParam "location" Text :>-                       QueryParam "startTime" Text :>-                         QueryParam "pp" Bool :>-                           QueryParam "access_token" Text :>-                             QueryParam "uploadType" Text :>-                               QueryParam "bearer_token" Text :>-                                 QueryParam "callback" Text :>-                                   QueryParam "alt" AltJSON :>-                                     Get '[JSON] JobMetrics+                       QueryParam "startTime" DateTime' :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] JobMetrics  -- | Request the job status. -- -- /See:/ 'projectsJobsGetMetrics' smart constructor. data ProjectsJobsGetMetrics = ProjectsJobsGetMetrics'-    { _pjgmXgafv          :: !(Maybe Text)+    { _pjgmXgafv          :: !(Maybe Xgafv)     , _pjgmJobId          :: !Text     , _pjgmUploadProtocol :: !(Maybe Text)     , _pjgmLocation       :: !(Maybe Text)-    , _pjgmStartTime      :: !(Maybe Text)-    , _pjgmPp             :: !Bool+    , _pjgmStartTime      :: !(Maybe DateTime')     , _pjgmAccessToken    :: !(Maybe Text)     , _pjgmUploadType     :: !(Maybe Text)-    , _pjgmBearerToken    :: !(Maybe Text)     , _pjgmProjectId      :: !Text     , _pjgmCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -101,14 +95,10 @@ -- -- * 'pjgmStartTime' ----- * 'pjgmPp'--- -- * 'pjgmAccessToken' -- -- * 'pjgmUploadType' ----- * 'pjgmBearerToken'--- -- * 'pjgmProjectId' -- -- * 'pjgmCallback'@@ -123,16 +113,14 @@     , _pjgmUploadProtocol = Nothing     , _pjgmLocation = Nothing     , _pjgmStartTime = Nothing-    , _pjgmPp = True     , _pjgmAccessToken = Nothing     , _pjgmUploadType = Nothing-    , _pjgmBearerToken = Nothing     , _pjgmProjectId = pPjgmProjectId_     , _pjgmCallback = Nothing     }  -- | V1 error format.-pjgmXgafv :: Lens' ProjectsJobsGetMetrics (Maybe Text)+pjgmXgafv :: Lens' ProjectsJobsGetMetrics (Maybe Xgafv) pjgmXgafv   = lens _pjgmXgafv (\ s a -> s{_pjgmXgafv = a}) @@ -154,14 +142,11 @@  -- | Return only metric data that has changed since this time. Default is to -- return all information about all metrics for the job.-pjgmStartTime :: Lens' ProjectsJobsGetMetrics (Maybe Text)+pjgmStartTime :: Lens' ProjectsJobsGetMetrics (Maybe UTCTime) pjgmStartTime   = lens _pjgmStartTime       (\ s a -> s{_pjgmStartTime = a})---- | Pretty-print response.-pjgmPp :: Lens' ProjectsJobsGetMetrics Bool-pjgmPp = lens _pjgmPp (\ s a -> s{_pjgmPp = a})+      . mapping _DateTime  -- | OAuth access token. pjgmAccessToken :: Lens' ProjectsJobsGetMetrics (Maybe Text)@@ -175,12 +160,6 @@   = lens _pjgmUploadType       (\ s a -> s{_pjgmUploadType = a}) --- | OAuth bearer token.-pjgmBearerToken :: Lens' ProjectsJobsGetMetrics (Maybe Text)-pjgmBearerToken-  = lens _pjgmBearerToken-      (\ s a -> s{_pjgmBearerToken = a})- -- | A project id. pjgmProjectId :: Lens' ProjectsJobsGetMetrics Text pjgmProjectId@@ -196,16 +175,16 @@         type Rs ProjectsJobsGetMetrics = JobMetrics         type Scopes ProjectsJobsGetMetrics =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsGetMetrics'{..}           = go _pjgmProjectId _pjgmJobId _pjgmXgafv               _pjgmUploadProtocol               _pjgmLocation               _pjgmStartTime-              (Just _pjgmPp)               _pjgmAccessToken               _pjgmUploadType-              _pjgmBearerToken               _pjgmCallback               (Just AltJSON)               dataflowService
gen/Network/Google/Resource/Dataflow/Projects/Jobs/List.hs view
@@ -20,9 +20,9 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- List the jobs of a project.+-- List the jobs of a project in a given region. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.list@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.list@. module Network.Google.Resource.Dataflow.Projects.Jobs.List     (     -- * REST Resource@@ -36,10 +36,8 @@     , pjlXgafv     , pjlUploadProtocol     , pjlLocation-    , pjlPp     , pjlAccessToken     , pjlUploadType-    , pjlBearerToken     , pjlView     , pjlFilter     , pjlPageToken@@ -58,32 +56,28 @@        "projects" :>          Capture "projectId" Text :>            "jobs" :>-             QueryParam "$.xgafv" Text :>+             QueryParam "$.xgafv" Xgafv :>                QueryParam "upload_protocol" Text :>                  QueryParam "location" Text :>-                   QueryParam "pp" Bool :>-                     QueryParam "access_token" Text :>-                       QueryParam "uploadType" Text :>-                         QueryParam "bearer_token" Text :>-                           QueryParam "view" Text :>-                             QueryParam "filter" Text :>-                               QueryParam "pageToken" Text :>-                                 QueryParam "pageSize" (Textual Int32) :>-                                   QueryParam "callback" Text :>-                                     QueryParam "alt" AltJSON :>-                                       Get '[JSON] ListJobsResponse+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "view" Text :>+                         QueryParam "filter" Text :>+                           QueryParam "pageToken" Text :>+                             QueryParam "pageSize" (Textual Int32) :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] ListJobsResponse --- | List the jobs of a project.+-- | List the jobs of a project in a given region. -- -- /See:/ 'projectsJobsList' smart constructor. data ProjectsJobsList = ProjectsJobsList'-    { _pjlXgafv          :: !(Maybe Text)+    { _pjlXgafv          :: !(Maybe Xgafv)     , _pjlUploadProtocol :: !(Maybe Text)     , _pjlLocation       :: !(Maybe Text)-    , _pjlPp             :: !Bool     , _pjlAccessToken    :: !(Maybe Text)     , _pjlUploadType     :: !(Maybe Text)-    , _pjlBearerToken    :: !(Maybe Text)     , _pjlView           :: !(Maybe Text)     , _pjlFilter         :: !(Maybe Text)     , _pjlPageToken      :: !(Maybe Text)@@ -102,14 +96,10 @@ -- -- * 'pjlLocation' ----- * 'pjlPp'--- -- * 'pjlAccessToken' -- -- * 'pjlUploadType' ----- * 'pjlBearerToken'--- -- * 'pjlView' -- -- * 'pjlFilter'@@ -129,10 +119,8 @@     { _pjlXgafv = Nothing     , _pjlUploadProtocol = Nothing     , _pjlLocation = Nothing-    , _pjlPp = True     , _pjlAccessToken = Nothing     , _pjlUploadType = Nothing-    , _pjlBearerToken = Nothing     , _pjlView = Nothing     , _pjlFilter = Nothing     , _pjlPageToken = Nothing@@ -142,7 +130,7 @@     }  -- | V1 error format.-pjlXgafv :: Lens' ProjectsJobsList (Maybe Text)+pjlXgafv :: Lens' ProjectsJobsList (Maybe Xgafv) pjlXgafv = lens _pjlXgafv (\ s a -> s{_pjlXgafv = a})  -- | Upload protocol for media (e.g. \"raw\", \"multipart\").@@ -156,10 +144,6 @@ pjlLocation   = lens _pjlLocation (\ s a -> s{_pjlLocation = a}) --- | Pretty-print response.-pjlPp :: Lens' ProjectsJobsList Bool-pjlPp = lens _pjlPp (\ s a -> s{_pjlPp = a})- -- | OAuth access token. pjlAccessToken :: Lens' ProjectsJobsList (Maybe Text) pjlAccessToken@@ -172,12 +156,6 @@   = lens _pjlUploadType       (\ s a -> s{_pjlUploadType = a}) --- | OAuth bearer token.-pjlBearerToken :: Lens' ProjectsJobsList (Maybe Text)-pjlBearerToken-  = lens _pjlBearerToken-      (\ s a -> s{_pjlBearerToken = a})- -- | Level of information requested in response. Default is -- \`JOB_VIEW_SUMMARY\`. pjlView :: Lens' ProjectsJobsList (Maybe Text)@@ -216,14 +194,14 @@         type Rs ProjectsJobsList = ListJobsResponse         type Scopes ProjectsJobsList =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsList'{..}           = go _pjlProjectId _pjlXgafv _pjlUploadProtocol               _pjlLocation-              (Just _pjlPp)               _pjlAccessToken               _pjlUploadType-              _pjlBearerToken               _pjlView               _pjlFilter               _pjlPageToken
gen/Network/Google/Resource/Dataflow/Projects/Jobs/Messages/List.hs view
@@ -22,7 +22,7 @@ -- -- Request the job status. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.messages.list@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.messages.list@. module Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List     (     -- * REST Resource@@ -38,10 +38,8 @@     , pjmlUploadProtocol     , pjmlLocation     , pjmlStartTime-    , pjmlPp     , pjmlAccessToken     , pjmlUploadType-    , pjmlBearerToken     , pjmlEndTime     , pjmlMinimumImportance     , pjmlPageToken@@ -62,36 +60,32 @@            "jobs" :>              Capture "jobId" Text :>                "messages" :>-                 QueryParam "$.xgafv" Text :>+                 QueryParam "$.xgafv" Xgafv :>                    QueryParam "upload_protocol" Text :>                      QueryParam "location" Text :>-                       QueryParam "startTime" Text :>-                         QueryParam "pp" Bool :>-                           QueryParam "access_token" Text :>-                             QueryParam "uploadType" Text :>-                               QueryParam "bearer_token" Text :>-                                 QueryParam "endTime" Text :>-                                   QueryParam "minimumImportance" Text :>-                                     QueryParam "pageToken" Text :>-                                       QueryParam "pageSize" (Textual Int32) :>-                                         QueryParam "callback" Text :>-                                           QueryParam "alt" AltJSON :>-                                             Get '[JSON] ListJobMessagesResponse+                       QueryParam "startTime" DateTime' :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "endTime" DateTime' :>+                               QueryParam "minimumImportance" Text :>+                                 QueryParam "pageToken" Text :>+                                   QueryParam "pageSize" (Textual Int32) :>+                                     QueryParam "callback" Text :>+                                       QueryParam "alt" AltJSON :>+                                         Get '[JSON] ListJobMessagesResponse  -- | Request the job status. -- -- /See:/ 'projectsJobsMessagesList' smart constructor. data ProjectsJobsMessagesList = ProjectsJobsMessagesList'-    { _pjmlXgafv             :: !(Maybe Text)+    { _pjmlXgafv             :: !(Maybe Xgafv)     , _pjmlJobId             :: !Text     , _pjmlUploadProtocol    :: !(Maybe Text)     , _pjmlLocation          :: !(Maybe Text)-    , _pjmlStartTime         :: !(Maybe Text)-    , _pjmlPp                :: !Bool+    , _pjmlStartTime         :: !(Maybe DateTime')     , _pjmlAccessToken       :: !(Maybe Text)     , _pjmlUploadType        :: !(Maybe Text)-    , _pjmlBearerToken       :: !(Maybe Text)-    , _pjmlEndTime           :: !(Maybe Text)+    , _pjmlEndTime           :: !(Maybe DateTime')     , _pjmlMinimumImportance :: !(Maybe Text)     , _pjmlPageToken         :: !(Maybe Text)     , _pjmlProjectId         :: !Text@@ -113,14 +107,10 @@ -- -- * 'pjmlStartTime' ----- * 'pjmlPp'--- -- * 'pjmlAccessToken' -- -- * 'pjmlUploadType' ----- * 'pjmlBearerToken'--- -- * 'pjmlEndTime' -- -- * 'pjmlMinimumImportance'@@ -143,10 +133,8 @@     , _pjmlUploadProtocol = Nothing     , _pjmlLocation = Nothing     , _pjmlStartTime = Nothing-    , _pjmlPp = True     , _pjmlAccessToken = Nothing     , _pjmlUploadType = Nothing-    , _pjmlBearerToken = Nothing     , _pjmlEndTime = Nothing     , _pjmlMinimumImportance = Nothing     , _pjmlPageToken = Nothing@@ -156,7 +144,7 @@     }  -- | V1 error format.-pjmlXgafv :: Lens' ProjectsJobsMessagesList (Maybe Text)+pjmlXgafv :: Lens' ProjectsJobsMessagesList (Maybe Xgafv) pjmlXgafv   = lens _pjmlXgafv (\ s a -> s{_pjmlXgafv = a}) @@ -178,14 +166,11 @@  -- | If specified, return only messages with timestamps >= start_time. The -- default is the job creation time (i.e. beginning of messages).-pjmlStartTime :: Lens' ProjectsJobsMessagesList (Maybe Text)+pjmlStartTime :: Lens' ProjectsJobsMessagesList (Maybe UTCTime) pjmlStartTime   = lens _pjmlStartTime       (\ s a -> s{_pjmlStartTime = a})---- | Pretty-print response.-pjmlPp :: Lens' ProjectsJobsMessagesList Bool-pjmlPp = lens _pjmlPp (\ s a -> s{_pjmlPp = a})+      . mapping _DateTime  -- | OAuth access token. pjmlAccessToken :: Lens' ProjectsJobsMessagesList (Maybe Text)@@ -199,17 +184,12 @@   = lens _pjmlUploadType       (\ s a -> s{_pjmlUploadType = a}) --- | OAuth bearer token.-pjmlBearerToken :: Lens' ProjectsJobsMessagesList (Maybe Text)-pjmlBearerToken-  = lens _pjmlBearerToken-      (\ s a -> s{_pjmlBearerToken = a})- -- | Return only messages with timestamps \< end_time. The default is now -- (i.e. return up to the latest messages available).-pjmlEndTime :: Lens' ProjectsJobsMessagesList (Maybe Text)+pjmlEndTime :: Lens' ProjectsJobsMessagesList (Maybe UTCTime) pjmlEndTime-  = lens _pjmlEndTime (\ s a -> s{_pjmlEndTime = a})+  = lens _pjmlEndTime (\ s a -> s{_pjmlEndTime = a}) .+      mapping _DateTime  -- | Filter to only get messages with importance >= level pjmlMinimumImportance :: Lens' ProjectsJobsMessagesList (Maybe Text)@@ -248,16 +228,16 @@              ListJobMessagesResponse         type Scopes ProjectsJobsMessagesList =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsMessagesList'{..}           = go _pjmlProjectId _pjmlJobId _pjmlXgafv               _pjmlUploadProtocol               _pjmlLocation               _pjmlStartTime-              (Just _pjmlPp)               _pjmlAccessToken               _pjmlUploadType-              _pjmlBearerToken               _pjmlEndTime               _pjmlMinimumImportance               _pjmlPageToken
+ gen/Network/Google/Resource/Dataflow/Projects/Jobs/Snapshot.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Snapshot the state of a streaming job.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.snapshot@.+module Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot+    (+    -- * REST Resource+      ProjectsJobsSnapshotResource++    -- * Creating a Request+    , projectsJobsSnapshot+    , ProjectsJobsSnapshot++    -- * Request Lenses+    , pjsXgafv+    , pjsJobId+    , pjsUploadProtocol+    , pjsAccessToken+    , pjsUploadType+    , pjsPayload+    , pjsProjectId+    , pjsCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.jobs.snapshot@ method which the+-- 'ProjectsJobsSnapshot' request conforms to.+type ProjectsJobsSnapshotResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "jobs" :>+             CaptureMode "jobId" "snapshot" Text :>+               QueryParam "$.xgafv" Xgafv :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] SnapshotJobRequest :>+                             Post '[JSON] Snapshot++-- | Snapshot the state of a streaming job.+--+-- /See:/ 'projectsJobsSnapshot' smart constructor.+data ProjectsJobsSnapshot = ProjectsJobsSnapshot'+    { _pjsXgafv          :: !(Maybe Xgafv)+    , _pjsJobId          :: !Text+    , _pjsUploadProtocol :: !(Maybe Text)+    , _pjsAccessToken    :: !(Maybe Text)+    , _pjsUploadType     :: !(Maybe Text)+    , _pjsPayload        :: !SnapshotJobRequest+    , _pjsProjectId      :: !Text+    , _pjsCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsJobsSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjsXgafv'+--+-- * 'pjsJobId'+--+-- * 'pjsUploadProtocol'+--+-- * 'pjsAccessToken'+--+-- * 'pjsUploadType'+--+-- * 'pjsPayload'+--+-- * 'pjsProjectId'+--+-- * 'pjsCallback'+projectsJobsSnapshot+    :: Text -- ^ 'pjsJobId'+    -> SnapshotJobRequest -- ^ 'pjsPayload'+    -> Text -- ^ 'pjsProjectId'+    -> ProjectsJobsSnapshot+projectsJobsSnapshot pPjsJobId_ pPjsPayload_ pPjsProjectId_ =+    ProjectsJobsSnapshot'+    { _pjsXgafv = Nothing+    , _pjsJobId = pPjsJobId_+    , _pjsUploadProtocol = Nothing+    , _pjsAccessToken = Nothing+    , _pjsUploadType = Nothing+    , _pjsPayload = pPjsPayload_+    , _pjsProjectId = pPjsProjectId_+    , _pjsCallback = Nothing+    }++-- | V1 error format.+pjsXgafv :: Lens' ProjectsJobsSnapshot (Maybe Xgafv)+pjsXgafv = lens _pjsXgafv (\ s a -> s{_pjsXgafv = a})++-- | The job to be snapshotted.+pjsJobId :: Lens' ProjectsJobsSnapshot Text+pjsJobId = lens _pjsJobId (\ s a -> s{_pjsJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pjsUploadProtocol :: Lens' ProjectsJobsSnapshot (Maybe Text)+pjsUploadProtocol+  = lens _pjsUploadProtocol+      (\ s a -> s{_pjsUploadProtocol = a})++-- | OAuth access token.+pjsAccessToken :: Lens' ProjectsJobsSnapshot (Maybe Text)+pjsAccessToken+  = lens _pjsAccessToken+      (\ s a -> s{_pjsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pjsUploadType :: Lens' ProjectsJobsSnapshot (Maybe Text)+pjsUploadType+  = lens _pjsUploadType+      (\ s a -> s{_pjsUploadType = a})++-- | Multipart request metadata.+pjsPayload :: Lens' ProjectsJobsSnapshot SnapshotJobRequest+pjsPayload+  = lens _pjsPayload (\ s a -> s{_pjsPayload = a})++-- | The project which owns the job to be snapshotted.+pjsProjectId :: Lens' ProjectsJobsSnapshot Text+pjsProjectId+  = lens _pjsProjectId (\ s a -> s{_pjsProjectId = a})++-- | JSONP+pjsCallback :: Lens' ProjectsJobsSnapshot (Maybe Text)+pjsCallback+  = lens _pjsCallback (\ s a -> s{_pjsCallback = a})++instance GoogleRequest ProjectsJobsSnapshot where+        type Rs ProjectsJobsSnapshot = Snapshot+        type Scopes ProjectsJobsSnapshot =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsJobsSnapshot'{..}+          = go _pjsProjectId _pjsJobId _pjsXgafv+              _pjsUploadProtocol+              _pjsAccessToken+              _pjsUploadType+              _pjsCallback+              (Just AltJSON)+              _pjsPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsJobsSnapshotResource)+                      mempty
gen/Network/Google/Resource/Dataflow/Projects/Jobs/Update.hs view
@@ -22,7 +22,7 @@ -- -- Updates the state of an existing Cloud Dataflow job. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.update@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.update@. module Network.Google.Resource.Dataflow.Projects.Jobs.Update     (     -- * REST Resource@@ -37,11 +37,9 @@     , pjuJobId     , pjuUploadProtocol     , pjuLocation-    , pjuPp     , pjuAccessToken     , pjuUploadType     , pjuPayload-    , pjuBearerToken     , pjuProjectId     , pjuCallback     ) where@@ -57,30 +55,26 @@          Capture "projectId" Text :>            "jobs" :>              Capture "jobId" Text :>-               QueryParam "$.xgafv" Text :>+               QueryParam "$.xgafv" Xgafv :>                  QueryParam "upload_protocol" Text :>                    QueryParam "location" Text :>-                     QueryParam "pp" Bool :>-                       QueryParam "access_token" Text :>-                         QueryParam "uploadType" Text :>-                           QueryParam "bearer_token" Text :>-                             QueryParam "callback" Text :>-                               QueryParam "alt" AltJSON :>-                                 ReqBody '[JSON] Job :> Put '[JSON] Job+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Job :> Put '[JSON] Job  -- | Updates the state of an existing Cloud Dataflow job. -- -- /See:/ 'projectsJobsUpdate' smart constructor. data ProjectsJobsUpdate = ProjectsJobsUpdate'-    { _pjuXgafv          :: !(Maybe Text)+    { _pjuXgafv          :: !(Maybe Xgafv)     , _pjuJobId          :: !Text     , _pjuUploadProtocol :: !(Maybe Text)     , _pjuLocation       :: !(Maybe Text)-    , _pjuPp             :: !Bool     , _pjuAccessToken    :: !(Maybe Text)     , _pjuUploadType     :: !(Maybe Text)     , _pjuPayload        :: !Job-    , _pjuBearerToken    :: !(Maybe Text)     , _pjuProjectId      :: !Text     , _pjuCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -97,16 +91,12 @@ -- -- * 'pjuLocation' ----- * 'pjuPp'--- -- * 'pjuAccessToken' -- -- * 'pjuUploadType' -- -- * 'pjuPayload' ----- * 'pjuBearerToken'--- -- * 'pjuProjectId' -- -- * 'pjuCallback'@@ -121,17 +111,15 @@     , _pjuJobId = pPjuJobId_     , _pjuUploadProtocol = Nothing     , _pjuLocation = Nothing-    , _pjuPp = True     , _pjuAccessToken = Nothing     , _pjuUploadType = Nothing     , _pjuPayload = pPjuPayload_-    , _pjuBearerToken = Nothing     , _pjuProjectId = pPjuProjectId_     , _pjuCallback = Nothing     }  -- | V1 error format.-pjuXgafv :: Lens' ProjectsJobsUpdate (Maybe Text)+pjuXgafv :: Lens' ProjectsJobsUpdate (Maybe Xgafv) pjuXgafv = lens _pjuXgafv (\ s a -> s{_pjuXgafv = a})  -- | The job ID.@@ -149,10 +137,6 @@ pjuLocation   = lens _pjuLocation (\ s a -> s{_pjuLocation = a}) --- | Pretty-print response.-pjuPp :: Lens' ProjectsJobsUpdate Bool-pjuPp = lens _pjuPp (\ s a -> s{_pjuPp = a})- -- | OAuth access token. pjuAccessToken :: Lens' ProjectsJobsUpdate (Maybe Text) pjuAccessToken@@ -170,12 +154,6 @@ pjuPayload   = lens _pjuPayload (\ s a -> s{_pjuPayload = a}) --- | OAuth bearer token.-pjuBearerToken :: Lens' ProjectsJobsUpdate (Maybe Text)-pjuBearerToken-  = lens _pjuBearerToken-      (\ s a -> s{_pjuBearerToken = a})- -- | The ID of the Cloud Platform project that the job belongs to. pjuProjectId :: Lens' ProjectsJobsUpdate Text pjuProjectId@@ -190,15 +168,15 @@         type Rs ProjectsJobsUpdate = Job         type Scopes ProjectsJobsUpdate =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsUpdate'{..}           = go _pjuProjectId _pjuJobId _pjuXgafv               _pjuUploadProtocol               _pjuLocation-              (Just _pjuPp)               _pjuAccessToken               _pjuUploadType-              _pjuBearerToken               _pjuCallback               (Just AltJSON)               _pjuPayload
gen/Network/Google/Resource/Dataflow/Projects/Jobs/WorkItems/Lease.hs view
@@ -22,7 +22,7 @@ -- -- Leases a dataflow WorkItem to run. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.workItems.lease@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.workItems.lease@. module Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease     (     -- * REST Resource@@ -36,11 +36,9 @@     , pjwilXgafv     , pjwilJobId     , pjwilUploadProtocol-    , pjwilPp     , pjwilAccessToken     , pjwilUploadType     , pjwilPayload-    , pjwilBearerToken     , pjwilProjectId     , pjwilCallback     ) where@@ -57,29 +55,25 @@            "jobs" :>              Capture "jobId" Text :>                "workItems:lease" :>-                 QueryParam "$.xgafv" Text :>+                 QueryParam "$.xgafv" Xgafv :>                    QueryParam "upload_protocol" Text :>-                     QueryParam "pp" Bool :>-                       QueryParam "access_token" Text :>-                         QueryParam "uploadType" Text :>-                           QueryParam "bearer_token" Text :>-                             QueryParam "callback" Text :>-                               QueryParam "alt" AltJSON :>-                                 ReqBody '[JSON] LeaseWorkItemRequest :>-                                   Post '[JSON] LeaseWorkItemResponse+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] LeaseWorkItemRequest :>+                               Post '[JSON] LeaseWorkItemResponse  -- | Leases a dataflow WorkItem to run. -- -- /See:/ 'projectsJobsWorkItemsLease' smart constructor. data ProjectsJobsWorkItemsLease = ProjectsJobsWorkItemsLease'-    { _pjwilXgafv          :: !(Maybe Text)+    { _pjwilXgafv          :: !(Maybe Xgafv)     , _pjwilJobId          :: !Text     , _pjwilUploadProtocol :: !(Maybe Text)-    , _pjwilPp             :: !Bool     , _pjwilAccessToken    :: !(Maybe Text)     , _pjwilUploadType     :: !(Maybe Text)     , _pjwilPayload        :: !LeaseWorkItemRequest-    , _pjwilBearerToken    :: !(Maybe Text)     , _pjwilProjectId      :: !Text     , _pjwilCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -94,16 +88,12 @@ -- -- * 'pjwilUploadProtocol' ----- * 'pjwilPp'--- -- * 'pjwilAccessToken' -- -- * 'pjwilUploadType' -- -- * 'pjwilPayload' ----- * 'pjwilBearerToken'--- -- * 'pjwilProjectId' -- -- * 'pjwilCallback'@@ -117,17 +107,15 @@     { _pjwilXgafv = Nothing     , _pjwilJobId = pPjwilJobId_     , _pjwilUploadProtocol = Nothing-    , _pjwilPp = True     , _pjwilAccessToken = Nothing     , _pjwilUploadType = Nothing     , _pjwilPayload = pPjwilPayload_-    , _pjwilBearerToken = Nothing     , _pjwilProjectId = pPjwilProjectId_     , _pjwilCallback = Nothing     }  -- | V1 error format.-pjwilXgafv :: Lens' ProjectsJobsWorkItemsLease (Maybe Text)+pjwilXgafv :: Lens' ProjectsJobsWorkItemsLease (Maybe Xgafv) pjwilXgafv   = lens _pjwilXgafv (\ s a -> s{_pjwilXgafv = a}) @@ -142,10 +130,6 @@   = lens _pjwilUploadProtocol       (\ s a -> s{_pjwilUploadProtocol = a}) --- | Pretty-print response.-pjwilPp :: Lens' ProjectsJobsWorkItemsLease Bool-pjwilPp = lens _pjwilPp (\ s a -> s{_pjwilPp = a})- -- | OAuth access token. pjwilAccessToken :: Lens' ProjectsJobsWorkItemsLease (Maybe Text) pjwilAccessToken@@ -163,12 +147,6 @@ pjwilPayload   = lens _pjwilPayload (\ s a -> s{_pjwilPayload = a}) --- | OAuth bearer token.-pjwilBearerToken :: Lens' ProjectsJobsWorkItemsLease (Maybe Text)-pjwilBearerToken-  = lens _pjwilBearerToken-      (\ s a -> s{_pjwilBearerToken = a})- -- | Identifies the project this worker belongs to. pjwilProjectId :: Lens' ProjectsJobsWorkItemsLease Text pjwilProjectId@@ -187,14 +165,14 @@              LeaseWorkItemResponse         type Scopes ProjectsJobsWorkItemsLease =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsWorkItemsLease'{..}           = go _pjwilProjectId _pjwilJobId _pjwilXgafv               _pjwilUploadProtocol-              (Just _pjwilPp)               _pjwilAccessToken               _pjwilUploadType-              _pjwilBearerToken               _pjwilCallback               (Just AltJSON)               _pjwilPayload
gen/Network/Google/Resource/Dataflow/Projects/Jobs/WorkItems/ReportStatus.hs view
@@ -22,7 +22,7 @@ -- -- Reports the status of dataflow WorkItems leased by a worker. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.jobs.workItems.reportStatus@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.jobs.workItems.reportStatus@. module Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus     (     -- * REST Resource@@ -36,11 +36,9 @@     , pjwirsXgafv     , pjwirsJobId     , pjwirsUploadProtocol-    , pjwirsPp     , pjwirsAccessToken     , pjwirsUploadType     , pjwirsPayload-    , pjwirsBearerToken     , pjwirsProjectId     , pjwirsCallback     ) where@@ -57,29 +55,25 @@            "jobs" :>              Capture "jobId" Text :>                "workItems:reportStatus" :>-                 QueryParam "$.xgafv" Text :>+                 QueryParam "$.xgafv" Xgafv :>                    QueryParam "upload_protocol" Text :>-                     QueryParam "pp" Bool :>-                       QueryParam "access_token" Text :>-                         QueryParam "uploadType" Text :>-                           QueryParam "bearer_token" Text :>-                             QueryParam "callback" Text :>-                               QueryParam "alt" AltJSON :>-                                 ReqBody '[JSON] ReportWorkItemStatusRequest :>-                                   Post '[JSON] ReportWorkItemStatusResponse+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] ReportWorkItemStatusRequest :>+                               Post '[JSON] ReportWorkItemStatusResponse  -- | Reports the status of dataflow WorkItems leased by a worker. -- -- /See:/ 'projectsJobsWorkItemsReportStatus' smart constructor. data ProjectsJobsWorkItemsReportStatus = ProjectsJobsWorkItemsReportStatus'-    { _pjwirsXgafv          :: !(Maybe Text)+    { _pjwirsXgafv          :: !(Maybe Xgafv)     , _pjwirsJobId          :: !Text     , _pjwirsUploadProtocol :: !(Maybe Text)-    , _pjwirsPp             :: !Bool     , _pjwirsAccessToken    :: !(Maybe Text)     , _pjwirsUploadType     :: !(Maybe Text)     , _pjwirsPayload        :: !ReportWorkItemStatusRequest-    , _pjwirsBearerToken    :: !(Maybe Text)     , _pjwirsProjectId      :: !Text     , _pjwirsCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -94,16 +88,12 @@ -- -- * 'pjwirsUploadProtocol' ----- * 'pjwirsPp'--- -- * 'pjwirsAccessToken' -- -- * 'pjwirsUploadType' -- -- * 'pjwirsPayload' ----- * 'pjwirsBearerToken'--- -- * 'pjwirsProjectId' -- -- * 'pjwirsCallback'@@ -117,17 +107,15 @@     { _pjwirsXgafv = Nothing     , _pjwirsJobId = pPjwirsJobId_     , _pjwirsUploadProtocol = Nothing-    , _pjwirsPp = True     , _pjwirsAccessToken = Nothing     , _pjwirsUploadType = Nothing     , _pjwirsPayload = pPjwirsPayload_-    , _pjwirsBearerToken = Nothing     , _pjwirsProjectId = pPjwirsProjectId_     , _pjwirsCallback = Nothing     }  -- | V1 error format.-pjwirsXgafv :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Text)+pjwirsXgafv :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Xgafv) pjwirsXgafv   = lens _pjwirsXgafv (\ s a -> s{_pjwirsXgafv = a}) @@ -142,10 +130,6 @@   = lens _pjwirsUploadProtocol       (\ s a -> s{_pjwirsUploadProtocol = a}) --- | Pretty-print response.-pjwirsPp :: Lens' ProjectsJobsWorkItemsReportStatus Bool-pjwirsPp = lens _pjwirsPp (\ s a -> s{_pjwirsPp = a})- -- | OAuth access token. pjwirsAccessToken :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Text) pjwirsAccessToken@@ -164,12 +148,6 @@   = lens _pjwirsPayload       (\ s a -> s{_pjwirsPayload = a}) --- | OAuth bearer token.-pjwirsBearerToken :: Lens' ProjectsJobsWorkItemsReportStatus (Maybe Text)-pjwirsBearerToken-  = lens _pjwirsBearerToken-      (\ s a -> s{_pjwirsBearerToken = a})- -- | The project which owns the WorkItem\'s job. pjwirsProjectId :: Lens' ProjectsJobsWorkItemsReportStatus Text pjwirsProjectId@@ -188,14 +166,14 @@              ReportWorkItemStatusResponse         type Scopes ProjectsJobsWorkItemsReportStatus =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsJobsWorkItemsReportStatus'{..}           = go _pjwirsProjectId _pjwirsJobId _pjwirsXgafv               _pjwirsUploadProtocol-              (Just _pjwirsPp)               _pjwirsAccessToken               _pjwirsUploadType-              _pjwirsBearerToken               _pjwirsCallback               (Just AltJSON)               _pjwirsPayload
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Create.hs view
@@ -22,7 +22,7 @@ -- -- Creates a Cloud Dataflow job. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.create@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.create@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create     (     -- * REST Resource@@ -36,11 +36,9 @@     , pljcXgafv     , pljcUploadProtocol     , pljcLocation-    , pljcPp     , pljcAccessToken     , pljcUploadType     , pljcPayload-    , pljcBearerToken     , pljcView     , pljcProjectId     , pljcReplaceJobId@@ -59,30 +57,26 @@            "locations" :>              Capture "location" Text :>                "jobs" :>-                 QueryParam "$.xgafv" Text :>+                 QueryParam "$.xgafv" Xgafv :>                    QueryParam "upload_protocol" Text :>-                     QueryParam "pp" Bool :>-                       QueryParam "access_token" Text :>-                         QueryParam "uploadType" Text :>-                           QueryParam "bearer_token" Text :>-                             QueryParam "view" Text :>-                               QueryParam "replaceJobId" Text :>-                                 QueryParam "callback" Text :>-                                   QueryParam "alt" AltJSON :>-                                     ReqBody '[JSON] Job :> Post '[JSON] Job+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "view" Text :>+                           QueryParam "replaceJobId" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] Job :> Post '[JSON] Job  -- | Creates a Cloud Dataflow job. -- -- /See:/ 'projectsLocationsJobsCreate' smart constructor. data ProjectsLocationsJobsCreate = ProjectsLocationsJobsCreate'-    { _pljcXgafv          :: !(Maybe Text)+    { _pljcXgafv          :: !(Maybe Xgafv)     , _pljcUploadProtocol :: !(Maybe Text)     , _pljcLocation       :: !Text-    , _pljcPp             :: !Bool     , _pljcAccessToken    :: !(Maybe Text)     , _pljcUploadType     :: !(Maybe Text)     , _pljcPayload        :: !Job-    , _pljcBearerToken    :: !(Maybe Text)     , _pljcView           :: !(Maybe Text)     , _pljcProjectId      :: !Text     , _pljcReplaceJobId   :: !(Maybe Text)@@ -99,16 +93,12 @@ -- -- * 'pljcLocation' ----- * 'pljcPp'--- -- * 'pljcAccessToken' -- -- * 'pljcUploadType' -- -- * 'pljcPayload' ----- * 'pljcBearerToken'--- -- * 'pljcView' -- -- * 'pljcProjectId'@@ -126,11 +116,9 @@     { _pljcXgafv = Nothing     , _pljcUploadProtocol = Nothing     , _pljcLocation = pPljcLocation_-    , _pljcPp = True     , _pljcAccessToken = Nothing     , _pljcUploadType = Nothing     , _pljcPayload = pPljcPayload_-    , _pljcBearerToken = Nothing     , _pljcView = Nothing     , _pljcProjectId = pPljcProjectId_     , _pljcReplaceJobId = Nothing@@ -138,7 +126,7 @@     }  -- | V1 error format.-pljcXgafv :: Lens' ProjectsLocationsJobsCreate (Maybe Text)+pljcXgafv :: Lens' ProjectsLocationsJobsCreate (Maybe Xgafv) pljcXgafv   = lens _pljcXgafv (\ s a -> s{_pljcXgafv = a}) @@ -153,10 +141,6 @@ pljcLocation   = lens _pljcLocation (\ s a -> s{_pljcLocation = a}) --- | Pretty-print response.-pljcPp :: Lens' ProjectsLocationsJobsCreate Bool-pljcPp = lens _pljcPp (\ s a -> s{_pljcPp = a})- -- | OAuth access token. pljcAccessToken :: Lens' ProjectsLocationsJobsCreate (Maybe Text) pljcAccessToken@@ -174,12 +158,6 @@ pljcPayload   = lens _pljcPayload (\ s a -> s{_pljcPayload = a}) --- | OAuth bearer token.-pljcBearerToken :: Lens' ProjectsLocationsJobsCreate (Maybe Text)-pljcBearerToken-  = lens _pljcBearerToken-      (\ s a -> s{_pljcBearerToken = a})- -- | The level of information requested in response. pljcView :: Lens' ProjectsLocationsJobsCreate (Maybe Text) pljcView = lens _pljcView (\ s a -> s{_pljcView = a})@@ -206,14 +184,14 @@         type Rs ProjectsLocationsJobsCreate = Job         type Scopes ProjectsLocationsJobsCreate =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsLocationsJobsCreate'{..}           = go _pljcProjectId _pljcLocation _pljcXgafv               _pljcUploadProtocol-              (Just _pljcPp)               _pljcAccessToken               _pljcUploadType-              _pljcBearerToken               _pljcView               _pljcReplaceJobId               _pljcCallback
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Debug/GetConfig.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get encoded debug configuration for component. Not cacheable.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.debug.getConfig@.+module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig+    (+    -- * REST Resource+      ProjectsLocationsJobsDebugGetConfigResource++    -- * Creating a Request+    , projectsLocationsJobsDebugGetConfig+    , ProjectsLocationsJobsDebugGetConfig++    -- * Request Lenses+    , pljdgcXgafv+    , pljdgcJobId+    , pljdgcUploadProtocol+    , pljdgcLocation+    , pljdgcAccessToken+    , pljdgcUploadType+    , pljdgcPayload+    , pljdgcProjectId+    , pljdgcCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.jobs.debug.getConfig@ method which the+-- 'ProjectsLocationsJobsDebugGetConfig' request conforms to.+type ProjectsLocationsJobsDebugGetConfigResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "jobs" :>+                 Capture "jobId" Text :>+                   "debug" :>+                     "getConfig" :>+                       QueryParam "$.xgafv" Xgafv :>+                         QueryParam "upload_protocol" Text :>+                           QueryParam "access_token" Text :>+                             QueryParam "uploadType" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] GetDebugConfigRequest :>+                                     Post '[JSON] GetDebugConfigResponse++-- | Get encoded debug configuration for component. Not cacheable.+--+-- /See:/ 'projectsLocationsJobsDebugGetConfig' smart constructor.+data ProjectsLocationsJobsDebugGetConfig = ProjectsLocationsJobsDebugGetConfig'+    { _pljdgcXgafv          :: !(Maybe Xgafv)+    , _pljdgcJobId          :: !Text+    , _pljdgcUploadProtocol :: !(Maybe Text)+    , _pljdgcLocation       :: !Text+    , _pljdgcAccessToken    :: !(Maybe Text)+    , _pljdgcUploadType     :: !(Maybe Text)+    , _pljdgcPayload        :: !GetDebugConfigRequest+    , _pljdgcProjectId      :: !Text+    , _pljdgcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsDebugGetConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljdgcXgafv'+--+-- * 'pljdgcJobId'+--+-- * 'pljdgcUploadProtocol'+--+-- * 'pljdgcLocation'+--+-- * 'pljdgcAccessToken'+--+-- * 'pljdgcUploadType'+--+-- * 'pljdgcPayload'+--+-- * 'pljdgcProjectId'+--+-- * 'pljdgcCallback'+projectsLocationsJobsDebugGetConfig+    :: Text -- ^ 'pljdgcJobId'+    -> Text -- ^ 'pljdgcLocation'+    -> GetDebugConfigRequest -- ^ 'pljdgcPayload'+    -> Text -- ^ 'pljdgcProjectId'+    -> ProjectsLocationsJobsDebugGetConfig+projectsLocationsJobsDebugGetConfig pPljdgcJobId_ pPljdgcLocation_ pPljdgcPayload_ pPljdgcProjectId_ =+    ProjectsLocationsJobsDebugGetConfig'+    { _pljdgcXgafv = Nothing+    , _pljdgcJobId = pPljdgcJobId_+    , _pljdgcUploadProtocol = Nothing+    , _pljdgcLocation = pPljdgcLocation_+    , _pljdgcAccessToken = Nothing+    , _pljdgcUploadType = Nothing+    , _pljdgcPayload = pPljdgcPayload_+    , _pljdgcProjectId = pPljdgcProjectId_+    , _pljdgcCallback = Nothing+    }++-- | V1 error format.+pljdgcXgafv :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Xgafv)+pljdgcXgafv+  = lens _pljdgcXgafv (\ s a -> s{_pljdgcXgafv = a})++-- | The job id.+pljdgcJobId :: Lens' ProjectsLocationsJobsDebugGetConfig Text+pljdgcJobId+  = lens _pljdgcJobId (\ s a -> s{_pljdgcJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljdgcUploadProtocol :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)+pljdgcUploadProtocol+  = lens _pljdgcUploadProtocol+      (\ s a -> s{_pljdgcUploadProtocol = a})++-- | The location which contains the job specified by job_id.+pljdgcLocation :: Lens' ProjectsLocationsJobsDebugGetConfig Text+pljdgcLocation+  = lens _pljdgcLocation+      (\ s a -> s{_pljdgcLocation = a})++-- | OAuth access token.+pljdgcAccessToken :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)+pljdgcAccessToken+  = lens _pljdgcAccessToken+      (\ s a -> s{_pljdgcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljdgcUploadType :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)+pljdgcUploadType+  = lens _pljdgcUploadType+      (\ s a -> s{_pljdgcUploadType = a})++-- | Multipart request metadata.+pljdgcPayload :: Lens' ProjectsLocationsJobsDebugGetConfig GetDebugConfigRequest+pljdgcPayload+  = lens _pljdgcPayload+      (\ s a -> s{_pljdgcPayload = a})++-- | The project id.+pljdgcProjectId :: Lens' ProjectsLocationsJobsDebugGetConfig Text+pljdgcProjectId+  = lens _pljdgcProjectId+      (\ s a -> s{_pljdgcProjectId = a})++-- | JSONP+pljdgcCallback :: Lens' ProjectsLocationsJobsDebugGetConfig (Maybe Text)+pljdgcCallback+  = lens _pljdgcCallback+      (\ s a -> s{_pljdgcCallback = a})++instance GoogleRequest+         ProjectsLocationsJobsDebugGetConfig where+        type Rs ProjectsLocationsJobsDebugGetConfig =+             GetDebugConfigResponse+        type Scopes ProjectsLocationsJobsDebugGetConfig =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient+          ProjectsLocationsJobsDebugGetConfig'{..}+          = go _pljdgcProjectId _pljdgcLocation _pljdgcJobId+              _pljdgcXgafv+              _pljdgcUploadProtocol+              _pljdgcAccessToken+              _pljdgcUploadType+              _pljdgcCallback+              (Just AltJSON)+              _pljdgcPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsJobsDebugGetConfigResource)+                      mempty
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Debug/SendCapture.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Send encoded debug capture data for component.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.debug.sendCapture@.+module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture+    (+    -- * REST Resource+      ProjectsLocationsJobsDebugSendCaptureResource++    -- * Creating a Request+    , projectsLocationsJobsDebugSendCapture+    , ProjectsLocationsJobsDebugSendCapture++    -- * Request Lenses+    , pljdscXgafv+    , pljdscJobId+    , pljdscUploadProtocol+    , pljdscLocation+    , pljdscAccessToken+    , pljdscUploadType+    , pljdscPayload+    , pljdscProjectId+    , pljdscCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.jobs.debug.sendCapture@ method which the+-- 'ProjectsLocationsJobsDebugSendCapture' request conforms to.+type ProjectsLocationsJobsDebugSendCaptureResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "jobs" :>+                 Capture "jobId" Text :>+                   "debug" :>+                     "sendCapture" :>+                       QueryParam "$.xgafv" Xgafv :>+                         QueryParam "upload_protocol" Text :>+                           QueryParam "access_token" Text :>+                             QueryParam "uploadType" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] SendDebugCaptureRequest :>+                                     Post '[JSON] SendDebugCaptureResponse++-- | Send encoded debug capture data for component.+--+-- /See:/ 'projectsLocationsJobsDebugSendCapture' smart constructor.+data ProjectsLocationsJobsDebugSendCapture = ProjectsLocationsJobsDebugSendCapture'+    { _pljdscXgafv          :: !(Maybe Xgafv)+    , _pljdscJobId          :: !Text+    , _pljdscUploadProtocol :: !(Maybe Text)+    , _pljdscLocation       :: !Text+    , _pljdscAccessToken    :: !(Maybe Text)+    , _pljdscUploadType     :: !(Maybe Text)+    , _pljdscPayload        :: !SendDebugCaptureRequest+    , _pljdscProjectId      :: !Text+    , _pljdscCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsDebugSendCapture' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljdscXgafv'+--+-- * 'pljdscJobId'+--+-- * 'pljdscUploadProtocol'+--+-- * 'pljdscLocation'+--+-- * 'pljdscAccessToken'+--+-- * 'pljdscUploadType'+--+-- * 'pljdscPayload'+--+-- * 'pljdscProjectId'+--+-- * 'pljdscCallback'+projectsLocationsJobsDebugSendCapture+    :: Text -- ^ 'pljdscJobId'+    -> Text -- ^ 'pljdscLocation'+    -> SendDebugCaptureRequest -- ^ 'pljdscPayload'+    -> Text -- ^ 'pljdscProjectId'+    -> ProjectsLocationsJobsDebugSendCapture+projectsLocationsJobsDebugSendCapture pPljdscJobId_ pPljdscLocation_ pPljdscPayload_ pPljdscProjectId_ =+    ProjectsLocationsJobsDebugSendCapture'+    { _pljdscXgafv = Nothing+    , _pljdscJobId = pPljdscJobId_+    , _pljdscUploadProtocol = Nothing+    , _pljdscLocation = pPljdscLocation_+    , _pljdscAccessToken = Nothing+    , _pljdscUploadType = Nothing+    , _pljdscPayload = pPljdscPayload_+    , _pljdscProjectId = pPljdscProjectId_+    , _pljdscCallback = Nothing+    }++-- | V1 error format.+pljdscXgafv :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Xgafv)+pljdscXgafv+  = lens _pljdscXgafv (\ s a -> s{_pljdscXgafv = a})++-- | The job id.+pljdscJobId :: Lens' ProjectsLocationsJobsDebugSendCapture Text+pljdscJobId+  = lens _pljdscJobId (\ s a -> s{_pljdscJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljdscUploadProtocol :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)+pljdscUploadProtocol+  = lens _pljdscUploadProtocol+      (\ s a -> s{_pljdscUploadProtocol = a})++-- | The location which contains the job specified by job_id.+pljdscLocation :: Lens' ProjectsLocationsJobsDebugSendCapture Text+pljdscLocation+  = lens _pljdscLocation+      (\ s a -> s{_pljdscLocation = a})++-- | OAuth access token.+pljdscAccessToken :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)+pljdscAccessToken+  = lens _pljdscAccessToken+      (\ s a -> s{_pljdscAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljdscUploadType :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)+pljdscUploadType+  = lens _pljdscUploadType+      (\ s a -> s{_pljdscUploadType = a})++-- | Multipart request metadata.+pljdscPayload :: Lens' ProjectsLocationsJobsDebugSendCapture SendDebugCaptureRequest+pljdscPayload+  = lens _pljdscPayload+      (\ s a -> s{_pljdscPayload = a})++-- | The project id.+pljdscProjectId :: Lens' ProjectsLocationsJobsDebugSendCapture Text+pljdscProjectId+  = lens _pljdscProjectId+      (\ s a -> s{_pljdscProjectId = a})++-- | JSONP+pljdscCallback :: Lens' ProjectsLocationsJobsDebugSendCapture (Maybe Text)+pljdscCallback+  = lens _pljdscCallback+      (\ s a -> s{_pljdscCallback = a})++instance GoogleRequest+         ProjectsLocationsJobsDebugSendCapture where+        type Rs ProjectsLocationsJobsDebugSendCapture =+             SendDebugCaptureResponse+        type Scopes ProjectsLocationsJobsDebugSendCapture =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient+          ProjectsLocationsJobsDebugSendCapture'{..}+          = go _pljdscProjectId _pljdscLocation _pljdscJobId+              _pljdscXgafv+              _pljdscUploadProtocol+              _pljdscAccessToken+              _pljdscUploadType+              _pljdscCallback+              (Just AltJSON)+              _pljdscPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsJobsDebugSendCaptureResource)+                      mempty
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Get.hs view
@@ -22,7 +22,7 @@ -- -- Gets the state of the specified Cloud Dataflow job. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.get@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.get@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get     (     -- * REST Resource@@ -37,10 +37,8 @@     , pljgJobId     , pljgUploadProtocol     , pljgLocation-    , pljgPp     , pljgAccessToken     , pljgUploadType-    , pljgBearerToken     , pljgView     , pljgProjectId     , pljgCallback@@ -59,28 +57,24 @@              Capture "location" Text :>                "jobs" :>                  Capture "jobId" Text :>-                   QueryParam "$.xgafv" Text :>+                   QueryParam "$.xgafv" Xgafv :>                      QueryParam "upload_protocol" Text :>-                       QueryParam "pp" Bool :>-                         QueryParam "access_token" Text :>-                           QueryParam "uploadType" Text :>-                             QueryParam "bearer_token" Text :>-                               QueryParam "view" Text :>-                                 QueryParam "callback" Text :>-                                   QueryParam "alt" AltJSON :> Get '[JSON] Job+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "view" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :> Get '[JSON] Job  -- | Gets the state of the specified Cloud Dataflow job. -- -- /See:/ 'projectsLocationsJobsGet' smart constructor. data ProjectsLocationsJobsGet = ProjectsLocationsJobsGet'-    { _pljgXgafv          :: !(Maybe Text)+    { _pljgXgafv          :: !(Maybe Xgafv)     , _pljgJobId          :: !Text     , _pljgUploadProtocol :: !(Maybe Text)     , _pljgLocation       :: !Text-    , _pljgPp             :: !Bool     , _pljgAccessToken    :: !(Maybe Text)     , _pljgUploadType     :: !(Maybe Text)-    , _pljgBearerToken    :: !(Maybe Text)     , _pljgView           :: !(Maybe Text)     , _pljgProjectId      :: !Text     , _pljgCallback       :: !(Maybe Text)@@ -98,14 +92,10 @@ -- -- * 'pljgLocation' ----- * 'pljgPp'--- -- * 'pljgAccessToken' -- -- * 'pljgUploadType' ----- * 'pljgBearerToken'--- -- * 'pljgView' -- -- * 'pljgProjectId'@@ -122,17 +112,15 @@     , _pljgJobId = pPljgJobId_     , _pljgUploadProtocol = Nothing     , _pljgLocation = pPljgLocation_-    , _pljgPp = True     , _pljgAccessToken = Nothing     , _pljgUploadType = Nothing-    , _pljgBearerToken = Nothing     , _pljgView = Nothing     , _pljgProjectId = pPljgProjectId_     , _pljgCallback = Nothing     }  -- | V1 error format.-pljgXgafv :: Lens' ProjectsLocationsJobsGet (Maybe Text)+pljgXgafv :: Lens' ProjectsLocationsJobsGet (Maybe Xgafv) pljgXgafv   = lens _pljgXgafv (\ s a -> s{_pljgXgafv = a}) @@ -152,10 +140,6 @@ pljgLocation   = lens _pljgLocation (\ s a -> s{_pljgLocation = a}) --- | Pretty-print response.-pljgPp :: Lens' ProjectsLocationsJobsGet Bool-pljgPp = lens _pljgPp (\ s a -> s{_pljgPp = a})- -- | OAuth access token. pljgAccessToken :: Lens' ProjectsLocationsJobsGet (Maybe Text) pljgAccessToken@@ -168,12 +152,6 @@   = lens _pljgUploadType       (\ s a -> s{_pljgUploadType = a}) --- | OAuth bearer token.-pljgBearerToken :: Lens' ProjectsLocationsJobsGet (Maybe Text)-pljgBearerToken-  = lens _pljgBearerToken-      (\ s a -> s{_pljgBearerToken = a})- -- | The level of information requested in response. pljgView :: Lens' ProjectsLocationsJobsGet (Maybe Text) pljgView = lens _pljgView (\ s a -> s{_pljgView = a})@@ -193,15 +171,15 @@         type Rs ProjectsLocationsJobsGet = Job         type Scopes ProjectsLocationsJobsGet =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsLocationsJobsGet'{..}           = go _pljgProjectId _pljgLocation _pljgJobId               _pljgXgafv               _pljgUploadProtocol-              (Just _pljgPp)               _pljgAccessToken               _pljgUploadType-              _pljgBearerToken               _pljgView               _pljgCallback               (Just AltJSON)
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/GetMetrics.hs view
@@ -22,7 +22,7 @@ -- -- Request the job status. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.getMetrics@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.getMetrics@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics     (     -- * REST Resource@@ -38,10 +38,8 @@     , pljgmUploadProtocol     , pljgmLocation     , pljgmStartTime-    , pljgmPp     , pljgmAccessToken     , pljgmUploadType-    , pljgmBearerToken     , pljgmProjectId     , pljgmCallback     ) where@@ -60,30 +58,26 @@                "jobs" :>                  Capture "jobId" Text :>                    "metrics" :>-                     QueryParam "$.xgafv" Text :>+                     QueryParam "$.xgafv" Xgafv :>                        QueryParam "upload_protocol" Text :>-                         QueryParam "startTime" Text :>-                           QueryParam "pp" Bool :>-                             QueryParam "access_token" Text :>-                               QueryParam "uploadType" Text :>-                                 QueryParam "bearer_token" Text :>-                                   QueryParam "callback" Text :>-                                     QueryParam "alt" AltJSON :>-                                       Get '[JSON] JobMetrics+                         QueryParam "startTime" DateTime' :>+                           QueryParam "access_token" Text :>+                             QueryParam "uploadType" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] JobMetrics  -- | Request the job status. -- -- /See:/ 'projectsLocationsJobsGetMetrics' smart constructor. data ProjectsLocationsJobsGetMetrics = ProjectsLocationsJobsGetMetrics'-    { _pljgmXgafv          :: !(Maybe Text)+    { _pljgmXgafv          :: !(Maybe Xgafv)     , _pljgmJobId          :: !Text     , _pljgmUploadProtocol :: !(Maybe Text)     , _pljgmLocation       :: !Text-    , _pljgmStartTime      :: !(Maybe Text)-    , _pljgmPp             :: !Bool+    , _pljgmStartTime      :: !(Maybe DateTime')     , _pljgmAccessToken    :: !(Maybe Text)     , _pljgmUploadType     :: !(Maybe Text)-    , _pljgmBearerToken    :: !(Maybe Text)     , _pljgmProjectId      :: !Text     , _pljgmCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -102,14 +96,10 @@ -- -- * 'pljgmStartTime' ----- * 'pljgmPp'--- -- * 'pljgmAccessToken' -- -- * 'pljgmUploadType' ----- * 'pljgmBearerToken'--- -- * 'pljgmProjectId' -- -- * 'pljgmCallback'@@ -125,16 +115,14 @@     , _pljgmUploadProtocol = Nothing     , _pljgmLocation = pPljgmLocation_     , _pljgmStartTime = Nothing-    , _pljgmPp = True     , _pljgmAccessToken = Nothing     , _pljgmUploadType = Nothing-    , _pljgmBearerToken = Nothing     , _pljgmProjectId = pPljgmProjectId_     , _pljgmCallback = Nothing     }  -- | V1 error format.-pljgmXgafv :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)+pljgmXgafv :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Xgafv) pljgmXgafv   = lens _pljgmXgafv (\ s a -> s{_pljgmXgafv = a}) @@ -157,14 +145,11 @@  -- | Return only metric data that has changed since this time. Default is to -- return all information about all metrics for the job.-pljgmStartTime :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)+pljgmStartTime :: Lens' ProjectsLocationsJobsGetMetrics (Maybe UTCTime) pljgmStartTime   = lens _pljgmStartTime       (\ s a -> s{_pljgmStartTime = a})---- | Pretty-print response.-pljgmPp :: Lens' ProjectsLocationsJobsGetMetrics Bool-pljgmPp = lens _pljgmPp (\ s a -> s{_pljgmPp = a})+      . mapping _DateTime  -- | OAuth access token. pljgmAccessToken :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)@@ -178,12 +163,6 @@   = lens _pljgmUploadType       (\ s a -> s{_pljgmUploadType = a}) --- | OAuth bearer token.-pljgmBearerToken :: Lens' ProjectsLocationsJobsGetMetrics (Maybe Text)-pljgmBearerToken-  = lens _pljgmBearerToken-      (\ s a -> s{_pljgmBearerToken = a})- -- | A project id. pljgmProjectId :: Lens' ProjectsLocationsJobsGetMetrics Text pljgmProjectId@@ -201,16 +180,16 @@         type Rs ProjectsLocationsJobsGetMetrics = JobMetrics         type Scopes ProjectsLocationsJobsGetMetrics =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsLocationsJobsGetMetrics'{..}           = go _pljgmProjectId _pljgmLocation _pljgmJobId               _pljgmXgafv               _pljgmUploadProtocol               _pljgmStartTime-              (Just _pljgmPp)               _pljgmAccessToken               _pljgmUploadType-              _pljgmBearerToken               _pljgmCallback               (Just AltJSON)               dataflowService
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/List.hs view
@@ -20,9 +20,9 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- List the jobs of a project.+-- List the jobs of a project in a given region. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.list@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.list@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List     (     -- * REST Resource@@ -36,10 +36,8 @@     , pljlXgafv     , pljlUploadProtocol     , pljlLocation-    , pljlPp     , pljlAccessToken     , pljlUploadType-    , pljlBearerToken     , pljlView     , pljlFilter     , pljlPageToken@@ -60,31 +58,27 @@            "locations" :>              Capture "location" Text :>                "jobs" :>-                 QueryParam "$.xgafv" Text :>+                 QueryParam "$.xgafv" Xgafv :>                    QueryParam "upload_protocol" Text :>-                     QueryParam "pp" Bool :>-                       QueryParam "access_token" Text :>-                         QueryParam "uploadType" Text :>-                           QueryParam "bearer_token" Text :>-                             QueryParam "view" Text :>-                               QueryParam "filter" Text :>-                                 QueryParam "pageToken" Text :>-                                   QueryParam "pageSize" (Textual Int32) :>-                                     QueryParam "callback" Text :>-                                       QueryParam "alt" AltJSON :>-                                         Get '[JSON] ListJobsResponse+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "view" Text :>+                           QueryParam "filter" Text :>+                             QueryParam "pageToken" Text :>+                               QueryParam "pageSize" (Textual Int32) :>+                                 QueryParam "callback" Text :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] ListJobsResponse --- | List the jobs of a project.+-- | List the jobs of a project in a given region. -- -- /See:/ 'projectsLocationsJobsList' smart constructor. data ProjectsLocationsJobsList = ProjectsLocationsJobsList'-    { _pljlXgafv          :: !(Maybe Text)+    { _pljlXgafv          :: !(Maybe Xgafv)     , _pljlUploadProtocol :: !(Maybe Text)     , _pljlLocation       :: !Text-    , _pljlPp             :: !Bool     , _pljlAccessToken    :: !(Maybe Text)     , _pljlUploadType     :: !(Maybe Text)-    , _pljlBearerToken    :: !(Maybe Text)     , _pljlView           :: !(Maybe Text)     , _pljlFilter         :: !(Maybe Text)     , _pljlPageToken      :: !(Maybe Text)@@ -103,14 +97,10 @@ -- -- * 'pljlLocation' ----- * 'pljlPp'--- -- * 'pljlAccessToken' -- -- * 'pljlUploadType' ----- * 'pljlBearerToken'--- -- * 'pljlView' -- -- * 'pljlFilter'@@ -131,10 +121,8 @@     { _pljlXgafv = Nothing     , _pljlUploadProtocol = Nothing     , _pljlLocation = pPljlLocation_-    , _pljlPp = True     , _pljlAccessToken = Nothing     , _pljlUploadType = Nothing-    , _pljlBearerToken = Nothing     , _pljlView = Nothing     , _pljlFilter = Nothing     , _pljlPageToken = Nothing@@ -144,7 +132,7 @@     }  -- | V1 error format.-pljlXgafv :: Lens' ProjectsLocationsJobsList (Maybe Text)+pljlXgafv :: Lens' ProjectsLocationsJobsList (Maybe Xgafv) pljlXgafv   = lens _pljlXgafv (\ s a -> s{_pljlXgafv = a}) @@ -159,10 +147,6 @@ pljlLocation   = lens _pljlLocation (\ s a -> s{_pljlLocation = a}) --- | Pretty-print response.-pljlPp :: Lens' ProjectsLocationsJobsList Bool-pljlPp = lens _pljlPp (\ s a -> s{_pljlPp = a})- -- | OAuth access token. pljlAccessToken :: Lens' ProjectsLocationsJobsList (Maybe Text) pljlAccessToken@@ -175,12 +159,6 @@   = lens _pljlUploadType       (\ s a -> s{_pljlUploadType = a}) --- | OAuth bearer token.-pljlBearerToken :: Lens' ProjectsLocationsJobsList (Maybe Text)-pljlBearerToken-  = lens _pljlBearerToken-      (\ s a -> s{_pljlBearerToken = a})- -- | Level of information requested in response. Default is -- \`JOB_VIEW_SUMMARY\`. pljlView :: Lens' ProjectsLocationsJobsList (Maybe Text)@@ -222,14 +200,14 @@         type Rs ProjectsLocationsJobsList = ListJobsResponse         type Scopes ProjectsLocationsJobsList =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsLocationsJobsList'{..}           = go _pljlProjectId _pljlLocation _pljlXgafv               _pljlUploadProtocol-              (Just _pljlPp)               _pljlAccessToken               _pljlUploadType-              _pljlBearerToken               _pljlView               _pljlFilter               _pljlPageToken
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Messages/List.hs view
@@ -22,7 +22,7 @@ -- -- Request the job status. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.messages.list@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.messages.list@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List     (     -- * REST Resource@@ -38,10 +38,8 @@     , pljmlUploadProtocol     , pljmlLocation     , pljmlStartTime-    , pljmlPp     , pljmlAccessToken     , pljmlUploadType-    , pljmlBearerToken     , pljmlEndTime     , pljmlMinimumImportance     , pljmlPageToken@@ -64,37 +62,31 @@                "jobs" :>                  Capture "jobId" Text :>                    "messages" :>-                     QueryParam "$.xgafv" Text :>+                     QueryParam "$.xgafv" Xgafv :>                        QueryParam "upload_protocol" Text :>-                         QueryParam "startTime" Text :>-                           QueryParam "pp" Bool :>-                             QueryParam "access_token" Text :>-                               QueryParam "uploadType" Text :>-                                 QueryParam "bearer_token" Text :>-                                   QueryParam "endTime" Text :>-                                     QueryParam "minimumImportance" Text :>-                                       QueryParam "pageToken" Text :>-                                         QueryParam "pageSize" (Textual Int32)-                                           :>-                                           QueryParam "callback" Text :>-                                             QueryParam "alt" AltJSON :>-                                               Get '[JSON]-                                                 ListJobMessagesResponse+                         QueryParam "startTime" DateTime' :>+                           QueryParam "access_token" Text :>+                             QueryParam "uploadType" Text :>+                               QueryParam "endTime" DateTime' :>+                                 QueryParam "minimumImportance" Text :>+                                   QueryParam "pageToken" Text :>+                                     QueryParam "pageSize" (Textual Int32) :>+                                       QueryParam "callback" Text :>+                                         QueryParam "alt" AltJSON :>+                                           Get '[JSON] ListJobMessagesResponse  -- | Request the job status. -- -- /See:/ 'projectsLocationsJobsMessagesList' smart constructor. data ProjectsLocationsJobsMessagesList = ProjectsLocationsJobsMessagesList'-    { _pljmlXgafv             :: !(Maybe Text)+    { _pljmlXgafv             :: !(Maybe Xgafv)     , _pljmlJobId             :: !Text     , _pljmlUploadProtocol    :: !(Maybe Text)     , _pljmlLocation          :: !Text-    , _pljmlStartTime         :: !(Maybe Text)-    , _pljmlPp                :: !Bool+    , _pljmlStartTime         :: !(Maybe DateTime')     , _pljmlAccessToken       :: !(Maybe Text)     , _pljmlUploadType        :: !(Maybe Text)-    , _pljmlBearerToken       :: !(Maybe Text)-    , _pljmlEndTime           :: !(Maybe Text)+    , _pljmlEndTime           :: !(Maybe DateTime')     , _pljmlMinimumImportance :: !(Maybe Text)     , _pljmlPageToken         :: !(Maybe Text)     , _pljmlProjectId         :: !Text@@ -116,14 +108,10 @@ -- -- * 'pljmlStartTime' ----- * 'pljmlPp'--- -- * 'pljmlAccessToken' -- -- * 'pljmlUploadType' ----- * 'pljmlBearerToken'--- -- * 'pljmlEndTime' -- -- * 'pljmlMinimumImportance'@@ -147,10 +135,8 @@     , _pljmlUploadProtocol = Nothing     , _pljmlLocation = pPljmlLocation_     , _pljmlStartTime = Nothing-    , _pljmlPp = True     , _pljmlAccessToken = Nothing     , _pljmlUploadType = Nothing-    , _pljmlBearerToken = Nothing     , _pljmlEndTime = Nothing     , _pljmlMinimumImportance = Nothing     , _pljmlPageToken = Nothing@@ -160,7 +146,7 @@     }  -- | V1 error format.-pljmlXgafv :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)+pljmlXgafv :: Lens' ProjectsLocationsJobsMessagesList (Maybe Xgafv) pljmlXgafv   = lens _pljmlXgafv (\ s a -> s{_pljmlXgafv = a}) @@ -183,14 +169,11 @@  -- | If specified, return only messages with timestamps >= start_time. The -- default is the job creation time (i.e. beginning of messages).-pljmlStartTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)+pljmlStartTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe UTCTime) pljmlStartTime   = lens _pljmlStartTime       (\ s a -> s{_pljmlStartTime = a})---- | Pretty-print response.-pljmlPp :: Lens' ProjectsLocationsJobsMessagesList Bool-pljmlPp = lens _pljmlPp (\ s a -> s{_pljmlPp = a})+      . mapping _DateTime  -- | OAuth access token. pljmlAccessToken :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)@@ -204,17 +187,12 @@   = lens _pljmlUploadType       (\ s a -> s{_pljmlUploadType = a}) --- | OAuth bearer token.-pljmlBearerToken :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)-pljmlBearerToken-  = lens _pljmlBearerToken-      (\ s a -> s{_pljmlBearerToken = a})- -- | Return only messages with timestamps \< end_time. The default is now -- (i.e. return up to the latest messages available).-pljmlEndTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)+pljmlEndTime :: Lens' ProjectsLocationsJobsMessagesList (Maybe UTCTime) pljmlEndTime   = lens _pljmlEndTime (\ s a -> s{_pljmlEndTime = a})+      . mapping _DateTime  -- | Filter to only get messages with importance >= level pljmlMinimumImportance :: Lens' ProjectsLocationsJobsMessagesList (Maybe Text)@@ -256,16 +234,16 @@              ListJobMessagesResponse         type Scopes ProjectsLocationsJobsMessagesList =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsLocationsJobsMessagesList'{..}           = go _pljmlProjectId _pljmlLocation _pljmlJobId               _pljmlXgafv               _pljmlUploadProtocol               _pljmlStartTime-              (Just _pljmlPp)               _pljmlAccessToken               _pljmlUploadType-              _pljmlBearerToken               _pljmlEndTime               _pljmlMinimumImportance               _pljmlPageToken
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Snapshot.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Snapshot the state of a streaming job.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.snapshot@.+module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot+    (+    -- * REST Resource+      ProjectsLocationsJobsSnapshotResource++    -- * Creating a Request+    , projectsLocationsJobsSnapshot+    , ProjectsLocationsJobsSnapshot++    -- * Request Lenses+    , pljsXgafv+    , pljsJobId+    , pljsUploadProtocol+    , pljsLocation+    , pljsAccessToken+    , pljsUploadType+    , pljsPayload+    , pljsProjectId+    , pljsCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.jobs.snapshot@ method which the+-- 'ProjectsLocationsJobsSnapshot' request conforms to.+type ProjectsLocationsJobsSnapshotResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "jobs" :>+                 CaptureMode "jobId" "snapshot" Text :>+                   QueryParam "$.xgafv" Xgafv :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               ReqBody '[JSON] SnapshotJobRequest :>+                                 Post '[JSON] Snapshot++-- | Snapshot the state of a streaming job.+--+-- /See:/ 'projectsLocationsJobsSnapshot' smart constructor.+data ProjectsLocationsJobsSnapshot = ProjectsLocationsJobsSnapshot'+    { _pljsXgafv          :: !(Maybe Xgafv)+    , _pljsJobId          :: !Text+    , _pljsUploadProtocol :: !(Maybe Text)+    , _pljsLocation       :: !Text+    , _pljsAccessToken    :: !(Maybe Text)+    , _pljsUploadType     :: !(Maybe Text)+    , _pljsPayload        :: !SnapshotJobRequest+    , _pljsProjectId      :: !Text+    , _pljsCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljsXgafv'+--+-- * 'pljsJobId'+--+-- * 'pljsUploadProtocol'+--+-- * 'pljsLocation'+--+-- * 'pljsAccessToken'+--+-- * 'pljsUploadType'+--+-- * 'pljsPayload'+--+-- * 'pljsProjectId'+--+-- * 'pljsCallback'+projectsLocationsJobsSnapshot+    :: Text -- ^ 'pljsJobId'+    -> Text -- ^ 'pljsLocation'+    -> SnapshotJobRequest -- ^ 'pljsPayload'+    -> Text -- ^ 'pljsProjectId'+    -> ProjectsLocationsJobsSnapshot+projectsLocationsJobsSnapshot pPljsJobId_ pPljsLocation_ pPljsPayload_ pPljsProjectId_ =+    ProjectsLocationsJobsSnapshot'+    { _pljsXgafv = Nothing+    , _pljsJobId = pPljsJobId_+    , _pljsUploadProtocol = Nothing+    , _pljsLocation = pPljsLocation_+    , _pljsAccessToken = Nothing+    , _pljsUploadType = Nothing+    , _pljsPayload = pPljsPayload_+    , _pljsProjectId = pPljsProjectId_+    , _pljsCallback = Nothing+    }++-- | V1 error format.+pljsXgafv :: Lens' ProjectsLocationsJobsSnapshot (Maybe Xgafv)+pljsXgafv+  = lens _pljsXgafv (\ s a -> s{_pljsXgafv = a})++-- | The job to be snapshotted.+pljsJobId :: Lens' ProjectsLocationsJobsSnapshot Text+pljsJobId+  = lens _pljsJobId (\ s a -> s{_pljsJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljsUploadProtocol :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)+pljsUploadProtocol+  = lens _pljsUploadProtocol+      (\ s a -> s{_pljsUploadProtocol = a})++-- | The location that contains this job.+pljsLocation :: Lens' ProjectsLocationsJobsSnapshot Text+pljsLocation+  = lens _pljsLocation (\ s a -> s{_pljsLocation = a})++-- | OAuth access token.+pljsAccessToken :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)+pljsAccessToken+  = lens _pljsAccessToken+      (\ s a -> s{_pljsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljsUploadType :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)+pljsUploadType+  = lens _pljsUploadType+      (\ s a -> s{_pljsUploadType = a})++-- | Multipart request metadata.+pljsPayload :: Lens' ProjectsLocationsJobsSnapshot SnapshotJobRequest+pljsPayload+  = lens _pljsPayload (\ s a -> s{_pljsPayload = a})++-- | The project which owns the job to be snapshotted.+pljsProjectId :: Lens' ProjectsLocationsJobsSnapshot Text+pljsProjectId+  = lens _pljsProjectId+      (\ s a -> s{_pljsProjectId = a})++-- | JSONP+pljsCallback :: Lens' ProjectsLocationsJobsSnapshot (Maybe Text)+pljsCallback+  = lens _pljsCallback (\ s a -> s{_pljsCallback = a})++instance GoogleRequest ProjectsLocationsJobsSnapshot+         where+        type Rs ProjectsLocationsJobsSnapshot = Snapshot+        type Scopes ProjectsLocationsJobsSnapshot =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsLocationsJobsSnapshot'{..}+          = go _pljsProjectId _pljsLocation _pljsJobId+              _pljsXgafv+              _pljsUploadProtocol+              _pljsAccessToken+              _pljsUploadType+              _pljsCallback+              (Just AltJSON)+              _pljsPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsJobsSnapshotResource)+                      mempty
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Update.hs view
@@ -22,7 +22,7 @@ -- -- Updates the state of an existing Cloud Dataflow job. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.update@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.update@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update     (     -- * REST Resource@@ -37,11 +37,9 @@     , pljuJobId     , pljuUploadProtocol     , pljuLocation-    , pljuPp     , pljuAccessToken     , pljuUploadType     , pljuPayload-    , pljuBearerToken     , pljuProjectId     , pljuCallback     ) where@@ -59,29 +57,25 @@              Capture "location" Text :>                "jobs" :>                  Capture "jobId" Text :>-                   QueryParam "$.xgafv" Text :>+                   QueryParam "$.xgafv" Xgafv :>                      QueryParam "upload_protocol" Text :>-                       QueryParam "pp" Bool :>-                         QueryParam "access_token" Text :>-                           QueryParam "uploadType" Text :>-                             QueryParam "bearer_token" Text :>-                               QueryParam "callback" Text :>-                                 QueryParam "alt" AltJSON :>-                                   ReqBody '[JSON] Job :> Put '[JSON] Job+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               ReqBody '[JSON] Job :> Put '[JSON] Job  -- | Updates the state of an existing Cloud Dataflow job. -- -- /See:/ 'projectsLocationsJobsUpdate' smart constructor. data ProjectsLocationsJobsUpdate = ProjectsLocationsJobsUpdate'-    { _pljuXgafv          :: !(Maybe Text)+    { _pljuXgafv          :: !(Maybe Xgafv)     , _pljuJobId          :: !Text     , _pljuUploadProtocol :: !(Maybe Text)     , _pljuLocation       :: !Text-    , _pljuPp             :: !Bool     , _pljuAccessToken    :: !(Maybe Text)     , _pljuUploadType     :: !(Maybe Text)     , _pljuPayload        :: !Job-    , _pljuBearerToken    :: !(Maybe Text)     , _pljuProjectId      :: !Text     , _pljuCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -98,16 +92,12 @@ -- -- * 'pljuLocation' ----- * 'pljuPp'--- -- * 'pljuAccessToken' -- -- * 'pljuUploadType' -- -- * 'pljuPayload' ----- * 'pljuBearerToken'--- -- * 'pljuProjectId' -- -- * 'pljuCallback'@@ -123,17 +113,15 @@     , _pljuJobId = pPljuJobId_     , _pljuUploadProtocol = Nothing     , _pljuLocation = pPljuLocation_-    , _pljuPp = True     , _pljuAccessToken = Nothing     , _pljuUploadType = Nothing     , _pljuPayload = pPljuPayload_-    , _pljuBearerToken = Nothing     , _pljuProjectId = pPljuProjectId_     , _pljuCallback = Nothing     }  -- | V1 error format.-pljuXgafv :: Lens' ProjectsLocationsJobsUpdate (Maybe Text)+pljuXgafv :: Lens' ProjectsLocationsJobsUpdate (Maybe Xgafv) pljuXgafv   = lens _pljuXgafv (\ s a -> s{_pljuXgafv = a}) @@ -153,10 +141,6 @@ pljuLocation   = lens _pljuLocation (\ s a -> s{_pljuLocation = a}) --- | Pretty-print response.-pljuPp :: Lens' ProjectsLocationsJobsUpdate Bool-pljuPp = lens _pljuPp (\ s a -> s{_pljuPp = a})- -- | OAuth access token. pljuAccessToken :: Lens' ProjectsLocationsJobsUpdate (Maybe Text) pljuAccessToken@@ -174,12 +158,6 @@ pljuPayload   = lens _pljuPayload (\ s a -> s{_pljuPayload = a}) --- | OAuth bearer token.-pljuBearerToken :: Lens' ProjectsLocationsJobsUpdate (Maybe Text)-pljuBearerToken-  = lens _pljuBearerToken-      (\ s a -> s{_pljuBearerToken = a})- -- | The ID of the Cloud Platform project that the job belongs to. pljuProjectId :: Lens' ProjectsLocationsJobsUpdate Text pljuProjectId@@ -196,15 +174,15 @@         type Rs ProjectsLocationsJobsUpdate = Job         type Scopes ProjectsLocationsJobsUpdate =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsLocationsJobsUpdate'{..}           = go _pljuProjectId _pljuLocation _pljuJobId               _pljuXgafv               _pljuUploadProtocol-              (Just _pljuPp)               _pljuAccessToken               _pljuUploadType-              _pljuBearerToken               _pljuCallback               (Just AltJSON)               _pljuPayload
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/WorkItems/Lease.hs view
@@ -22,7 +22,7 @@ -- -- Leases a dataflow WorkItem to run. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.workItems.lease@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.workItems.lease@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease     (     -- * REST Resource@@ -37,11 +37,9 @@     , pljwilJobId     , pljwilUploadProtocol     , pljwilLocation-    , pljwilPp     , pljwilAccessToken     , pljwilUploadType     , pljwilPayload-    , pljwilBearerToken     , pljwilProjectId     , pljwilCallback     ) where@@ -60,30 +58,26 @@                "jobs" :>                  Capture "jobId" Text :>                    "workItems:lease" :>-                     QueryParam "$.xgafv" Text :>+                     QueryParam "$.xgafv" Xgafv :>                        QueryParam "upload_protocol" Text :>-                         QueryParam "pp" Bool :>-                           QueryParam "access_token" Text :>-                             QueryParam "uploadType" Text :>-                               QueryParam "bearer_token" Text :>-                                 QueryParam "callback" Text :>-                                   QueryParam "alt" AltJSON :>-                                     ReqBody '[JSON] LeaseWorkItemRequest :>-                                       Post '[JSON] LeaseWorkItemResponse+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] LeaseWorkItemRequest :>+                                   Post '[JSON] LeaseWorkItemResponse  -- | Leases a dataflow WorkItem to run. -- -- /See:/ 'projectsLocationsJobsWorkItemsLease' smart constructor. data ProjectsLocationsJobsWorkItemsLease = ProjectsLocationsJobsWorkItemsLease'-    { _pljwilXgafv          :: !(Maybe Text)+    { _pljwilXgafv          :: !(Maybe Xgafv)     , _pljwilJobId          :: !Text     , _pljwilUploadProtocol :: !(Maybe Text)     , _pljwilLocation       :: !Text-    , _pljwilPp             :: !Bool     , _pljwilAccessToken    :: !(Maybe Text)     , _pljwilUploadType     :: !(Maybe Text)     , _pljwilPayload        :: !LeaseWorkItemRequest-    , _pljwilBearerToken    :: !(Maybe Text)     , _pljwilProjectId      :: !Text     , _pljwilCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -100,16 +94,12 @@ -- -- * 'pljwilLocation' ----- * 'pljwilPp'--- -- * 'pljwilAccessToken' -- -- * 'pljwilUploadType' -- -- * 'pljwilPayload' ----- * 'pljwilBearerToken'--- -- * 'pljwilProjectId' -- -- * 'pljwilCallback'@@ -125,17 +115,15 @@     , _pljwilJobId = pPljwilJobId_     , _pljwilUploadProtocol = Nothing     , _pljwilLocation = pPljwilLocation_-    , _pljwilPp = True     , _pljwilAccessToken = Nothing     , _pljwilUploadType = Nothing     , _pljwilPayload = pPljwilPayload_-    , _pljwilBearerToken = Nothing     , _pljwilProjectId = pPljwilProjectId_     , _pljwilCallback = Nothing     }  -- | V1 error format.-pljwilXgafv :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Text)+pljwilXgafv :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Xgafv) pljwilXgafv   = lens _pljwilXgafv (\ s a -> s{_pljwilXgafv = a}) @@ -156,10 +144,6 @@   = lens _pljwilLocation       (\ s a -> s{_pljwilLocation = a}) --- | Pretty-print response.-pljwilPp :: Lens' ProjectsLocationsJobsWorkItemsLease Bool-pljwilPp = lens _pljwilPp (\ s a -> s{_pljwilPp = a})- -- | OAuth access token. pljwilAccessToken :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Text) pljwilAccessToken@@ -178,12 +162,6 @@   = lens _pljwilPayload       (\ s a -> s{_pljwilPayload = a}) --- | OAuth bearer token.-pljwilBearerToken :: Lens' ProjectsLocationsJobsWorkItemsLease (Maybe Text)-pljwilBearerToken-  = lens _pljwilBearerToken-      (\ s a -> s{_pljwilBearerToken = a})- -- | Identifies the project this worker belongs to. pljwilProjectId :: Lens' ProjectsLocationsJobsWorkItemsLease Text pljwilProjectId@@ -202,16 +180,16 @@              LeaseWorkItemResponse         type Scopes ProjectsLocationsJobsWorkItemsLease =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient           ProjectsLocationsJobsWorkItemsLease'{..}           = go _pljwilProjectId _pljwilLocation _pljwilJobId               _pljwilXgafv               _pljwilUploadProtocol-              (Just _pljwilPp)               _pljwilAccessToken               _pljwilUploadType-              _pljwilBearerToken               _pljwilCallback               (Just AltJSON)               _pljwilPayload
gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/WorkItems/ReportStatus.hs view
@@ -22,7 +22,7 @@ -- -- Reports the status of dataflow WorkItems leased by a worker. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.locations.jobs.workItems.reportStatus@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.jobs.workItems.reportStatus@. module Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus     (     -- * REST Resource@@ -37,11 +37,9 @@     , pljwirsJobId     , pljwirsUploadProtocol     , pljwirsLocation-    , pljwirsPp     , pljwirsAccessToken     , pljwirsUploadType     , pljwirsPayload-    , pljwirsBearerToken     , pljwirsProjectId     , pljwirsCallback     ) where@@ -61,31 +59,26 @@                "jobs" :>                  Capture "jobId" Text :>                    "workItems:reportStatus" :>-                     QueryParam "$.xgafv" Text :>+                     QueryParam "$.xgafv" Xgafv :>                        QueryParam "upload_protocol" Text :>-                         QueryParam "pp" Bool :>-                           QueryParam "access_token" Text :>-                             QueryParam "uploadType" Text :>-                               QueryParam "bearer_token" Text :>-                                 QueryParam "callback" Text :>-                                   QueryParam "alt" AltJSON :>-                                     ReqBody '[JSON] ReportWorkItemStatusRequest-                                       :>-                                       Post '[JSON] ReportWorkItemStatusResponse+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] ReportWorkItemStatusRequest :>+                                   Post '[JSON] ReportWorkItemStatusResponse  -- | Reports the status of dataflow WorkItems leased by a worker. -- -- /See:/ 'projectsLocationsJobsWorkItemsReportStatus' smart constructor. data ProjectsLocationsJobsWorkItemsReportStatus = ProjectsLocationsJobsWorkItemsReportStatus'-    { _pljwirsXgafv          :: !(Maybe Text)+    { _pljwirsXgafv          :: !(Maybe Xgafv)     , _pljwirsJobId          :: !Text     , _pljwirsUploadProtocol :: !(Maybe Text)     , _pljwirsLocation       :: !Text-    , _pljwirsPp             :: !Bool     , _pljwirsAccessToken    :: !(Maybe Text)     , _pljwirsUploadType     :: !(Maybe Text)     , _pljwirsPayload        :: !ReportWorkItemStatusRequest-    , _pljwirsBearerToken    :: !(Maybe Text)     , _pljwirsProjectId      :: !Text     , _pljwirsCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -102,16 +95,12 @@ -- -- * 'pljwirsLocation' ----- * 'pljwirsPp'--- -- * 'pljwirsAccessToken' -- -- * 'pljwirsUploadType' -- -- * 'pljwirsPayload' ----- * 'pljwirsBearerToken'--- -- * 'pljwirsProjectId' -- -- * 'pljwirsCallback'@@ -127,17 +116,15 @@     , _pljwirsJobId = pPljwirsJobId_     , _pljwirsUploadProtocol = Nothing     , _pljwirsLocation = pPljwirsLocation_-    , _pljwirsPp = True     , _pljwirsAccessToken = Nothing     , _pljwirsUploadType = Nothing     , _pljwirsPayload = pPljwirsPayload_-    , _pljwirsBearerToken = Nothing     , _pljwirsProjectId = pPljwirsProjectId_     , _pljwirsCallback = Nothing     }  -- | V1 error format.-pljwirsXgafv :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Text)+pljwirsXgafv :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Xgafv) pljwirsXgafv   = lens _pljwirsXgafv (\ s a -> s{_pljwirsXgafv = a}) @@ -158,11 +145,6 @@   = lens _pljwirsLocation       (\ s a -> s{_pljwirsLocation = a}) --- | Pretty-print response.-pljwirsPp :: Lens' ProjectsLocationsJobsWorkItemsReportStatus Bool-pljwirsPp-  = lens _pljwirsPp (\ s a -> s{_pljwirsPp = a})- -- | OAuth access token. pljwirsAccessToken :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Text) pljwirsAccessToken@@ -181,12 +163,6 @@   = lens _pljwirsPayload       (\ s a -> s{_pljwirsPayload = a}) --- | OAuth bearer token.-pljwirsBearerToken :: Lens' ProjectsLocationsJobsWorkItemsReportStatus (Maybe Text)-pljwirsBearerToken-  = lens _pljwirsBearerToken-      (\ s a -> s{_pljwirsBearerToken = a})- -- | The project which owns the WorkItem\'s job. pljwirsProjectId :: Lens' ProjectsLocationsJobsWorkItemsReportStatus Text pljwirsProjectId@@ -207,16 +183,16 @@                ProjectsLocationsJobsWorkItemsReportStatus              =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient           ProjectsLocationsJobsWorkItemsReportStatus'{..}           = go _pljwirsProjectId _pljwirsLocation _pljwirsJobId               _pljwirsXgafv               _pljwirsUploadProtocol-              (Just _pljwirsPp)               _pljwirsAccessToken               _pljwirsUploadType-              _pljwirsBearerToken               _pljwirsCallback               (Just AltJSON)               _pljwirsPayload
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/Templates/Create.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Cloud Dataflow job from a template.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.templates.create@.+module Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create+    (+    -- * REST Resource+      ProjectsLocationsTemplatesCreateResource++    -- * Creating a Request+    , projectsLocationsTemplatesCreate+    , ProjectsLocationsTemplatesCreate++    -- * Request Lenses+    , pltcXgafv+    , pltcUploadProtocol+    , pltcLocation+    , pltcAccessToken+    , pltcUploadType+    , pltcPayload+    , pltcProjectId+    , pltcCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.templates.create@ method which the+-- 'ProjectsLocationsTemplatesCreate' request conforms to.+type ProjectsLocationsTemplatesCreateResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "templates" :>+                 QueryParam "$.xgafv" Xgafv :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] CreateJobFromTemplateRequest :>+                               Post '[JSON] Job++-- | Creates a Cloud Dataflow job from a template.+--+-- /See:/ 'projectsLocationsTemplatesCreate' smart constructor.+data ProjectsLocationsTemplatesCreate = ProjectsLocationsTemplatesCreate'+    { _pltcXgafv          :: !(Maybe Xgafv)+    , _pltcUploadProtocol :: !(Maybe Text)+    , _pltcLocation       :: !Text+    , _pltcAccessToken    :: !(Maybe Text)+    , _pltcUploadType     :: !(Maybe Text)+    , _pltcPayload        :: !CreateJobFromTemplateRequest+    , _pltcProjectId      :: !Text+    , _pltcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsTemplatesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pltcXgafv'+--+-- * 'pltcUploadProtocol'+--+-- * 'pltcLocation'+--+-- * 'pltcAccessToken'+--+-- * 'pltcUploadType'+--+-- * 'pltcPayload'+--+-- * 'pltcProjectId'+--+-- * 'pltcCallback'+projectsLocationsTemplatesCreate+    :: Text -- ^ 'pltcLocation'+    -> CreateJobFromTemplateRequest -- ^ 'pltcPayload'+    -> Text -- ^ 'pltcProjectId'+    -> ProjectsLocationsTemplatesCreate+projectsLocationsTemplatesCreate pPltcLocation_ pPltcPayload_ pPltcProjectId_ =+    ProjectsLocationsTemplatesCreate'+    { _pltcXgafv = Nothing+    , _pltcUploadProtocol = Nothing+    , _pltcLocation = pPltcLocation_+    , _pltcAccessToken = Nothing+    , _pltcUploadType = Nothing+    , _pltcPayload = pPltcPayload_+    , _pltcProjectId = pPltcProjectId_+    , _pltcCallback = Nothing+    }++-- | V1 error format.+pltcXgafv :: Lens' ProjectsLocationsTemplatesCreate (Maybe Xgafv)+pltcXgafv+  = lens _pltcXgafv (\ s a -> s{_pltcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pltcUploadProtocol :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)+pltcUploadProtocol+  = lens _pltcUploadProtocol+      (\ s a -> s{_pltcUploadProtocol = a})++-- | The location to which to direct the request.+pltcLocation :: Lens' ProjectsLocationsTemplatesCreate Text+pltcLocation+  = lens _pltcLocation (\ s a -> s{_pltcLocation = a})++-- | OAuth access token.+pltcAccessToken :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)+pltcAccessToken+  = lens _pltcAccessToken+      (\ s a -> s{_pltcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pltcUploadType :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)+pltcUploadType+  = lens _pltcUploadType+      (\ s a -> s{_pltcUploadType = a})++-- | Multipart request metadata.+pltcPayload :: Lens' ProjectsLocationsTemplatesCreate CreateJobFromTemplateRequest+pltcPayload+  = lens _pltcPayload (\ s a -> s{_pltcPayload = a})++-- | Required. The ID of the Cloud Platform project that the job belongs to.+pltcProjectId :: Lens' ProjectsLocationsTemplatesCreate Text+pltcProjectId+  = lens _pltcProjectId+      (\ s a -> s{_pltcProjectId = a})++-- | JSONP+pltcCallback :: Lens' ProjectsLocationsTemplatesCreate (Maybe Text)+pltcCallback+  = lens _pltcCallback (\ s a -> s{_pltcCallback = a})++instance GoogleRequest+         ProjectsLocationsTemplatesCreate where+        type Rs ProjectsLocationsTemplatesCreate = Job+        type Scopes ProjectsLocationsTemplatesCreate =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsLocationsTemplatesCreate'{..}+          = go _pltcProjectId _pltcLocation _pltcXgafv+              _pltcUploadProtocol+              _pltcAccessToken+              _pltcUploadType+              _pltcCallback+              (Just AltJSON)+              _pltcPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsTemplatesCreateResource)+                      mempty
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/Templates/Get.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the template associated with a template.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.templates.get@.+module Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get+    (+    -- * REST Resource+      ProjectsLocationsTemplatesGetResource++    -- * Creating a Request+    , projectsLocationsTemplatesGet+    , ProjectsLocationsTemplatesGet++    -- * Request Lenses+    , pltgXgafv+    , pltgUploadProtocol+    , pltgLocation+    , pltgAccessToken+    , pltgUploadType+    , pltgGcsPath+    , pltgView+    , pltgProjectId+    , pltgCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.templates.get@ method which the+-- 'ProjectsLocationsTemplatesGet' request conforms to.+type ProjectsLocationsTemplatesGetResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "templates:get" :>+                 QueryParam "$.xgafv" Xgafv :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "gcsPath" Text :>+                           QueryParam "view" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] GetTemplateResponse++-- | Get the template associated with a template.+--+-- /See:/ 'projectsLocationsTemplatesGet' smart constructor.+data ProjectsLocationsTemplatesGet = ProjectsLocationsTemplatesGet'+    { _pltgXgafv          :: !(Maybe Xgafv)+    , _pltgUploadProtocol :: !(Maybe Text)+    , _pltgLocation       :: !Text+    , _pltgAccessToken    :: !(Maybe Text)+    , _pltgUploadType     :: !(Maybe Text)+    , _pltgGcsPath        :: !(Maybe Text)+    , _pltgView           :: !(Maybe Text)+    , _pltgProjectId      :: !Text+    , _pltgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsTemplatesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pltgXgafv'+--+-- * 'pltgUploadProtocol'+--+-- * 'pltgLocation'+--+-- * 'pltgAccessToken'+--+-- * 'pltgUploadType'+--+-- * 'pltgGcsPath'+--+-- * 'pltgView'+--+-- * 'pltgProjectId'+--+-- * 'pltgCallback'+projectsLocationsTemplatesGet+    :: Text -- ^ 'pltgLocation'+    -> Text -- ^ 'pltgProjectId'+    -> ProjectsLocationsTemplatesGet+projectsLocationsTemplatesGet pPltgLocation_ pPltgProjectId_ =+    ProjectsLocationsTemplatesGet'+    { _pltgXgafv = Nothing+    , _pltgUploadProtocol = Nothing+    , _pltgLocation = pPltgLocation_+    , _pltgAccessToken = Nothing+    , _pltgUploadType = Nothing+    , _pltgGcsPath = Nothing+    , _pltgView = Nothing+    , _pltgProjectId = pPltgProjectId_+    , _pltgCallback = Nothing+    }++-- | V1 error format.+pltgXgafv :: Lens' ProjectsLocationsTemplatesGet (Maybe Xgafv)+pltgXgafv+  = lens _pltgXgafv (\ s a -> s{_pltgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pltgUploadProtocol :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)+pltgUploadProtocol+  = lens _pltgUploadProtocol+      (\ s a -> s{_pltgUploadProtocol = a})++-- | The location to which to direct the request.+pltgLocation :: Lens' ProjectsLocationsTemplatesGet Text+pltgLocation+  = lens _pltgLocation (\ s a -> s{_pltgLocation = a})++-- | OAuth access token.+pltgAccessToken :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)+pltgAccessToken+  = lens _pltgAccessToken+      (\ s a -> s{_pltgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pltgUploadType :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)+pltgUploadType+  = lens _pltgUploadType+      (\ s a -> s{_pltgUploadType = a})++-- | Required. A Cloud Storage path to the template from which to create the+-- job. Must be valid Cloud Storage URL, beginning with \'gs:\/\/\'.+pltgGcsPath :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)+pltgGcsPath+  = lens _pltgGcsPath (\ s a -> s{_pltgGcsPath = a})++-- | The view to retrieve. Defaults to METADATA_ONLY.+pltgView :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)+pltgView = lens _pltgView (\ s a -> s{_pltgView = a})++-- | Required. The ID of the Cloud Platform project that the job belongs to.+pltgProjectId :: Lens' ProjectsLocationsTemplatesGet Text+pltgProjectId+  = lens _pltgProjectId+      (\ s a -> s{_pltgProjectId = a})++-- | JSONP+pltgCallback :: Lens' ProjectsLocationsTemplatesGet (Maybe Text)+pltgCallback+  = lens _pltgCallback (\ s a -> s{_pltgCallback = a})++instance GoogleRequest ProjectsLocationsTemplatesGet+         where+        type Rs ProjectsLocationsTemplatesGet =+             GetTemplateResponse+        type Scopes ProjectsLocationsTemplatesGet =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsLocationsTemplatesGet'{..}+          = go _pltgProjectId _pltgLocation _pltgXgafv+              _pltgUploadProtocol+              _pltgAccessToken+              _pltgUploadType+              _pltgGcsPath+              _pltgView+              _pltgCallback+              (Just AltJSON)+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsTemplatesGetResource)+                      mempty
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/Templates/Launch.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Launch a template.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.templates.launch@.+module Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch+    (+    -- * REST Resource+      ProjectsLocationsTemplatesLaunchResource++    -- * Creating a Request+    , projectsLocationsTemplatesLaunch+    , ProjectsLocationsTemplatesLaunch++    -- * Request Lenses+    , pltlXgafv+    , pltlValidateOnly+    , pltlUploadProtocol+    , pltlLocation+    , pltlAccessToken+    , pltlUploadType+    , pltlPayload+    , pltlDynamicTemplateStagingLocation+    , pltlGcsPath+    , pltlProjectId+    , pltlCallback+    , pltlDynamicTemplateGcsPath+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.templates.launch@ method which the+-- 'ProjectsLocationsTemplatesLaunch' request conforms to.+type ProjectsLocationsTemplatesLaunchResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "templates:launch" :>+                 QueryParam "$.xgafv" Xgafv :>+                   QueryParam "validateOnly" Bool :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "dynamicTemplate.stagingLocation" Text :>+                             QueryParam "gcsPath" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "dynamicTemplate.gcsPath" Text :>+                                   QueryParam "alt" AltJSON :>+                                     ReqBody '[JSON] LaunchTemplateParameters :>+                                       Post '[JSON] LaunchTemplateResponse++-- | Launch a template.+--+-- /See:/ 'projectsLocationsTemplatesLaunch' smart constructor.+data ProjectsLocationsTemplatesLaunch = ProjectsLocationsTemplatesLaunch'+    { _pltlXgafv                          :: !(Maybe Xgafv)+    , _pltlValidateOnly                   :: !(Maybe Bool)+    , _pltlUploadProtocol                 :: !(Maybe Text)+    , _pltlLocation                       :: !Text+    , _pltlAccessToken                    :: !(Maybe Text)+    , _pltlUploadType                     :: !(Maybe Text)+    , _pltlPayload                        :: !LaunchTemplateParameters+    , _pltlDynamicTemplateStagingLocation :: !(Maybe Text)+    , _pltlGcsPath                        :: !(Maybe Text)+    , _pltlProjectId                      :: !Text+    , _pltlCallback                       :: !(Maybe Text)+    , _pltlDynamicTemplateGcsPath         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsTemplatesLaunch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pltlXgafv'+--+-- * 'pltlValidateOnly'+--+-- * 'pltlUploadProtocol'+--+-- * 'pltlLocation'+--+-- * 'pltlAccessToken'+--+-- * 'pltlUploadType'+--+-- * 'pltlPayload'+--+-- * 'pltlDynamicTemplateStagingLocation'+--+-- * 'pltlGcsPath'+--+-- * 'pltlProjectId'+--+-- * 'pltlCallback'+--+-- * 'pltlDynamicTemplateGcsPath'+projectsLocationsTemplatesLaunch+    :: Text -- ^ 'pltlLocation'+    -> LaunchTemplateParameters -- ^ 'pltlPayload'+    -> Text -- ^ 'pltlProjectId'+    -> ProjectsLocationsTemplatesLaunch+projectsLocationsTemplatesLaunch pPltlLocation_ pPltlPayload_ pPltlProjectId_ =+    ProjectsLocationsTemplatesLaunch'+    { _pltlXgafv = Nothing+    , _pltlValidateOnly = Nothing+    , _pltlUploadProtocol = Nothing+    , _pltlLocation = pPltlLocation_+    , _pltlAccessToken = Nothing+    , _pltlUploadType = Nothing+    , _pltlPayload = pPltlPayload_+    , _pltlDynamicTemplateStagingLocation = Nothing+    , _pltlGcsPath = Nothing+    , _pltlProjectId = pPltlProjectId_+    , _pltlCallback = Nothing+    , _pltlDynamicTemplateGcsPath = Nothing+    }++-- | V1 error format.+pltlXgafv :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Xgafv)+pltlXgafv+  = lens _pltlXgafv (\ s a -> s{_pltlXgafv = a})++-- | If true, the request is validated but not actually executed. Defaults to+-- false.+pltlValidateOnly :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Bool)+pltlValidateOnly+  = lens _pltlValidateOnly+      (\ s a -> s{_pltlValidateOnly = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pltlUploadProtocol :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlUploadProtocol+  = lens _pltlUploadProtocol+      (\ s a -> s{_pltlUploadProtocol = a})++-- | The location to which to direct the request.+pltlLocation :: Lens' ProjectsLocationsTemplatesLaunch Text+pltlLocation+  = lens _pltlLocation (\ s a -> s{_pltlLocation = a})++-- | OAuth access token.+pltlAccessToken :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlAccessToken+  = lens _pltlAccessToken+      (\ s a -> s{_pltlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pltlUploadType :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlUploadType+  = lens _pltlUploadType+      (\ s a -> s{_pltlUploadType = a})++-- | Multipart request metadata.+pltlPayload :: Lens' ProjectsLocationsTemplatesLaunch LaunchTemplateParameters+pltlPayload+  = lens _pltlPayload (\ s a -> s{_pltlPayload = a})++-- | Cloud Storage path for staging dependencies. Must be a valid Cloud+-- Storage URL, beginning with \`gs:\/\/\`.+pltlDynamicTemplateStagingLocation :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlDynamicTemplateStagingLocation+  = lens _pltlDynamicTemplateStagingLocation+      (\ s a -> s{_pltlDynamicTemplateStagingLocation = a})++-- | A Cloud Storage path to the template from which to create the job. Must+-- be valid Cloud Storage URL, beginning with \'gs:\/\/\'.+pltlGcsPath :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlGcsPath+  = lens _pltlGcsPath (\ s a -> s{_pltlGcsPath = a})++-- | Required. The ID of the Cloud Platform project that the job belongs to.+pltlProjectId :: Lens' ProjectsLocationsTemplatesLaunch Text+pltlProjectId+  = lens _pltlProjectId+      (\ s a -> s{_pltlProjectId = a})++-- | JSONP+pltlCallback :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlCallback+  = lens _pltlCallback (\ s a -> s{_pltlCallback = a})++-- | Path to dynamic template spec file on GCS. The file must be a Json+-- serialized DynamicTemplateFieSpec object.+pltlDynamicTemplateGcsPath :: Lens' ProjectsLocationsTemplatesLaunch (Maybe Text)+pltlDynamicTemplateGcsPath+  = lens _pltlDynamicTemplateGcsPath+      (\ s a -> s{_pltlDynamicTemplateGcsPath = a})++instance GoogleRequest+         ProjectsLocationsTemplatesLaunch where+        type Rs ProjectsLocationsTemplatesLaunch =+             LaunchTemplateResponse+        type Scopes ProjectsLocationsTemplatesLaunch =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsLocationsTemplatesLaunch'{..}+          = go _pltlProjectId _pltlLocation _pltlXgafv+              _pltlValidateOnly+              _pltlUploadProtocol+              _pltlAccessToken+              _pltlUploadType+              _pltlDynamicTemplateStagingLocation+              _pltlGcsPath+              _pltlCallback+              _pltlDynamicTemplateGcsPath+              (Just AltJSON)+              _pltlPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsTemplatesLaunchResource)+                      mempty
+ gen/Network/Google/Resource/Dataflow/Projects/Locations/WorkerMessages.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Send a worker_message to the service.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.locations.workerMessages@.+module Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages+    (+    -- * REST Resource+      ProjectsLocationsWorkerMessagesResource++    -- * Creating a Request+    , projectsLocationsWorkerMessages+    , ProjectsLocationsWorkerMessages++    -- * Request Lenses+    , plwmXgafv+    , plwmUploadProtocol+    , plwmLocation+    , plwmAccessToken+    , plwmUploadType+    , plwmPayload+    , plwmProjectId+    , plwmCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.locations.workerMessages@ method which the+-- 'ProjectsLocationsWorkerMessages' request conforms to.+type ProjectsLocationsWorkerMessagesResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "locations" :>+             Capture "location" Text :>+               "WorkerMessages" :>+                 QueryParam "$.xgafv" Xgafv :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] SendWorkerMessagesRequest :>+                               Post '[JSON] SendWorkerMessagesResponse++-- | Send a worker_message to the service.+--+-- /See:/ 'projectsLocationsWorkerMessages' smart constructor.+data ProjectsLocationsWorkerMessages = ProjectsLocationsWorkerMessages'+    { _plwmXgafv          :: !(Maybe Xgafv)+    , _plwmUploadProtocol :: !(Maybe Text)+    , _plwmLocation       :: !Text+    , _plwmAccessToken    :: !(Maybe Text)+    , _plwmUploadType     :: !(Maybe Text)+    , _plwmPayload        :: !SendWorkerMessagesRequest+    , _plwmProjectId      :: !Text+    , _plwmCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsWorkerMessages' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plwmXgafv'+--+-- * 'plwmUploadProtocol'+--+-- * 'plwmLocation'+--+-- * 'plwmAccessToken'+--+-- * 'plwmUploadType'+--+-- * 'plwmPayload'+--+-- * 'plwmProjectId'+--+-- * 'plwmCallback'+projectsLocationsWorkerMessages+    :: Text -- ^ 'plwmLocation'+    -> SendWorkerMessagesRequest -- ^ 'plwmPayload'+    -> Text -- ^ 'plwmProjectId'+    -> ProjectsLocationsWorkerMessages+projectsLocationsWorkerMessages pPlwmLocation_ pPlwmPayload_ pPlwmProjectId_ =+    ProjectsLocationsWorkerMessages'+    { _plwmXgafv = Nothing+    , _plwmUploadProtocol = Nothing+    , _plwmLocation = pPlwmLocation_+    , _plwmAccessToken = Nothing+    , _plwmUploadType = Nothing+    , _plwmPayload = pPlwmPayload_+    , _plwmProjectId = pPlwmProjectId_+    , _plwmCallback = Nothing+    }++-- | V1 error format.+plwmXgafv :: Lens' ProjectsLocationsWorkerMessages (Maybe Xgafv)+plwmXgafv+  = lens _plwmXgafv (\ s a -> s{_plwmXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plwmUploadProtocol :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)+plwmUploadProtocol+  = lens _plwmUploadProtocol+      (\ s a -> s{_plwmUploadProtocol = a})++-- | The location which contains the job+plwmLocation :: Lens' ProjectsLocationsWorkerMessages Text+plwmLocation+  = lens _plwmLocation (\ s a -> s{_plwmLocation = a})++-- | OAuth access token.+plwmAccessToken :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)+plwmAccessToken+  = lens _plwmAccessToken+      (\ s a -> s{_plwmAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plwmUploadType :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)+plwmUploadType+  = lens _plwmUploadType+      (\ s a -> s{_plwmUploadType = a})++-- | Multipart request metadata.+plwmPayload :: Lens' ProjectsLocationsWorkerMessages SendWorkerMessagesRequest+plwmPayload+  = lens _plwmPayload (\ s a -> s{_plwmPayload = a})++-- | The project to send the WorkerMessages to.+plwmProjectId :: Lens' ProjectsLocationsWorkerMessages Text+plwmProjectId+  = lens _plwmProjectId+      (\ s a -> s{_plwmProjectId = a})++-- | JSONP+plwmCallback :: Lens' ProjectsLocationsWorkerMessages (Maybe Text)+plwmCallback+  = lens _plwmCallback (\ s a -> s{_plwmCallback = a})++instance GoogleRequest+         ProjectsLocationsWorkerMessages where+        type Rs ProjectsLocationsWorkerMessages =+             SendWorkerMessagesResponse+        type Scopes ProjectsLocationsWorkerMessages =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsLocationsWorkerMessages'{..}+          = go _plwmProjectId _plwmLocation _plwmXgafv+              _plwmUploadProtocol+              _plwmAccessToken+              _plwmUploadType+              _plwmCallback+              (Just AltJSON)+              _plwmPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsWorkerMessagesResource)+                      mempty
gen/Network/Google/Resource/Dataflow/Projects/Templates/Create.hs view
@@ -22,7 +22,7 @@ -- -- Creates a Cloud Dataflow job from a template. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.templates.create@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.templates.create@. module Network.Google.Resource.Dataflow.Projects.Templates.Create     (     -- * REST Resource@@ -35,11 +35,9 @@     -- * Request Lenses     , ptcXgafv     , ptcUploadProtocol-    , ptcPp     , ptcAccessToken     , ptcUploadType     , ptcPayload-    , ptcBearerToken     , ptcProjectId     , ptcCallback     ) where@@ -54,28 +52,24 @@        "projects" :>          Capture "projectId" Text :>            "templates" :>-             QueryParam "$.xgafv" Text :>+             QueryParam "$.xgafv" Xgafv :>                QueryParam "upload_protocol" Text :>-                 QueryParam "pp" Bool :>-                   QueryParam "access_token" Text :>-                     QueryParam "uploadType" Text :>-                       QueryParam "bearer_token" Text :>-                         QueryParam "callback" Text :>-                           QueryParam "alt" AltJSON :>-                             ReqBody '[JSON] CreateJobFromTemplateRequest :>-                               Post '[JSON] Job+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] CreateJobFromTemplateRequest :>+                           Post '[JSON] Job  -- | Creates a Cloud Dataflow job from a template. -- -- /See:/ 'projectsTemplatesCreate' smart constructor. data ProjectsTemplatesCreate = ProjectsTemplatesCreate'-    { _ptcXgafv          :: !(Maybe Text)+    { _ptcXgafv          :: !(Maybe Xgafv)     , _ptcUploadProtocol :: !(Maybe Text)-    , _ptcPp             :: !Bool     , _ptcAccessToken    :: !(Maybe Text)     , _ptcUploadType     :: !(Maybe Text)     , _ptcPayload        :: !CreateJobFromTemplateRequest-    , _ptcBearerToken    :: !(Maybe Text)     , _ptcProjectId      :: !Text     , _ptcCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -88,16 +82,12 @@ -- -- * 'ptcUploadProtocol' ----- * 'ptcPp'--- -- * 'ptcAccessToken' -- -- * 'ptcUploadType' -- -- * 'ptcPayload' ----- * 'ptcBearerToken'--- -- * 'ptcProjectId' -- -- * 'ptcCallback'@@ -109,17 +99,15 @@     ProjectsTemplatesCreate'     { _ptcXgafv = Nothing     , _ptcUploadProtocol = Nothing-    , _ptcPp = True     , _ptcAccessToken = Nothing     , _ptcUploadType = Nothing     , _ptcPayload = pPtcPayload_-    , _ptcBearerToken = Nothing     , _ptcProjectId = pPtcProjectId_     , _ptcCallback = Nothing     }  -- | V1 error format.-ptcXgafv :: Lens' ProjectsTemplatesCreate (Maybe Text)+ptcXgafv :: Lens' ProjectsTemplatesCreate (Maybe Xgafv) ptcXgafv = lens _ptcXgafv (\ s a -> s{_ptcXgafv = a})  -- | Upload protocol for media (e.g. \"raw\", \"multipart\").@@ -128,10 +116,6 @@   = lens _ptcUploadProtocol       (\ s a -> s{_ptcUploadProtocol = a}) --- | Pretty-print response.-ptcPp :: Lens' ProjectsTemplatesCreate Bool-ptcPp = lens _ptcPp (\ s a -> s{_ptcPp = a})- -- | OAuth access token. ptcAccessToken :: Lens' ProjectsTemplatesCreate (Maybe Text) ptcAccessToken@@ -149,12 +133,6 @@ ptcPayload   = lens _ptcPayload (\ s a -> s{_ptcPayload = a}) --- | OAuth bearer token.-ptcBearerToken :: Lens' ProjectsTemplatesCreate (Maybe Text)-ptcBearerToken-  = lens _ptcBearerToken-      (\ s a -> s{_ptcBearerToken = a})- -- | Required. The ID of the Cloud Platform project that the job belongs to. ptcProjectId :: Lens' ProjectsTemplatesCreate Text ptcProjectId@@ -169,13 +147,13 @@         type Rs ProjectsTemplatesCreate = Job         type Scopes ProjectsTemplatesCreate =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsTemplatesCreate'{..}           = go _ptcProjectId _ptcXgafv _ptcUploadProtocol-              (Just _ptcPp)               _ptcAccessToken               _ptcUploadType-              _ptcBearerToken               _ptcCallback               (Just AltJSON)               _ptcPayload
+ gen/Network/Google/Resource/Dataflow/Projects/Templates/Get.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Templates.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the template associated with a template.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.templates.get@.+module Network.Google.Resource.Dataflow.Projects.Templates.Get+    (+    -- * REST Resource+      ProjectsTemplatesGetResource++    -- * Creating a Request+    , projectsTemplatesGet+    , ProjectsTemplatesGet++    -- * Request Lenses+    , ptgXgafv+    , ptgUploadProtocol+    , ptgLocation+    , ptgAccessToken+    , ptgUploadType+    , ptgGcsPath+    , ptgView+    , ptgProjectId+    , ptgCallback+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.templates.get@ method which the+-- 'ProjectsTemplatesGet' request conforms to.+type ProjectsTemplatesGetResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "templates:get" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "location" Text :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "gcsPath" Text :>+                         QueryParam "view" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] GetTemplateResponse++-- | Get the template associated with a template.+--+-- /See:/ 'projectsTemplatesGet' smart constructor.+data ProjectsTemplatesGet = ProjectsTemplatesGet'+    { _ptgXgafv          :: !(Maybe Xgafv)+    , _ptgUploadProtocol :: !(Maybe Text)+    , _ptgLocation       :: !(Maybe Text)+    , _ptgAccessToken    :: !(Maybe Text)+    , _ptgUploadType     :: !(Maybe Text)+    , _ptgGcsPath        :: !(Maybe Text)+    , _ptgView           :: !(Maybe Text)+    , _ptgProjectId      :: !Text+    , _ptgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsTemplatesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptgXgafv'+--+-- * 'ptgUploadProtocol'+--+-- * 'ptgLocation'+--+-- * 'ptgAccessToken'+--+-- * 'ptgUploadType'+--+-- * 'ptgGcsPath'+--+-- * 'ptgView'+--+-- * 'ptgProjectId'+--+-- * 'ptgCallback'+projectsTemplatesGet+    :: Text -- ^ 'ptgProjectId'+    -> ProjectsTemplatesGet+projectsTemplatesGet pPtgProjectId_ =+    ProjectsTemplatesGet'+    { _ptgXgafv = Nothing+    , _ptgUploadProtocol = Nothing+    , _ptgLocation = Nothing+    , _ptgAccessToken = Nothing+    , _ptgUploadType = Nothing+    , _ptgGcsPath = Nothing+    , _ptgView = Nothing+    , _ptgProjectId = pPtgProjectId_+    , _ptgCallback = Nothing+    }++-- | V1 error format.+ptgXgafv :: Lens' ProjectsTemplatesGet (Maybe Xgafv)+ptgXgafv = lens _ptgXgafv (\ s a -> s{_ptgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ptgUploadProtocol :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgUploadProtocol+  = lens _ptgUploadProtocol+      (\ s a -> s{_ptgUploadProtocol = a})++-- | The location to which to direct the request.+ptgLocation :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgLocation+  = lens _ptgLocation (\ s a -> s{_ptgLocation = a})++-- | OAuth access token.+ptgAccessToken :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgAccessToken+  = lens _ptgAccessToken+      (\ s a -> s{_ptgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ptgUploadType :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgUploadType+  = lens _ptgUploadType+      (\ s a -> s{_ptgUploadType = a})++-- | Required. A Cloud Storage path to the template from which to create the+-- job. Must be valid Cloud Storage URL, beginning with \'gs:\/\/\'.+ptgGcsPath :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgGcsPath+  = lens _ptgGcsPath (\ s a -> s{_ptgGcsPath = a})++-- | The view to retrieve. Defaults to METADATA_ONLY.+ptgView :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgView = lens _ptgView (\ s a -> s{_ptgView = a})++-- | Required. The ID of the Cloud Platform project that the job belongs to.+ptgProjectId :: Lens' ProjectsTemplatesGet Text+ptgProjectId+  = lens _ptgProjectId (\ s a -> s{_ptgProjectId = a})++-- | JSONP+ptgCallback :: Lens' ProjectsTemplatesGet (Maybe Text)+ptgCallback+  = lens _ptgCallback (\ s a -> s{_ptgCallback = a})++instance GoogleRequest ProjectsTemplatesGet where+        type Rs ProjectsTemplatesGet = GetTemplateResponse+        type Scopes ProjectsTemplatesGet =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsTemplatesGet'{..}+          = go _ptgProjectId _ptgXgafv _ptgUploadProtocol+              _ptgLocation+              _ptgAccessToken+              _ptgUploadType+              _ptgGcsPath+              _ptgView+              _ptgCallback+              (Just AltJSON)+              dataflowService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsTemplatesGetResource)+                      mempty
+ gen/Network/Google/Resource/Dataflow/Projects/Templates/Launch.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataflow.Projects.Templates.Launch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Launch a template.+--+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.templates.launch@.+module Network.Google.Resource.Dataflow.Projects.Templates.Launch+    (+    -- * REST Resource+      ProjectsTemplatesLaunchResource++    -- * Creating a Request+    , projectsTemplatesLaunch+    , ProjectsTemplatesLaunch++    -- * Request Lenses+    , ptlXgafv+    , ptlValidateOnly+    , ptlUploadProtocol+    , ptlLocation+    , ptlAccessToken+    , ptlUploadType+    , ptlPayload+    , ptlDynamicTemplateStagingLocation+    , ptlGcsPath+    , ptlProjectId+    , ptlCallback+    , ptlDynamicTemplateGcsPath+    ) where++import           Network.Google.Dataflow.Types+import           Network.Google.Prelude++-- | A resource alias for @dataflow.projects.templates.launch@ method which the+-- 'ProjectsTemplatesLaunch' request conforms to.+type ProjectsTemplatesLaunchResource =+     "v1b3" :>+       "projects" :>+         Capture "projectId" Text :>+           "templates:launch" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "validateOnly" Bool :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "location" Text :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "dynamicTemplate.stagingLocation" Text :>+                           QueryParam "gcsPath" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "dynamicTemplate.gcsPath" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] LaunchTemplateParameters :>+                                     Post '[JSON] LaunchTemplateResponse++-- | Launch a template.+--+-- /See:/ 'projectsTemplatesLaunch' smart constructor.+data ProjectsTemplatesLaunch = ProjectsTemplatesLaunch'+    { _ptlXgafv                          :: !(Maybe Xgafv)+    , _ptlValidateOnly                   :: !(Maybe Bool)+    , _ptlUploadProtocol                 :: !(Maybe Text)+    , _ptlLocation                       :: !(Maybe Text)+    , _ptlAccessToken                    :: !(Maybe Text)+    , _ptlUploadType                     :: !(Maybe Text)+    , _ptlPayload                        :: !LaunchTemplateParameters+    , _ptlDynamicTemplateStagingLocation :: !(Maybe Text)+    , _ptlGcsPath                        :: !(Maybe Text)+    , _ptlProjectId                      :: !Text+    , _ptlCallback                       :: !(Maybe Text)+    , _ptlDynamicTemplateGcsPath         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsTemplatesLaunch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptlXgafv'+--+-- * 'ptlValidateOnly'+--+-- * 'ptlUploadProtocol'+--+-- * 'ptlLocation'+--+-- * 'ptlAccessToken'+--+-- * 'ptlUploadType'+--+-- * 'ptlPayload'+--+-- * 'ptlDynamicTemplateStagingLocation'+--+-- * 'ptlGcsPath'+--+-- * 'ptlProjectId'+--+-- * 'ptlCallback'+--+-- * 'ptlDynamicTemplateGcsPath'+projectsTemplatesLaunch+    :: LaunchTemplateParameters -- ^ 'ptlPayload'+    -> Text -- ^ 'ptlProjectId'+    -> ProjectsTemplatesLaunch+projectsTemplatesLaunch pPtlPayload_ pPtlProjectId_ =+    ProjectsTemplatesLaunch'+    { _ptlXgafv = Nothing+    , _ptlValidateOnly = Nothing+    , _ptlUploadProtocol = Nothing+    , _ptlLocation = Nothing+    , _ptlAccessToken = Nothing+    , _ptlUploadType = Nothing+    , _ptlPayload = pPtlPayload_+    , _ptlDynamicTemplateStagingLocation = Nothing+    , _ptlGcsPath = Nothing+    , _ptlProjectId = pPtlProjectId_+    , _ptlCallback = Nothing+    , _ptlDynamicTemplateGcsPath = Nothing+    }++-- | V1 error format.+ptlXgafv :: Lens' ProjectsTemplatesLaunch (Maybe Xgafv)+ptlXgafv = lens _ptlXgafv (\ s a -> s{_ptlXgafv = a})++-- | If true, the request is validated but not actually executed. Defaults to+-- false.+ptlValidateOnly :: Lens' ProjectsTemplatesLaunch (Maybe Bool)+ptlValidateOnly+  = lens _ptlValidateOnly+      (\ s a -> s{_ptlValidateOnly = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ptlUploadProtocol :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlUploadProtocol+  = lens _ptlUploadProtocol+      (\ s a -> s{_ptlUploadProtocol = a})++-- | The location to which to direct the request.+ptlLocation :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlLocation+  = lens _ptlLocation (\ s a -> s{_ptlLocation = a})++-- | OAuth access token.+ptlAccessToken :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlAccessToken+  = lens _ptlAccessToken+      (\ s a -> s{_ptlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ptlUploadType :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlUploadType+  = lens _ptlUploadType+      (\ s a -> s{_ptlUploadType = a})++-- | Multipart request metadata.+ptlPayload :: Lens' ProjectsTemplatesLaunch LaunchTemplateParameters+ptlPayload+  = lens _ptlPayload (\ s a -> s{_ptlPayload = a})++-- | Cloud Storage path for staging dependencies. Must be a valid Cloud+-- Storage URL, beginning with \`gs:\/\/\`.+ptlDynamicTemplateStagingLocation :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlDynamicTemplateStagingLocation+  = lens _ptlDynamicTemplateStagingLocation+      (\ s a -> s{_ptlDynamicTemplateStagingLocation = a})++-- | A Cloud Storage path to the template from which to create the job. Must+-- be valid Cloud Storage URL, beginning with \'gs:\/\/\'.+ptlGcsPath :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlGcsPath+  = lens _ptlGcsPath (\ s a -> s{_ptlGcsPath = a})++-- | Required. The ID of the Cloud Platform project that the job belongs to.+ptlProjectId :: Lens' ProjectsTemplatesLaunch Text+ptlProjectId+  = lens _ptlProjectId (\ s a -> s{_ptlProjectId = a})++-- | JSONP+ptlCallback :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlCallback+  = lens _ptlCallback (\ s a -> s{_ptlCallback = a})++-- | Path to dynamic template spec file on GCS. The file must be a Json+-- serialized DynamicTemplateFieSpec object.+ptlDynamicTemplateGcsPath :: Lens' ProjectsTemplatesLaunch (Maybe Text)+ptlDynamicTemplateGcsPath+  = lens _ptlDynamicTemplateGcsPath+      (\ s a -> s{_ptlDynamicTemplateGcsPath = a})++instance GoogleRequest ProjectsTemplatesLaunch where+        type Rs ProjectsTemplatesLaunch =+             LaunchTemplateResponse+        type Scopes ProjectsTemplatesLaunch =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",+               "https://www.googleapis.com/auth/userinfo.email"]+        requestClient ProjectsTemplatesLaunch'{..}+          = go _ptlProjectId _ptlXgafv _ptlValidateOnly+              _ptlUploadProtocol+              _ptlLocation+              _ptlAccessToken+              _ptlUploadType+              _ptlDynamicTemplateStagingLocation+              _ptlGcsPath+              _ptlCallback+              _ptlDynamicTemplateGcsPath+              (Just AltJSON)+              _ptlPayload+              dataflowService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsTemplatesLaunchResource)+                      mempty
gen/Network/Google/Resource/Dataflow/Projects/WorkerMessages.hs view
@@ -22,7 +22,7 @@ -- -- Send a worker_message to the service. ----- /See:/ <https://cloud.google.com/dataflow Google Dataflow API Reference> for @dataflow.projects.workerMessages@.+-- /See:/ <https://cloud.google.com/dataflow Dataflow API Reference> for @dataflow.projects.workerMessages@. module Network.Google.Resource.Dataflow.Projects.WorkerMessages     (     -- * REST Resource@@ -35,11 +35,9 @@     -- * Request Lenses     , pwmXgafv     , pwmUploadProtocol-    , pwmPp     , pwmAccessToken     , pwmUploadType     , pwmPayload-    , pwmBearerToken     , pwmProjectId     , pwmCallback     ) where@@ -54,28 +52,24 @@        "projects" :>          Capture "projectId" Text :>            "WorkerMessages" :>-             QueryParam "$.xgafv" Text :>+             QueryParam "$.xgafv" Xgafv :>                QueryParam "upload_protocol" Text :>-                 QueryParam "pp" Bool :>-                   QueryParam "access_token" Text :>-                     QueryParam "uploadType" Text :>-                       QueryParam "bearer_token" Text :>-                         QueryParam "callback" Text :>-                           QueryParam "alt" AltJSON :>-                             ReqBody '[JSON] SendWorkerMessagesRequest :>-                               Post '[JSON] SendWorkerMessagesResponse+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] SendWorkerMessagesRequest :>+                           Post '[JSON] SendWorkerMessagesResponse  -- | Send a worker_message to the service. -- -- /See:/ 'projectsWorkerMessages' smart constructor. data ProjectsWorkerMessages = ProjectsWorkerMessages'-    { _pwmXgafv          :: !(Maybe Text)+    { _pwmXgafv          :: !(Maybe Xgafv)     , _pwmUploadProtocol :: !(Maybe Text)-    , _pwmPp             :: !Bool     , _pwmAccessToken    :: !(Maybe Text)     , _pwmUploadType     :: !(Maybe Text)     , _pwmPayload        :: !SendWorkerMessagesRequest-    , _pwmBearerToken    :: !(Maybe Text)     , _pwmProjectId      :: !Text     , _pwmCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -88,16 +82,12 @@ -- -- * 'pwmUploadProtocol' ----- * 'pwmPp'--- -- * 'pwmAccessToken' -- -- * 'pwmUploadType' -- -- * 'pwmPayload' ----- * 'pwmBearerToken'--- -- * 'pwmProjectId' -- -- * 'pwmCallback'@@ -109,17 +99,15 @@     ProjectsWorkerMessages'     { _pwmXgafv = Nothing     , _pwmUploadProtocol = Nothing-    , _pwmPp = True     , _pwmAccessToken = Nothing     , _pwmUploadType = Nothing     , _pwmPayload = pPwmPayload_-    , _pwmBearerToken = Nothing     , _pwmProjectId = pPwmProjectId_     , _pwmCallback = Nothing     }  -- | V1 error format.-pwmXgafv :: Lens' ProjectsWorkerMessages (Maybe Text)+pwmXgafv :: Lens' ProjectsWorkerMessages (Maybe Xgafv) pwmXgafv = lens _pwmXgafv (\ s a -> s{_pwmXgafv = a})  -- | Upload protocol for media (e.g. \"raw\", \"multipart\").@@ -128,10 +116,6 @@   = lens _pwmUploadProtocol       (\ s a -> s{_pwmUploadProtocol = a}) --- | Pretty-print response.-pwmPp :: Lens' ProjectsWorkerMessages Bool-pwmPp = lens _pwmPp (\ s a -> s{_pwmPp = a})- -- | OAuth access token. pwmAccessToken :: Lens' ProjectsWorkerMessages (Maybe Text) pwmAccessToken@@ -149,12 +133,6 @@ pwmPayload   = lens _pwmPayload (\ s a -> s{_pwmPayload = a}) --- | OAuth bearer token.-pwmBearerToken :: Lens' ProjectsWorkerMessages (Maybe Text)-pwmBearerToken-  = lens _pwmBearerToken-      (\ s a -> s{_pwmBearerToken = a})- -- | The project to send the WorkerMessages to. pwmProjectId :: Lens' ProjectsWorkerMessages Text pwmProjectId@@ -170,13 +148,13 @@              SendWorkerMessagesResponse         type Scopes ProjectsWorkerMessages =              '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/compute",+               "https://www.googleapis.com/auth/compute.readonly",                "https://www.googleapis.com/auth/userinfo.email"]         requestClient ProjectsWorkerMessages'{..}           = go _pwmProjectId _pwmXgafv _pwmUploadProtocol-              (Just _pwmPp)               _pwmAccessToken               _pwmUploadType-              _pwmBearerToken               _pwmCallback               (Just AltJSON)               _pwmPayload
gogol-dataflow.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-dataflow-version:               0.3.0+version:               0.4.0 synopsis:              Google Dataflow SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -35,6 +35,7 @@     exposed-modules:           Network.Google.Dataflow         , Network.Google.Dataflow.Types+        , Network.Google.Resource.Dataflow.Projects.Jobs.Aggregated         , Network.Google.Resource.Dataflow.Projects.Jobs.Create         , Network.Google.Resource.Dataflow.Projects.Jobs.Debug.GetConfig         , Network.Google.Resource.Dataflow.Projects.Jobs.Debug.SendCapture@@ -42,18 +43,28 @@         , Network.Google.Resource.Dataflow.Projects.Jobs.GetMetrics         , Network.Google.Resource.Dataflow.Projects.Jobs.List         , Network.Google.Resource.Dataflow.Projects.Jobs.Messages.List+        , Network.Google.Resource.Dataflow.Projects.Jobs.Snapshot         , Network.Google.Resource.Dataflow.Projects.Jobs.Update         , Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.Lease         , Network.Google.Resource.Dataflow.Projects.Jobs.WorkItems.ReportStatus         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Create+        , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.GetConfig+        , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Debug.SendCapture         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Get         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.GetMetrics         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.List         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Messages.List+        , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Snapshot         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.Update         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.Lease         , Network.Google.Resource.Dataflow.Projects.Locations.Jobs.WorkItems.ReportStatus+        , Network.Google.Resource.Dataflow.Projects.Locations.Templates.Create+        , Network.Google.Resource.Dataflow.Projects.Locations.Templates.Get+        , Network.Google.Resource.Dataflow.Projects.Locations.Templates.Launch+        , Network.Google.Resource.Dataflow.Projects.Locations.WorkerMessages         , Network.Google.Resource.Dataflow.Projects.Templates.Create+        , Network.Google.Resource.Dataflow.Projects.Templates.Get+        , Network.Google.Resource.Dataflow.Projects.Templates.Launch         , Network.Google.Resource.Dataflow.Projects.WorkerMessages      other-modules:@@ -61,5 +72,5 @@         , Network.Google.Dataflow.Types.Sum      build-depends:-          gogol-core == 0.3.0.*+          gogol-core == 0.4.0.*         , base       >= 4.7 && < 5