text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Google Cloud Dataproc API (dataproc/v1)
  // Description:
  //   Manages Hadoop-based clusters and jobs on Google Cloud Platform.
  // Documentation:
  //   https://cloud.google.com/dataproc/
  
  #if GTLR_BUILT_AS_FRAMEWORK
    #import "GTLR/GTLRQuery.h"
  #else
    #import "GTLRQuery.h"
  #endif
  
  #if GTLR_RUNTIME_VERSION != 3000
  #error This file was generated by a different version of ServiceGenerator which is incompatible with this GTLR library source.
  #endif
  
  @class GTLRDataproc_CancelJobRequest;
  @class GTLRDataproc_Cluster;
  @class GTLRDataproc_DiagnoseClusterRequest;
  @class GTLRDataproc_Job;
  @class GTLRDataproc_SubmitJobRequest;
  
  // Generated comments include content from the discovery document; avoid them
  // causing warnings since clang's checks are some what arbitrary.
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wdocumentation"
  
  NS_ASSUME_NONNULL_BEGIN
  
  // ----------------------------------------------------------------------------
  // Constants - For some of the query classes' properties below.
  
  // ----------------------------------------------------------------------------
  // jobStateMatcher
  
  /** Value: "ACTIVE" */
  GTLR_EXTERN NSString * const kGTLRDataprocJobStateMatcherActive;
  /** Value: "ALL" */
  GTLR_EXTERN NSString * const kGTLRDataprocJobStateMatcherAll;
  /** Value: "NON_ACTIVE" */
  GTLR_EXTERN NSString * const kGTLRDataprocJobStateMatcherNonActive;
  
  // ----------------------------------------------------------------------------
  // Query Classes
  //
  
  /**
   *  Parent class for other Dataproc query classes.
   */
  @interface GTLRDataprocQuery : GTLRQuery
  
  /** Selector specifying which fields to include in a partial response. */
  @property(nonatomic, copy, nullable) NSString *fields;
  
  @end
  
  /**
   *  Creates a cluster in a project.
   *
   *  Method: dataproc.projects.regions.clusters.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsClustersCreate : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsClustersCreateWithObject:projectId:region:]
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the cluster
   *  belongs to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Optional. A unique id used to identify the request. If the server receives
   *  two CreateClusterRequest requests with the same id, then the second request
   *  will be ignored and the first google.longrunning.Operation created and
   *  stored in the backend is returned.It is recommended to always set this value
   *  to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The
   *  id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and
   *  hyphens (-). The maximum length is 40 characters.
   */
  @property(nonatomic, copy, nullable) NSString *requestId;
  
  /**
   *  Fetches a @c GTLRDataproc_Operation.
   *
   *  Creates a cluster in a project.
   *
   *  @param object The @c GTLRDataproc_Cluster to include in the query.
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the cluster belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsClustersCreate
   */
  + (instancetype)queryWithObject:(GTLRDataproc_Cluster *)object
                        projectId:(NSString *)projectId
                           region:(NSString *)region;
  
  @end
  
  /**
   *  Deletes a cluster in a project.
   *
   *  Method: dataproc.projects.regions.clusters.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsClustersDelete : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsClustersDeleteWithprojectId:region:clusterName:]
  
  /** Required. The cluster name. */
  @property(nonatomic, copy, nullable) NSString *clusterName;
  
  /**
   *  Optional. Specifying the cluster_uuid means the RPC should fail (with error
   *  NOT_FOUND) if cluster with specified UUID does not exist.
   */
  @property(nonatomic, copy, nullable) NSString *clusterUuid;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the cluster
   *  belongs to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Optional. A unique id used to identify the request. If the server receives
   *  two DeleteClusterRequest requests with the same id, then the second request
   *  will be ignored and the first google.longrunning.Operation created and
   *  stored in the backend is returned.It is recommended to always set this value
   *  to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The
   *  id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and
   *  hyphens (-). The maximum length is 40 characters.
   */
  @property(nonatomic, copy, nullable) NSString *requestId;
  
  /**
   *  Fetches a @c GTLRDataproc_Operation.
   *
   *  Deletes a cluster in a project.
   *
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the cluster belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param clusterName Required. The cluster name.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsClustersDelete
   */
  + (instancetype)queryWithProjectId:(NSString *)projectId
                              region:(NSString *)region
                         clusterName:(NSString *)clusterName;
  
  @end
  
  /**
   *  Gets cluster diagnostic information. After the operation completes, the
   *  Operation.response field contains DiagnoseClusterOutputLocation.
   *
   *  Method: dataproc.projects.regions.clusters.diagnose
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsClustersDiagnose : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsClustersDiagnoseWithObject:projectId:region:clusterName:]
  
  /** Required. The cluster name. */
  @property(nonatomic, copy, nullable) NSString *clusterName;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the cluster
   *  belongs to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_Operation.
   *
   *  Gets cluster diagnostic information. After the operation completes, the
   *  Operation.response field contains DiagnoseClusterOutputLocation.
   *
   *  @param object The @c GTLRDataproc_DiagnoseClusterRequest to include in the
   *    query.
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the cluster belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param clusterName Required. The cluster name.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsClustersDiagnose
   */
  + (instancetype)queryWithObject:(GTLRDataproc_DiagnoseClusterRequest *)object
                        projectId:(NSString *)projectId
                           region:(NSString *)region
                      clusterName:(NSString *)clusterName;
  
  @end
  
  /**
   *  Gets the resource representation for a cluster in a project.
   *
   *  Method: dataproc.projects.regions.clusters.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsClustersGet : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsClustersGetWithprojectId:region:clusterName:]
  
  /** Required. The cluster name. */
  @property(nonatomic, copy, nullable) NSString *clusterName;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the cluster
   *  belongs to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_Cluster.
   *
   *  Gets the resource representation for a cluster in a project.
   *
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the cluster belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param clusterName Required. The cluster name.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsClustersGet
   */
  + (instancetype)queryWithProjectId:(NSString *)projectId
                              region:(NSString *)region
                         clusterName:(NSString *)clusterName;
  
  @end
  
  /**
   *  Lists all regions/{region}/clusters in a project.
   *
   *  Method: dataproc.projects.regions.clusters.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsClustersList : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsClustersListWithprojectId:region:]
  
  /**
   *  Optional. A filter constraining the clusters to list. Filters are
   *  case-sensitive and have the following syntax:field = value AND field = value
   *  ...where field is one of status.state, clusterName, or labels.[KEY], and
   *  [KEY] is a label key. value can be * to match all values. status.state can
   *  be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR,
   *  DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING
   *  states. INACTIVE contains the DELETING and ERROR states. clusterName is the
   *  name of the cluster provided at creation time. Only the logical AND operator
   *  is supported; space-separated items are treated as having an implicit AND
   *  operator.Example filter:status.state = ACTIVE AND clusterName = mycluster
   *  AND labels.env = staging AND labels.starred = *
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /** Optional. The standard List page size. */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /** Optional. The standard List page token. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the cluster
   *  belongs to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_ListClustersResponse.
   *
   *  Lists all regions/{region}/clusters in a project.
   *
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the cluster belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsClustersList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithProjectId:(NSString *)projectId
                              region:(NSString *)region;
  
  @end
  
  /**
   *  Updates a cluster in a project.
   *
   *  Method: dataproc.projects.regions.clusters.patch
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsClustersPatch : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsClustersPatchWithObject:projectId:region:clusterName:]
  
  /** Required. The cluster name. */
  @property(nonatomic, copy, nullable) NSString *clusterName;
  
  /**
   *  Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning
   *  allows removing nodes from the cluster without interrupting jobs in
   *  progress. Timeout specifies how long to wait for jobs in progress to finish
   *  before forcefully removing nodes (and potentially interrupting jobs).
   *  Default timeout is 0 (for forceful decommission), and the maximum allowed
   *  timeout is 1 day.Only supported on Dataproc image versions 1.2 and higher.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *gracefulDecommissionTimeout;
  
  /**
   *  Required. The ID of the Google Cloud Platform project the cluster belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Optional. A unique id used to identify the request. If the server receives
   *  two UpdateClusterRequest requests with the same id, then the second request
   *  will be ignored and the first google.longrunning.Operation created and
   *  stored in the backend is returned.It is recommended to always set this value
   *  to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The
   *  id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and
   *  hyphens (-). The maximum length is 40 characters.
   */
  @property(nonatomic, copy, nullable) NSString *requestId;
  
  /**
   *  Required. Specifies the path, relative to Cluster, of the field to update.
   *  For example, to change the number of workers in a cluster to 5, the
   *  update_mask parameter would be specified as
   *  config.worker_config.num_instances, and the PATCH request body would specify
   *  the new value, as follows:
   *  {
   *  "config":{
   *  "workerConfig":{
   *  "numInstances":"5"
   *  }
   *  }
   *  }
   *  Similarly, to change the number of preemptible workers in a cluster to 5,
   *  the update_mask parameter would be
   *  config.secondary_worker_config.num_instances, and the PATCH request body
   *  would be set as follows:
   *  {
   *  "config":{
   *  "secondaryWorkerConfig":{
   *  "numInstances":"5"
   *  }
   *  }
   *  }
   *  <strong>Note:</strong> Currently, only the following fields can be
   *  updated:<table> <tbody> <tr> <td><strong>Mask</strong></td>
   *  <td><strong>Purpose</strong></td> </tr> <tr>
   *  <td><strong><em>labels</em></strong></td> <td>Update labels</td> </tr> <tr>
   *  <td><strong><em>config.worker_config.num_instances</em></strong></td>
   *  <td>Resize primary worker group</td> </tr> <tr>
   *  <td><strong><em>config.secondary_worker_config.num_instances</em></strong></td>
   *  <td>Resize secondary worker group</td> </tr> </tbody> </table>
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  /**
   *  Fetches a @c GTLRDataproc_Operation.
   *
   *  Updates a cluster in a project.
   *
   *  @param object The @c GTLRDataproc_Cluster to include in the query.
   *  @param projectId Required. The ID of the Google Cloud Platform project the
   *    cluster belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param clusterName Required. The cluster name.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsClustersPatch
   */
  + (instancetype)queryWithObject:(GTLRDataproc_Cluster *)object
                        projectId:(NSString *)projectId
                           region:(NSString *)region
                      clusterName:(NSString *)clusterName;
  
  @end
  
  /**
   *  Starts a job cancellation request. To access the job resource after
   *  cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.
   *
   *  Method: dataproc.projects.regions.jobs.cancel
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsJobsCancel : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsJobsCancelWithObject:projectId:region:jobId:]
  
  /** Required. The job ID. */
  @property(nonatomic, copy, nullable) NSString *jobId;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the job belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_Job.
   *
   *  Starts a job cancellation request. To access the job resource after
   *  cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.
   *
   *  @param object The @c GTLRDataproc_CancelJobRequest to include in the query.
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the job belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param jobId Required. The job ID.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsJobsCancel
   */
  + (instancetype)queryWithObject:(GTLRDataproc_CancelJobRequest *)object
                        projectId:(NSString *)projectId
                           region:(NSString *)region
                            jobId:(NSString *)jobId;
  
  @end
  
  /**
   *  Deletes the job from the project. If the job is active, the delete fails,
   *  and the response returns FAILED_PRECONDITION.
   *
   *  Method: dataproc.projects.regions.jobs.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsJobsDelete : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsJobsDeleteWithprojectId:region:jobId:]
  
  /** Required. The job ID. */
  @property(nonatomic, copy, nullable) NSString *jobId;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the job belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_Empty.
   *
   *  Deletes the job from the project. If the job is active, the delete fails,
   *  and the response returns FAILED_PRECONDITION.
   *
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the job belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param jobId Required. The job ID.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsJobsDelete
   */
  + (instancetype)queryWithProjectId:(NSString *)projectId
                              region:(NSString *)region
                               jobId:(NSString *)jobId;
  
  @end
  
  /**
   *  Gets the resource representation for a job in a project.
   *
   *  Method: dataproc.projects.regions.jobs.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsJobsGet : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsJobsGetWithprojectId:region:jobId:]
  
  /** Required. The job ID. */
  @property(nonatomic, copy, nullable) NSString *jobId;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the job belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_Job.
   *
   *  Gets the resource representation for a job in a project.
   *
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the job belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param jobId Required. The job ID.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsJobsGet
   */
  + (instancetype)queryWithProjectId:(NSString *)projectId
                              region:(NSString *)region
                               jobId:(NSString *)jobId;
  
  @end
  
  /**
   *  Lists regions/{region}/jobs in a project.
   *
   *  Method: dataproc.projects.regions.jobs.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsJobsList : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsJobsListWithprojectId:region:]
  
  /**
   *  Optional. If set, the returned jobs list includes only jobs that were
   *  submitted to the named cluster.
   */
  @property(nonatomic, copy, nullable) NSString *clusterName;
  
  /**
   *  Optional. A filter constraining the jobs to list. Filters are case-sensitive
   *  and have the following syntax:field = value AND field = value ...where field
   *  is status.state or labels.[KEY], and [KEY] is a label key. value can be * to
   *  match all values. status.state can be either ACTIVE or NON_ACTIVE. Only the
   *  logical AND operator is supported; space-separated items are treated as
   *  having an implicit AND operator.Example filter:status.state = ACTIVE AND
   *  labels.env = staging AND labels.starred = *
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Optional. Specifies enumerated categories of jobs to list. (default = match
   *  ALL jobs).If filter is provided, jobStateMatcher will be ignored.
   *
   *  Likely values:
   *    @arg @c kGTLRDataprocJobStateMatcherAll Value "ALL"
   *    @arg @c kGTLRDataprocJobStateMatcherActive Value "ACTIVE"
   *    @arg @c kGTLRDataprocJobStateMatcherNonActive Value "NON_ACTIVE"
   */
  @property(nonatomic, copy, nullable) NSString *jobStateMatcher;
  
  /** Optional. The number of results to return in each response. */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  Optional. The page token, returned by a previous call, to request the next
   *  page of results.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the job belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_ListJobsResponse.
   *
   *  Lists regions/{region}/jobs in a project.
   *
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the job belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsJobsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithProjectId:(NSString *)projectId
                              region:(NSString *)region;
  
  @end
  
  /**
   *  Updates a job in a project.
   *
   *  Method: dataproc.projects.regions.jobs.patch
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsJobsPatch : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsJobsPatchWithObject:projectId:region:jobId:]
  
  /** Required. The job ID. */
  @property(nonatomic, copy, nullable) NSString *jobId;
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the job belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Required. Specifies the path, relative to <code>Job</code>, of the field to
   *  update. For example, to update the labels of a Job the
   *  <code>update_mask</code> parameter would be specified as
   *  <code>labels</code>, and the PATCH request body would specify the new value.
   *  <strong>Note:</strong> Currently, <code>labels</code> is the only field that
   *  can be updated.
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  /**
   *  Fetches a @c GTLRDataproc_Job.
   *
   *  Updates a job in a project.
   *
   *  @param object The @c GTLRDataproc_Job to include in the query.
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the job belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *  @param jobId Required. The job ID.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsJobsPatch
   */
  + (instancetype)queryWithObject:(GTLRDataproc_Job *)object
                        projectId:(NSString *)projectId
                           region:(NSString *)region
                            jobId:(NSString *)jobId;
  
  @end
  
  /**
   *  Submits a job to a cluster.
   *
   *  Method: dataproc.projects.regions.jobs.submit
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsJobsSubmit : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsJobsSubmitWithObject:projectId:region:]
  
  /**
   *  Required. The ID of the Google Cloud Platform project that the job belongs
   *  to.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Required. The Cloud Dataproc region in which to handle the request. */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Fetches a @c GTLRDataproc_Job.
   *
   *  Submits a job to a cluster.
   *
   *  @param object The @c GTLRDataproc_SubmitJobRequest to include in the query.
   *  @param projectId Required. The ID of the Google Cloud Platform project that
   *    the job belongs to.
   *  @param region Required. The Cloud Dataproc region in which to handle the
   *    request.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsJobsSubmit
   */
  + (instancetype)queryWithObject:(GTLRDataproc_SubmitJobRequest *)object
                        projectId:(NSString *)projectId
                           region:(NSString *)region;
  
  @end
  
  /**
   *  Starts asynchronous cancellation on a long-running operation. The server
   *  makes a best effort to cancel the operation, but success is not guaranteed.
   *  If the server doesn't support this method, it returns
   *  google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or
   *  other methods to check whether the cancellation succeeded or whether the
   *  operation completed despite cancellation. On successful cancellation, the
   *  operation is not deleted; instead, it becomes an operation with an
   *  Operation.error value with a google.rpc.Status.code of 1, corresponding to
   *  Code.CANCELLED.
   *
   *  Method: dataproc.projects.regions.operations.cancel
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsOperationsCancel : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsOperationsCancelWithname:]
  
  /** The name of the operation resource to be cancelled. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c GTLRDataproc_Empty.
   *
   *  Starts asynchronous cancellation on a long-running operation. The server
   *  makes a best effort to cancel the operation, but success is not guaranteed.
   *  If the server doesn't support this method, it returns
   *  google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or
   *  other methods to check whether the cancellation succeeded or whether the
   *  operation completed despite cancellation. On successful cancellation, the
   *  operation is not deleted; instead, it becomes an operation with an
   *  Operation.error value with a google.rpc.Status.code of 1, corresponding to
   *  Code.CANCELLED.
   *
   *  @param name The name of the operation resource to be cancelled.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsOperationsCancel
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Deletes a long-running operation. This method indicates that the client is
   *  no longer interested in the operation result. It does not cancel the
   *  operation. If the server doesn't support this method, it returns
   *  google.rpc.Code.UNIMPLEMENTED.
   *
   *  Method: dataproc.projects.regions.operations.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsOperationsDelete : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsOperationsDeleteWithname:]
  
  /** The name of the operation resource to be deleted. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c GTLRDataproc_Empty.
   *
   *  Deletes a long-running operation. This method indicates that the client is
   *  no longer interested in the operation result. It does not cancel the
   *  operation. If the server doesn't support this method, it returns
   *  google.rpc.Code.UNIMPLEMENTED.
   *
   *  @param name The name of the operation resource to be deleted.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsOperationsDelete
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Gets the latest state of a long-running operation. Clients can use this
   *  method to poll the operation result at intervals as recommended by the API
   *  service.
   *
   *  Method: dataproc.projects.regions.operations.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsOperationsGet : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsOperationsGetWithname:]
  
  /** The name of the operation resource. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c GTLRDataproc_Operation.
   *
   *  Gets the latest state of a long-running operation. Clients can use this
   *  method to poll the operation result at intervals as recommended by the API
   *  service.
   *
   *  @param name The name of the operation resource.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsOperationsGet
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Lists operations that match the specified filter in the request. If the
   *  server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name
   *  binding allows API services to override the binding to use different
   *  resource name schemes, such as users/ * /operations. To override the
   *  binding, API services can add a binding such as "/v1/{name=users/
   *  *}/operations" to their service configuration. For backwards compatibility,
   *  the default name includes the operations collection id, however overriding
   *  users must ensure the name binding is the parent resource, without the
   *  operations collection id.
   *
   *  Method: dataproc.projects.regions.operations.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDataprocCloudPlatform
   */
  @interface GTLRDataprocQuery_ProjectsRegionsOperationsList : GTLRDataprocQuery
  // Previous library name was
  //   +[GTLQueryDataproc queryForProjectsRegionsOperationsListWithname:]
  
  /** The standard list filter. */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /** The name of the operation's parent resource. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** The standard list page size. */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /** The standard list page token. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Fetches a @c GTLRDataproc_ListOperationsResponse.
   *
   *  Lists operations that match the specified filter in the request. If the
   *  server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name
   *  binding allows API services to override the binding to use different
   *  resource name schemes, such as users/ * /operations. To override the
   *  binding, API services can add a binding such as "/v1/{name=users/
   *  *}/operations" to their service configuration. For backwards compatibility,
   *  the default name includes the operations collection id, however overriding
   *  users must ensure the name binding is the parent resource, without the
   *  operations collection id.
   *
   *  @param name The name of the operation's parent resource.
   *
   *  @returns GTLRDataprocQuery_ProjectsRegionsOperationsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  