...

Source file src/google.golang.org/api/dataproc/v1/dataproc-gen.go

Documentation: google.golang.org/api/dataproc/v1

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package dataproc provides access to the Cloud Dataproc API.
     8  //
     9  // This package is DEPRECATED. Use package cloud.google.com/go/dataproc/apiv1 instead.
    10  //
    11  // For product documentation, see: https://cloud.google.com/dataproc/
    12  //
    13  // # Library status
    14  //
    15  // These client libraries are officially supported by Google. However, this
    16  // library is considered complete and is in maintenance mode. This means
    17  // that we will address critical bugs and security issues but will not add
    18  // any new features.
    19  //
    20  // When possible, we recommend using our newer
    21  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    22  // that are still actively being worked and iterated on.
    23  //
    24  // # Creating a client
    25  //
    26  // Usage example:
    27  //
    28  //	import "google.golang.org/api/dataproc/v1"
    29  //	...
    30  //	ctx := context.Background()
    31  //	dataprocService, err := dataproc.NewService(ctx)
    32  //
    33  // In this example, Google Application Default Credentials are used for
    34  // authentication. For information on how to create and obtain Application
    35  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    36  //
    37  // # Other authentication options
    38  //
    39  // To use an API key for authentication (note: some APIs do not support API
    40  // keys), use [google.golang.org/api/option.WithAPIKey]:
    41  //
    42  //	dataprocService, err := dataproc.NewService(ctx, option.WithAPIKey("AIza..."))
    43  //
    44  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    45  // flow, use [google.golang.org/api/option.WithTokenSource]:
    46  //
    47  //	config := &oauth2.Config{...}
    48  //	// ...
    49  //	token, err := config.Exchange(ctx, ...)
    50  //	dataprocService, err := dataproc.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    51  //
    52  // See [google.golang.org/api/option.ClientOption] for details on options.
    53  package dataproc // import "google.golang.org/api/dataproc/v1"
    54  
    55  import (
    56  	"bytes"
    57  	"context"
    58  	"encoding/json"
    59  	"errors"
    60  	"fmt"
    61  	"io"
    62  	"net/http"
    63  	"net/url"
    64  	"strconv"
    65  	"strings"
    66  
    67  	googleapi "google.golang.org/api/googleapi"
    68  	internal "google.golang.org/api/internal"
    69  	gensupport "google.golang.org/api/internal/gensupport"
    70  	option "google.golang.org/api/option"
    71  	internaloption "google.golang.org/api/option/internaloption"
    72  	htransport "google.golang.org/api/transport/http"
    73  )
    74  
    75  // Always reference these packages, just in case the auto-generated code
    76  // below doesn't.
    77  var _ = bytes.NewBuffer
    78  var _ = strconv.Itoa
    79  var _ = fmt.Sprintf
    80  var _ = json.NewDecoder
    81  var _ = io.Copy
    82  var _ = url.Parse
    83  var _ = gensupport.MarshalJSON
    84  var _ = googleapi.Version
    85  var _ = errors.New
    86  var _ = strings.Replace
    87  var _ = context.Canceled
    88  var _ = internaloption.WithDefaultEndpoint
    89  var _ = internal.Version
    90  
    91  const apiId = "dataproc:v1"
    92  const apiName = "dataproc"
    93  const apiVersion = "v1"
    94  const basePath = "https://dataproc.googleapis.com/"
    95  const basePathTemplate = "https://dataproc.UNIVERSE_DOMAIN/"
    96  const mtlsBasePath = "https://dataproc.mtls.googleapis.com/"
    97  
    98  // OAuth2 scopes used by this API.
    99  const (
   100  	// See, edit, configure, and delete your Google Cloud data and see the email
   101  	// address for your Google Account.
   102  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   103  )
   104  
   105  // NewService creates a new Service.
   106  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   107  	scopesOption := internaloption.WithDefaultScopes(
   108  		"https://www.googleapis.com/auth/cloud-platform",
   109  	)
   110  	// NOTE: prepend, so we don't override user-specified scopes.
   111  	opts = append([]option.ClientOption{scopesOption}, opts...)
   112  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   113  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   114  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   115  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   116  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	s, err := New(client)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	if endpoint != "" {
   125  		s.BasePath = endpoint
   126  	}
   127  	return s, nil
   128  }
   129  
   130  // New creates a new Service. It uses the provided http.Client for requests.
   131  //
   132  // Deprecated: please use NewService instead.
   133  // To provide a custom HTTP client, use option.WithHTTPClient.
   134  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   135  func New(client *http.Client) (*Service, error) {
   136  	if client == nil {
   137  		return nil, errors.New("client is nil")
   138  	}
   139  	s := &Service{client: client, BasePath: basePath}
   140  	s.Projects = NewProjectsService(s)
   141  	return s, nil
   142  }
   143  
   144  type Service struct {
   145  	client    *http.Client
   146  	BasePath  string // API endpoint base URL
   147  	UserAgent string // optional additional User-Agent fragment
   148  
   149  	Projects *ProjectsService
   150  }
   151  
   152  func (s *Service) userAgent() string {
   153  	if s.UserAgent == "" {
   154  		return googleapi.UserAgent
   155  	}
   156  	return googleapi.UserAgent + " " + s.UserAgent
   157  }
   158  
   159  func NewProjectsService(s *Service) *ProjectsService {
   160  	rs := &ProjectsService{s: s}
   161  	rs.Locations = NewProjectsLocationsService(s)
   162  	rs.Regions = NewProjectsRegionsService(s)
   163  	return rs
   164  }
   165  
   166  type ProjectsService struct {
   167  	s *Service
   168  
   169  	Locations *ProjectsLocationsService
   170  
   171  	Regions *ProjectsRegionsService
   172  }
   173  
   174  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   175  	rs := &ProjectsLocationsService{s: s}
   176  	rs.AutoscalingPolicies = NewProjectsLocationsAutoscalingPoliciesService(s)
   177  	rs.Batches = NewProjectsLocationsBatchesService(s)
   178  	rs.Operations = NewProjectsLocationsOperationsService(s)
   179  	rs.SessionTemplates = NewProjectsLocationsSessionTemplatesService(s)
   180  	rs.Sessions = NewProjectsLocationsSessionsService(s)
   181  	rs.WorkflowTemplates = NewProjectsLocationsWorkflowTemplatesService(s)
   182  	return rs
   183  }
   184  
   185  type ProjectsLocationsService struct {
   186  	s *Service
   187  
   188  	AutoscalingPolicies *ProjectsLocationsAutoscalingPoliciesService
   189  
   190  	Batches *ProjectsLocationsBatchesService
   191  
   192  	Operations *ProjectsLocationsOperationsService
   193  
   194  	SessionTemplates *ProjectsLocationsSessionTemplatesService
   195  
   196  	Sessions *ProjectsLocationsSessionsService
   197  
   198  	WorkflowTemplates *ProjectsLocationsWorkflowTemplatesService
   199  }
   200  
   201  func NewProjectsLocationsAutoscalingPoliciesService(s *Service) *ProjectsLocationsAutoscalingPoliciesService {
   202  	rs := &ProjectsLocationsAutoscalingPoliciesService{s: s}
   203  	return rs
   204  }
   205  
   206  type ProjectsLocationsAutoscalingPoliciesService struct {
   207  	s *Service
   208  }
   209  
   210  func NewProjectsLocationsBatchesService(s *Service) *ProjectsLocationsBatchesService {
   211  	rs := &ProjectsLocationsBatchesService{s: s}
   212  	return rs
   213  }
   214  
   215  type ProjectsLocationsBatchesService struct {
   216  	s *Service
   217  }
   218  
   219  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   220  	rs := &ProjectsLocationsOperationsService{s: s}
   221  	return rs
   222  }
   223  
   224  type ProjectsLocationsOperationsService struct {
   225  	s *Service
   226  }
   227  
   228  func NewProjectsLocationsSessionTemplatesService(s *Service) *ProjectsLocationsSessionTemplatesService {
   229  	rs := &ProjectsLocationsSessionTemplatesService{s: s}
   230  	return rs
   231  }
   232  
   233  type ProjectsLocationsSessionTemplatesService struct {
   234  	s *Service
   235  }
   236  
   237  func NewProjectsLocationsSessionsService(s *Service) *ProjectsLocationsSessionsService {
   238  	rs := &ProjectsLocationsSessionsService{s: s}
   239  	return rs
   240  }
   241  
   242  type ProjectsLocationsSessionsService struct {
   243  	s *Service
   244  }
   245  
   246  func NewProjectsLocationsWorkflowTemplatesService(s *Service) *ProjectsLocationsWorkflowTemplatesService {
   247  	rs := &ProjectsLocationsWorkflowTemplatesService{s: s}
   248  	return rs
   249  }
   250  
   251  type ProjectsLocationsWorkflowTemplatesService struct {
   252  	s *Service
   253  }
   254  
   255  func NewProjectsRegionsService(s *Service) *ProjectsRegionsService {
   256  	rs := &ProjectsRegionsService{s: s}
   257  	rs.AutoscalingPolicies = NewProjectsRegionsAutoscalingPoliciesService(s)
   258  	rs.Clusters = NewProjectsRegionsClustersService(s)
   259  	rs.Jobs = NewProjectsRegionsJobsService(s)
   260  	rs.Operations = NewProjectsRegionsOperationsService(s)
   261  	rs.WorkflowTemplates = NewProjectsRegionsWorkflowTemplatesService(s)
   262  	return rs
   263  }
   264  
   265  type ProjectsRegionsService struct {
   266  	s *Service
   267  
   268  	AutoscalingPolicies *ProjectsRegionsAutoscalingPoliciesService
   269  
   270  	Clusters *ProjectsRegionsClustersService
   271  
   272  	Jobs *ProjectsRegionsJobsService
   273  
   274  	Operations *ProjectsRegionsOperationsService
   275  
   276  	WorkflowTemplates *ProjectsRegionsWorkflowTemplatesService
   277  }
   278  
   279  func NewProjectsRegionsAutoscalingPoliciesService(s *Service) *ProjectsRegionsAutoscalingPoliciesService {
   280  	rs := &ProjectsRegionsAutoscalingPoliciesService{s: s}
   281  	return rs
   282  }
   283  
   284  type ProjectsRegionsAutoscalingPoliciesService struct {
   285  	s *Service
   286  }
   287  
   288  func NewProjectsRegionsClustersService(s *Service) *ProjectsRegionsClustersService {
   289  	rs := &ProjectsRegionsClustersService{s: s}
   290  	rs.NodeGroups = NewProjectsRegionsClustersNodeGroupsService(s)
   291  	return rs
   292  }
   293  
   294  type ProjectsRegionsClustersService struct {
   295  	s *Service
   296  
   297  	NodeGroups *ProjectsRegionsClustersNodeGroupsService
   298  }
   299  
   300  func NewProjectsRegionsClustersNodeGroupsService(s *Service) *ProjectsRegionsClustersNodeGroupsService {
   301  	rs := &ProjectsRegionsClustersNodeGroupsService{s: s}
   302  	return rs
   303  }
   304  
   305  type ProjectsRegionsClustersNodeGroupsService struct {
   306  	s *Service
   307  }
   308  
   309  func NewProjectsRegionsJobsService(s *Service) *ProjectsRegionsJobsService {
   310  	rs := &ProjectsRegionsJobsService{s: s}
   311  	return rs
   312  }
   313  
   314  type ProjectsRegionsJobsService struct {
   315  	s *Service
   316  }
   317  
   318  func NewProjectsRegionsOperationsService(s *Service) *ProjectsRegionsOperationsService {
   319  	rs := &ProjectsRegionsOperationsService{s: s}
   320  	return rs
   321  }
   322  
   323  type ProjectsRegionsOperationsService struct {
   324  	s *Service
   325  }
   326  
   327  func NewProjectsRegionsWorkflowTemplatesService(s *Service) *ProjectsRegionsWorkflowTemplatesService {
   328  	rs := &ProjectsRegionsWorkflowTemplatesService{s: s}
   329  	return rs
   330  }
   331  
   332  type ProjectsRegionsWorkflowTemplatesService struct {
   333  	s *Service
   334  }
   335  
   336  // AcceleratorConfig: Specifies the type and number of accelerator cards
   337  // attached to the instances of an instance. See GPUs on Compute Engine
   338  // (https://cloud.google.com/compute/docs/gpus/).
   339  type AcceleratorConfig struct {
   340  	// AcceleratorCount: The number of the accelerator cards of this type exposed
   341  	// to this instance.
   342  	AcceleratorCount int64 `json:"acceleratorCount,omitempty"`
   343  	// AcceleratorTypeUri: Full URL, partial URI, or short name of the accelerator
   344  	// type resource to expose to this instance. See Compute Engine
   345  	// AcceleratorTypes
   346  	// (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples:
   347  	// https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4
   348  	// projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4
   349  	// nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone
   350  	// Placement
   351  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
   352  	// feature, you must use the short name of the accelerator type resource, for
   353  	// example, nvidia-tesla-t4.
   354  	AcceleratorTypeUri string `json:"acceleratorTypeUri,omitempty"`
   355  	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
   356  	// unconditionally include in API requests. By default, fields with empty or
   357  	// default values are omitted from API requests. See
   358  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   359  	// details.
   360  	ForceSendFields []string `json:"-"`
   361  	// NullFields is a list of field names (e.g. "AcceleratorCount") to include in
   362  	// API requests with the JSON null value. By default, fields with empty values
   363  	// are omitted from API requests. See
   364  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   365  	NullFields []string `json:"-"`
   366  }
   367  
   368  func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) {
   369  	type NoMethod AcceleratorConfig
   370  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   371  }
   372  
   373  // AnalyzeBatchRequest: A request to analyze a batch workload.
   374  type AnalyzeBatchRequest struct {
   375  	// RequestId: Optional. A unique ID used to identify the request. If the
   376  	// service receives two AnalyzeBatchRequest
   377  	// (http://cloud/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.AnalyzeBatchRequest)s
   378  	// with the same request_id, the second request is ignored and the Operation
   379  	// that corresponds to the first request created and stored in the backend is
   380  	// returned.Recommendation: Set this value to a UUID
   381  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must
   382  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
   383  	// (-). The maximum length is 40 characters.
   384  	RequestId string `json:"requestId,omitempty"`
   385  	// ForceSendFields is a list of field names (e.g. "RequestId") to
   386  	// unconditionally include in API requests. By default, fields with empty or
   387  	// default values are omitted from API requests. See
   388  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   389  	// details.
   390  	ForceSendFields []string `json:"-"`
   391  	// NullFields is a list of field names (e.g. "RequestId") to include in API
   392  	// requests with the JSON null value. By default, fields with empty values are
   393  	// omitted from API requests. See
   394  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   395  	NullFields []string `json:"-"`
   396  }
   397  
   398  func (s *AnalyzeBatchRequest) MarshalJSON() ([]byte, error) {
   399  	type NoMethod AnalyzeBatchRequest
   400  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   401  }
   402  
   403  // AnalyzeOperationMetadata: Metadata describing the Analyze operation.
   404  type AnalyzeOperationMetadata struct {
   405  	// AnalyzedWorkloadName: Output only. name of the workload being analyzed.
   406  	AnalyzedWorkloadName string `json:"analyzedWorkloadName,omitempty"`
   407  	// AnalyzedWorkloadType: Output only. Type of the workload being analyzed.
   408  	//
   409  	// Possible values:
   410  	//   "WORKLOAD_TYPE_UNSPECIFIED" - Undefined option
   411  	//   "BATCH" - Serverless batch job
   412  	AnalyzedWorkloadType string `json:"analyzedWorkloadType,omitempty"`
   413  	// AnalyzedWorkloadUuid: Output only. unique identifier of the workload
   414  	// typically generated by control plane. E.g. batch uuid.
   415  	AnalyzedWorkloadUuid string `json:"analyzedWorkloadUuid,omitempty"`
   416  	// CreateTime: Output only. The time when the operation was created.
   417  	CreateTime string `json:"createTime,omitempty"`
   418  	// Description: Output only. Short description of the operation.
   419  	Description string `json:"description,omitempty"`
   420  	// DoneTime: Output only. The time when the operation finished.
   421  	DoneTime string `json:"doneTime,omitempty"`
   422  	// Labels: Output only. Labels associated with the operation.
   423  	Labels map[string]string `json:"labels,omitempty"`
   424  	// Warnings: Output only. Warnings encountered during operation execution.
   425  	Warnings []string `json:"warnings,omitempty"`
   426  	// ForceSendFields is a list of field names (e.g. "AnalyzedWorkloadName") to
   427  	// unconditionally include in API requests. By default, fields with empty or
   428  	// default values are omitted from API requests. See
   429  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   430  	// details.
   431  	ForceSendFields []string `json:"-"`
   432  	// NullFields is a list of field names (e.g. "AnalyzedWorkloadName") to include
   433  	// in API requests with the JSON null value. By default, fields with empty
   434  	// values are omitted from API requests. See
   435  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   436  	NullFields []string `json:"-"`
   437  }
   438  
   439  func (s *AnalyzeOperationMetadata) MarshalJSON() ([]byte, error) {
   440  	type NoMethod AnalyzeOperationMetadata
   441  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   442  }
   443  
   444  // AutoscalingConfig: Autoscaling Policy config associated with the cluster.
   445  type AutoscalingConfig struct {
   446  	// PolicyUri: Optional. The autoscaling policy used by the cluster.Only
   447  	// resource names including projectid and location (region) are valid.
   448  	// Examples:
   449  	// https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]
   450  	// projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy
   451  	// _id]Note that the policy must be in the same project and Dataproc region.
   452  	PolicyUri string `json:"policyUri,omitempty"`
   453  	// ForceSendFields is a list of field names (e.g. "PolicyUri") to
   454  	// unconditionally include in API requests. By default, fields with empty or
   455  	// default values are omitted from API requests. See
   456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   457  	// details.
   458  	ForceSendFields []string `json:"-"`
   459  	// NullFields is a list of field names (e.g. "PolicyUri") to include in API
   460  	// requests with the JSON null value. By default, fields with empty values are
   461  	// omitted from API requests. See
   462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   463  	NullFields []string `json:"-"`
   464  }
   465  
   466  func (s *AutoscalingConfig) MarshalJSON() ([]byte, error) {
   467  	type NoMethod AutoscalingConfig
   468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   469  }
   470  
   471  // AutoscalingPolicy: Describes an autoscaling policy for Dataproc cluster
   472  // autoscaler.
   473  type AutoscalingPolicy struct {
   474  	BasicAlgorithm *BasicAutoscalingAlgorithm `json:"basicAlgorithm,omitempty"`
   475  	// Id: Required. The policy id.The id must contain only letters (a-z, A-Z),
   476  	// numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with
   477  	// underscore or hyphen. Must consist of between 3 and 50 characters.
   478  	Id string `json:"id,omitempty"`
   479  	// Labels: Optional. The labels to associate with this autoscaling policy.
   480  	// Label keys must contain 1 to 63 characters, and must conform to RFC 1035
   481  	// (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if
   482  	// present, must contain 1 to 63 characters, and must conform to RFC 1035
   483  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
   484  	// associated with an autoscaling policy.
   485  	Labels map[string]string `json:"labels,omitempty"`
   486  	// Name: Output only. The "resource name" of the autoscaling policy, as
   487  	// described in https://cloud.google.com/apis/design/resource_names. For
   488  	// projects.regions.autoscalingPolicies, the resource name of the policy has
   489  	// the following format:
   490  	// projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
   491  	// projects.locations.autoscalingPolicies, the resource name of the policy has
   492  	// the following format:
   493  	// projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}
   494  	Name string `json:"name,omitempty"`
   495  	// SecondaryWorkerConfig: Optional. Describes how the autoscaler will operate
   496  	// for secondary workers.
   497  	SecondaryWorkerConfig *InstanceGroupAutoscalingPolicyConfig `json:"secondaryWorkerConfig,omitempty"`
   498  	// WorkerConfig: Required. Describes how the autoscaler will operate for
   499  	// primary workers.
   500  	WorkerConfig *InstanceGroupAutoscalingPolicyConfig `json:"workerConfig,omitempty"`
   501  
   502  	// ServerResponse contains the HTTP response code and headers from the server.
   503  	googleapi.ServerResponse `json:"-"`
   504  	// ForceSendFields is a list of field names (e.g. "BasicAlgorithm") to
   505  	// unconditionally include in API requests. By default, fields with empty or
   506  	// default values are omitted from API requests. See
   507  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   508  	// details.
   509  	ForceSendFields []string `json:"-"`
   510  	// NullFields is a list of field names (e.g. "BasicAlgorithm") to include in
   511  	// API requests with the JSON null value. By default, fields with empty values
   512  	// are omitted from API requests. See
   513  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   514  	NullFields []string `json:"-"`
   515  }
   516  
   517  func (s *AutoscalingPolicy) MarshalJSON() ([]byte, error) {
   518  	type NoMethod AutoscalingPolicy
   519  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   520  }
   521  
   522  // AuxiliaryNodeGroup: Node group identification and configuration information.
   523  type AuxiliaryNodeGroup struct {
   524  	// NodeGroup: Required. Node group configuration.
   525  	NodeGroup *NodeGroup `json:"nodeGroup,omitempty"`
   526  	// NodeGroupId: Optional. A node group ID. Generated if not specified.The ID
   527  	// must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and
   528  	// hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of
   529  	// from 3 to 33 characters.
   530  	NodeGroupId string `json:"nodeGroupId,omitempty"`
   531  	// ForceSendFields is a list of field names (e.g. "NodeGroup") to
   532  	// unconditionally include in API requests. By default, fields with empty or
   533  	// default values are omitted from API requests. See
   534  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   535  	// details.
   536  	ForceSendFields []string `json:"-"`
   537  	// NullFields is a list of field names (e.g. "NodeGroup") to include in API
   538  	// requests with the JSON null value. By default, fields with empty values are
   539  	// omitted from API requests. See
   540  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   541  	NullFields []string `json:"-"`
   542  }
   543  
   544  func (s *AuxiliaryNodeGroup) MarshalJSON() ([]byte, error) {
   545  	type NoMethod AuxiliaryNodeGroup
   546  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   547  }
   548  
   549  // AuxiliaryServicesConfig: Auxiliary services configuration for a Cluster.
   550  type AuxiliaryServicesConfig struct {
   551  	// MetastoreConfig: Optional. The Hive Metastore configuration for this
   552  	// workload.
   553  	MetastoreConfig *MetastoreConfig `json:"metastoreConfig,omitempty"`
   554  	// SparkHistoryServerConfig: Optional. The Spark History Server configuration
   555  	// for the workload.
   556  	SparkHistoryServerConfig *SparkHistoryServerConfig `json:"sparkHistoryServerConfig,omitempty"`
   557  	// ForceSendFields is a list of field names (e.g. "MetastoreConfig") to
   558  	// unconditionally include in API requests. By default, fields with empty or
   559  	// default values are omitted from API requests. See
   560  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   561  	// details.
   562  	ForceSendFields []string `json:"-"`
   563  	// NullFields is a list of field names (e.g. "MetastoreConfig") to include in
   564  	// API requests with the JSON null value. By default, fields with empty values
   565  	// are omitted from API requests. See
   566  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   567  	NullFields []string `json:"-"`
   568  }
   569  
   570  func (s *AuxiliaryServicesConfig) MarshalJSON() ([]byte, error) {
   571  	type NoMethod AuxiliaryServicesConfig
   572  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   573  }
   574  
   575  // BasicAutoscalingAlgorithm: Basic algorithm for autoscaling.
   576  type BasicAutoscalingAlgorithm struct {
   577  	// CooldownPeriod: Optional. Duration between scaling events. A scaling period
   578  	// starts after the update operation from the previous event has
   579  	// completed.Bounds: 2m, 1d. Default: 2m.
   580  	CooldownPeriod string `json:"cooldownPeriod,omitempty"`
   581  	// SparkStandaloneConfig: Optional. Spark Standalone autoscaling configuration
   582  	SparkStandaloneConfig *SparkStandaloneAutoscalingConfig `json:"sparkStandaloneConfig,omitempty"`
   583  	// YarnConfig: Optional. YARN autoscaling configuration.
   584  	YarnConfig *BasicYarnAutoscalingConfig `json:"yarnConfig,omitempty"`
   585  	// ForceSendFields is a list of field names (e.g. "CooldownPeriod") to
   586  	// unconditionally include in API requests. By default, fields with empty or
   587  	// default values are omitted from API requests. See
   588  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   589  	// details.
   590  	ForceSendFields []string `json:"-"`
   591  	// NullFields is a list of field names (e.g. "CooldownPeriod") to include in
   592  	// API requests with the JSON null value. By default, fields with empty values
   593  	// are omitted from API requests. See
   594  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   595  	NullFields []string `json:"-"`
   596  }
   597  
   598  func (s *BasicAutoscalingAlgorithm) MarshalJSON() ([]byte, error) {
   599  	type NoMethod BasicAutoscalingAlgorithm
   600  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   601  }
   602  
   603  // BasicYarnAutoscalingConfig: Basic autoscaling configurations for YARN.
   604  type BasicYarnAutoscalingConfig struct {
   605  	// GracefulDecommissionTimeout: Required. Timeout for YARN graceful
   606  	// decommissioning of Node Managers. Specifies the duration to wait for jobs to
   607  	// complete before forcefully removing workers (and potentially interrupting
   608  	// jobs). Only applicable to downscaling operations.Bounds: 0s, 1d.
   609  	GracefulDecommissionTimeout string `json:"gracefulDecommissionTimeout,omitempty"`
   610  	// ScaleDownFactor: Required. Fraction of average YARN pending memory in the
   611  	// last cooldown period for which to remove workers. A scale-down factor of 1
   612  	// will result in scaling down so that there is no available memory remaining
   613  	// after the update (more aggressive scaling). A scale-down factor of 0
   614  	// disables removing workers, which can be beneficial for autoscaling a single
   615  	// job. See How autoscaling works
   616  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#how_autoscaling_works)
   617  	// for more information.Bounds: 0.0, 1.0.
   618  	ScaleDownFactor float64 `json:"scaleDownFactor,omitempty"`
   619  	// ScaleDownMinWorkerFraction: Optional. Minimum scale-down threshold as a
   620  	// fraction of total cluster size before scaling occurs. For example, in a
   621  	// 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at
   622  	// least a 2 worker scale-down for the cluster to scale. A threshold of 0 means
   623  	// the autoscaler will scale down on any recommended change.Bounds: 0.0, 1.0.
   624  	// Default: 0.0.
   625  	ScaleDownMinWorkerFraction float64 `json:"scaleDownMinWorkerFraction,omitempty"`
   626  	// ScaleUpFactor: Required. Fraction of average YARN pending memory in the last
   627  	// cooldown period for which to add workers. A scale-up factor of 1.0 will
   628  	// result in scaling up so that there is no pending memory remaining after the
   629  	// update (more aggressive scaling). A scale-up factor closer to 0 will result
   630  	// in a smaller magnitude of scaling up (less aggressive scaling). See How
   631  	// autoscaling works
   632  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#how_autoscaling_works)
   633  	// for more information.Bounds: 0.0, 1.0.
   634  	ScaleUpFactor float64 `json:"scaleUpFactor,omitempty"`
   635  	// ScaleUpMinWorkerFraction: Optional. Minimum scale-up threshold as a fraction
   636  	// of total cluster size before scaling occurs. For example, in a 20-worker
   637  	// cluster, a threshold of 0.1 means the autoscaler must recommend at least a
   638  	// 2-worker scale-up for the cluster to scale. A threshold of 0 means the
   639  	// autoscaler will scale up on any recommended change.Bounds: 0.0, 1.0.
   640  	// Default: 0.0.
   641  	ScaleUpMinWorkerFraction float64 `json:"scaleUpMinWorkerFraction,omitempty"`
   642  	// ForceSendFields is a list of field names (e.g.
   643  	// "GracefulDecommissionTimeout") to unconditionally include in API requests.
   644  	// By default, fields with empty or default values are omitted from API
   645  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
   646  	// for more details.
   647  	ForceSendFields []string `json:"-"`
   648  	// NullFields is a list of field names (e.g. "GracefulDecommissionTimeout") to
   649  	// include in API requests with the JSON null value. By default, fields with
   650  	// empty values are omitted from API requests. See
   651  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   652  	NullFields []string `json:"-"`
   653  }
   654  
   655  func (s *BasicYarnAutoscalingConfig) MarshalJSON() ([]byte, error) {
   656  	type NoMethod BasicYarnAutoscalingConfig
   657  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   658  }
   659  
   660  func (s *BasicYarnAutoscalingConfig) UnmarshalJSON(data []byte) error {
   661  	type NoMethod BasicYarnAutoscalingConfig
   662  	var s1 struct {
   663  		ScaleDownFactor            gensupport.JSONFloat64 `json:"scaleDownFactor"`
   664  		ScaleDownMinWorkerFraction gensupport.JSONFloat64 `json:"scaleDownMinWorkerFraction"`
   665  		ScaleUpFactor              gensupport.JSONFloat64 `json:"scaleUpFactor"`
   666  		ScaleUpMinWorkerFraction   gensupport.JSONFloat64 `json:"scaleUpMinWorkerFraction"`
   667  		*NoMethod
   668  	}
   669  	s1.NoMethod = (*NoMethod)(s)
   670  	if err := json.Unmarshal(data, &s1); err != nil {
   671  		return err
   672  	}
   673  	s.ScaleDownFactor = float64(s1.ScaleDownFactor)
   674  	s.ScaleDownMinWorkerFraction = float64(s1.ScaleDownMinWorkerFraction)
   675  	s.ScaleUpFactor = float64(s1.ScaleUpFactor)
   676  	s.ScaleUpMinWorkerFraction = float64(s1.ScaleUpMinWorkerFraction)
   677  	return nil
   678  }
   679  
   680  // Batch: A representation of a batch workload in the service.
   681  type Batch struct {
   682  	// CreateTime: Output only. The time when the batch was created.
   683  	CreateTime string `json:"createTime,omitempty"`
   684  	// Creator: Output only. The email address of the user who created the batch.
   685  	Creator string `json:"creator,omitempty"`
   686  	// EnvironmentConfig: Optional. Environment configuration for the batch
   687  	// execution.
   688  	EnvironmentConfig *EnvironmentConfig `json:"environmentConfig,omitempty"`
   689  	// Labels: Optional. The labels to associate with this batch. Label keys must
   690  	// contain 1 to 63 characters, and must conform to RFC 1035
   691  	// (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if
   692  	// present, must contain 1 to 63 characters, and must conform to RFC 1035
   693  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
   694  	// associated with a batch.
   695  	Labels map[string]string `json:"labels,omitempty"`
   696  	// Name: Output only. The resource name of the batch.
   697  	Name string `json:"name,omitempty"`
   698  	// Operation: Output only. The resource name of the operation associated with
   699  	// this batch.
   700  	Operation string `json:"operation,omitempty"`
   701  	// PysparkBatch: Optional. PySpark batch config.
   702  	PysparkBatch *PySparkBatch `json:"pysparkBatch,omitempty"`
   703  	// RuntimeConfig: Optional. Runtime configuration for the batch execution.
   704  	RuntimeConfig *RuntimeConfig `json:"runtimeConfig,omitempty"`
   705  	// RuntimeInfo: Output only. Runtime information about batch execution.
   706  	RuntimeInfo *RuntimeInfo `json:"runtimeInfo,omitempty"`
   707  	// SparkBatch: Optional. Spark batch config.
   708  	SparkBatch *SparkBatch `json:"sparkBatch,omitempty"`
   709  	// SparkRBatch: Optional. SparkR batch config.
   710  	SparkRBatch *SparkRBatch `json:"sparkRBatch,omitempty"`
   711  	// SparkSqlBatch: Optional. SparkSql batch config.
   712  	SparkSqlBatch *SparkSqlBatch `json:"sparkSqlBatch,omitempty"`
   713  	// State: Output only. The state of the batch.
   714  	//
   715  	// Possible values:
   716  	//   "STATE_UNSPECIFIED" - The batch state is unknown.
   717  	//   "PENDING" - The batch is created before running.
   718  	//   "RUNNING" - The batch is running.
   719  	//   "CANCELLING" - The batch is cancelling.
   720  	//   "CANCELLED" - The batch cancellation was successful.
   721  	//   "SUCCEEDED" - The batch completed successfully.
   722  	//   "FAILED" - The batch is no longer running due to an error.
   723  	State string `json:"state,omitempty"`
   724  	// StateHistory: Output only. Historical state information for the batch.
   725  	StateHistory []*StateHistory `json:"stateHistory,omitempty"`
   726  	// StateMessage: Output only. Batch state details, such as a failure
   727  	// description if the state is FAILED.
   728  	StateMessage string `json:"stateMessage,omitempty"`
   729  	// StateTime: Output only. The time when the batch entered a current state.
   730  	StateTime string `json:"stateTime,omitempty"`
   731  	// Uuid: Output only. A batch UUID (Unique Universal Identifier). The service
   732  	// generates this value when it creates the batch.
   733  	Uuid string `json:"uuid,omitempty"`
   734  
   735  	// ServerResponse contains the HTTP response code and headers from the server.
   736  	googleapi.ServerResponse `json:"-"`
   737  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
   738  	// unconditionally include in API requests. By default, fields with empty or
   739  	// default values are omitted from API requests. See
   740  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   741  	// details.
   742  	ForceSendFields []string `json:"-"`
   743  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
   744  	// requests with the JSON null value. By default, fields with empty values are
   745  	// omitted from API requests. See
   746  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   747  	NullFields []string `json:"-"`
   748  }
   749  
   750  func (s *Batch) MarshalJSON() ([]byte, error) {
   751  	type NoMethod Batch
   752  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   753  }
   754  
   755  // BatchOperationMetadata: Metadata describing the Batch operation.
   756  type BatchOperationMetadata struct {
   757  	// Batch: Name of the batch for the operation.
   758  	Batch string `json:"batch,omitempty"`
   759  	// BatchUuid: Batch UUID for the operation.
   760  	BatchUuid string `json:"batchUuid,omitempty"`
   761  	// CreateTime: The time when the operation was created.
   762  	CreateTime string `json:"createTime,omitempty"`
   763  	// Description: Short description of the operation.
   764  	Description string `json:"description,omitempty"`
   765  	// DoneTime: The time when the operation finished.
   766  	DoneTime string `json:"doneTime,omitempty"`
   767  	// Labels: Labels associated with the operation.
   768  	Labels map[string]string `json:"labels,omitempty"`
   769  	// OperationType: The operation type.
   770  	//
   771  	// Possible values:
   772  	//   "BATCH_OPERATION_TYPE_UNSPECIFIED" - Batch operation type is unknown.
   773  	//   "BATCH" - Batch operation type.
   774  	OperationType string `json:"operationType,omitempty"`
   775  	// Warnings: Warnings encountered during operation execution.
   776  	Warnings []string `json:"warnings,omitempty"`
   777  	// ForceSendFields is a list of field names (e.g. "Batch") to unconditionally
   778  	// include in API requests. By default, fields with empty or default values are
   779  	// omitted from API requests. See
   780  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   781  	// details.
   782  	ForceSendFields []string `json:"-"`
   783  	// NullFields is a list of field names (e.g. "Batch") to include in API
   784  	// requests with the JSON null value. By default, fields with empty values are
   785  	// omitted from API requests. See
   786  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   787  	NullFields []string `json:"-"`
   788  }
   789  
   790  func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) {
   791  	type NoMethod BatchOperationMetadata
   792  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   793  }
   794  
   795  // Binding: Associates members, or principals, with a role.
   796  type Binding struct {
   797  	// Condition: The condition that is associated with this binding.If the
   798  	// condition evaluates to true, then this binding applies to the current
   799  	// request.If the condition evaluates to false, then this binding does not
   800  	// apply to the current request. However, a different role binding might grant
   801  	// the same role to one or more of the principals in this binding.To learn
   802  	// which resources support conditions in their IAM policies, see the IAM
   803  	// documentation
   804  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   805  	Condition *Expr `json:"condition,omitempty"`
   806  	// Members: Specifies the principals requesting access for a Google Cloud
   807  	// resource. members can have the following values: allUsers: A special
   808  	// identifier that represents anyone who is on the internet; with or without a
   809  	// Google account. allAuthenticatedUsers: A special identifier that represents
   810  	// anyone who is authenticated with a Google account or a service account. Does
   811  	// not include identities that come from external identity providers (IdPs)
   812  	// through identity federation. user:{emailid}: An email address that
   813  	// represents a specific Google account. For example, alice@example.com .
   814  	// serviceAccount:{emailid}: An email address that represents a Google service
   815  	// account. For example, my-other-app@appspot.gserviceaccount.com.
   816  	// serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An
   817  	// identifier for a Kubernetes service account
   818  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   819  	// For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa].
   820  	// group:{emailid}: An email address that represents a Google group. For
   821  	// example, admins@example.com. domain:{domain}: The G Suite domain (primary)
   822  	// that represents all the users of that domain. For example, google.com or
   823  	// example.com.
   824  	// principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subj
   825  	// ect/{subject_attribute_value}: A single identity in a workforce identity
   826  	// pool.
   827  	// principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/g
   828  	// roup/{group_id}: All workforce identities in a group.
   829  	// principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/a
   830  	// ttribute.{attribute_name}/{attribute_value}: All workforce identities with a
   831  	// specific attribute value.
   832  	// principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*
   833  	// : All identities in a workforce identity pool.
   834  	// principal://iam.googleapis.com/projects/{project_number}/locations/global/wor
   835  	// kloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single
   836  	// identity in a workload identity pool.
   837  	// principalSet://iam.googleapis.com/projects/{project_number}/locations/global/
   838  	// workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool
   839  	// group.
   840  	// principalSet://iam.googleapis.com/projects/{project_number}/locations/global/
   841  	// workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}:
   842  	//  All identities in a workload identity pool with a certain attribute.
   843  	// principalSet://iam.googleapis.com/projects/{project_number}/locations/global/
   844  	// workloadIdentityPools/{pool_id}/*: All identities in a workload identity
   845  	// pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique
   846  	// identifier) representing a user that has been recently deleted. For example,
   847  	// alice@example.com?uid=123456789012345678901. If the user is recovered, this
   848  	// value reverts to user:{emailid} and the recovered user retains the role in
   849  	// the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email
   850  	// address (plus unique identifier) representing a service account that has
   851  	// been recently deleted. For example,
   852  	// my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the
   853  	// service account is undeleted, this value reverts to serviceAccount:{emailid}
   854  	// and the undeleted service account retains the role in the binding.
   855  	// deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique
   856  	// identifier) representing a Google group that has been recently deleted. For
   857  	// example, admins@example.com?uid=123456789012345678901. If the group is
   858  	// recovered, this value reverts to group:{emailid} and the recovered group
   859  	// retains the role in the binding.
   860  	// deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_
   861  	// id}/subject/{subject_attribute_value}: Deleted single identity in a
   862  	// workforce identity pool. For example,
   863  	// deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-poo
   864  	// l-id/subject/my-subject-attribute-value.
   865  	Members []string `json:"members,omitempty"`
   866  	// Role: Role that is assigned to the list of members, or principals. For
   867  	// example, roles/viewer, roles/editor, or roles/owner.For an overview of the
   868  	// IAM roles and permissions, see the IAM documentation
   869  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   870  	// available pre-defined roles, see here
   871  	// (https://cloud.google.com/iam/docs/understanding-roles).
   872  	Role string `json:"role,omitempty"`
   873  	// ForceSendFields is a list of field names (e.g. "Condition") to
   874  	// unconditionally include in API requests. By default, fields with empty or
   875  	// default values are omitted from API requests. See
   876  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   877  	// details.
   878  	ForceSendFields []string `json:"-"`
   879  	// NullFields is a list of field names (e.g. "Condition") to include in API
   880  	// requests with the JSON null value. By default, fields with empty values are
   881  	// omitted from API requests. See
   882  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   883  	NullFields []string `json:"-"`
   884  }
   885  
   886  func (s *Binding) MarshalJSON() ([]byte, error) {
   887  	type NoMethod Binding
   888  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   889  }
   890  
   891  // CancelJobRequest: A request to cancel a job.
   892  type CancelJobRequest struct {
   893  }
   894  
   895  // Cluster: Describes the identifying information, config, and status of a
   896  // Dataproc cluster
   897  type Cluster struct {
   898  	// ClusterName: Required. The cluster name, which must be unique within a
   899  	// project. The name must start with a lowercase letter, and can contain up to
   900  	// 51 lowercase letters, numbers, and hyphens. It cannot end with a hyphen. The
   901  	// name of a deleted cluster can be reused.
   902  	ClusterName string `json:"clusterName,omitempty"`
   903  	// ClusterUuid: Output only. A cluster UUID (Unique Universal Identifier).
   904  	// Dataproc generates this value when it creates the cluster.
   905  	ClusterUuid string `json:"clusterUuid,omitempty"`
   906  	// Config: Optional. The cluster config for a cluster of Compute Engine
   907  	// Instances. Note that Dataproc may set default values, and values may change
   908  	// when clusters are updated.Exactly one of ClusterConfig or
   909  	// VirtualClusterConfig must be specified.
   910  	Config *ClusterConfig `json:"config,omitempty"`
   911  	// Labels: Optional. The labels to associate with this cluster. Label keys must
   912  	// contain 1 to 63 characters, and must conform to RFC 1035
   913  	// (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if
   914  	// present, must contain 1 to 63 characters, and must conform to RFC 1035
   915  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
   916  	// associated with a cluster.
   917  	Labels map[string]string `json:"labels,omitempty"`
   918  	// Metrics: Output only. Contains cluster daemon metrics such as HDFS and YARN
   919  	// stats.Beta Feature: This report is available for testing purposes only. It
   920  	// may be changed before final release.
   921  	Metrics *ClusterMetrics `json:"metrics,omitempty"`
   922  	// ProjectId: Required. The Google Cloud Platform project ID that the cluster
   923  	// belongs to.
   924  	ProjectId string `json:"projectId,omitempty"`
   925  	// Status: Output only. Cluster status.
   926  	Status *ClusterStatus `json:"status,omitempty"`
   927  	// StatusHistory: Output only. The previous cluster status.
   928  	StatusHistory []*ClusterStatus `json:"statusHistory,omitempty"`
   929  	// VirtualClusterConfig: Optional. The virtual cluster config is used when
   930  	// creating a Dataproc cluster that does not directly control the underlying
   931  	// compute resources, for example, when creating a Dataproc-on-GKE cluster
   932  	// (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview).
   933  	// Dataproc may set default values, and values may change when clusters are
   934  	// updated. Exactly one of config or virtual_cluster_config must be specified.
   935  	VirtualClusterConfig *VirtualClusterConfig `json:"virtualClusterConfig,omitempty"`
   936  
   937  	// ServerResponse contains the HTTP response code and headers from the server.
   938  	googleapi.ServerResponse `json:"-"`
   939  	// ForceSendFields is a list of field names (e.g. "ClusterName") to
   940  	// unconditionally include in API requests. By default, fields with empty or
   941  	// default values are omitted from API requests. See
   942  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   943  	// details.
   944  	ForceSendFields []string `json:"-"`
   945  	// NullFields is a list of field names (e.g. "ClusterName") to include in API
   946  	// requests with the JSON null value. By default, fields with empty values are
   947  	// omitted from API requests. See
   948  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   949  	NullFields []string `json:"-"`
   950  }
   951  
   952  func (s *Cluster) MarshalJSON() ([]byte, error) {
   953  	type NoMethod Cluster
   954  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   955  }
   956  
   957  // ClusterConfig: The cluster config.
   958  type ClusterConfig struct {
   959  	// AutoscalingConfig: Optional. Autoscaling config for the policy associated
   960  	// with the cluster. Cluster does not autoscale if this field is unset.
   961  	AutoscalingConfig *AutoscalingConfig `json:"autoscalingConfig,omitempty"`
   962  	// AuxiliaryNodeGroups: Optional. The node group settings.
   963  	AuxiliaryNodeGroups []*AuxiliaryNodeGroup `json:"auxiliaryNodeGroups,omitempty"`
   964  	// ConfigBucket: Optional. A Cloud Storage bucket used to stage job
   965  	// dependencies, config files, and job driver console output. If you do not
   966  	// specify a staging bucket, Cloud Dataproc will determine a Cloud Storage
   967  	// location (US, ASIA, or EU) for your cluster's staging bucket according to
   968  	// the Compute Engine zone where your cluster is deployed, and then create and
   969  	// manage this project-level, per-location bucket (see Dataproc staging and
   970  	// temp buckets
   971  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).
   972  	// This field requires a Cloud Storage bucket name, not a gs://... URI to a
   973  	// Cloud Storage bucket.
   974  	ConfigBucket string `json:"configBucket,omitempty"`
   975  	// DataprocMetricConfig: Optional. The config for Dataproc metrics.
   976  	DataprocMetricConfig *DataprocMetricConfig `json:"dataprocMetricConfig,omitempty"`
   977  	// EncryptionConfig: Optional. Encryption settings for the cluster.
   978  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   979  	// EndpointConfig: Optional. Port/endpoint configuration for this cluster
   980  	EndpointConfig *EndpointConfig `json:"endpointConfig,omitempty"`
   981  	// GceClusterConfig: Optional. The shared Compute Engine config settings for
   982  	// all instances in a cluster.
   983  	GceClusterConfig *GceClusterConfig `json:"gceClusterConfig,omitempty"`
   984  	// GkeClusterConfig: Optional. BETA. The Kubernetes Engine config for Dataproc
   985  	// clusters deployed to The Kubernetes Engine config for Dataproc clusters
   986  	// deployed to Kubernetes. These config settings are mutually exclusive with
   987  	// Compute Engine-based options, such as gce_cluster_config, master_config,
   988  	// worker_config, secondary_worker_config, and autoscaling_config.
   989  	GkeClusterConfig *GkeClusterConfig `json:"gkeClusterConfig,omitempty"`
   990  	// InitializationActions: Optional. Commands to execute on each node after
   991  	// config is completed. By default, executables are run on master and all
   992  	// worker nodes. You can test a node's role metadata to run an executable on a
   993  	// master or worker node, as shown below using curl (you can also use wget):
   994  	// ROLE=$(curl -H Metadata-Flavor:Google
   995  	// http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) if [[
   996  	// "${ROLE}" == 'Master' ]]; then ... master specific actions ... else ...
   997  	// worker specific actions ... fi
   998  	InitializationActions []*NodeInitializationAction `json:"initializationActions,omitempty"`
   999  	// LifecycleConfig: Optional. Lifecycle setting for the cluster.
  1000  	LifecycleConfig *LifecycleConfig `json:"lifecycleConfig,omitempty"`
  1001  	// MasterConfig: Optional. The Compute Engine config settings for the cluster's
  1002  	// master instance.
  1003  	MasterConfig *InstanceGroupConfig `json:"masterConfig,omitempty"`
  1004  	// MetastoreConfig: Optional. Metastore configuration.
  1005  	MetastoreConfig *MetastoreConfig `json:"metastoreConfig,omitempty"`
  1006  	// SecondaryWorkerConfig: Optional. The Compute Engine config settings for a
  1007  	// cluster's secondary worker instances
  1008  	SecondaryWorkerConfig *InstanceGroupConfig `json:"secondaryWorkerConfig,omitempty"`
  1009  	// SecurityConfig: Optional. Security settings for the cluster.
  1010  	SecurityConfig *SecurityConfig `json:"securityConfig,omitempty"`
  1011  	// SoftwareConfig: Optional. The config settings for cluster software.
  1012  	SoftwareConfig *SoftwareConfig `json:"softwareConfig,omitempty"`
  1013  	// TempBucket: Optional. A Cloud Storage bucket used to store ephemeral cluster
  1014  	// and jobs data, such as Spark and MapReduce history files. If you do not
  1015  	// specify a temp bucket, Dataproc will determine a Cloud Storage location (US,
  1016  	// ASIA, or EU) for your cluster's temp bucket according to the Compute Engine
  1017  	// zone where your cluster is deployed, and then create and manage this
  1018  	// project-level, per-location bucket. The default bucket has a TTL of 90 days,
  1019  	// but you can use any TTL (or none) if you specify a bucket (see Dataproc
  1020  	// staging and temp buckets
  1021  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).
  1022  	// This field requires a Cloud Storage bucket name, not a gs://... URI to a
  1023  	// Cloud Storage bucket.
  1024  	TempBucket string `json:"tempBucket,omitempty"`
  1025  	// WorkerConfig: Optional. The Compute Engine config settings for the cluster's
  1026  	// worker instances.
  1027  	WorkerConfig *InstanceGroupConfig `json:"workerConfig,omitempty"`
  1028  	// ForceSendFields is a list of field names (e.g. "AutoscalingConfig") to
  1029  	// unconditionally include in API requests. By default, fields with empty or
  1030  	// default values are omitted from API requests. See
  1031  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1032  	// details.
  1033  	ForceSendFields []string `json:"-"`
  1034  	// NullFields is a list of field names (e.g. "AutoscalingConfig") to include in
  1035  	// API requests with the JSON null value. By default, fields with empty values
  1036  	// are omitted from API requests. See
  1037  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1038  	NullFields []string `json:"-"`
  1039  }
  1040  
  1041  func (s *ClusterConfig) MarshalJSON() ([]byte, error) {
  1042  	type NoMethod ClusterConfig
  1043  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1044  }
  1045  
  1046  // ClusterMetrics: Contains cluster daemon metrics, such as HDFS and YARN
  1047  // stats.Beta Feature: This report is available for testing purposes only. It
  1048  // may be changed before final release.
  1049  type ClusterMetrics struct {
  1050  	// HdfsMetrics: The HDFS metrics.
  1051  	HdfsMetrics map[string]string `json:"hdfsMetrics,omitempty"`
  1052  	// YarnMetrics: YARN metrics.
  1053  	YarnMetrics map[string]string `json:"yarnMetrics,omitempty"`
  1054  	// ForceSendFields is a list of field names (e.g. "HdfsMetrics") to
  1055  	// unconditionally include in API requests. By default, fields with empty or
  1056  	// default values are omitted from API requests. See
  1057  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1058  	// details.
  1059  	ForceSendFields []string `json:"-"`
  1060  	// NullFields is a list of field names (e.g. "HdfsMetrics") to include in API
  1061  	// requests with the JSON null value. By default, fields with empty values are
  1062  	// omitted from API requests. See
  1063  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1064  	NullFields []string `json:"-"`
  1065  }
  1066  
  1067  func (s *ClusterMetrics) MarshalJSON() ([]byte, error) {
  1068  	type NoMethod ClusterMetrics
  1069  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1070  }
  1071  
  1072  // ClusterOperation: The cluster operation triggered by a workflow.
  1073  type ClusterOperation struct {
  1074  	// Done: Output only. Indicates the operation is done.
  1075  	Done bool `json:"done,omitempty"`
  1076  	// Error: Output only. Error, if operation failed.
  1077  	Error string `json:"error,omitempty"`
  1078  	// OperationId: Output only. The id of the cluster operation.
  1079  	OperationId string `json:"operationId,omitempty"`
  1080  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  1081  	// include in API requests. By default, fields with empty or default values are
  1082  	// omitted from API requests. See
  1083  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1084  	// details.
  1085  	ForceSendFields []string `json:"-"`
  1086  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  1087  	// with the JSON null value. By default, fields with empty values are omitted
  1088  	// from API requests. See
  1089  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1090  	NullFields []string `json:"-"`
  1091  }
  1092  
  1093  func (s *ClusterOperation) MarshalJSON() ([]byte, error) {
  1094  	type NoMethod ClusterOperation
  1095  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1096  }
  1097  
  1098  // ClusterOperationMetadata: Metadata describing the operation.
  1099  type ClusterOperationMetadata struct {
  1100  	// ChildOperationIds: Output only. Child operation ids
  1101  	ChildOperationIds []string `json:"childOperationIds,omitempty"`
  1102  	// ClusterName: Output only. Name of the cluster for the operation.
  1103  	ClusterName string `json:"clusterName,omitempty"`
  1104  	// ClusterUuid: Output only. Cluster UUID for the operation.
  1105  	ClusterUuid string `json:"clusterUuid,omitempty"`
  1106  	// Description: Output only. Short description of operation.
  1107  	Description string `json:"description,omitempty"`
  1108  	// Labels: Output only. Labels associated with the operation
  1109  	Labels map[string]string `json:"labels,omitempty"`
  1110  	// OperationType: Output only. The operation type.
  1111  	OperationType string `json:"operationType,omitempty"`
  1112  	// Status: Output only. Current operation status.
  1113  	Status *ClusterOperationStatus `json:"status,omitempty"`
  1114  	// StatusHistory: Output only. The previous operation status.
  1115  	StatusHistory []*ClusterOperationStatus `json:"statusHistory,omitempty"`
  1116  	// Warnings: Output only. Errors encountered during operation execution.
  1117  	Warnings []string `json:"warnings,omitempty"`
  1118  	// ForceSendFields is a list of field names (e.g. "ChildOperationIds") to
  1119  	// unconditionally include in API requests. By default, fields with empty or
  1120  	// default values are omitted from API requests. See
  1121  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1122  	// details.
  1123  	ForceSendFields []string `json:"-"`
  1124  	// NullFields is a list of field names (e.g. "ChildOperationIds") to include in
  1125  	// API requests with the JSON null value. By default, fields with empty values
  1126  	// are omitted from API requests. See
  1127  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1128  	NullFields []string `json:"-"`
  1129  }
  1130  
  1131  func (s *ClusterOperationMetadata) MarshalJSON() ([]byte, error) {
  1132  	type NoMethod ClusterOperationMetadata
  1133  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1134  }
  1135  
  1136  // ClusterOperationStatus: The status of the operation.
  1137  type ClusterOperationStatus struct {
  1138  	// Details: Output only. A message containing any operation metadata details.
  1139  	Details string `json:"details,omitempty"`
  1140  	// InnerState: Output only. A message containing the detailed operation state.
  1141  	InnerState string `json:"innerState,omitempty"`
  1142  	// State: Output only. A message containing the operation state.
  1143  	//
  1144  	// Possible values:
  1145  	//   "UNKNOWN" - Unused.
  1146  	//   "PENDING" - The operation has been created.
  1147  	//   "RUNNING" - The operation is running.
  1148  	//   "DONE" - The operation is done; either cancelled or completed.
  1149  	State string `json:"state,omitempty"`
  1150  	// StateStartTime: Output only. The time this state was entered.
  1151  	StateStartTime string `json:"stateStartTime,omitempty"`
  1152  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  1153  	// include in API requests. By default, fields with empty or default values are
  1154  	// omitted from API requests. See
  1155  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1156  	// details.
  1157  	ForceSendFields []string `json:"-"`
  1158  	// NullFields is a list of field names (e.g. "Details") to include in API
  1159  	// requests with the JSON null value. By default, fields with empty values are
  1160  	// omitted from API requests. See
  1161  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1162  	NullFields []string `json:"-"`
  1163  }
  1164  
  1165  func (s *ClusterOperationStatus) MarshalJSON() ([]byte, error) {
  1166  	type NoMethod ClusterOperationStatus
  1167  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1168  }
  1169  
  1170  // ClusterSelector: A selector that chooses target cluster for jobs based on
  1171  // metadata.
  1172  type ClusterSelector struct {
  1173  	// ClusterLabels: Required. The cluster labels. Cluster must have all labels to
  1174  	// match.
  1175  	ClusterLabels map[string]string `json:"clusterLabels,omitempty"`
  1176  	// Zone: Optional. The zone where workflow process executes. This parameter
  1177  	// does not affect the selection of the cluster.If unspecified, the zone of the
  1178  	// first cluster matching the selector is used.
  1179  	Zone string `json:"zone,omitempty"`
  1180  	// ForceSendFields is a list of field names (e.g. "ClusterLabels") to
  1181  	// unconditionally include in API requests. By default, fields with empty or
  1182  	// default values are omitted from API requests. See
  1183  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1184  	// details.
  1185  	ForceSendFields []string `json:"-"`
  1186  	// NullFields is a list of field names (e.g. "ClusterLabels") to include in API
  1187  	// requests with the JSON null value. By default, fields with empty values are
  1188  	// omitted from API requests. See
  1189  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1190  	NullFields []string `json:"-"`
  1191  }
  1192  
  1193  func (s *ClusterSelector) MarshalJSON() ([]byte, error) {
  1194  	type NoMethod ClusterSelector
  1195  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1196  }
  1197  
  1198  // ClusterStatus: The status of a cluster and its instances.
  1199  type ClusterStatus struct {
  1200  	// Detail: Optional. Output only. Details of cluster's state.
  1201  	Detail string `json:"detail,omitempty"`
  1202  	// State: Output only. The cluster's state.
  1203  	//
  1204  	// Possible values:
  1205  	//   "UNKNOWN" - The cluster state is unknown.
  1206  	//   "CREATING" - The cluster is being created and set up. It is not ready for
  1207  	// use.
  1208  	//   "RUNNING" - The cluster is currently running and healthy. It is ready for
  1209  	// use.Note: The cluster state changes from "creating" to "running" status
  1210  	// after the master node(s), first two primary worker nodes (and the last
  1211  	// primary worker node if primary workers > 2) are running.
  1212  	//   "ERROR" - The cluster encountered an error. It is not ready for use.
  1213  	//   "ERROR_DUE_TO_UPDATE" - The cluster has encountered an error while being
  1214  	// updated. Jobs can be submitted to the cluster, but the cluster cannot be
  1215  	// updated.
  1216  	//   "DELETING" - The cluster is being deleted. It cannot be used.
  1217  	//   "UPDATING" - The cluster is being updated. It continues to accept and
  1218  	// process jobs.
  1219  	//   "STOPPING" - The cluster is being stopped. It cannot be used.
  1220  	//   "STOPPED" - The cluster is currently stopped. It is not ready for use.
  1221  	//   "STARTING" - The cluster is being started. It is not ready for use.
  1222  	//   "REPAIRING" - The cluster is being repaired. It is not ready for use.
  1223  	State string `json:"state,omitempty"`
  1224  	// StateStartTime: Output only. Time when this state was entered (see JSON
  1225  	// representation of Timestamp
  1226  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).
  1227  	StateStartTime string `json:"stateStartTime,omitempty"`
  1228  	// Substate: Output only. Additional state information that includes status
  1229  	// reported by the agent.
  1230  	//
  1231  	// Possible values:
  1232  	//   "UNSPECIFIED" - The cluster substate is unknown.
  1233  	//   "UNHEALTHY" - The cluster is known to be in an unhealthy state (for
  1234  	// example, critical daemons are not running or HDFS capacity is
  1235  	// exhausted).Applies to RUNNING state.
  1236  	//   "STALE_STATUS" - The agent-reported status is out of date (may occur if
  1237  	// Dataproc loses communication with Agent).Applies to RUNNING state.
  1238  	Substate string `json:"substate,omitempty"`
  1239  	// ForceSendFields is a list of field names (e.g. "Detail") to unconditionally
  1240  	// include in API requests. By default, fields with empty or default values are
  1241  	// omitted from API requests. See
  1242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1243  	// details.
  1244  	ForceSendFields []string `json:"-"`
  1245  	// NullFields is a list of field names (e.g. "Detail") to include in API
  1246  	// requests with the JSON null value. By default, fields with empty values are
  1247  	// omitted from API requests. See
  1248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1249  	NullFields []string `json:"-"`
  1250  }
  1251  
  1252  func (s *ClusterStatus) MarshalJSON() ([]byte, error) {
  1253  	type NoMethod ClusterStatus
  1254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1255  }
  1256  
  1257  // ConfidentialInstanceConfig: Confidential Instance Config for clusters using
  1258  // Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
  1259  type ConfidentialInstanceConfig struct {
  1260  	// EnableConfidentialCompute: Optional. Defines whether the instance should
  1261  	// have confidential compute enabled.
  1262  	EnableConfidentialCompute bool `json:"enableConfidentialCompute,omitempty"`
  1263  	// ForceSendFields is a list of field names (e.g. "EnableConfidentialCompute")
  1264  	// to unconditionally include in API requests. By default, fields with empty or
  1265  	// default values are omitted from API requests. See
  1266  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1267  	// details.
  1268  	ForceSendFields []string `json:"-"`
  1269  	// NullFields is a list of field names (e.g. "EnableConfidentialCompute") to
  1270  	// include in API requests with the JSON null value. By default, fields with
  1271  	// empty values are omitted from API requests. See
  1272  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1273  	NullFields []string `json:"-"`
  1274  }
  1275  
  1276  func (s *ConfidentialInstanceConfig) MarshalJSON() ([]byte, error) {
  1277  	type NoMethod ConfidentialInstanceConfig
  1278  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1279  }
  1280  
  1281  // DataprocMetricConfig: Dataproc metric config.
  1282  type DataprocMetricConfig struct {
  1283  	// Metrics: Required. Metrics sources to enable.
  1284  	Metrics []*Metric `json:"metrics,omitempty"`
  1285  	// ForceSendFields is a list of field names (e.g. "Metrics") to unconditionally
  1286  	// include in API requests. By default, fields with empty or default values are
  1287  	// omitted from API requests. See
  1288  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1289  	// details.
  1290  	ForceSendFields []string `json:"-"`
  1291  	// NullFields is a list of field names (e.g. "Metrics") to include in API
  1292  	// requests with the JSON null value. By default, fields with empty values are
  1293  	// omitted from API requests. See
  1294  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1295  	NullFields []string `json:"-"`
  1296  }
  1297  
  1298  func (s *DataprocMetricConfig) MarshalJSON() ([]byte, error) {
  1299  	type NoMethod DataprocMetricConfig
  1300  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1301  }
  1302  
  1303  // DiagnoseClusterRequest: A request to collect cluster diagnostic information.
  1304  type DiagnoseClusterRequest struct {
  1305  	// DiagnosisInterval: Optional. Time interval in which diagnosis should be
  1306  	// carried out on the cluster.
  1307  	DiagnosisInterval *Interval `json:"diagnosisInterval,omitempty"`
  1308  	// Job: Optional. DEPRECATED Specifies the job on which diagnosis is to be
  1309  	// performed. Format: projects/{project}/regions/{region}/jobs/{job}
  1310  	Job string `json:"job,omitempty"`
  1311  	// Jobs: Optional. Specifies a list of jobs on which diagnosis is to be
  1312  	// performed. Format: projects/{project}/regions/{region}/jobs/{job}
  1313  	Jobs []string `json:"jobs,omitempty"`
  1314  	// TarballAccess: Optional. (Optional) The access type to the diagnostic
  1315  	// tarball. If not specified, falls back to default access of the bucket
  1316  	//
  1317  	// Possible values:
  1318  	//   "TARBALL_ACCESS_UNSPECIFIED" - Tarball Access unspecified. Falls back to
  1319  	// default access of the bucket
  1320  	//   "GOOGLE_CLOUD_SUPPORT" - Google Cloud Support group has read access to the
  1321  	// diagnostic tarball
  1322  	//   "GOOGLE_DATAPROC_DIAGNOSE" - Google Cloud Dataproc Diagnose service
  1323  	// account has read access to the diagnostic tarball
  1324  	TarballAccess string `json:"tarballAccess,omitempty"`
  1325  	// TarballGcsDir: Optional. (Optional) The output Cloud Storage directory for
  1326  	// the diagnostic tarball. If not specified, a task-specific directory in the
  1327  	// cluster's staging bucket will be used.
  1328  	TarballGcsDir string `json:"tarballGcsDir,omitempty"`
  1329  	// YarnApplicationId: Optional. DEPRECATED Specifies the yarn application on
  1330  	// which diagnosis is to be performed.
  1331  	YarnApplicationId string `json:"yarnApplicationId,omitempty"`
  1332  	// YarnApplicationIds: Optional. Specifies a list of yarn applications on which
  1333  	// diagnosis is to be performed.
  1334  	YarnApplicationIds []string `json:"yarnApplicationIds,omitempty"`
  1335  	// ForceSendFields is a list of field names (e.g. "DiagnosisInterval") to
  1336  	// unconditionally include in API requests. By default, fields with empty or
  1337  	// default values are omitted from API requests. See
  1338  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1339  	// details.
  1340  	ForceSendFields []string `json:"-"`
  1341  	// NullFields is a list of field names (e.g. "DiagnosisInterval") to include in
  1342  	// API requests with the JSON null value. By default, fields with empty values
  1343  	// are omitted from API requests. See
  1344  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1345  	NullFields []string `json:"-"`
  1346  }
  1347  
  1348  func (s *DiagnoseClusterRequest) MarshalJSON() ([]byte, error) {
  1349  	type NoMethod DiagnoseClusterRequest
  1350  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1351  }
  1352  
  1353  // DiagnoseClusterResults: The location of diagnostic output.
  1354  type DiagnoseClusterResults struct {
  1355  	// OutputUri: Output only. The Cloud Storage URI of the diagnostic output. The
  1356  	// output report is a plain text file with a summary of collected diagnostics.
  1357  	OutputUri string `json:"outputUri,omitempty"`
  1358  	// ForceSendFields is a list of field names (e.g. "OutputUri") to
  1359  	// unconditionally include in API requests. By default, fields with empty or
  1360  	// default values are omitted from API requests. See
  1361  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1362  	// details.
  1363  	ForceSendFields []string `json:"-"`
  1364  	// NullFields is a list of field names (e.g. "OutputUri") to include in API
  1365  	// requests with the JSON null value. By default, fields with empty values are
  1366  	// omitted from API requests. See
  1367  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1368  	NullFields []string `json:"-"`
  1369  }
  1370  
  1371  func (s *DiagnoseClusterResults) MarshalJSON() ([]byte, error) {
  1372  	type NoMethod DiagnoseClusterResults
  1373  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1374  }
  1375  
  1376  // DiskConfig: Specifies the config of disk options for a group of VM
  1377  // instances.
  1378  type DiskConfig struct {
  1379  	// BootDiskSizeGb: Optional. Size in GB of the boot disk (default is 500GB).
  1380  	BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"`
  1381  	// BootDiskType: Optional. Type of the boot disk (default is "pd-standard").
  1382  	// Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive),
  1383  	// "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent
  1384  	// Disk Hard Disk Drive). See Disk types
  1385  	// (https://cloud.google.com/compute/docs/disks#disk-types).
  1386  	BootDiskType string `json:"bootDiskType,omitempty"`
  1387  	// LocalSsdInterface: Optional. Interface type of local SSDs (default is
  1388  	// "scsi"). Valid values: "scsi" (Small Computer System Interface), "nvme"
  1389  	// (Non-Volatile Memory Express). See local SSD performance
  1390  	// (https://cloud.google.com/compute/docs/disks/local-ssd#performance).
  1391  	LocalSsdInterface string `json:"localSsdInterface,omitempty"`
  1392  	// NumLocalSsds: Optional. Number of attached SSDs, from 0 to 8 (default is 0).
  1393  	// If SSDs are not attached, the boot disk is used to store runtime logs and
  1394  	// HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If
  1395  	// one or more SSDs are attached, this runtime bulk data is spread across them,
  1396  	// and the boot disk contains only basic config and installed binaries.Note:
  1397  	// Local SSD options may vary by machine type and number of vCPUs selected.
  1398  	NumLocalSsds int64 `json:"numLocalSsds,omitempty"`
  1399  	// ForceSendFields is a list of field names (e.g. "BootDiskSizeGb") to
  1400  	// unconditionally include in API requests. By default, fields with empty or
  1401  	// default values are omitted from API requests. See
  1402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1403  	// details.
  1404  	ForceSendFields []string `json:"-"`
  1405  	// NullFields is a list of field names (e.g. "BootDiskSizeGb") to include in
  1406  	// API requests with the JSON null value. By default, fields with empty values
  1407  	// are omitted from API requests. See
  1408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1409  	NullFields []string `json:"-"`
  1410  }
  1411  
  1412  func (s *DiskConfig) MarshalJSON() ([]byte, error) {
  1413  	type NoMethod DiskConfig
  1414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1415  }
  1416  
  1417  // DriverSchedulingConfig: Driver scheduling configuration.
  1418  type DriverSchedulingConfig struct {
  1419  	// MemoryMb: Required. The amount of memory in MB the driver is requesting.
  1420  	MemoryMb int64 `json:"memoryMb,omitempty"`
  1421  	// Vcores: Required. The number of vCPUs the driver is requesting.
  1422  	Vcores int64 `json:"vcores,omitempty"`
  1423  	// ForceSendFields is a list of field names (e.g. "MemoryMb") to
  1424  	// unconditionally include in API requests. By default, fields with empty or
  1425  	// default values are omitted from API requests. See
  1426  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1427  	// details.
  1428  	ForceSendFields []string `json:"-"`
  1429  	// NullFields is a list of field names (e.g. "MemoryMb") to include in API
  1430  	// requests with the JSON null value. By default, fields with empty values are
  1431  	// omitted from API requests. See
  1432  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1433  	NullFields []string `json:"-"`
  1434  }
  1435  
  1436  func (s *DriverSchedulingConfig) MarshalJSON() ([]byte, error) {
  1437  	type NoMethod DriverSchedulingConfig
  1438  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1439  }
  1440  
  1441  // Empty: A generic empty message that you can re-use to avoid defining
  1442  // duplicated empty messages in your APIs. A typical example is to use it as
  1443  // the request or the response type of an API method. For instance: service Foo
  1444  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  1445  type Empty struct {
  1446  	// ServerResponse contains the HTTP response code and headers from the server.
  1447  	googleapi.ServerResponse `json:"-"`
  1448  }
  1449  
  1450  // EncryptionConfig: Encryption settings for the cluster.
  1451  type EncryptionConfig struct {
  1452  	// GcePdKmsKeyName: Optional. The Cloud KMS key resource name to use for
  1453  	// persistent disk encryption for all instances in the cluster. See Use CMEK
  1454  	// with cluster data
  1455  	// (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data)
  1456  	// for more information.
  1457  	GcePdKmsKeyName string `json:"gcePdKmsKeyName,omitempty"`
  1458  	// KmsKey: Optional. The Cloud KMS key resource name to use for cluster
  1459  	// persistent disk and job argument encryption. See Use CMEK with cluster data
  1460  	// (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data)
  1461  	// for more information.When this key resource name is provided, the following
  1462  	// job arguments of the following job types submitted to the cluster are
  1463  	// encrypted using CMEK: FlinkJob args
  1464  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob)
  1465  	// HadoopJob args
  1466  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob)
  1467  	// SparkJob args
  1468  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob)
  1469  	// SparkRJob args
  1470  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob)
  1471  	// PySparkJob args
  1472  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob)
  1473  	// SparkSqlJob
  1474  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob)
  1475  	// scriptVariables and queryList.queries HiveJob
  1476  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob)
  1477  	// scriptVariables and queryList.queries PigJob
  1478  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob)
  1479  	// scriptVariables and queryList.queries PrestoJob
  1480  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob)
  1481  	// scriptVariables and queryList.queries
  1482  	KmsKey string `json:"kmsKey,omitempty"`
  1483  	// ForceSendFields is a list of field names (e.g. "GcePdKmsKeyName") to
  1484  	// unconditionally include in API requests. By default, fields with empty or
  1485  	// default values are omitted from API requests. See
  1486  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1487  	// details.
  1488  	ForceSendFields []string `json:"-"`
  1489  	// NullFields is a list of field names (e.g. "GcePdKmsKeyName") to include in
  1490  	// API requests with the JSON null value. By default, fields with empty values
  1491  	// are omitted from API requests. See
  1492  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1493  	NullFields []string `json:"-"`
  1494  }
  1495  
  1496  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
  1497  	type NoMethod EncryptionConfig
  1498  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1499  }
  1500  
  1501  // EndpointConfig: Endpoint config for this cluster
  1502  type EndpointConfig struct {
  1503  	// EnableHttpPortAccess: Optional. If true, enable http access to specific
  1504  	// ports on the cluster from external sources. Defaults to false.
  1505  	EnableHttpPortAccess bool `json:"enableHttpPortAccess,omitempty"`
  1506  	// HttpPorts: Output only. The map of port descriptions to URLs. Will only be
  1507  	// populated if enable_http_port_access is true.
  1508  	HttpPorts map[string]string `json:"httpPorts,omitempty"`
  1509  	// ForceSendFields is a list of field names (e.g. "EnableHttpPortAccess") to
  1510  	// unconditionally include in API requests. By default, fields with empty or
  1511  	// default values are omitted from API requests. See
  1512  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1513  	// details.
  1514  	ForceSendFields []string `json:"-"`
  1515  	// NullFields is a list of field names (e.g. "EnableHttpPortAccess") to include
  1516  	// in API requests with the JSON null value. By default, fields with empty
  1517  	// values are omitted from API requests. See
  1518  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1519  	NullFields []string `json:"-"`
  1520  }
  1521  
  1522  func (s *EndpointConfig) MarshalJSON() ([]byte, error) {
  1523  	type NoMethod EndpointConfig
  1524  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1525  }
  1526  
  1527  // EnvironmentConfig: Environment configuration for a workload.
  1528  type EnvironmentConfig struct {
  1529  	// ExecutionConfig: Optional. Execution configuration for a workload.
  1530  	ExecutionConfig *ExecutionConfig `json:"executionConfig,omitempty"`
  1531  	// PeripheralsConfig: Optional. Peripherals configuration that workload has
  1532  	// access to.
  1533  	PeripheralsConfig *PeripheralsConfig `json:"peripheralsConfig,omitempty"`
  1534  	// ForceSendFields is a list of field names (e.g. "ExecutionConfig") to
  1535  	// unconditionally include in API requests. By default, fields with empty or
  1536  	// default values are omitted from API requests. See
  1537  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1538  	// details.
  1539  	ForceSendFields []string `json:"-"`
  1540  	// NullFields is a list of field names (e.g. "ExecutionConfig") to include in
  1541  	// API requests with the JSON null value. By default, fields with empty values
  1542  	// are omitted from API requests. See
  1543  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1544  	NullFields []string `json:"-"`
  1545  }
  1546  
  1547  func (s *EnvironmentConfig) MarshalJSON() ([]byte, error) {
  1548  	type NoMethod EnvironmentConfig
  1549  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1550  }
  1551  
  1552  // ExecutionConfig: Execution configuration for a workload.
  1553  type ExecutionConfig struct {
  1554  	// IdleTtl: Optional. Applies to sessions only. The duration to keep the
  1555  	// session alive while it's idling. Exceeding this threshold causes the session
  1556  	// to terminate. This field cannot be set on a batch workload. Minimum value is
  1557  	// 10 minutes; maximum value is 14 days (see JSON representation of Duration
  1558  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)). Defaults
  1559  	// to 1 hour if not set. If both ttl and idle_ttl are specified for an
  1560  	// interactive session, the conditions are treated as OR conditions: the
  1561  	// workload will be terminated when it has been idle for idle_ttl or when ttl
  1562  	// has been exceeded, whichever occurs first.
  1563  	IdleTtl string `json:"idleTtl,omitempty"`
  1564  	// KmsKey: Optional. The Cloud KMS key to use for encryption.
  1565  	KmsKey string `json:"kmsKey,omitempty"`
  1566  	// NetworkTags: Optional. Tags used for network traffic control.
  1567  	NetworkTags []string `json:"networkTags,omitempty"`
  1568  	// NetworkUri: Optional. Network URI to connect workload to.
  1569  	NetworkUri string `json:"networkUri,omitempty"`
  1570  	// ServiceAccount: Optional. Service account that used to execute workload.
  1571  	ServiceAccount string `json:"serviceAccount,omitempty"`
  1572  	// StagingBucket: Optional. A Cloud Storage bucket used to stage workload
  1573  	// dependencies, config files, and store workload output and other ephemeral
  1574  	// data, such as Spark history files. If you do not specify a staging bucket,
  1575  	// Cloud Dataproc will determine a Cloud Storage location according to the
  1576  	// region where your workload is running, and then create and manage
  1577  	// project-level, per-location staging and temporary buckets. This field
  1578  	// requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage
  1579  	// bucket.
  1580  	StagingBucket string `json:"stagingBucket,omitempty"`
  1581  	// SubnetworkUri: Optional. Subnetwork URI to connect workload to.
  1582  	SubnetworkUri string `json:"subnetworkUri,omitempty"`
  1583  	// Ttl: Optional. The duration after which the workload will be terminated,
  1584  	// specified as the JSON representation for Duration
  1585  	// (https://protobuf.dev/programming-guides/proto3/#json). When the workload
  1586  	// exceeds this duration, it will be unconditionally terminated without waiting
  1587  	// for ongoing work to finish. If ttl is not specified for a batch workload,
  1588  	// the workload will be allowed to run until it exits naturally (or run forever
  1589  	// without exiting). If ttl is not specified for an interactive session, it
  1590  	// defaults to 24 hours. If ttl is not specified for a batch that uses 2.1+
  1591  	// runtime version, it defaults to 4 hours. Minimum value is 10 minutes;
  1592  	// maximum value is 14 days. If both ttl and idle_ttl are specified (for an
  1593  	// interactive session), the conditions are treated as OR conditions: the
  1594  	// workload will be terminated when it has been idle for idle_ttl or when ttl
  1595  	// has been exceeded, whichever occurs first.
  1596  	Ttl string `json:"ttl,omitempty"`
  1597  	// ForceSendFields is a list of field names (e.g. "IdleTtl") to unconditionally
  1598  	// include in API requests. By default, fields with empty or default values are
  1599  	// omitted from API requests. See
  1600  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1601  	// details.
  1602  	ForceSendFields []string `json:"-"`
  1603  	// NullFields is a list of field names (e.g. "IdleTtl") to include in API
  1604  	// requests with the JSON null value. By default, fields with empty values are
  1605  	// omitted from API requests. See
  1606  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1607  	NullFields []string `json:"-"`
  1608  }
  1609  
  1610  func (s *ExecutionConfig) MarshalJSON() ([]byte, error) {
  1611  	type NoMethod ExecutionConfig
  1612  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1613  }
  1614  
  1615  // Expr: Represents a textual expression in the Common Expression Language
  1616  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  1617  // of CEL are documented at https://github.com/google/cel-spec.Example
  1618  // (Comparison): title: "Summary size limit" description: "Determines if a
  1619  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  1620  // Example (Equality): title: "Requestor is owner" description: "Determines if
  1621  // requestor is the document owner" expression: "document.owner ==
  1622  // request.auth.claims.email" Example (Logic): title: "Public documents"
  1623  // description: "Determine whether the document should be publicly visible"
  1624  // expression: "document.type != 'private' && document.type != 'internal'"
  1625  // Example (Data Manipulation): title: "Notification string" description:
  1626  // "Create a notification string with a timestamp." expression: "'New message
  1627  // received at ' + string(document.create_time)" The exact variables and
  1628  // functions that may be referenced within an expression are determined by the
  1629  // service that evaluates it. See the service documentation for additional
  1630  // information.
  1631  type Expr struct {
  1632  	// Description: Optional. Description of the expression. This is a longer text
  1633  	// which describes the expression, e.g. when hovered over it in a UI.
  1634  	Description string `json:"description,omitempty"`
  1635  	// Expression: Textual representation of an expression in Common Expression
  1636  	// Language syntax.
  1637  	Expression string `json:"expression,omitempty"`
  1638  	// Location: Optional. String indicating the location of the expression for
  1639  	// error reporting, e.g. a file name and a position in the file.
  1640  	Location string `json:"location,omitempty"`
  1641  	// Title: Optional. Title for the expression, i.e. a short string describing
  1642  	// its purpose. This can be used e.g. in UIs which allow to enter the
  1643  	// expression.
  1644  	Title string `json:"title,omitempty"`
  1645  	// ForceSendFields is a list of field names (e.g. "Description") to
  1646  	// unconditionally include in API requests. By default, fields with empty or
  1647  	// default values are omitted from API requests. See
  1648  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1649  	// details.
  1650  	ForceSendFields []string `json:"-"`
  1651  	// NullFields is a list of field names (e.g. "Description") to include in API
  1652  	// requests with the JSON null value. By default, fields with empty values are
  1653  	// omitted from API requests. See
  1654  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1655  	NullFields []string `json:"-"`
  1656  }
  1657  
  1658  func (s *Expr) MarshalJSON() ([]byte, error) {
  1659  	type NoMethod Expr
  1660  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1661  }
  1662  
  1663  // FlinkJob: A Dataproc job for running Apache Flink applications on YARN.
  1664  type FlinkJob struct {
  1665  	// Args: Optional. The arguments to pass to the driver. Do not include
  1666  	// arguments, such as --conf, that can be set as job properties, since a
  1667  	// collision might occur that causes an incorrect job submission.
  1668  	Args []string `json:"args,omitempty"`
  1669  	// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATHs of
  1670  	// the Flink driver and tasks.
  1671  	JarFileUris []string `json:"jarFileUris,omitempty"`
  1672  	// LoggingConfig: Optional. The runtime log config for job execution.
  1673  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  1674  	// MainClass: The name of the driver's main class. The jar file that contains
  1675  	// the class must be in the default CLASSPATH or specified in jarFileUris.
  1676  	MainClass string `json:"mainClass,omitempty"`
  1677  	// MainJarFileUri: The HCFS URI of the jar file that contains the main class.
  1678  	MainJarFileUri string `json:"mainJarFileUri,omitempty"`
  1679  	// Properties: Optional. A mapping of property names to values, used to
  1680  	// configure Flink. Properties that conflict with values set by the Dataproc
  1681  	// API might beoverwritten. Can include properties set
  1682  	// in/etc/flink/conf/flink-defaults.conf and classes in user code.
  1683  	Properties map[string]string `json:"properties,omitempty"`
  1684  	// SavepointUri: Optional. HCFS URI of the savepoint, which contains the last
  1685  	// saved progress for starting the current job.
  1686  	SavepointUri string `json:"savepointUri,omitempty"`
  1687  	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
  1688  	// include in API requests. By default, fields with empty or default values are
  1689  	// omitted from API requests. See
  1690  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1691  	// details.
  1692  	ForceSendFields []string `json:"-"`
  1693  	// NullFields is a list of field names (e.g. "Args") to include in API requests
  1694  	// with the JSON null value. By default, fields with empty values are omitted
  1695  	// from API requests. See
  1696  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1697  	NullFields []string `json:"-"`
  1698  }
  1699  
  1700  func (s *FlinkJob) MarshalJSON() ([]byte, error) {
  1701  	type NoMethod FlinkJob
  1702  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1703  }
  1704  
  1705  // GceClusterConfig: Common config settings for resources of Compute Engine
  1706  // cluster instances, applicable to all instances in the cluster.
  1707  type GceClusterConfig struct {
  1708  	// ConfidentialInstanceConfig: Optional. Confidential Instance Config for
  1709  	// clusters using Confidential VMs
  1710  	// (https://cloud.google.com/compute/confidential-vm/docs).
  1711  	ConfidentialInstanceConfig *ConfidentialInstanceConfig `json:"confidentialInstanceConfig,omitempty"`
  1712  	// InternalIpOnly: Optional. This setting applies to subnetwork-enabled
  1713  	// networks. It is set to true by default in clusters created with image
  1714  	// versions 2.2.x.When set to true: All cluster VMs have internal IP addresses.
  1715  	// Google Private Access
  1716  	// (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to
  1717  	// access Dataproc and other Google Cloud APIs. Off-cluster dependencies must
  1718  	// be configured to be accessible without external IP addresses.When set to
  1719  	// false: Cluster VMs are not restricted to internal IP addresses. Ephemeral
  1720  	// external IP addresses are assigned to each cluster VM.
  1721  	InternalIpOnly bool `json:"internalIpOnly,omitempty"`
  1722  	// Metadata: Optional. The Compute Engine metadata entries to add to all
  1723  	// instances (see Project and instance metadata
  1724  	// (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
  1725  	Metadata map[string]string `json:"metadata,omitempty"`
  1726  	// NetworkUri: Optional. The Compute Engine network to be used for machine
  1727  	// communications. Cannot be specified with subnetwork_uri. If neither
  1728  	// network_uri nor subnetwork_uri is specified, the "default" network of the
  1729  	// project is used, if it exists. Cannot be a "Custom Subnet Network" (see
  1730  	// Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for
  1731  	// more information).A full URL, partial URI, or short name are valid.
  1732  	// Examples:
  1733  	// https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default
  1734  	// projects/[project_id]/global/networks/default default
  1735  	NetworkUri string `json:"networkUri,omitempty"`
  1736  	// NodeGroupAffinity: Optional. Node Group Affinity for sole-tenant clusters.
  1737  	NodeGroupAffinity *NodeGroupAffinity `json:"nodeGroupAffinity,omitempty"`
  1738  	// PrivateIpv6GoogleAccess: Optional. The type of IPv6 access for a cluster.
  1739  	//
  1740  	// Possible values:
  1741  	//   "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED" - If unspecified, Compute Engine
  1742  	// default behavior will apply, which is the same as INHERIT_FROM_SUBNETWORK.
  1743  	//   "INHERIT_FROM_SUBNETWORK" - Private access to and from Google Services
  1744  	// configuration inherited from the subnetwork configuration. This is the
  1745  	// default Compute Engine behavior.
  1746  	//   "OUTBOUND" - Enables outbound private IPv6 access to Google Services from
  1747  	// the Dataproc cluster.
  1748  	//   "BIDIRECTIONAL" - Enables bidirectional private IPv6 access between Google
  1749  	// Services and the Dataproc cluster.
  1750  	PrivateIpv6GoogleAccess string `json:"privateIpv6GoogleAccess,omitempty"`
  1751  	// ReservationAffinity: Optional. Reservation Affinity for consuming Zonal
  1752  	// reservation.
  1753  	ReservationAffinity *ReservationAffinity `json:"reservationAffinity,omitempty"`
  1754  	// ServiceAccount: Optional. The Dataproc service account
  1755  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)
  1756  	// (also see VM Data Plane identity
  1757  	// (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))
  1758  	// used by Dataproc cluster VM instances to access Google Cloud Platform
  1759  	// services.If not specified, the Compute Engine default service account
  1760  	// (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
  1761  	// is used.
  1762  	ServiceAccount string `json:"serviceAccount,omitempty"`
  1763  	// ServiceAccountScopes: Optional. The URIs of service account scopes to be
  1764  	// included in Compute Engine instances. The following base set of scopes is
  1765  	// always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly
  1766  	// https://www.googleapis.com/auth/devstorage.read_write
  1767  	// https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the
  1768  	// following defaults are also provided:
  1769  	// https://www.googleapis.com/auth/bigquery
  1770  	// https://www.googleapis.com/auth/bigtable.admin.table
  1771  	// https://www.googleapis.com/auth/bigtable.data
  1772  	// https://www.googleapis.com/auth/devstorage.full_control
  1773  	ServiceAccountScopes []string `json:"serviceAccountScopes,omitempty"`
  1774  	// ShieldedInstanceConfig: Optional. Shielded Instance Config for clusters
  1775  	// using Compute Engine Shielded VMs
  1776  	// (https://cloud.google.com/security/shielded-cloud/shielded-vm).
  1777  	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
  1778  	// SubnetworkUri: Optional. The Compute Engine subnetwork to be used for
  1779  	// machine communications. Cannot be specified with network_uri.A full URL,
  1780  	// partial URI, or short name are valid. Examples:
  1781  	// https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0
  1782  	// projects/[project_id]/regions/[region]/subnetworks/sub0 sub0
  1783  	SubnetworkUri string `json:"subnetworkUri,omitempty"`
  1784  	// Tags: The Compute Engine tags to add to all instances (see Tagging instances
  1785  	// (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
  1786  	Tags []string `json:"tags,omitempty"`
  1787  	// ZoneUri: Optional. The Compute Engine zone where the Dataproc cluster will
  1788  	// be located. If omitted, the service will pick a zone in the cluster's
  1789  	// Compute Engine region. On a get request, zone will always be present.A full
  1790  	// URL, partial URI, or short name are valid. Examples:
  1791  	// https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]
  1792  	// projects/[project_id]/zones/[zone] [zone]
  1793  	ZoneUri string `json:"zoneUri,omitempty"`
  1794  	// ForceSendFields is a list of field names (e.g. "ConfidentialInstanceConfig")
  1795  	// to unconditionally include in API requests. By default, fields with empty or
  1796  	// default values are omitted from API requests. See
  1797  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1798  	// details.
  1799  	ForceSendFields []string `json:"-"`
  1800  	// NullFields is a list of field names (e.g. "ConfidentialInstanceConfig") to
  1801  	// include in API requests with the JSON null value. By default, fields with
  1802  	// empty values are omitted from API requests. See
  1803  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1804  	NullFields []string `json:"-"`
  1805  }
  1806  
  1807  func (s *GceClusterConfig) MarshalJSON() ([]byte, error) {
  1808  	type NoMethod GceClusterConfig
  1809  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1810  }
  1811  
  1812  // GetIamPolicyRequest: Request message for GetIamPolicy method.
  1813  type GetIamPolicyRequest struct {
  1814  	// Options: OPTIONAL: A GetPolicyOptions object for specifying options to
  1815  	// GetIamPolicy.
  1816  	Options *GetPolicyOptions `json:"options,omitempty"`
  1817  	// ForceSendFields is a list of field names (e.g. "Options") to unconditionally
  1818  	// include in API requests. By default, fields with empty or default values are
  1819  	// omitted from API requests. See
  1820  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1821  	// details.
  1822  	ForceSendFields []string `json:"-"`
  1823  	// NullFields is a list of field names (e.g. "Options") to include in API
  1824  	// requests with the JSON null value. By default, fields with empty values are
  1825  	// omitted from API requests. See
  1826  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1827  	NullFields []string `json:"-"`
  1828  }
  1829  
  1830  func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  1831  	type NoMethod GetIamPolicyRequest
  1832  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1833  }
  1834  
  1835  // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
  1836  type GetPolicyOptions struct {
  1837  	// RequestedPolicyVersion: Optional. The maximum policy version that will be
  1838  	// used to format the policy.Valid values are 0, 1, and 3. Requests specifying
  1839  	// an invalid value will be rejected.Requests for policies with any conditional
  1840  	// role bindings must specify version 3. Policies with no conditional role
  1841  	// bindings may specify any valid value or leave the field unset.The policy in
  1842  	// the response might use the policy version that you specified, or it might
  1843  	// use a lower policy version. For example, if you specify version 3, but the
  1844  	// policy has no conditional role bindings, the response uses version 1.To
  1845  	// learn which resources support conditions in their IAM policies, see the IAM
  1846  	// documentation
  1847  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  1848  	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
  1849  	// ForceSendFields is a list of field names (e.g. "RequestedPolicyVersion") to
  1850  	// unconditionally include in API requests. By default, fields with empty or
  1851  	// default values are omitted from API requests. See
  1852  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1853  	// details.
  1854  	ForceSendFields []string `json:"-"`
  1855  	// NullFields is a list of field names (e.g. "RequestedPolicyVersion") to
  1856  	// include in API requests with the JSON null value. By default, fields with
  1857  	// empty values are omitted from API requests. See
  1858  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1859  	NullFields []string `json:"-"`
  1860  }
  1861  
  1862  func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
  1863  	type NoMethod GetPolicyOptions
  1864  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1865  }
  1866  
  1867  // GkeClusterConfig: The cluster's GKE config.
  1868  type GkeClusterConfig struct {
  1869  	// GkeClusterTarget: Optional. A target GKE cluster to deploy to. It must be in
  1870  	// the same project and region as the Dataproc cluster (the GKE cluster can be
  1871  	// zonal or regional). Format:
  1872  	// 'projects/{project}/locations/{location}/clusters/{cluster_id}'
  1873  	GkeClusterTarget string `json:"gkeClusterTarget,omitempty"`
  1874  	// NamespacedGkeDeploymentTarget: Optional. Deprecated. Use gkeClusterTarget.
  1875  	// Used only for the deprecated beta. A target for the deployment.
  1876  	NamespacedGkeDeploymentTarget *NamespacedGkeDeploymentTarget `json:"namespacedGkeDeploymentTarget,omitempty"`
  1877  	// NodePoolTarget: Optional. GKE node pools where workloads will be scheduled.
  1878  	// At least one node pool must be assigned the DEFAULT GkeNodePoolTarget.Role.
  1879  	// If a GkeNodePoolTarget is not specified, Dataproc constructs a DEFAULT
  1880  	// GkeNodePoolTarget. Each role can be given to only one GkeNodePoolTarget. All
  1881  	// node pools must have the same location settings.
  1882  	NodePoolTarget []*GkeNodePoolTarget `json:"nodePoolTarget,omitempty"`
  1883  	// ForceSendFields is a list of field names (e.g. "GkeClusterTarget") to
  1884  	// unconditionally include in API requests. By default, fields with empty or
  1885  	// default values are omitted from API requests. See
  1886  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1887  	// details.
  1888  	ForceSendFields []string `json:"-"`
  1889  	// NullFields is a list of field names (e.g. "GkeClusterTarget") to include in
  1890  	// API requests with the JSON null value. By default, fields with empty values
  1891  	// are omitted from API requests. See
  1892  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1893  	NullFields []string `json:"-"`
  1894  }
  1895  
  1896  func (s *GkeClusterConfig) MarshalJSON() ([]byte, error) {
  1897  	type NoMethod GkeClusterConfig
  1898  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1899  }
  1900  
  1901  // GkeNodeConfig: Parameters that describe cluster nodes.
  1902  type GkeNodeConfig struct {
  1903  	// Accelerators: Optional. A list of hardware accelerators
  1904  	// (https://cloud.google.com/compute/docs/gpus) to attach to each node.
  1905  	Accelerators []*GkeNodePoolAcceleratorConfig `json:"accelerators,omitempty"`
  1906  	// BootDiskKmsKey: Optional. The Customer Managed Encryption Key (CMEK)
  1907  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek) used to
  1908  	// encrypt the boot disk attached to each node in the node pool. Specify the
  1909  	// key using the following format:
  1910  	// projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypt
  1911  	// o_key}
  1912  	BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty"`
  1913  	// LocalSsdCount: Optional. The number of local SSD disks to attach to the
  1914  	// node, which is limited by the maximum number of disks allowable per zone
  1915  	// (see Adding Local SSDs
  1916  	// (https://cloud.google.com/compute/docs/disks/local-ssd)).
  1917  	LocalSsdCount int64 `json:"localSsdCount,omitempty"`
  1918  	// MachineType: Optional. The name of a Compute Engine machine type
  1919  	// (https://cloud.google.com/compute/docs/machine-types).
  1920  	MachineType string `json:"machineType,omitempty"`
  1921  	// MinCpuPlatform: Optional. Minimum CPU platform
  1922  	// (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
  1923  	// to be used by this instance. The instance may be scheduled on the specified
  1924  	// or a newer CPU platform. Specify the friendly names of CPU platforms, such
  1925  	// as "Intel Haswell" or Intel Sandy Bridge".
  1926  	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
  1927  	// Preemptible: Optional. Whether the nodes are created as legacy preemptible
  1928  	// VM instances (https://cloud.google.com/compute/docs/instances/preemptible).
  1929  	// Also see Spot VMs, preemptible VM instances without a maximum lifetime.
  1930  	// Legacy and Spot preemptible nodes cannot be used in a node pool with the
  1931  	// CONTROLLER role or in the DEFAULT node pool if the CONTROLLER role is not
  1932  	// assigned (the DEFAULT node pool will assume the CONTROLLER role).
  1933  	Preemptible bool `json:"preemptible,omitempty"`
  1934  	// Spot: Optional. Whether the nodes are created as Spot VM instances
  1935  	// (https://cloud.google.com/compute/docs/instances/spot). Spot VMs are the
  1936  	// latest update to legacy preemptible VMs. Spot VMs do not have a maximum
  1937  	// lifetime. Legacy and Spot preemptible nodes cannot be used in a node pool
  1938  	// with the CONTROLLER role or in the DEFAULT node pool if the CONTROLLER role
  1939  	// is not assigned (the DEFAULT node pool will assume the CONTROLLER role).
  1940  	Spot bool `json:"spot,omitempty"`
  1941  	// ForceSendFields is a list of field names (e.g. "Accelerators") to
  1942  	// unconditionally include in API requests. By default, fields with empty or
  1943  	// default values are omitted from API requests. See
  1944  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1945  	// details.
  1946  	ForceSendFields []string `json:"-"`
  1947  	// NullFields is a list of field names (e.g. "Accelerators") to include in API
  1948  	// requests with the JSON null value. By default, fields with empty values are
  1949  	// omitted from API requests. See
  1950  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1951  	NullFields []string `json:"-"`
  1952  }
  1953  
  1954  func (s *GkeNodeConfig) MarshalJSON() ([]byte, error) {
  1955  	type NoMethod GkeNodeConfig
  1956  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1957  }
  1958  
  1959  // GkeNodePoolAcceleratorConfig: A GkeNodeConfigAcceleratorConfig represents a
  1960  // Hardware Accelerator request for a node pool.
  1961  type GkeNodePoolAcceleratorConfig struct {
  1962  	// AcceleratorCount: The number of accelerator cards exposed to an instance.
  1963  	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
  1964  	// AcceleratorType: The accelerator type resource namename (see GPUs on Compute
  1965  	// Engine).
  1966  	AcceleratorType string `json:"acceleratorType,omitempty"`
  1967  	// GpuPartitionSize: Size of partitions to create on the GPU. Valid values are
  1968  	// described in the NVIDIA mig user guide
  1969  	// (https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
  1970  	GpuPartitionSize string `json:"gpuPartitionSize,omitempty"`
  1971  	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
  1972  	// unconditionally include in API requests. By default, fields with empty or
  1973  	// default values are omitted from API requests. See
  1974  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1975  	// details.
  1976  	ForceSendFields []string `json:"-"`
  1977  	// NullFields is a list of field names (e.g. "AcceleratorCount") to include in
  1978  	// API requests with the JSON null value. By default, fields with empty values
  1979  	// are omitted from API requests. See
  1980  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1981  	NullFields []string `json:"-"`
  1982  }
  1983  
  1984  func (s *GkeNodePoolAcceleratorConfig) MarshalJSON() ([]byte, error) {
  1985  	type NoMethod GkeNodePoolAcceleratorConfig
  1986  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1987  }
  1988  
  1989  // GkeNodePoolAutoscalingConfig: GkeNodePoolAutoscaling contains information
  1990  // the cluster autoscaler needs to adjust the size of the node pool to the
  1991  // current cluster usage.
  1992  type GkeNodePoolAutoscalingConfig struct {
  1993  	// MaxNodeCount: The maximum number of nodes in the node pool. Must be >=
  1994  	// min_node_count, and must be > 0. Note: Quota must be sufficient to scale up
  1995  	// the cluster.
  1996  	MaxNodeCount int64 `json:"maxNodeCount,omitempty"`
  1997  	// MinNodeCount: The minimum number of nodes in the node pool. Must be >= 0 and
  1998  	// <= max_node_count.
  1999  	MinNodeCount int64 `json:"minNodeCount,omitempty"`
  2000  	// ForceSendFields is a list of field names (e.g. "MaxNodeCount") to
  2001  	// unconditionally include in API requests. By default, fields with empty or
  2002  	// default values are omitted from API requests. See
  2003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2004  	// details.
  2005  	ForceSendFields []string `json:"-"`
  2006  	// NullFields is a list of field names (e.g. "MaxNodeCount") to include in API
  2007  	// requests with the JSON null value. By default, fields with empty values are
  2008  	// omitted from API requests. See
  2009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2010  	NullFields []string `json:"-"`
  2011  }
  2012  
  2013  func (s *GkeNodePoolAutoscalingConfig) MarshalJSON() ([]byte, error) {
  2014  	type NoMethod GkeNodePoolAutoscalingConfig
  2015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2016  }
  2017  
  2018  // GkeNodePoolConfig: The configuration of a GKE node pool used by a
  2019  // Dataproc-on-GKE cluster
  2020  // (https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster).
  2021  type GkeNodePoolConfig struct {
  2022  	// Autoscaling: Optional. The autoscaler configuration for this node pool. The
  2023  	// autoscaler is enabled only when a valid configuration is present.
  2024  	Autoscaling *GkeNodePoolAutoscalingConfig `json:"autoscaling,omitempty"`
  2025  	// Config: Optional. The node pool configuration.
  2026  	Config *GkeNodeConfig `json:"config,omitempty"`
  2027  	// Locations: Optional. The list of Compute Engine zones
  2028  	// (https://cloud.google.com/compute/docs/zones#available) where node pool
  2029  	// nodes associated with a Dataproc on GKE virtual cluster will be
  2030  	// located.Note: All node pools associated with a virtual cluster must be
  2031  	// located in the same region as the virtual cluster, and they must be located
  2032  	// in the same zone within that region.If a location is not specified during
  2033  	// node pool creation, Dataproc on GKE will choose the zone.
  2034  	Locations []string `json:"locations,omitempty"`
  2035  	// ForceSendFields is a list of field names (e.g. "Autoscaling") to
  2036  	// unconditionally include in API requests. By default, fields with empty or
  2037  	// default values are omitted from API requests. See
  2038  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2039  	// details.
  2040  	ForceSendFields []string `json:"-"`
  2041  	// NullFields is a list of field names (e.g. "Autoscaling") to include in API
  2042  	// requests with the JSON null value. By default, fields with empty values are
  2043  	// omitted from API requests. See
  2044  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2045  	NullFields []string `json:"-"`
  2046  }
  2047  
  2048  func (s *GkeNodePoolConfig) MarshalJSON() ([]byte, error) {
  2049  	type NoMethod GkeNodePoolConfig
  2050  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2051  }
  2052  
  2053  // GkeNodePoolTarget: GKE node pools that Dataproc workloads run on.
  2054  type GkeNodePoolTarget struct {
  2055  	// NodePool: Required. The target GKE node pool. Format:
  2056  	// 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{node_p
  2057  	// ool}'
  2058  	NodePool string `json:"nodePool,omitempty"`
  2059  	// NodePoolConfig: Input only. The configuration for the GKE node pool.If
  2060  	// specified, Dataproc attempts to create a node pool with the specified shape.
  2061  	// If one with the same name already exists, it is verified against all
  2062  	// specified fields. If a field differs, the virtual cluster creation will
  2063  	// fail.If omitted, any node pool with the specified name is used. If a node
  2064  	// pool with the specified name does not exist, Dataproc create a node pool
  2065  	// with default values.This is an input only field. It will not be returned by
  2066  	// the API.
  2067  	NodePoolConfig *GkeNodePoolConfig `json:"nodePoolConfig,omitempty"`
  2068  	// Roles: Required. The roles associated with the GKE node pool.
  2069  	//
  2070  	// Possible values:
  2071  	//   "ROLE_UNSPECIFIED" - Role is unspecified.
  2072  	//   "DEFAULT" - At least one node pool must have the DEFAULT role. Work
  2073  	// assigned to a role that is not associated with a node pool is assigned to
  2074  	// the node pool with the DEFAULT role. For example, work assigned to the
  2075  	// CONTROLLER role will be assigned to the node pool with the DEFAULT role if
  2076  	// no node pool has the CONTROLLER role.
  2077  	//   "CONTROLLER" - Run work associated with the Dataproc control plane (for
  2078  	// example, controllers and webhooks). Very low resource requirements.
  2079  	//   "SPARK_DRIVER" - Run work associated with a Spark driver of a job.
  2080  	//   "SPARK_EXECUTOR" - Run work associated with a Spark executor of a job.
  2081  	Roles []string `json:"roles,omitempty"`
  2082  	// ForceSendFields is a list of field names (e.g. "NodePool") to
  2083  	// unconditionally include in API requests. By default, fields with empty or
  2084  	// default values are omitted from API requests. See
  2085  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2086  	// details.
  2087  	ForceSendFields []string `json:"-"`
  2088  	// NullFields is a list of field names (e.g. "NodePool") to include in API
  2089  	// requests with the JSON null value. By default, fields with empty values are
  2090  	// omitted from API requests. See
  2091  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2092  	NullFields []string `json:"-"`
  2093  }
  2094  
  2095  func (s *GkeNodePoolTarget) MarshalJSON() ([]byte, error) {
  2096  	type NoMethod GkeNodePoolTarget
  2097  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2098  }
  2099  
  2100  // GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig: Encryption settings
  2101  // for encrypting workflow template job arguments.
  2102  type GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig struct {
  2103  	// KmsKey: Optional. The Cloud KMS key name to use for encrypting workflow
  2104  	// template job arguments.When this this key is provided, the following
  2105  	// workflow template job arguments
  2106  	// (https://cloud.google.com/dataproc/docs/concepts/workflows/use-workflows#adding_jobs_to_a_template),
  2107  	// if present, are CMEK encrypted
  2108  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_workflow_template_data):
  2109  	// FlinkJob args
  2110  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob)
  2111  	// HadoopJob args
  2112  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob)
  2113  	// SparkJob args
  2114  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob)
  2115  	// SparkRJob args
  2116  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob)
  2117  	// PySparkJob args
  2118  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob)
  2119  	// SparkSqlJob
  2120  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob)
  2121  	// scriptVariables and queryList.queries HiveJob
  2122  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob)
  2123  	// scriptVariables and queryList.queries PigJob
  2124  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob)
  2125  	// scriptVariables and queryList.queries PrestoJob
  2126  	// (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob)
  2127  	// scriptVariables and queryList.queries
  2128  	KmsKey string `json:"kmsKey,omitempty"`
  2129  	// ForceSendFields is a list of field names (e.g. "KmsKey") to unconditionally
  2130  	// include in API requests. By default, fields with empty or default values are
  2131  	// omitted from API requests. See
  2132  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2133  	// details.
  2134  	ForceSendFields []string `json:"-"`
  2135  	// NullFields is a list of field names (e.g. "KmsKey") to include in API
  2136  	// requests with the JSON null value. By default, fields with empty values are
  2137  	// omitted from API requests. See
  2138  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2139  	NullFields []string `json:"-"`
  2140  }
  2141  
  2142  func (s *GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig) MarshalJSON() ([]byte, error) {
  2143  	type NoMethod GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig
  2144  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2145  }
  2146  
  2147  // HadoopJob: A Dataproc job for running Apache Hadoop MapReduce
  2148  // (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)
  2149  // jobs on Apache Hadoop YARN
  2150  // (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
  2151  type HadoopJob struct {
  2152  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted in the working
  2153  	// directory of Hadoop drivers and tasks. Supported file types: .jar, .tar,
  2154  	// .tar.gz, .tgz, or .zip.
  2155  	ArchiveUris []string `json:"archiveUris,omitempty"`
  2156  	// Args: Optional. The arguments to pass to the driver. Do not include
  2157  	// arguments, such as -libjars or -Dfoo=bar, that can be set as job properties,
  2158  	// since a collision might occur that causes an incorrect job submission.
  2159  	Args []string `json:"args,omitempty"`
  2160  	// FileUris: Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be
  2161  	// copied to the working directory of Hadoop drivers and distributed tasks.
  2162  	// Useful for naively parallel tasks.
  2163  	FileUris []string `json:"fileUris,omitempty"`
  2164  	// JarFileUris: Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop
  2165  	// driver and tasks.
  2166  	JarFileUris []string `json:"jarFileUris,omitempty"`
  2167  	// LoggingConfig: Optional. The runtime log config for job execution.
  2168  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  2169  	// MainClass: The name of the driver's main class. The jar file containing the
  2170  	// class must be in the default CLASSPATH or specified in jar_file_uris.
  2171  	MainClass string `json:"mainClass,omitempty"`
  2172  	// MainJarFileUri: The HCFS URI of the jar file containing the main class.
  2173  	// Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar'
  2174  	// 'hdfs:/tmp/test-samples/custom-wordcount.jar'
  2175  	// 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'
  2176  	MainJarFileUri string `json:"mainJarFileUri,omitempty"`
  2177  	// Properties: Optional. A mapping of property names to values, used to
  2178  	// configure Hadoop. Properties that conflict with values set by the Dataproc
  2179  	// API might be overwritten. Can include properties set in
  2180  	// /etc/hadoop/conf/*-site and classes in user code.
  2181  	Properties map[string]string `json:"properties,omitempty"`
  2182  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  2183  	// unconditionally include in API requests. By default, fields with empty or
  2184  	// default values are omitted from API requests. See
  2185  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2186  	// details.
  2187  	ForceSendFields []string `json:"-"`
  2188  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  2189  	// requests with the JSON null value. By default, fields with empty values are
  2190  	// omitted from API requests. See
  2191  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2192  	NullFields []string `json:"-"`
  2193  }
  2194  
  2195  func (s *HadoopJob) MarshalJSON() ([]byte, error) {
  2196  	type NoMethod HadoopJob
  2197  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2198  }
  2199  
  2200  // HiveJob: A Dataproc job for running Apache Hive (https://hive.apache.org/)
  2201  // queries on YARN.
  2202  type HiveJob struct {
  2203  	// ContinueOnFailure: Optional. Whether to continue executing queries if a
  2204  	// query fails. The default value is false. Setting to true can be useful when
  2205  	// executing independent parallel queries.
  2206  	ContinueOnFailure bool `json:"continueOnFailure,omitempty"`
  2207  	// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATH of the
  2208  	// Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and
  2209  	// UDFs.
  2210  	JarFileUris []string `json:"jarFileUris,omitempty"`
  2211  	// Properties: Optional. A mapping of property names and values, used to
  2212  	// configure Hive. Properties that conflict with values set by the Dataproc API
  2213  	// might be overwritten. Can include properties set in
  2214  	// /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in
  2215  	// user code.
  2216  	Properties map[string]string `json:"properties,omitempty"`
  2217  	// QueryFileUri: The HCFS URI of the script that contains Hive queries.
  2218  	QueryFileUri string `json:"queryFileUri,omitempty"`
  2219  	// QueryList: A list of queries.
  2220  	QueryList *QueryList `json:"queryList,omitempty"`
  2221  	// ScriptVariables: Optional. Mapping of query variable names to values
  2222  	// (equivalent to the Hive command: SET name="value";).
  2223  	ScriptVariables map[string]string `json:"scriptVariables,omitempty"`
  2224  	// ForceSendFields is a list of field names (e.g. "ContinueOnFailure") to
  2225  	// unconditionally include in API requests. By default, fields with empty or
  2226  	// default values are omitted from API requests. See
  2227  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2228  	// details.
  2229  	ForceSendFields []string `json:"-"`
  2230  	// NullFields is a list of field names (e.g. "ContinueOnFailure") to include in
  2231  	// API requests with the JSON null value. By default, fields with empty values
  2232  	// are omitted from API requests. See
  2233  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2234  	NullFields []string `json:"-"`
  2235  }
  2236  
  2237  func (s *HiveJob) MarshalJSON() ([]byte, error) {
  2238  	type NoMethod HiveJob
  2239  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2240  }
  2241  
  2242  // IdentityConfig: Identity related configuration, including service account
  2243  // based secure multi-tenancy user mappings.
  2244  type IdentityConfig struct {
  2245  	// UserServiceAccountMapping: Required. Map of user to service account.
  2246  	UserServiceAccountMapping map[string]string `json:"userServiceAccountMapping,omitempty"`
  2247  	// ForceSendFields is a list of field names (e.g. "UserServiceAccountMapping")
  2248  	// to unconditionally include in API requests. By default, fields with empty or
  2249  	// default values are omitted from API requests. See
  2250  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2251  	// details.
  2252  	ForceSendFields []string `json:"-"`
  2253  	// NullFields is a list of field names (e.g. "UserServiceAccountMapping") to
  2254  	// include in API requests with the JSON null value. By default, fields with
  2255  	// empty values are omitted from API requests. See
  2256  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2257  	NullFields []string `json:"-"`
  2258  }
  2259  
  2260  func (s *IdentityConfig) MarshalJSON() ([]byte, error) {
  2261  	type NoMethod IdentityConfig
  2262  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2263  }
  2264  
  2265  // InjectCredentialsRequest: A request to inject credentials into a cluster.
  2266  type InjectCredentialsRequest struct {
  2267  	// ClusterUuid: Required. The cluster UUID.
  2268  	ClusterUuid string `json:"clusterUuid,omitempty"`
  2269  	// CredentialsCiphertext: Required. The encrypted credentials being injected in
  2270  	// to the cluster.The client is responsible for encrypting the credentials in a
  2271  	// way that is supported by the cluster.A wrapped value is used here so that
  2272  	// the actual contents of the encrypted credentials are not written to audit
  2273  	// logs.
  2274  	CredentialsCiphertext string `json:"credentialsCiphertext,omitempty"`
  2275  	// ForceSendFields is a list of field names (e.g. "ClusterUuid") to
  2276  	// unconditionally include in API requests. By default, fields with empty or
  2277  	// default values are omitted from API requests. See
  2278  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2279  	// details.
  2280  	ForceSendFields []string `json:"-"`
  2281  	// NullFields is a list of field names (e.g. "ClusterUuid") to include in API
  2282  	// requests with the JSON null value. By default, fields with empty values are
  2283  	// omitted from API requests. See
  2284  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2285  	NullFields []string `json:"-"`
  2286  }
  2287  
  2288  func (s *InjectCredentialsRequest) MarshalJSON() ([]byte, error) {
  2289  	type NoMethod InjectCredentialsRequest
  2290  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2291  }
  2292  
  2293  // InstanceFlexibilityPolicy: Instance flexibility Policy allowing a mixture of
  2294  // VM shapes and provisioning models.
  2295  type InstanceFlexibilityPolicy struct {
  2296  	// InstanceSelectionList: Optional. List of instance selection options that the
  2297  	// group will use when creating new VMs.
  2298  	InstanceSelectionList []*InstanceSelection `json:"instanceSelectionList,omitempty"`
  2299  	// InstanceSelectionResults: Output only. A list of instance selection results
  2300  	// in the group.
  2301  	InstanceSelectionResults []*InstanceSelectionResult `json:"instanceSelectionResults,omitempty"`
  2302  	// ForceSendFields is a list of field names (e.g. "InstanceSelectionList") to
  2303  	// unconditionally include in API requests. By default, fields with empty or
  2304  	// default values are omitted from API requests. See
  2305  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2306  	// details.
  2307  	ForceSendFields []string `json:"-"`
  2308  	// NullFields is a list of field names (e.g. "InstanceSelectionList") to
  2309  	// include in API requests with the JSON null value. By default, fields with
  2310  	// empty values are omitted from API requests. See
  2311  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2312  	NullFields []string `json:"-"`
  2313  }
  2314  
  2315  func (s *InstanceFlexibilityPolicy) MarshalJSON() ([]byte, error) {
  2316  	type NoMethod InstanceFlexibilityPolicy
  2317  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2318  }
  2319  
  2320  // InstanceGroupAutoscalingPolicyConfig: Configuration for the size bounds of
  2321  // an instance group, including its proportional size to other groups.
  2322  type InstanceGroupAutoscalingPolicyConfig struct {
  2323  	// MaxInstances: Required. Maximum number of instances for this group. Required
  2324  	// for primary workers. Note that by default, clusters will not use secondary
  2325  	// workers. Required for secondary workers if the minimum secondary instances
  2326  	// is set.Primary workers - Bounds: [min_instances, ). Secondary workers -
  2327  	// Bounds: [min_instances, ). Default: 0.
  2328  	MaxInstances int64 `json:"maxInstances,omitempty"`
  2329  	// MinInstances: Optional. Minimum number of instances for this group.Primary
  2330  	// workers - Bounds: 2, max_instances. Default: 2. Secondary workers - Bounds:
  2331  	// 0, max_instances. Default: 0.
  2332  	MinInstances int64 `json:"minInstances,omitempty"`
  2333  	// Weight: Optional. Weight for the instance group, which is used to determine
  2334  	// the fraction of total workers in the cluster from this instance group. For
  2335  	// example, if primary workers have weight 2, and secondary workers have weight
  2336  	// 1, the cluster will have approximately 2 primary workers for each secondary
  2337  	// worker.The cluster may not reach the specified balance if constrained by
  2338  	// min/max bounds or other autoscaling settings. For example, if max_instances
  2339  	// for secondary workers is 0, then only primary workers will be added. The
  2340  	// cluster can also be out of balance when created.If weight is not set on any
  2341  	// instance group, the cluster will default to equal weight for all groups: the
  2342  	// cluster will attempt to maintain an equal number of workers in each group
  2343  	// within the configured size bounds for each group. If weight is set for one
  2344  	// group only, the cluster will default to zero weight on the unset group. For
  2345  	// example if weight is set only on primary workers, the cluster will use
  2346  	// primary workers only and no secondary workers.
  2347  	Weight int64 `json:"weight,omitempty"`
  2348  	// ForceSendFields is a list of field names (e.g. "MaxInstances") to
  2349  	// unconditionally include in API requests. By default, fields with empty or
  2350  	// default values are omitted from API requests. See
  2351  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2352  	// details.
  2353  	ForceSendFields []string `json:"-"`
  2354  	// NullFields is a list of field names (e.g. "MaxInstances") to include in API
  2355  	// requests with the JSON null value. By default, fields with empty values are
  2356  	// omitted from API requests. See
  2357  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2358  	NullFields []string `json:"-"`
  2359  }
  2360  
  2361  func (s *InstanceGroupAutoscalingPolicyConfig) MarshalJSON() ([]byte, error) {
  2362  	type NoMethod InstanceGroupAutoscalingPolicyConfig
  2363  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2364  }
  2365  
  2366  // InstanceGroupConfig: The config settings for Compute Engine resources in an
  2367  // instance group, such as a master or worker group.
  2368  type InstanceGroupConfig struct {
  2369  	// Accelerators: Optional. The Compute Engine accelerator configuration for
  2370  	// these instances.
  2371  	Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"`
  2372  	// DiskConfig: Optional. Disk option config settings.
  2373  	DiskConfig *DiskConfig `json:"diskConfig,omitempty"`
  2374  	// ImageUri: Optional. The Compute Engine image resource used for cluster
  2375  	// instances.The URI can represent an image or image family.Image examples:
  2376  	// https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id]
  2377  	// projects/[project_id]/global/images/[image-id] image-idImage family
  2378  	// examples. Dataproc will use the most recent image from the family:
  2379  	// https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name]
  2380  	// projects/[project_id]/global/images/family/[custom-image-family-name]If the
  2381  	// URI is unspecified, it will be inferred from SoftwareConfig.image_version or
  2382  	// the system default.
  2383  	ImageUri string `json:"imageUri,omitempty"`
  2384  	// InstanceFlexibilityPolicy: Optional. Instance flexibility Policy allowing a
  2385  	// mixture of VM shapes and provisioning models.
  2386  	InstanceFlexibilityPolicy *InstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy,omitempty"`
  2387  	// InstanceNames: Output only. The list of instance names. Dataproc derives the
  2388  	// names from cluster_name, num_instances, and the instance group.
  2389  	InstanceNames []string `json:"instanceNames,omitempty"`
  2390  	// InstanceReferences: Output only. List of references to Compute Engine
  2391  	// instances.
  2392  	InstanceReferences []*InstanceReference `json:"instanceReferences,omitempty"`
  2393  	// IsPreemptible: Output only. Specifies that this instance group contains
  2394  	// preemptible instances.
  2395  	IsPreemptible bool `json:"isPreemptible,omitempty"`
  2396  	// MachineTypeUri: Optional. The Compute Engine machine type used for cluster
  2397  	// instances.A full URL, partial URI, or short name are valid. Examples:
  2398  	// https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2
  2399  	// projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2
  2400  	// n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone
  2401  	// Placement
  2402  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
  2403  	// feature, you must use the short name of the machine type resource, for
  2404  	// example, n1-standard-2.
  2405  	MachineTypeUri string `json:"machineTypeUri,omitempty"`
  2406  	// ManagedGroupConfig: Output only. The config for Compute Engine Instance
  2407  	// Group Manager that manages this group. This is only used for preemptible
  2408  	// instance groups.
  2409  	ManagedGroupConfig *ManagedGroupConfig `json:"managedGroupConfig,omitempty"`
  2410  	// MinCpuPlatform: Optional. Specifies the minimum cpu platform for the
  2411  	// Instance Group. See Dataproc -> Minimum CPU Platform
  2412  	// (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).
  2413  	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
  2414  	// MinNumInstances: Optional. The minimum number of primary worker instances to
  2415  	// create. If min_num_instances is set, cluster creation will succeed if the
  2416  	// number of primary workers created is at least equal to the min_num_instances
  2417  	// number.Example: Cluster creation request with num_instances = 5 and
  2418  	// min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed
  2419  	// VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING
  2420  	// state. If 2 instances are created and 3 instances fail, the cluster in
  2421  	// placed in an ERROR state. The failed VMs are not deleted.
  2422  	MinNumInstances int64 `json:"minNumInstances,omitempty"`
  2423  	// NumInstances: Optional. The number of VM instances in the instance group.
  2424  	// For HA cluster master_config groups, must be set to 3. For standard cluster
  2425  	// master_config groups, must be set to 1.
  2426  	NumInstances int64 `json:"numInstances,omitempty"`
  2427  	// Preemptibility: Optional. Specifies the preemptibility of the instance
  2428  	// group.The default value for master and worker groups is NON_PREEMPTIBLE.
  2429  	// This default cannot be changed.The default value for secondary instances is
  2430  	// PREEMPTIBLE.
  2431  	//
  2432  	// Possible values:
  2433  	//   "PREEMPTIBILITY_UNSPECIFIED" - Preemptibility is unspecified, the system
  2434  	// will choose the appropriate setting for each instance group.
  2435  	//   "NON_PREEMPTIBLE" - Instances are non-preemptible.This option is allowed
  2436  	// for all instance groups and is the only valid value for Master and Worker
  2437  	// instance groups.
  2438  	//   "PREEMPTIBLE" - Instances are preemptible
  2439  	// (https://cloud.google.com/compute/docs/instances/preemptible).This option is
  2440  	// allowed only for secondary worker
  2441  	// (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms)
  2442  	// groups.
  2443  	//   "SPOT" - Instances are Spot VMs
  2444  	// (https://cloud.google.com/compute/docs/instances/spot).This option is
  2445  	// allowed only for secondary worker
  2446  	// (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms)
  2447  	// groups. Spot VMs are the latest version of preemptible VMs
  2448  	// (https://cloud.google.com/compute/docs/instances/preemptible), and provide
  2449  	// additional features.
  2450  	Preemptibility string `json:"preemptibility,omitempty"`
  2451  	// StartupConfig: Optional. Configuration to handle the startup of instances
  2452  	// during cluster create and update process.
  2453  	StartupConfig *StartupConfig `json:"startupConfig,omitempty"`
  2454  	// ForceSendFields is a list of field names (e.g. "Accelerators") to
  2455  	// unconditionally include in API requests. By default, fields with empty or
  2456  	// default values are omitted from API requests. See
  2457  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2458  	// details.
  2459  	ForceSendFields []string `json:"-"`
  2460  	// NullFields is a list of field names (e.g. "Accelerators") to include in API
  2461  	// requests with the JSON null value. By default, fields with empty values are
  2462  	// omitted from API requests. See
  2463  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2464  	NullFields []string `json:"-"`
  2465  }
  2466  
  2467  func (s *InstanceGroupConfig) MarshalJSON() ([]byte, error) {
  2468  	type NoMethod InstanceGroupConfig
  2469  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2470  }
  2471  
  2472  // InstanceReference: A reference to a Compute Engine instance.
  2473  type InstanceReference struct {
  2474  	// InstanceId: The unique identifier of the Compute Engine instance.
  2475  	InstanceId string `json:"instanceId,omitempty"`
  2476  	// InstanceName: The user-friendly name of the Compute Engine instance.
  2477  	InstanceName string `json:"instanceName,omitempty"`
  2478  	// PublicEciesKey: The public ECIES key used for sharing data with this
  2479  	// instance.
  2480  	PublicEciesKey string `json:"publicEciesKey,omitempty"`
  2481  	// PublicKey: The public RSA key used for sharing data with this instance.
  2482  	PublicKey string `json:"publicKey,omitempty"`
  2483  	// ForceSendFields is a list of field names (e.g. "InstanceId") to
  2484  	// unconditionally include in API requests. By default, fields with empty or
  2485  	// default values are omitted from API requests. See
  2486  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2487  	// details.
  2488  	ForceSendFields []string `json:"-"`
  2489  	// NullFields is a list of field names (e.g. "InstanceId") to include in API
  2490  	// requests with the JSON null value. By default, fields with empty values are
  2491  	// omitted from API requests. See
  2492  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2493  	NullFields []string `json:"-"`
  2494  }
  2495  
  2496  func (s *InstanceReference) MarshalJSON() ([]byte, error) {
  2497  	type NoMethod InstanceReference
  2498  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2499  }
  2500  
  2501  // InstanceSelection: Defines machines types and a rank to which the machines
  2502  // types belong.
  2503  type InstanceSelection struct {
  2504  	// MachineTypes: Optional. Full machine-type names, e.g. "n1-standard-16".
  2505  	MachineTypes []string `json:"machineTypes,omitempty"`
  2506  	// Rank: Optional. Preference of this instance selection. Lower number means
  2507  	// higher preference. Dataproc will first try to create a VM based on the
  2508  	// machine-type with priority rank and fallback to next rank based on
  2509  	// availability. Machine types and instance selections with the same priority
  2510  	// have the same preference.
  2511  	Rank int64 `json:"rank,omitempty"`
  2512  	// ForceSendFields is a list of field names (e.g. "MachineTypes") to
  2513  	// unconditionally include in API requests. By default, fields with empty or
  2514  	// default values are omitted from API requests. See
  2515  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2516  	// details.
  2517  	ForceSendFields []string `json:"-"`
  2518  	// NullFields is a list of field names (e.g. "MachineTypes") to include in API
  2519  	// requests with the JSON null value. By default, fields with empty values are
  2520  	// omitted from API requests. See
  2521  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2522  	NullFields []string `json:"-"`
  2523  }
  2524  
  2525  func (s *InstanceSelection) MarshalJSON() ([]byte, error) {
  2526  	type NoMethod InstanceSelection
  2527  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2528  }
  2529  
  2530  // InstanceSelectionResult: Defines a mapping from machine types to the number
  2531  // of VMs that are created with each machine type.
  2532  type InstanceSelectionResult struct {
  2533  	// MachineType: Output only. Full machine-type names, e.g. "n1-standard-16".
  2534  	MachineType string `json:"machineType,omitempty"`
  2535  	// VmCount: Output only. Number of VM provisioned with the machine_type.
  2536  	VmCount int64 `json:"vmCount,omitempty"`
  2537  	// ForceSendFields is a list of field names (e.g. "MachineType") to
  2538  	// unconditionally include in API requests. By default, fields with empty or
  2539  	// default values are omitted from API requests. See
  2540  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2541  	// details.
  2542  	ForceSendFields []string `json:"-"`
  2543  	// NullFields is a list of field names (e.g. "MachineType") to include in API
  2544  	// requests with the JSON null value. By default, fields with empty values are
  2545  	// omitted from API requests. See
  2546  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2547  	NullFields []string `json:"-"`
  2548  }
  2549  
  2550  func (s *InstanceSelectionResult) MarshalJSON() ([]byte, error) {
  2551  	type NoMethod InstanceSelectionResult
  2552  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2553  }
  2554  
  2555  // InstantiateWorkflowTemplateRequest: A request to instantiate a workflow
  2556  // template.
  2557  type InstantiateWorkflowTemplateRequest struct {
  2558  	// Parameters: Optional. Map from parameter names to values that should be used
  2559  	// for those parameters. Values may not exceed 1000 characters.
  2560  	Parameters map[string]string `json:"parameters,omitempty"`
  2561  	// RequestId: Optional. A tag that prevents multiple concurrent workflow
  2562  	// instances with the same tag from running. This mitigates risk of concurrent
  2563  	// instances started due to retries.It is recommended to always set this value
  2564  	// to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The
  2565  	// tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),
  2566  	// and hyphens (-). The maximum length is 40 characters.
  2567  	RequestId string `json:"requestId,omitempty"`
  2568  	// Version: Optional. The version of workflow template to instantiate. If
  2569  	// specified, the workflow will be instantiated only if the current version of
  2570  	// the workflow template has the supplied version.This option cannot be used to
  2571  	// instantiate a previous version of workflow template.
  2572  	Version int64 `json:"version,omitempty"`
  2573  	// ForceSendFields is a list of field names (e.g. "Parameters") to
  2574  	// unconditionally include in API requests. By default, fields with empty or
  2575  	// default values are omitted from API requests. See
  2576  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2577  	// details.
  2578  	ForceSendFields []string `json:"-"`
  2579  	// NullFields is a list of field names (e.g. "Parameters") to include in API
  2580  	// requests with the JSON null value. By default, fields with empty values are
  2581  	// omitted from API requests. See
  2582  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2583  	NullFields []string `json:"-"`
  2584  }
  2585  
  2586  func (s *InstantiateWorkflowTemplateRequest) MarshalJSON() ([]byte, error) {
  2587  	type NoMethod InstantiateWorkflowTemplateRequest
  2588  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2589  }
  2590  
  2591  // Interval: Represents a time interval, encoded as a Timestamp start
  2592  // (inclusive) and a Timestamp end (exclusive).The start must be less than or
  2593  // equal to the end. When the start equals the end, the interval is empty
  2594  // (matches no time). When both start and end are unspecified, the interval
  2595  // matches any time.
  2596  type Interval struct {
  2597  	// EndTime: Optional. Exclusive end of the interval.If specified, a Timestamp
  2598  	// matching this interval will have to be before the end.
  2599  	EndTime string `json:"endTime,omitempty"`
  2600  	// StartTime: Optional. Inclusive start of the interval.If specified, a
  2601  	// Timestamp matching this interval will have to be the same or after the
  2602  	// start.
  2603  	StartTime string `json:"startTime,omitempty"`
  2604  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  2605  	// include in API requests. By default, fields with empty or default values are
  2606  	// omitted from API requests. See
  2607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2608  	// details.
  2609  	ForceSendFields []string `json:"-"`
  2610  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  2611  	// requests with the JSON null value. By default, fields with empty values are
  2612  	// omitted from API requests. See
  2613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2614  	NullFields []string `json:"-"`
  2615  }
  2616  
  2617  func (s *Interval) MarshalJSON() ([]byte, error) {
  2618  	type NoMethod Interval
  2619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2620  }
  2621  
  2622  // Job: A Dataproc job resource.
  2623  type Job struct {
  2624  	// Done: Output only. Indicates whether the job is completed. If the value is
  2625  	// false, the job is still in progress. If true, the job is completed, and
  2626  	// status.state field will indicate if it was successful, failed, or cancelled.
  2627  	Done bool `json:"done,omitempty"`
  2628  	// DriverControlFilesUri: Output only. If present, the location of
  2629  	// miscellaneous control files which can be used as part of job setup and
  2630  	// handling. If not present, control files might be placed in the same location
  2631  	// as driver_output_uri.
  2632  	DriverControlFilesUri string `json:"driverControlFilesUri,omitempty"`
  2633  	// DriverOutputResourceUri: Output only. A URI pointing to the location of the
  2634  	// stdout of the job's driver program.
  2635  	DriverOutputResourceUri string `json:"driverOutputResourceUri,omitempty"`
  2636  	// DriverSchedulingConfig: Optional. Driver scheduling configuration.
  2637  	DriverSchedulingConfig *DriverSchedulingConfig `json:"driverSchedulingConfig,omitempty"`
  2638  	// FlinkJob: Optional. Job is a Flink job.
  2639  	FlinkJob *FlinkJob `json:"flinkJob,omitempty"`
  2640  	// HadoopJob: Optional. Job is a Hadoop job.
  2641  	HadoopJob *HadoopJob `json:"hadoopJob,omitempty"`
  2642  	// HiveJob: Optional. Job is a Hive job.
  2643  	HiveJob *HiveJob `json:"hiveJob,omitempty"`
  2644  	// JobUuid: Output only. A UUID that uniquely identifies a job within the
  2645  	// project over time. This is in contrast to a user-settable reference.job_id
  2646  	// that might be reused over time.
  2647  	JobUuid string `json:"jobUuid,omitempty"`
  2648  	// Labels: Optional. The labels to associate with this job. Label keys must
  2649  	// contain 1 to 63 characters, and must conform to RFC 1035
  2650  	// (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if
  2651  	// present, must contain 1 to 63 characters, and must conform to RFC 1035
  2652  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
  2653  	// associated with a job.
  2654  	Labels map[string]string `json:"labels,omitempty"`
  2655  	// PigJob: Optional. Job is a Pig job.
  2656  	PigJob *PigJob `json:"pigJob,omitempty"`
  2657  	// Placement: Required. Job information, including how, when, and where to run
  2658  	// the job.
  2659  	Placement *JobPlacement `json:"placement,omitempty"`
  2660  	// PrestoJob: Optional. Job is a Presto job.
  2661  	PrestoJob *PrestoJob `json:"prestoJob,omitempty"`
  2662  	// PysparkJob: Optional. Job is a PySpark job.
  2663  	PysparkJob *PySparkJob `json:"pysparkJob,omitempty"`
  2664  	// Reference: Optional. The fully qualified reference to the job, which can be
  2665  	// used to obtain the equivalent REST path of the job resource. If this
  2666  	// property is not specified when a job is created, the server generates a
  2667  	// job_id.
  2668  	Reference *JobReference `json:"reference,omitempty"`
  2669  	// Scheduling: Optional. Job scheduling configuration.
  2670  	Scheduling *JobScheduling `json:"scheduling,omitempty"`
  2671  	// SparkJob: Optional. Job is a Spark job.
  2672  	SparkJob *SparkJob `json:"sparkJob,omitempty"`
  2673  	// SparkRJob: Optional. Job is a SparkR job.
  2674  	SparkRJob *SparkRJob `json:"sparkRJob,omitempty"`
  2675  	// SparkSqlJob: Optional. Job is a SparkSql job.
  2676  	SparkSqlJob *SparkSqlJob `json:"sparkSqlJob,omitempty"`
  2677  	// Status: Output only. The job status. Additional application-specific status
  2678  	// information might be contained in the type_job and yarn_applications fields.
  2679  	Status *JobStatus `json:"status,omitempty"`
  2680  	// StatusHistory: Output only. The previous job status.
  2681  	StatusHistory []*JobStatus `json:"statusHistory,omitempty"`
  2682  	// TrinoJob: Optional. Job is a Trino job.
  2683  	TrinoJob *TrinoJob `json:"trinoJob,omitempty"`
  2684  	// YarnApplications: Output only. The collection of YARN applications spun up
  2685  	// by this job.Beta Feature: This report is available for testing purposes
  2686  	// only. It might be changed before final release.
  2687  	YarnApplications []*YarnApplication `json:"yarnApplications,omitempty"`
  2688  
  2689  	// ServerResponse contains the HTTP response code and headers from the server.
  2690  	googleapi.ServerResponse `json:"-"`
  2691  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  2692  	// include in API requests. By default, fields with empty or default values are
  2693  	// omitted from API requests. See
  2694  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2695  	// details.
  2696  	ForceSendFields []string `json:"-"`
  2697  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  2698  	// with the JSON null value. By default, fields with empty values are omitted
  2699  	// from API requests. See
  2700  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2701  	NullFields []string `json:"-"`
  2702  }
  2703  
  2704  func (s *Job) MarshalJSON() ([]byte, error) {
  2705  	type NoMethod Job
  2706  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2707  }
  2708  
  2709  // JobMetadata: Job Operation metadata.
  2710  type JobMetadata struct {
  2711  	// JobId: Output only. The job id.
  2712  	JobId string `json:"jobId,omitempty"`
  2713  	// OperationType: Output only. Operation type.
  2714  	OperationType string `json:"operationType,omitempty"`
  2715  	// StartTime: Output only. Job submission time.
  2716  	StartTime string `json:"startTime,omitempty"`
  2717  	// Status: Output only. Most recent job status.
  2718  	Status *JobStatus `json:"status,omitempty"`
  2719  	// ForceSendFields is a list of field names (e.g. "JobId") to unconditionally
  2720  	// include in API requests. By default, fields with empty or default values are
  2721  	// omitted from API requests. See
  2722  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2723  	// details.
  2724  	ForceSendFields []string `json:"-"`
  2725  	// NullFields is a list of field names (e.g. "JobId") to include in API
  2726  	// requests with the JSON null value. By default, fields with empty values are
  2727  	// omitted from API requests. See
  2728  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2729  	NullFields []string `json:"-"`
  2730  }
  2731  
  2732  func (s *JobMetadata) MarshalJSON() ([]byte, error) {
  2733  	type NoMethod JobMetadata
  2734  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2735  }
  2736  
  2737  // JobPlacement: Dataproc job config.
  2738  type JobPlacement struct {
  2739  	// ClusterLabels: Optional. Cluster labels to identify a cluster where the job
  2740  	// will be submitted.
  2741  	ClusterLabels map[string]string `json:"clusterLabels,omitempty"`
  2742  	// ClusterName: Required. The name of the cluster where the job will be
  2743  	// submitted.
  2744  	ClusterName string `json:"clusterName,omitempty"`
  2745  	// ClusterUuid: Output only. A cluster UUID generated by the Dataproc service
  2746  	// when the job is submitted.
  2747  	ClusterUuid string `json:"clusterUuid,omitempty"`
  2748  	// ForceSendFields is a list of field names (e.g. "ClusterLabels") to
  2749  	// unconditionally include in API requests. By default, fields with empty or
  2750  	// default values are omitted from API requests. See
  2751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2752  	// details.
  2753  	ForceSendFields []string `json:"-"`
  2754  	// NullFields is a list of field names (e.g. "ClusterLabels") to include in API
  2755  	// requests with the JSON null value. By default, fields with empty values are
  2756  	// omitted from API requests. See
  2757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2758  	NullFields []string `json:"-"`
  2759  }
  2760  
  2761  func (s *JobPlacement) MarshalJSON() ([]byte, error) {
  2762  	type NoMethod JobPlacement
  2763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2764  }
  2765  
  2766  // JobReference: Encapsulates the full scoping used to reference a job.
  2767  type JobReference struct {
  2768  	// JobId: Optional. The job ID, which must be unique within the project.The ID
  2769  	// must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or
  2770  	// hyphens (-). The maximum length is 100 characters.If not specified by the
  2771  	// caller, the job ID will be provided by the server.
  2772  	JobId string `json:"jobId,omitempty"`
  2773  	// ProjectId: Optional. The ID of the Google Cloud Platform project that the
  2774  	// job belongs to. If specified, must match the request project ID.
  2775  	ProjectId string `json:"projectId,omitempty"`
  2776  	// ForceSendFields is a list of field names (e.g. "JobId") to unconditionally
  2777  	// include in API requests. By default, fields with empty or default values are
  2778  	// omitted from API requests. See
  2779  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2780  	// details.
  2781  	ForceSendFields []string `json:"-"`
  2782  	// NullFields is a list of field names (e.g. "JobId") to include in API
  2783  	// requests with the JSON null value. By default, fields with empty values are
  2784  	// omitted from API requests. See
  2785  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2786  	NullFields []string `json:"-"`
  2787  }
  2788  
  2789  func (s *JobReference) MarshalJSON() ([]byte, error) {
  2790  	type NoMethod JobReference
  2791  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2792  }
  2793  
  2794  // JobScheduling: Job scheduling options.
  2795  type JobScheduling struct {
  2796  	// MaxFailuresPerHour: Optional. Maximum number of times per hour a driver can
  2797  	// be restarted as a result of driver exiting with non-zero code before job is
  2798  	// reported failed.A job might be reported as thrashing if the driver exits
  2799  	// with a non-zero code four times within a 10-minute window.Maximum value is
  2800  	// 10.Note: This restartable job option is not supported in Dataproc workflow
  2801  	// templates
  2802  	// (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template).
  2803  	MaxFailuresPerHour int64 `json:"maxFailuresPerHour,omitempty"`
  2804  	// MaxFailuresTotal: Optional. Maximum total number of times a driver can be
  2805  	// restarted as a result of the driver exiting with a non-zero code. After the
  2806  	// maximum number is reached, the job will be reported as failed.Maximum value
  2807  	// is 240.Note: Currently, this restartable job option is not supported in
  2808  	// Dataproc workflow templates
  2809  	// (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template).
  2810  	MaxFailuresTotal int64 `json:"maxFailuresTotal,omitempty"`
  2811  	// ForceSendFields is a list of field names (e.g. "MaxFailuresPerHour") to
  2812  	// unconditionally include in API requests. By default, fields with empty or
  2813  	// default values are omitted from API requests. See
  2814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2815  	// details.
  2816  	ForceSendFields []string `json:"-"`
  2817  	// NullFields is a list of field names (e.g. "MaxFailuresPerHour") to include
  2818  	// in API requests with the JSON null value. By default, fields with empty
  2819  	// values are omitted from API requests. See
  2820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2821  	NullFields []string `json:"-"`
  2822  }
  2823  
  2824  func (s *JobScheduling) MarshalJSON() ([]byte, error) {
  2825  	type NoMethod JobScheduling
  2826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2827  }
  2828  
  2829  // JobStatus: Dataproc job status.
  2830  type JobStatus struct {
  2831  	// Details: Optional. Output only. Job state details, such as an error
  2832  	// description if the state is ERROR.
  2833  	Details string `json:"details,omitempty"`
  2834  	// State: Output only. A state message specifying the overall job state.
  2835  	//
  2836  	// Possible values:
  2837  	//   "STATE_UNSPECIFIED" - The job state is unknown.
  2838  	//   "PENDING" - The job is pending; it has been submitted, but is not yet
  2839  	// running.
  2840  	//   "SETUP_DONE" - Job has been received by the service and completed initial
  2841  	// setup; it will soon be submitted to the cluster.
  2842  	//   "RUNNING" - The job is running on the cluster.
  2843  	//   "CANCEL_PENDING" - A CancelJob request has been received, but is pending.
  2844  	//   "CANCEL_STARTED" - Transient in-flight resources have been canceled, and
  2845  	// the request to cancel the running job has been issued to the cluster.
  2846  	//   "CANCELLED" - The job cancellation was successful.
  2847  	//   "DONE" - The job has completed successfully.
  2848  	//   "ERROR" - The job has completed, but encountered an error.
  2849  	//   "ATTEMPT_FAILURE" - Job attempt has failed. The detail field contains
  2850  	// failure details for this attempt.Applies to restartable jobs only.
  2851  	State string `json:"state,omitempty"`
  2852  	// StateStartTime: Output only. The time when this state was entered.
  2853  	StateStartTime string `json:"stateStartTime,omitempty"`
  2854  	// Substate: Output only. Additional state information, which includes status
  2855  	// reported by the agent.
  2856  	//
  2857  	// Possible values:
  2858  	//   "UNSPECIFIED" - The job substate is unknown.
  2859  	//   "SUBMITTED" - The Job is submitted to the agent.Applies to RUNNING state.
  2860  	//   "QUEUED" - The Job has been received and is awaiting execution (it might
  2861  	// be waiting for a condition to be met). See the "details" field for the
  2862  	// reason for the delay.Applies to RUNNING state.
  2863  	//   "STALE_STATUS" - The agent-reported status is out of date, which can be
  2864  	// caused by a loss of communication between the agent and Dataproc. If the
  2865  	// agent does not send a timely update, the job will fail.Applies to RUNNING
  2866  	// state.
  2867  	Substate string `json:"substate,omitempty"`
  2868  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  2869  	// include in API requests. By default, fields with empty or default values are
  2870  	// omitted from API requests. See
  2871  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2872  	// details.
  2873  	ForceSendFields []string `json:"-"`
  2874  	// NullFields is a list of field names (e.g. "Details") to include in API
  2875  	// requests with the JSON null value. By default, fields with empty values are
  2876  	// omitted from API requests. See
  2877  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2878  	NullFields []string `json:"-"`
  2879  }
  2880  
  2881  func (s *JobStatus) MarshalJSON() ([]byte, error) {
  2882  	type NoMethod JobStatus
  2883  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2884  }
  2885  
  2886  // JupyterConfig: Jupyter configuration for an interactive session.
  2887  type JupyterConfig struct {
  2888  	// DisplayName: Optional. Display name, shown in the Jupyter kernelspec card.
  2889  	DisplayName string `json:"displayName,omitempty"`
  2890  	// Kernel: Optional. Kernel
  2891  	//
  2892  	// Possible values:
  2893  	//   "KERNEL_UNSPECIFIED" - The kernel is unknown.
  2894  	//   "PYTHON" - Python kernel.
  2895  	//   "SCALA" - Scala kernel.
  2896  	Kernel string `json:"kernel,omitempty"`
  2897  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2898  	// unconditionally include in API requests. By default, fields with empty or
  2899  	// default values are omitted from API requests. See
  2900  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2901  	// details.
  2902  	ForceSendFields []string `json:"-"`
  2903  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2904  	// requests with the JSON null value. By default, fields with empty values are
  2905  	// omitted from API requests. See
  2906  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2907  	NullFields []string `json:"-"`
  2908  }
  2909  
  2910  func (s *JupyterConfig) MarshalJSON() ([]byte, error) {
  2911  	type NoMethod JupyterConfig
  2912  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2913  }
  2914  
  2915  // KerberosConfig: Specifies Kerberos related configuration.
  2916  type KerberosConfig struct {
  2917  	// CrossRealmTrustAdminServer: Optional. The admin server (IP or hostname) for
  2918  	// the remote trusted realm in a cross realm trust relationship.
  2919  	CrossRealmTrustAdminServer string `json:"crossRealmTrustAdminServer,omitempty"`
  2920  	// CrossRealmTrustKdc: Optional. The KDC (IP or hostname) for the remote
  2921  	// trusted realm in a cross realm trust relationship.
  2922  	CrossRealmTrustKdc string `json:"crossRealmTrustKdc,omitempty"`
  2923  	// CrossRealmTrustRealm: Optional. The remote realm the Dataproc on-cluster KDC
  2924  	// will trust, should the user enable cross realm trust.
  2925  	CrossRealmTrustRealm string `json:"crossRealmTrustRealm,omitempty"`
  2926  	// CrossRealmTrustSharedPasswordUri: Optional. The Cloud Storage URI of a KMS
  2927  	// encrypted file containing the shared password between the on-cluster
  2928  	// Kerberos realm and the remote trusted realm, in a cross realm trust
  2929  	// relationship.
  2930  	CrossRealmTrustSharedPasswordUri string `json:"crossRealmTrustSharedPasswordUri,omitempty"`
  2931  	// EnableKerberos: Optional. Flag to indicate whether to Kerberize the cluster
  2932  	// (default: false). Set this field to true to enable Kerberos on a cluster.
  2933  	EnableKerberos bool `json:"enableKerberos,omitempty"`
  2934  	// KdcDbKeyUri: Optional. The Cloud Storage URI of a KMS encrypted file
  2935  	// containing the master key of the KDC database.
  2936  	KdcDbKeyUri string `json:"kdcDbKeyUri,omitempty"`
  2937  	// KeyPasswordUri: Optional. The Cloud Storage URI of a KMS encrypted file
  2938  	// containing the password to the user provided key. For the self-signed
  2939  	// certificate, this password is generated by Dataproc.
  2940  	KeyPasswordUri string `json:"keyPasswordUri,omitempty"`
  2941  	// KeystorePasswordUri: Optional. The Cloud Storage URI of a KMS encrypted file
  2942  	// containing the password to the user provided keystore. For the self-signed
  2943  	// certificate, this password is generated by Dataproc.
  2944  	KeystorePasswordUri string `json:"keystorePasswordUri,omitempty"`
  2945  	// KeystoreUri: Optional. The Cloud Storage URI of the keystore file used for
  2946  	// SSL encryption. If not provided, Dataproc will provide a self-signed
  2947  	// certificate.
  2948  	KeystoreUri string `json:"keystoreUri,omitempty"`
  2949  	// KmsKeyUri: Optional. The URI of the KMS key used to encrypt sensitive files.
  2950  	KmsKeyUri string `json:"kmsKeyUri,omitempty"`
  2951  	// Realm: Optional. The name of the on-cluster Kerberos realm. If not
  2952  	// specified, the uppercased domain of hostnames will be the realm.
  2953  	Realm string `json:"realm,omitempty"`
  2954  	// RootPrincipalPasswordUri: Optional. The Cloud Storage URI of a KMS encrypted
  2955  	// file containing the root principal password.
  2956  	RootPrincipalPasswordUri string `json:"rootPrincipalPasswordUri,omitempty"`
  2957  	// TgtLifetimeHours: Optional. The lifetime of the ticket granting ticket, in
  2958  	// hours. If not specified, or user specifies 0, then default value 10 will be
  2959  	// used.
  2960  	TgtLifetimeHours int64 `json:"tgtLifetimeHours,omitempty"`
  2961  	// TruststorePasswordUri: Optional. The Cloud Storage URI of a KMS encrypted
  2962  	// file containing the password to the user provided truststore. For the
  2963  	// self-signed certificate, this password is generated by Dataproc.
  2964  	TruststorePasswordUri string `json:"truststorePasswordUri,omitempty"`
  2965  	// TruststoreUri: Optional. The Cloud Storage URI of the truststore file used
  2966  	// for SSL encryption. If not provided, Dataproc will provide a self-signed
  2967  	// certificate.
  2968  	TruststoreUri string `json:"truststoreUri,omitempty"`
  2969  	// ForceSendFields is a list of field names (e.g. "CrossRealmTrustAdminServer")
  2970  	// to unconditionally include in API requests. By default, fields with empty or
  2971  	// default values are omitted from API requests. See
  2972  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2973  	// details.
  2974  	ForceSendFields []string `json:"-"`
  2975  	// NullFields is a list of field names (e.g. "CrossRealmTrustAdminServer") to
  2976  	// include in API requests with the JSON null value. By default, fields with
  2977  	// empty values are omitted from API requests. See
  2978  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2979  	NullFields []string `json:"-"`
  2980  }
  2981  
  2982  func (s *KerberosConfig) MarshalJSON() ([]byte, error) {
  2983  	type NoMethod KerberosConfig
  2984  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2985  }
  2986  
  2987  // KubernetesClusterConfig: The configuration for running the Dataproc cluster
  2988  // on Kubernetes.
  2989  type KubernetesClusterConfig struct {
  2990  	// GkeClusterConfig: Required. The configuration for running the Dataproc
  2991  	// cluster on GKE.
  2992  	GkeClusterConfig *GkeClusterConfig `json:"gkeClusterConfig,omitempty"`
  2993  	// KubernetesNamespace: Optional. A namespace within the Kubernetes cluster to
  2994  	// deploy into. If this namespace does not exist, it is created. If it exists,
  2995  	// Dataproc verifies that another Dataproc VirtualCluster is not installed into
  2996  	// it. If not specified, the name of the Dataproc Cluster is used.
  2997  	KubernetesNamespace string `json:"kubernetesNamespace,omitempty"`
  2998  	// KubernetesSoftwareConfig: Optional. The software configuration for this
  2999  	// Dataproc cluster running on Kubernetes.
  3000  	KubernetesSoftwareConfig *KubernetesSoftwareConfig `json:"kubernetesSoftwareConfig,omitempty"`
  3001  	// ForceSendFields is a list of field names (e.g. "GkeClusterConfig") to
  3002  	// unconditionally include in API requests. By default, fields with empty or
  3003  	// default values are omitted from API requests. See
  3004  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3005  	// details.
  3006  	ForceSendFields []string `json:"-"`
  3007  	// NullFields is a list of field names (e.g. "GkeClusterConfig") to include in
  3008  	// API requests with the JSON null value. By default, fields with empty values
  3009  	// are omitted from API requests. See
  3010  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3011  	NullFields []string `json:"-"`
  3012  }
  3013  
  3014  func (s *KubernetesClusterConfig) MarshalJSON() ([]byte, error) {
  3015  	type NoMethod KubernetesClusterConfig
  3016  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3017  }
  3018  
  3019  // KubernetesSoftwareConfig: The software configuration for this Dataproc
  3020  // cluster running on Kubernetes.
  3021  type KubernetesSoftwareConfig struct {
  3022  	// ComponentVersion: The components that should be installed in this Dataproc
  3023  	// cluster. The key must be a string from the KubernetesComponent enumeration.
  3024  	// The value is the version of the software to be installed. At least one entry
  3025  	// must be specified.
  3026  	ComponentVersion map[string]string `json:"componentVersion,omitempty"`
  3027  	// Properties: The properties to set on daemon config files.Property keys are
  3028  	// specified in prefix:property format, for example
  3029  	// spark:spark.kubernetes.container.image. The following are supported prefixes
  3030  	// and their mappings: spark: spark-defaults.confFor more information, see
  3031  	// Cluster properties
  3032  	// (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
  3033  	Properties map[string]string `json:"properties,omitempty"`
  3034  	// ForceSendFields is a list of field names (e.g. "ComponentVersion") to
  3035  	// unconditionally include in API requests. By default, fields with empty or
  3036  	// default values are omitted from API requests. See
  3037  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3038  	// details.
  3039  	ForceSendFields []string `json:"-"`
  3040  	// NullFields is a list of field names (e.g. "ComponentVersion") to include in
  3041  	// API requests with the JSON null value. By default, fields with empty values
  3042  	// are omitted from API requests. See
  3043  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3044  	NullFields []string `json:"-"`
  3045  }
  3046  
  3047  func (s *KubernetesSoftwareConfig) MarshalJSON() ([]byte, error) {
  3048  	type NoMethod KubernetesSoftwareConfig
  3049  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3050  }
  3051  
  3052  // LifecycleConfig: Specifies the cluster auto-delete schedule configuration.
  3053  type LifecycleConfig struct {
  3054  	// AutoDeleteTime: Optional. The time when cluster will be auto-deleted (see
  3055  	// JSON representation of Timestamp
  3056  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).
  3057  	AutoDeleteTime string `json:"autoDeleteTime,omitempty"`
  3058  	// AutoDeleteTtl: Optional. The lifetime duration of cluster. The cluster will
  3059  	// be auto-deleted at the end of this period. Minimum value is 10 minutes;
  3060  	// maximum value is 14 days (see JSON representation of Duration
  3061  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).
  3062  	AutoDeleteTtl string `json:"autoDeleteTtl,omitempty"`
  3063  	// IdleDeleteTtl: Optional. The duration to keep the cluster alive while idling
  3064  	// (when no jobs are running). Passing this threshold will cause the cluster to
  3065  	// be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON
  3066  	// representation of Duration
  3067  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).
  3068  	IdleDeleteTtl string `json:"idleDeleteTtl,omitempty"`
  3069  	// IdleStartTime: Output only. The time when cluster became idle (most recent
  3070  	// job finished) and became eligible for deletion due to idleness (see JSON
  3071  	// representation of Timestamp
  3072  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).
  3073  	IdleStartTime string `json:"idleStartTime,omitempty"`
  3074  	// ForceSendFields is a list of field names (e.g. "AutoDeleteTime") to
  3075  	// unconditionally include in API requests. By default, fields with empty or
  3076  	// default values are omitted from API requests. See
  3077  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3078  	// details.
  3079  	ForceSendFields []string `json:"-"`
  3080  	// NullFields is a list of field names (e.g. "AutoDeleteTime") to include in
  3081  	// API requests with the JSON null value. By default, fields with empty values
  3082  	// are omitted from API requests. See
  3083  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3084  	NullFields []string `json:"-"`
  3085  }
  3086  
  3087  func (s *LifecycleConfig) MarshalJSON() ([]byte, error) {
  3088  	type NoMethod LifecycleConfig
  3089  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3090  }
  3091  
  3092  // ListAutoscalingPoliciesResponse: A response to a request to list autoscaling
  3093  // policies in a project.
  3094  type ListAutoscalingPoliciesResponse struct {
  3095  	// NextPageToken: Output only. This token is included in the response if there
  3096  	// are more results to fetch.
  3097  	NextPageToken string `json:"nextPageToken,omitempty"`
  3098  	// Policies: Output only. Autoscaling policies list.
  3099  	Policies []*AutoscalingPolicy `json:"policies,omitempty"`
  3100  
  3101  	// ServerResponse contains the HTTP response code and headers from the server.
  3102  	googleapi.ServerResponse `json:"-"`
  3103  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3104  	// unconditionally include in API requests. By default, fields with empty or
  3105  	// default values are omitted from API requests. See
  3106  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3107  	// details.
  3108  	ForceSendFields []string `json:"-"`
  3109  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3110  	// requests with the JSON null value. By default, fields with empty values are
  3111  	// omitted from API requests. See
  3112  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3113  	NullFields []string `json:"-"`
  3114  }
  3115  
  3116  func (s *ListAutoscalingPoliciesResponse) MarshalJSON() ([]byte, error) {
  3117  	type NoMethod ListAutoscalingPoliciesResponse
  3118  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3119  }
  3120  
  3121  // ListBatchesResponse: A list of batch workloads.
  3122  type ListBatchesResponse struct {
  3123  	// Batches: Output only. The batches from the specified collection.
  3124  	Batches []*Batch `json:"batches,omitempty"`
  3125  	// NextPageToken: A token, which can be sent as page_token to retrieve the next
  3126  	// page. If this field is omitted, there are no subsequent pages.
  3127  	NextPageToken string `json:"nextPageToken,omitempty"`
  3128  	// Unreachable: Output only. List of Batches that could not be included in the
  3129  	// response. Attempting to get one of these resources may indicate why it was
  3130  	// not included in the list response.
  3131  	Unreachable []string `json:"unreachable,omitempty"`
  3132  
  3133  	// ServerResponse contains the HTTP response code and headers from the server.
  3134  	googleapi.ServerResponse `json:"-"`
  3135  	// ForceSendFields is a list of field names (e.g. "Batches") to unconditionally
  3136  	// include in API requests. By default, fields with empty or default values are
  3137  	// omitted from API requests. See
  3138  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3139  	// details.
  3140  	ForceSendFields []string `json:"-"`
  3141  	// NullFields is a list of field names (e.g. "Batches") to include in API
  3142  	// requests with the JSON null value. By default, fields with empty values are
  3143  	// omitted from API requests. See
  3144  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3145  	NullFields []string `json:"-"`
  3146  }
  3147  
  3148  func (s *ListBatchesResponse) MarshalJSON() ([]byte, error) {
  3149  	type NoMethod ListBatchesResponse
  3150  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3151  }
  3152  
  3153  // ListClustersResponse: The list of all clusters in a project.
  3154  type ListClustersResponse struct {
  3155  	// Clusters: Output only. The clusters in the project.
  3156  	Clusters []*Cluster `json:"clusters,omitempty"`
  3157  	// NextPageToken: Output only. This token is included in the response if there
  3158  	// are more results to fetch. To fetch additional results, provide this value
  3159  	// as the page_token in a subsequent ListClustersRequest.
  3160  	NextPageToken string `json:"nextPageToken,omitempty"`
  3161  
  3162  	// ServerResponse contains the HTTP response code and headers from the server.
  3163  	googleapi.ServerResponse `json:"-"`
  3164  	// ForceSendFields is a list of field names (e.g. "Clusters") to
  3165  	// unconditionally include in API requests. By default, fields with empty or
  3166  	// default values are omitted from API requests. See
  3167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3168  	// details.
  3169  	ForceSendFields []string `json:"-"`
  3170  	// NullFields is a list of field names (e.g. "Clusters") to include in API
  3171  	// requests with the JSON null value. By default, fields with empty values are
  3172  	// omitted from API requests. See
  3173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3174  	NullFields []string `json:"-"`
  3175  }
  3176  
  3177  func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
  3178  	type NoMethod ListClustersResponse
  3179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3180  }
  3181  
  3182  // ListJobsResponse: A list of jobs in a project.
  3183  type ListJobsResponse struct {
  3184  	// Jobs: Output only. Jobs list.
  3185  	Jobs []*Job `json:"jobs,omitempty"`
  3186  	// NextPageToken: Optional. This token is included in the response if there are
  3187  	// more results to fetch. To fetch additional results, provide this value as
  3188  	// the page_token in a subsequent ListJobsRequest.
  3189  	NextPageToken string `json:"nextPageToken,omitempty"`
  3190  	// Unreachable: Output only. List of jobs with kms_key-encrypted parameters
  3191  	// that could not be decrypted. A response to a jobs.get request may indicate
  3192  	// the reason for the decryption failure for a specific job.
  3193  	Unreachable []string `json:"unreachable,omitempty"`
  3194  
  3195  	// ServerResponse contains the HTTP response code and headers from the server.
  3196  	googleapi.ServerResponse `json:"-"`
  3197  	// ForceSendFields is a list of field names (e.g. "Jobs") to unconditionally
  3198  	// include in API requests. By default, fields with empty or default values are
  3199  	// omitted from API requests. See
  3200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3201  	// details.
  3202  	ForceSendFields []string `json:"-"`
  3203  	// NullFields is a list of field names (e.g. "Jobs") to include in API requests
  3204  	// with the JSON null value. By default, fields with empty values are omitted
  3205  	// from API requests. See
  3206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3207  	NullFields []string `json:"-"`
  3208  }
  3209  
  3210  func (s *ListJobsResponse) MarshalJSON() ([]byte, error) {
  3211  	type NoMethod ListJobsResponse
  3212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3213  }
  3214  
  3215  // ListOperationsResponse: The response message for Operations.ListOperations.
  3216  type ListOperationsResponse struct {
  3217  	// NextPageToken: The standard List next-page token.
  3218  	NextPageToken string `json:"nextPageToken,omitempty"`
  3219  	// Operations: A list of operations that matches the specified filter in the
  3220  	// request.
  3221  	Operations []*Operation `json:"operations,omitempty"`
  3222  
  3223  	// ServerResponse contains the HTTP response code and headers from the server.
  3224  	googleapi.ServerResponse `json:"-"`
  3225  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3226  	// unconditionally include in API requests. By default, fields with empty or
  3227  	// default values are omitted from API requests. See
  3228  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3229  	// details.
  3230  	ForceSendFields []string `json:"-"`
  3231  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3232  	// requests with the JSON null value. By default, fields with empty values are
  3233  	// omitted from API requests. See
  3234  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3235  	NullFields []string `json:"-"`
  3236  }
  3237  
  3238  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  3239  	type NoMethod ListOperationsResponse
  3240  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3241  }
  3242  
  3243  // ListSessionTemplatesResponse: A list of session templates.
  3244  type ListSessionTemplatesResponse struct {
  3245  	// NextPageToken: A token, which can be sent as page_token to retrieve the next
  3246  	// page. If this field is omitted, there are no subsequent pages.
  3247  	NextPageToken string `json:"nextPageToken,omitempty"`
  3248  	// SessionTemplates: Output only. Session template list
  3249  	SessionTemplates []*SessionTemplate `json:"sessionTemplates,omitempty"`
  3250  
  3251  	// ServerResponse contains the HTTP response code and headers from the server.
  3252  	googleapi.ServerResponse `json:"-"`
  3253  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3254  	// unconditionally include in API requests. By default, fields with empty or
  3255  	// default values are omitted from API requests. See
  3256  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3257  	// details.
  3258  	ForceSendFields []string `json:"-"`
  3259  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3260  	// requests with the JSON null value. By default, fields with empty values are
  3261  	// omitted from API requests. See
  3262  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3263  	NullFields []string `json:"-"`
  3264  }
  3265  
  3266  func (s *ListSessionTemplatesResponse) MarshalJSON() ([]byte, error) {
  3267  	type NoMethod ListSessionTemplatesResponse
  3268  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3269  }
  3270  
  3271  // ListSessionsResponse: A list of interactive sessions.
  3272  type ListSessionsResponse struct {
  3273  	// NextPageToken: A token, which can be sent as page_token, to retrieve the
  3274  	// next page. If this field is omitted, there are no subsequent pages.
  3275  	NextPageToken string `json:"nextPageToken,omitempty"`
  3276  	// Sessions: Output only. The sessions from the specified collection.
  3277  	Sessions []*Session `json:"sessions,omitempty"`
  3278  
  3279  	// ServerResponse contains the HTTP response code and headers from the server.
  3280  	googleapi.ServerResponse `json:"-"`
  3281  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3282  	// unconditionally include in API requests. By default, fields with empty or
  3283  	// default values are omitted from API requests. See
  3284  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3285  	// details.
  3286  	ForceSendFields []string `json:"-"`
  3287  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3288  	// requests with the JSON null value. By default, fields with empty values are
  3289  	// omitted from API requests. See
  3290  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3291  	NullFields []string `json:"-"`
  3292  }
  3293  
  3294  func (s *ListSessionsResponse) MarshalJSON() ([]byte, error) {
  3295  	type NoMethod ListSessionsResponse
  3296  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3297  }
  3298  
  3299  // ListWorkflowTemplatesResponse: A response to a request to list workflow
  3300  // templates in a project.
  3301  type ListWorkflowTemplatesResponse struct {
  3302  	// NextPageToken: Output only. This token is included in the response if there
  3303  	// are more results to fetch. To fetch additional results, provide this value
  3304  	// as the page_token in a subsequent ListWorkflowTemplatesRequest.
  3305  	NextPageToken string `json:"nextPageToken,omitempty"`
  3306  	// Templates: Output only. WorkflowTemplates list.
  3307  	Templates []*WorkflowTemplate `json:"templates,omitempty"`
  3308  	// Unreachable: Output only. List of workflow templates that could not be
  3309  	// included in the response. Attempting to get one of these resources may
  3310  	// indicate why it was not included in the list response.
  3311  	Unreachable []string `json:"unreachable,omitempty"`
  3312  
  3313  	// ServerResponse contains the HTTP response code and headers from the server.
  3314  	googleapi.ServerResponse `json:"-"`
  3315  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3316  	// unconditionally include in API requests. By default, fields with empty or
  3317  	// default values are omitted from API requests. See
  3318  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3319  	// details.
  3320  	ForceSendFields []string `json:"-"`
  3321  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3322  	// requests with the JSON null value. By default, fields with empty values are
  3323  	// omitted from API requests. See
  3324  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3325  	NullFields []string `json:"-"`
  3326  }
  3327  
  3328  func (s *ListWorkflowTemplatesResponse) MarshalJSON() ([]byte, error) {
  3329  	type NoMethod ListWorkflowTemplatesResponse
  3330  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3331  }
  3332  
  3333  // LoggingConfig: The runtime logging config of the job.
  3334  type LoggingConfig struct {
  3335  	// DriverLogLevels: The per-package log levels for the driver. This can include
  3336  	// "root" package name to configure rootLogger. Examples: - 'com.google =
  3337  	// FATAL' - 'root = INFO' - 'org.apache = DEBUG'
  3338  	DriverLogLevels map[string]string `json:"driverLogLevels,omitempty"`
  3339  	// ForceSendFields is a list of field names (e.g. "DriverLogLevels") to
  3340  	// unconditionally include in API requests. By default, fields with empty or
  3341  	// default values are omitted from API requests. See
  3342  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3343  	// details.
  3344  	ForceSendFields []string `json:"-"`
  3345  	// NullFields is a list of field names (e.g. "DriverLogLevels") to include in
  3346  	// API requests with the JSON null value. By default, fields with empty values
  3347  	// are omitted from API requests. See
  3348  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3349  	NullFields []string `json:"-"`
  3350  }
  3351  
  3352  func (s *LoggingConfig) MarshalJSON() ([]byte, error) {
  3353  	type NoMethod LoggingConfig
  3354  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3355  }
  3356  
  3357  // ManagedCluster: Cluster that is managed by the workflow.
  3358  type ManagedCluster struct {
  3359  	// ClusterName: Required. The cluster name prefix. A unique cluster name will
  3360  	// be formed by appending a random suffix.The name must contain only lower-case
  3361  	// letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter.
  3362  	// Cannot begin or end with hyphen. Must consist of between 2 and 35
  3363  	// characters.
  3364  	ClusterName string `json:"clusterName,omitempty"`
  3365  	// Config: Required. The cluster configuration.
  3366  	Config *ClusterConfig `json:"config,omitempty"`
  3367  	// Labels: Optional. The labels to associate with this cluster.Label keys must
  3368  	// be between 1 and 63 characters long, and must conform to the following PCRE
  3369  	// regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 and 63
  3370  	// characters long, and must conform to the following PCRE regular expression:
  3371  	// \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be associated with a
  3372  	// given cluster.
  3373  	Labels map[string]string `json:"labels,omitempty"`
  3374  	// ForceSendFields is a list of field names (e.g. "ClusterName") to
  3375  	// unconditionally include in API requests. By default, fields with empty or
  3376  	// default values are omitted from API requests. See
  3377  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3378  	// details.
  3379  	ForceSendFields []string `json:"-"`
  3380  	// NullFields is a list of field names (e.g. "ClusterName") to include in API
  3381  	// requests with the JSON null value. By default, fields with empty values are
  3382  	// omitted from API requests. See
  3383  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3384  	NullFields []string `json:"-"`
  3385  }
  3386  
  3387  func (s *ManagedCluster) MarshalJSON() ([]byte, error) {
  3388  	type NoMethod ManagedCluster
  3389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3390  }
  3391  
  3392  // ManagedGroupConfig: Specifies the resources used to actively manage an
  3393  // instance group.
  3394  type ManagedGroupConfig struct {
  3395  	// InstanceGroupManagerName: Output only. The name of the Instance Group
  3396  	// Manager for this group.
  3397  	InstanceGroupManagerName string `json:"instanceGroupManagerName,omitempty"`
  3398  	// InstanceGroupManagerUri: Output only. The partial URI to the instance group
  3399  	// manager for this group. E.g.
  3400  	// projects/my-project/regions/us-central1/instanceGroupManagers/my-igm.
  3401  	InstanceGroupManagerUri string `json:"instanceGroupManagerUri,omitempty"`
  3402  	// InstanceTemplateName: Output only. The name of the Instance Template used
  3403  	// for the Managed Instance Group.
  3404  	InstanceTemplateName string `json:"instanceTemplateName,omitempty"`
  3405  	// ForceSendFields is a list of field names (e.g. "InstanceGroupManagerName")
  3406  	// to unconditionally include in API requests. By default, fields with empty or
  3407  	// default values are omitted from API requests. See
  3408  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3409  	// details.
  3410  	ForceSendFields []string `json:"-"`
  3411  	// NullFields is a list of field names (e.g. "InstanceGroupManagerName") to
  3412  	// include in API requests with the JSON null value. By default, fields with
  3413  	// empty values are omitted from API requests. See
  3414  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3415  	NullFields []string `json:"-"`
  3416  }
  3417  
  3418  func (s *ManagedGroupConfig) MarshalJSON() ([]byte, error) {
  3419  	type NoMethod ManagedGroupConfig
  3420  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3421  }
  3422  
  3423  // MetastoreConfig: Specifies a Metastore configuration.
  3424  type MetastoreConfig struct {
  3425  	// DataprocMetastoreService: Required. Resource name of an existing Dataproc
  3426  	// Metastore service.Example:
  3427  	// projects/[project_id]/locations/[dataproc_region]/services/[service-name]
  3428  	DataprocMetastoreService string `json:"dataprocMetastoreService,omitempty"`
  3429  	// ForceSendFields is a list of field names (e.g. "DataprocMetastoreService")
  3430  	// to unconditionally include in API requests. By default, fields with empty or
  3431  	// default values are omitted from API requests. See
  3432  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3433  	// details.
  3434  	ForceSendFields []string `json:"-"`
  3435  	// NullFields is a list of field names (e.g. "DataprocMetastoreService") to
  3436  	// include in API requests with the JSON null value. By default, fields with
  3437  	// empty values are omitted from API requests. See
  3438  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3439  	NullFields []string `json:"-"`
  3440  }
  3441  
  3442  func (s *MetastoreConfig) MarshalJSON() ([]byte, error) {
  3443  	type NoMethod MetastoreConfig
  3444  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3445  }
  3446  
  3447  // Metric: A Dataproc custom metric.
  3448  type Metric struct {
  3449  	// MetricOverrides: Optional. Specify one or more Custom metrics
  3450  	// (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics)
  3451  	// to collect for the metric course (for the SPARK metric source (any Spark
  3452  	// metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be
  3453  	// specified).Provide metrics in the following format: METRIC_SOURCE:
  3454  	// INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples:
  3455  	// yarn:ResourceManager:QueueMetrics:AppsCompleted
  3456  	// spark:driver:DAGScheduler:job.allJobs
  3457  	// sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed
  3458  	// hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified
  3459  	// overridden metrics are collected for the metric source. For example, if one
  3460  	// or more spark:executive metrics are listed as metric overrides, other SPARK
  3461  	// metrics are not collected. The collection of the metrics for other enabled
  3462  	// custom metric sources is unaffected. For example, if both SPARK andd YARN
  3463  	// metric sources are enabled, and overrides are provided for Spark metrics
  3464  	// only, all YARN metrics are collected.
  3465  	MetricOverrides []string `json:"metricOverrides,omitempty"`
  3466  	// MetricSource: Required. A standard set of metrics is collected unless
  3467  	// metricOverrides are specified for the metric source (see Custom metrics
  3468  	// (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics)
  3469  	// for more information).
  3470  	//
  3471  	// Possible values:
  3472  	//   "METRIC_SOURCE_UNSPECIFIED" - Required unspecified metric source.
  3473  	//   "MONITORING_AGENT_DEFAULTS" - Monitoring agent metrics. If this source is
  3474  	// enabled, Dataproc enables the monitoring agent in Compute Engine, and
  3475  	// collects monitoring agent metrics, which are published with an
  3476  	// agent.googleapis.com prefix.
  3477  	//   "HDFS" - HDFS metric source.
  3478  	//   "SPARK" - Spark metric source.
  3479  	//   "YARN" - YARN metric source.
  3480  	//   "SPARK_HISTORY_SERVER" - Spark History Server metric source.
  3481  	//   "HIVESERVER2" - Hiveserver2 metric source.
  3482  	//   "HIVEMETASTORE" - hivemetastore metric source
  3483  	//   "FLINK" - flink metric source
  3484  	MetricSource string `json:"metricSource,omitempty"`
  3485  	// ForceSendFields is a list of field names (e.g. "MetricOverrides") to
  3486  	// unconditionally include in API requests. By default, fields with empty or
  3487  	// default values are omitted from API requests. See
  3488  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3489  	// details.
  3490  	ForceSendFields []string `json:"-"`
  3491  	// NullFields is a list of field names (e.g. "MetricOverrides") to include in
  3492  	// API requests with the JSON null value. By default, fields with empty values
  3493  	// are omitted from API requests. See
  3494  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3495  	NullFields []string `json:"-"`
  3496  }
  3497  
  3498  func (s *Metric) MarshalJSON() ([]byte, error) {
  3499  	type NoMethod Metric
  3500  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3501  }
  3502  
  3503  // NamespacedGkeDeploymentTarget: Deprecated. Used only for the deprecated
  3504  // beta. A full, namespace-isolated deployment target for an existing GKE
  3505  // cluster.
  3506  type NamespacedGkeDeploymentTarget struct {
  3507  	// ClusterNamespace: Optional. A namespace within the GKE cluster to deploy
  3508  	// into.
  3509  	ClusterNamespace string `json:"clusterNamespace,omitempty"`
  3510  	// TargetGkeCluster: Optional. The target GKE cluster to deploy to. Format:
  3511  	// 'projects/{project}/locations/{location}/clusters/{cluster_id}'
  3512  	TargetGkeCluster string `json:"targetGkeCluster,omitempty"`
  3513  	// ForceSendFields is a list of field names (e.g. "ClusterNamespace") to
  3514  	// unconditionally include in API requests. By default, fields with empty or
  3515  	// default values are omitted from API requests. See
  3516  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3517  	// details.
  3518  	ForceSendFields []string `json:"-"`
  3519  	// NullFields is a list of field names (e.g. "ClusterNamespace") to include in
  3520  	// API requests with the JSON null value. By default, fields with empty values
  3521  	// are omitted from API requests. See
  3522  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3523  	NullFields []string `json:"-"`
  3524  }
  3525  
  3526  func (s *NamespacedGkeDeploymentTarget) MarshalJSON() ([]byte, error) {
  3527  	type NoMethod NamespacedGkeDeploymentTarget
  3528  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3529  }
  3530  
  3531  // NodeGroup: Dataproc Node Group. The Dataproc NodeGroup resource is not
  3532  // related to the Dataproc NodeGroupAffinity resource.
  3533  type NodeGroup struct {
  3534  	// Labels: Optional. Node group labels. Label keys must consist of from 1 to 63
  3535  	// characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).
  3536  	// Label values can be empty. If specified, they must consist of from 1 to 63
  3537  	// characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).
  3538  	// The node group must have no more than 32 labelsn.
  3539  	Labels map[string]string `json:"labels,omitempty"`
  3540  	// Name: The Node group resource name (https://aip.dev/122).
  3541  	Name string `json:"name,omitempty"`
  3542  	// NodeGroupConfig: Optional. The node group instance group configuration.
  3543  	NodeGroupConfig *InstanceGroupConfig `json:"nodeGroupConfig,omitempty"`
  3544  	// Roles: Required. Node group roles.
  3545  	//
  3546  	// Possible values:
  3547  	//   "ROLE_UNSPECIFIED" - Required unspecified role.
  3548  	//   "DRIVER" - Job drivers run on the node pool.
  3549  	Roles []string `json:"roles,omitempty"`
  3550  
  3551  	// ServerResponse contains the HTTP response code and headers from the server.
  3552  	googleapi.ServerResponse `json:"-"`
  3553  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  3554  	// include in API requests. By default, fields with empty or default values are
  3555  	// omitted from API requests. See
  3556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3557  	// details.
  3558  	ForceSendFields []string `json:"-"`
  3559  	// NullFields is a list of field names (e.g. "Labels") to include in API
  3560  	// requests with the JSON null value. By default, fields with empty values are
  3561  	// omitted from API requests. See
  3562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3563  	NullFields []string `json:"-"`
  3564  }
  3565  
  3566  func (s *NodeGroup) MarshalJSON() ([]byte, error) {
  3567  	type NoMethod NodeGroup
  3568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3569  }
  3570  
  3571  // NodeGroupAffinity: Node Group Affinity for clusters using sole-tenant node
  3572  // groups. The Dataproc NodeGroupAffinity resource is not related to the
  3573  // Dataproc NodeGroup resource.
  3574  type NodeGroupAffinity struct {
  3575  	// NodeGroupUri: Required. The URI of a sole-tenant node group resource
  3576  	// (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that
  3577  	// the cluster will be created on.A full URL, partial URI, or node group name
  3578  	// are valid. Examples:
  3579  	// https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1
  3580  	// projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1
  3581  	NodeGroupUri string `json:"nodeGroupUri,omitempty"`
  3582  	// ForceSendFields is a list of field names (e.g. "NodeGroupUri") to
  3583  	// unconditionally include in API requests. By default, fields with empty or
  3584  	// default values are omitted from API requests. See
  3585  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3586  	// details.
  3587  	ForceSendFields []string `json:"-"`
  3588  	// NullFields is a list of field names (e.g. "NodeGroupUri") to include in API
  3589  	// requests with the JSON null value. By default, fields with empty values are
  3590  	// omitted from API requests. See
  3591  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3592  	NullFields []string `json:"-"`
  3593  }
  3594  
  3595  func (s *NodeGroupAffinity) MarshalJSON() ([]byte, error) {
  3596  	type NoMethod NodeGroupAffinity
  3597  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3598  }
  3599  
  3600  // NodeGroupOperationMetadata: Metadata describing the node group operation.
  3601  type NodeGroupOperationMetadata struct {
  3602  	// ClusterUuid: Output only. Cluster UUID associated with the node group
  3603  	// operation.
  3604  	ClusterUuid string `json:"clusterUuid,omitempty"`
  3605  	// Description: Output only. Short description of operation.
  3606  	Description string `json:"description,omitempty"`
  3607  	// Labels: Output only. Labels associated with the operation.
  3608  	Labels map[string]string `json:"labels,omitempty"`
  3609  	// NodeGroupId: Output only. Node group ID for the operation.
  3610  	NodeGroupId string `json:"nodeGroupId,omitempty"`
  3611  	// OperationType: The operation type.
  3612  	//
  3613  	// Possible values:
  3614  	//   "NODE_GROUP_OPERATION_TYPE_UNSPECIFIED" - Node group operation type is
  3615  	// unknown.
  3616  	//   "CREATE" - Create node group operation type.
  3617  	//   "UPDATE" - Update node group operation type.
  3618  	//   "DELETE" - Delete node group operation type.
  3619  	//   "RESIZE" - Resize node group operation type.
  3620  	//   "REPAIR" - Repair node group operation type.
  3621  	//   "UPDATE_LABELS" - Update node group label operation type.
  3622  	OperationType string `json:"operationType,omitempty"`
  3623  	// Status: Output only. Current operation status.
  3624  	Status *ClusterOperationStatus `json:"status,omitempty"`
  3625  	// StatusHistory: Output only. The previous operation status.
  3626  	StatusHistory []*ClusterOperationStatus `json:"statusHistory,omitempty"`
  3627  	// Warnings: Output only. Errors encountered during operation execution.
  3628  	Warnings []string `json:"warnings,omitempty"`
  3629  	// ForceSendFields is a list of field names (e.g. "ClusterUuid") to
  3630  	// unconditionally include in API requests. By default, fields with empty or
  3631  	// default values are omitted from API requests. See
  3632  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3633  	// details.
  3634  	ForceSendFields []string `json:"-"`
  3635  	// NullFields is a list of field names (e.g. "ClusterUuid") to include in API
  3636  	// requests with the JSON null value. By default, fields with empty values are
  3637  	// omitted from API requests. See
  3638  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3639  	NullFields []string `json:"-"`
  3640  }
  3641  
  3642  func (s *NodeGroupOperationMetadata) MarshalJSON() ([]byte, error) {
  3643  	type NoMethod NodeGroupOperationMetadata
  3644  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3645  }
  3646  
  3647  // NodeInitializationAction: Specifies an executable to run on a fully
  3648  // configured node and a timeout period for executable completion.
  3649  type NodeInitializationAction struct {
  3650  	// ExecutableFile: Required. Cloud Storage URI of executable file.
  3651  	ExecutableFile string `json:"executableFile,omitempty"`
  3652  	// ExecutionTimeout: Optional. Amount of time executable has to complete.
  3653  	// Default is 10 minutes (see JSON representation of Duration
  3654  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).Cluster
  3655  	// creation fails with an explanatory error message (the name of the executable
  3656  	// that caused the error and the exceeded timeout period) if the executable is
  3657  	// not completed at end of the timeout period.
  3658  	ExecutionTimeout string `json:"executionTimeout,omitempty"`
  3659  	// ForceSendFields is a list of field names (e.g. "ExecutableFile") to
  3660  	// unconditionally include in API requests. By default, fields with empty or
  3661  	// default values are omitted from API requests. See
  3662  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3663  	// details.
  3664  	ForceSendFields []string `json:"-"`
  3665  	// NullFields is a list of field names (e.g. "ExecutableFile") to include in
  3666  	// API requests with the JSON null value. By default, fields with empty values
  3667  	// are omitted from API requests. See
  3668  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3669  	NullFields []string `json:"-"`
  3670  }
  3671  
  3672  func (s *NodeInitializationAction) MarshalJSON() ([]byte, error) {
  3673  	type NoMethod NodeInitializationAction
  3674  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3675  }
  3676  
  3677  // NodePool: indicating a list of workers of same type
  3678  type NodePool struct {
  3679  	// Id: Required. A unique id of the node pool. Primary and Secondary workers
  3680  	// can be specified using special reserved ids PRIMARY_WORKER_POOL and
  3681  	// SECONDARY_WORKER_POOL respectively. Aux node pools can be referenced using
  3682  	// corresponding pool id.
  3683  	Id string `json:"id,omitempty"`
  3684  	// InstanceNames: Name of instances to be repaired. These instances must belong
  3685  	// to specified node pool.
  3686  	InstanceNames []string `json:"instanceNames,omitempty"`
  3687  	// RepairAction: Required. Repair action to take on specified resources of the
  3688  	// node pool.
  3689  	//
  3690  	// Possible values:
  3691  	//   "REPAIR_ACTION_UNSPECIFIED" - No action will be taken by default.
  3692  	//   "DELETE" - delete the specified list of nodes.
  3693  	RepairAction string `json:"repairAction,omitempty"`
  3694  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  3695  	// include in API requests. By default, fields with empty or default values are
  3696  	// omitted from API requests. See
  3697  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3698  	// details.
  3699  	ForceSendFields []string `json:"-"`
  3700  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  3701  	// with the JSON null value. By default, fields with empty values are omitted
  3702  	// from API requests. See
  3703  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3704  	NullFields []string `json:"-"`
  3705  }
  3706  
  3707  func (s *NodePool) MarshalJSON() ([]byte, error) {
  3708  	type NoMethod NodePool
  3709  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3710  }
  3711  
  3712  // Operation: This resource represents a long-running operation that is the
  3713  // result of a network API call.
  3714  type Operation struct {
  3715  	// Done: If the value is false, it means the operation is still in progress. If
  3716  	// true, the operation is completed, and either error or response is available.
  3717  	Done bool `json:"done,omitempty"`
  3718  	// Error: The error result of the operation in case of failure or cancellation.
  3719  	Error *Status `json:"error,omitempty"`
  3720  	// Metadata: Service-specific metadata associated with the operation. It
  3721  	// typically contains progress information and common metadata such as create
  3722  	// time. Some services might not provide such metadata. Any method that returns
  3723  	// a long-running operation should document the metadata type, if any.
  3724  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  3725  	// Name: The server-assigned name, which is only unique within the same service
  3726  	// that originally returns it. If you use the default HTTP mapping, the name
  3727  	// should be a resource name ending with operations/{unique_id}.
  3728  	Name string `json:"name,omitempty"`
  3729  	// Response: The normal, successful response of the operation. If the original
  3730  	// method returns no data on success, such as Delete, the response is
  3731  	// google.protobuf.Empty. If the original method is standard Get/Create/Update,
  3732  	// the response should be the resource. For other methods, the response should
  3733  	// have the type XxxResponse, where Xxx is the original method name. For
  3734  	// example, if the original method name is TakeSnapshot(), the inferred
  3735  	// response type is TakeSnapshotResponse.
  3736  	Response googleapi.RawMessage `json:"response,omitempty"`
  3737  
  3738  	// ServerResponse contains the HTTP response code and headers from the server.
  3739  	googleapi.ServerResponse `json:"-"`
  3740  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  3741  	// include in API requests. By default, fields with empty or default values are
  3742  	// omitted from API requests. See
  3743  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3744  	// details.
  3745  	ForceSendFields []string `json:"-"`
  3746  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  3747  	// with the JSON null value. By default, fields with empty values are omitted
  3748  	// from API requests. See
  3749  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3750  	NullFields []string `json:"-"`
  3751  }
  3752  
  3753  func (s *Operation) MarshalJSON() ([]byte, error) {
  3754  	type NoMethod Operation
  3755  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3756  }
  3757  
  3758  // OrderedJob: A job executed by the workflow.
  3759  type OrderedJob struct {
  3760  	// FlinkJob: Optional. Job is a Flink job.
  3761  	FlinkJob *FlinkJob `json:"flinkJob,omitempty"`
  3762  	// HadoopJob: Optional. Job is a Hadoop job.
  3763  	HadoopJob *HadoopJob `json:"hadoopJob,omitempty"`
  3764  	// HiveJob: Optional. Job is a Hive job.
  3765  	HiveJob *HiveJob `json:"hiveJob,omitempty"`
  3766  	// Labels: Optional. The labels to associate with this job.Label keys must be
  3767  	// between 1 and 63 characters long, and must conform to the following regular
  3768  	// expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 and 63
  3769  	// characters long, and must conform to the following regular expression:
  3770  	// \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be associated with a
  3771  	// given job.
  3772  	Labels map[string]string `json:"labels,omitempty"`
  3773  	// PigJob: Optional. Job is a Pig job.
  3774  	PigJob *PigJob `json:"pigJob,omitempty"`
  3775  	// PrerequisiteStepIds: Optional. The optional list of prerequisite job
  3776  	// step_ids. If not specified, the job will start at the beginning of workflow.
  3777  	PrerequisiteStepIds []string `json:"prerequisiteStepIds,omitempty"`
  3778  	// PrestoJob: Optional. Job is a Presto job.
  3779  	PrestoJob *PrestoJob `json:"prestoJob,omitempty"`
  3780  	// PysparkJob: Optional. Job is a PySpark job.
  3781  	PysparkJob *PySparkJob `json:"pysparkJob,omitempty"`
  3782  	// Scheduling: Optional. Job scheduling configuration.
  3783  	Scheduling *JobScheduling `json:"scheduling,omitempty"`
  3784  	// SparkJob: Optional. Job is a Spark job.
  3785  	SparkJob *SparkJob `json:"sparkJob,omitempty"`
  3786  	// SparkRJob: Optional. Job is a SparkR job.
  3787  	SparkRJob *SparkRJob `json:"sparkRJob,omitempty"`
  3788  	// SparkSqlJob: Optional. Job is a SparkSql job.
  3789  	SparkSqlJob *SparkSqlJob `json:"sparkSqlJob,omitempty"`
  3790  	// StepId: Required. The step id. The id must be unique among all jobs within
  3791  	// the template.The step id is used as prefix for job id, as job
  3792  	// goog-dataproc-workflow-step-id label, and in prerequisiteStepIds field from
  3793  	// other steps.The id must contain only letters (a-z, A-Z), numbers (0-9),
  3794  	// underscores (_), and hyphens (-). Cannot begin or end with underscore or
  3795  	// hyphen. Must consist of between 3 and 50 characters.
  3796  	StepId string `json:"stepId,omitempty"`
  3797  	// TrinoJob: Optional. Job is a Trino job.
  3798  	TrinoJob *TrinoJob `json:"trinoJob,omitempty"`
  3799  	// ForceSendFields is a list of field names (e.g. "FlinkJob") to
  3800  	// unconditionally include in API requests. By default, fields with empty or
  3801  	// default values are omitted from API requests. See
  3802  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3803  	// details.
  3804  	ForceSendFields []string `json:"-"`
  3805  	// NullFields is a list of field names (e.g. "FlinkJob") to include in API
  3806  	// requests with the JSON null value. By default, fields with empty values are
  3807  	// omitted from API requests. See
  3808  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3809  	NullFields []string `json:"-"`
  3810  }
  3811  
  3812  func (s *OrderedJob) MarshalJSON() ([]byte, error) {
  3813  	type NoMethod OrderedJob
  3814  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3815  }
  3816  
  3817  // ParameterValidation: Configuration for parameter validation.
  3818  type ParameterValidation struct {
  3819  	// Regex: Validation based on regular expressions.
  3820  	Regex *RegexValidation `json:"regex,omitempty"`
  3821  	// Values: Validation based on a list of allowed values.
  3822  	Values *ValueValidation `json:"values,omitempty"`
  3823  	// ForceSendFields is a list of field names (e.g. "Regex") to unconditionally
  3824  	// include in API requests. By default, fields with empty or default values are
  3825  	// omitted from API requests. See
  3826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3827  	// details.
  3828  	ForceSendFields []string `json:"-"`
  3829  	// NullFields is a list of field names (e.g. "Regex") to include in API
  3830  	// requests with the JSON null value. By default, fields with empty values are
  3831  	// omitted from API requests. See
  3832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3833  	NullFields []string `json:"-"`
  3834  }
  3835  
  3836  func (s *ParameterValidation) MarshalJSON() ([]byte, error) {
  3837  	type NoMethod ParameterValidation
  3838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3839  }
  3840  
  3841  // PeripheralsConfig: Auxiliary services configuration for a workload.
  3842  type PeripheralsConfig struct {
  3843  	// MetastoreService: Optional. Resource name of an existing Dataproc Metastore
  3844  	// service.Example:
  3845  	// projects/[project_id]/locations/[region]/services/[service_id]
  3846  	MetastoreService string `json:"metastoreService,omitempty"`
  3847  	// SparkHistoryServerConfig: Optional. The Spark History Server configuration
  3848  	// for the workload.
  3849  	SparkHistoryServerConfig *SparkHistoryServerConfig `json:"sparkHistoryServerConfig,omitempty"`
  3850  	// ForceSendFields is a list of field names (e.g. "MetastoreService") to
  3851  	// unconditionally include in API requests. By default, fields with empty or
  3852  	// default values are omitted from API requests. See
  3853  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3854  	// details.
  3855  	ForceSendFields []string `json:"-"`
  3856  	// NullFields is a list of field names (e.g. "MetastoreService") to include in
  3857  	// API requests with the JSON null value. By default, fields with empty values
  3858  	// are omitted from API requests. See
  3859  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3860  	NullFields []string `json:"-"`
  3861  }
  3862  
  3863  func (s *PeripheralsConfig) MarshalJSON() ([]byte, error) {
  3864  	type NoMethod PeripheralsConfig
  3865  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3866  }
  3867  
  3868  // PigJob: A Dataproc job for running Apache Pig (https://pig.apache.org/)
  3869  // queries on YARN.
  3870  type PigJob struct {
  3871  	// ContinueOnFailure: Optional. Whether to continue executing queries if a
  3872  	// query fails. The default value is false. Setting to true can be useful when
  3873  	// executing independent parallel queries.
  3874  	ContinueOnFailure bool `json:"continueOnFailure,omitempty"`
  3875  	// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATH of the
  3876  	// Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
  3877  	JarFileUris []string `json:"jarFileUris,omitempty"`
  3878  	// LoggingConfig: Optional. The runtime log config for job execution.
  3879  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  3880  	// Properties: Optional. A mapping of property names to values, used to
  3881  	// configure Pig. Properties that conflict with values set by the Dataproc API
  3882  	// might be overwritten. Can include properties set in
  3883  	// /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in
  3884  	// user code.
  3885  	Properties map[string]string `json:"properties,omitempty"`
  3886  	// QueryFileUri: The HCFS URI of the script that contains the Pig queries.
  3887  	QueryFileUri string `json:"queryFileUri,omitempty"`
  3888  	// QueryList: A list of queries.
  3889  	QueryList *QueryList `json:"queryList,omitempty"`
  3890  	// ScriptVariables: Optional. Mapping of query variable names to values
  3891  	// (equivalent to the Pig command: name=[value]).
  3892  	ScriptVariables map[string]string `json:"scriptVariables,omitempty"`
  3893  	// ForceSendFields is a list of field names (e.g. "ContinueOnFailure") to
  3894  	// unconditionally include in API requests. By default, fields with empty or
  3895  	// default values are omitted from API requests. See
  3896  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3897  	// details.
  3898  	ForceSendFields []string `json:"-"`
  3899  	// NullFields is a list of field names (e.g. "ContinueOnFailure") to include in
  3900  	// API requests with the JSON null value. By default, fields with empty values
  3901  	// are omitted from API requests. See
  3902  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3903  	NullFields []string `json:"-"`
  3904  }
  3905  
  3906  func (s *PigJob) MarshalJSON() ([]byte, error) {
  3907  	type NoMethod PigJob
  3908  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3909  }
  3910  
  3911  // Policy: An Identity and Access Management (IAM) policy, which specifies
  3912  // access controls for Google Cloud resources.A Policy is a collection of
  3913  // bindings. A binding binds one or more members, or principals, to a single
  3914  // role. Principals can be user accounts, service accounts, Google groups, and
  3915  // domains (such as G Suite). A role is a named list of permissions; each role
  3916  // can be an IAM predefined role or a user-created custom role.For some types
  3917  // of Google Cloud resources, a binding can also specify a condition, which is
  3918  // a logical expression that allows access to a resource only if the expression
  3919  // evaluates to true. A condition can add constraints based on attributes of
  3920  // the request, the resource, or both. To learn which resources support
  3921  // conditions in their IAM policies, see the IAM documentation
  3922  // (https://cloud.google.com/iam/help/conditions/resource-policies).JSON
  3923  // example: { "bindings": [ { "role":
  3924  // "roles/resourcemanager.organizationAdmin", "members": [
  3925  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  3926  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  3927  // "roles/resourcemanager.organizationViewer", "members": [
  3928  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  3929  // "description": "Does not grant access after Sep 2020", "expression":
  3930  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  3931  // "BwWWja0YfJA=", "version": 3 } YAML example: bindings: - members: -
  3932  // user:mike@example.com - group:admins@example.com - domain:google.com -
  3933  // serviceAccount:my-project-id@appspot.gserviceaccount.com role:
  3934  // roles/resourcemanager.organizationAdmin - members: - user:eve@example.com
  3935  // role: roles/resourcemanager.organizationViewer condition: title: expirable
  3936  // access description: Does not grant access after Sep 2020 expression:
  3937  // request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA=
  3938  // version: 3 For a description of IAM and its features, see the IAM
  3939  // documentation (https://cloud.google.com/iam/docs/).
  3940  type Policy struct {
  3941  	// Bindings: Associates a list of members, or principals, with a role.
  3942  	// Optionally, may specify a condition that determines how and when the
  3943  	// bindings are applied. Each of the bindings must contain at least one
  3944  	// principal.The bindings in a Policy can refer to up to 1,500 principals; up
  3945  	// to 250 of these principals can be Google groups. Each occurrence of a
  3946  	// principal counts towards these limits. For example, if the bindings grant 50
  3947  	// different roles to user:alice@example.com, and not to any other principal,
  3948  	// then you can add another 1,450 principals to the bindings in the Policy.
  3949  	Bindings []*Binding `json:"bindings,omitempty"`
  3950  	// Etag: etag is used for optimistic concurrency control as a way to help
  3951  	// prevent simultaneous updates of a policy from overwriting each other. It is
  3952  	// strongly suggested that systems make use of the etag in the
  3953  	// read-modify-write cycle to perform policy updates in order to avoid race
  3954  	// conditions: An etag is returned in the response to getIamPolicy, and systems
  3955  	// are expected to put that etag in the request to setIamPolicy to ensure that
  3956  	// their change will be applied to the same version of the policy.Important: If
  3957  	// you use IAM Conditions, you must include the etag field whenever you call
  3958  	// setIamPolicy. If you omit this field, then IAM allows you to overwrite a
  3959  	// version 3 policy with a version 1 policy, and all of the conditions in the
  3960  	// version 3 policy are lost.
  3961  	Etag string `json:"etag,omitempty"`
  3962  	// Version: Specifies the format of the policy.Valid values are 0, 1, and 3.
  3963  	// Requests that specify an invalid value are rejected.Any operation that
  3964  	// affects conditional role bindings must specify version 3. This requirement
  3965  	// applies to the following operations: Getting a policy that includes a
  3966  	// conditional role binding Adding a conditional role binding to a policy
  3967  	// Changing a conditional role binding in a policy Removing any role binding,
  3968  	// with or without a condition, from a policy that includes
  3969  	// conditionsImportant: If you use IAM Conditions, you must include the etag
  3970  	// field whenever you call setIamPolicy. If you omit this field, then IAM
  3971  	// allows you to overwrite a version 3 policy with a version 1 policy, and all
  3972  	// of the conditions in the version 3 policy are lost.If a policy does not
  3973  	// include any conditions, operations on that policy may specify any valid
  3974  	// version or leave the field unset.To learn which resources support conditions
  3975  	// in their IAM policies, see the IAM documentation
  3976  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  3977  	Version int64 `json:"version,omitempty"`
  3978  
  3979  	// ServerResponse contains the HTTP response code and headers from the server.
  3980  	googleapi.ServerResponse `json:"-"`
  3981  	// ForceSendFields is a list of field names (e.g. "Bindings") to
  3982  	// unconditionally include in API requests. By default, fields with empty or
  3983  	// default values are omitted from API requests. See
  3984  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3985  	// details.
  3986  	ForceSendFields []string `json:"-"`
  3987  	// NullFields is a list of field names (e.g. "Bindings") to include in API
  3988  	// requests with the JSON null value. By default, fields with empty values are
  3989  	// omitted from API requests. See
  3990  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3991  	NullFields []string `json:"-"`
  3992  }
  3993  
  3994  func (s *Policy) MarshalJSON() ([]byte, error) {
  3995  	type NoMethod Policy
  3996  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3997  }
  3998  
  3999  // PrestoJob: A Dataproc job for running Presto (https://prestosql.io/)
  4000  // queries. IMPORTANT: The Dataproc Presto Optional Component
  4001  // (https://cloud.google.com/dataproc/docs/concepts/components/presto) must be
  4002  // enabled when the cluster is created to submit a Presto job to the cluster.
  4003  type PrestoJob struct {
  4004  	// ClientTags: Optional. Presto client tags to attach to this query
  4005  	ClientTags []string `json:"clientTags,omitempty"`
  4006  	// ContinueOnFailure: Optional. Whether to continue executing queries if a
  4007  	// query fails. The default value is false. Setting to true can be useful when
  4008  	// executing independent parallel queries.
  4009  	ContinueOnFailure bool `json:"continueOnFailure,omitempty"`
  4010  	// LoggingConfig: Optional. The runtime log config for job execution.
  4011  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  4012  	// OutputFormat: Optional. The format in which query output will be displayed.
  4013  	// See the Presto documentation for supported output formats
  4014  	OutputFormat string `json:"outputFormat,omitempty"`
  4015  	// Properties: Optional. A mapping of property names to values. Used to set
  4016  	// Presto session properties
  4017  	// (https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using
  4018  	// the --session flag in the Presto CLI
  4019  	Properties map[string]string `json:"properties,omitempty"`
  4020  	// QueryFileUri: The HCFS URI of the script that contains SQL queries.
  4021  	QueryFileUri string `json:"queryFileUri,omitempty"`
  4022  	// QueryList: A list of queries.
  4023  	QueryList *QueryList `json:"queryList,omitempty"`
  4024  	// ForceSendFields is a list of field names (e.g. "ClientTags") to
  4025  	// unconditionally include in API requests. By default, fields with empty or
  4026  	// default values are omitted from API requests. See
  4027  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4028  	// details.
  4029  	ForceSendFields []string `json:"-"`
  4030  	// NullFields is a list of field names (e.g. "ClientTags") to include in API
  4031  	// requests with the JSON null value. By default, fields with empty values are
  4032  	// omitted from API requests. See
  4033  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4034  	NullFields []string `json:"-"`
  4035  }
  4036  
  4037  func (s *PrestoJob) MarshalJSON() ([]byte, error) {
  4038  	type NoMethod PrestoJob
  4039  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4040  }
  4041  
  4042  // PyPiRepositoryConfig: Configuration for PyPi repository
  4043  type PyPiRepositoryConfig struct {
  4044  	// PypiRepository: Optional. PyPi repository address
  4045  	PypiRepository string `json:"pypiRepository,omitempty"`
  4046  	// ForceSendFields is a list of field names (e.g. "PypiRepository") to
  4047  	// unconditionally include in API requests. By default, fields with empty or
  4048  	// default values are omitted from API requests. See
  4049  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4050  	// details.
  4051  	ForceSendFields []string `json:"-"`
  4052  	// NullFields is a list of field names (e.g. "PypiRepository") to include in
  4053  	// API requests with the JSON null value. By default, fields with empty values
  4054  	// are omitted from API requests. See
  4055  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4056  	NullFields []string `json:"-"`
  4057  }
  4058  
  4059  func (s *PyPiRepositoryConfig) MarshalJSON() ([]byte, error) {
  4060  	type NoMethod PyPiRepositoryConfig
  4061  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4062  }
  4063  
  4064  // PySparkBatch: A configuration for running an Apache PySpark
  4065  // (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html)
  4066  // batch workload.
  4067  type PySparkBatch struct {
  4068  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted into the
  4069  	// working directory of each executor. Supported file types: .jar, .tar,
  4070  	// .tar.gz, .tgz, and .zip.
  4071  	ArchiveUris []string `json:"archiveUris,omitempty"`
  4072  	// Args: Optional. The arguments to pass to the driver. Do not include
  4073  	// arguments that can be set as batch properties, such as --conf, since a
  4074  	// collision can occur that causes an incorrect batch submission.
  4075  	Args []string `json:"args,omitempty"`
  4076  	// FileUris: Optional. HCFS URIs of files to be placed in the working directory
  4077  	// of each executor.
  4078  	FileUris []string `json:"fileUris,omitempty"`
  4079  	// JarFileUris: Optional. HCFS URIs of jar files to add to the classpath of the
  4080  	// Spark driver and tasks.
  4081  	JarFileUris []string `json:"jarFileUris,omitempty"`
  4082  	// MainPythonFileUri: Required. The HCFS URI of the main Python file to use as
  4083  	// the Spark driver. Must be a .py file.
  4084  	MainPythonFileUri string `json:"mainPythonFileUri,omitempty"`
  4085  	// PythonFileUris: Optional. HCFS file URIs of Python files to pass to the
  4086  	// PySpark framework. Supported file types: .py, .egg, and .zip.
  4087  	PythonFileUris []string `json:"pythonFileUris,omitempty"`
  4088  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  4089  	// unconditionally include in API requests. By default, fields with empty or
  4090  	// default values are omitted from API requests. See
  4091  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4092  	// details.
  4093  	ForceSendFields []string `json:"-"`
  4094  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  4095  	// requests with the JSON null value. By default, fields with empty values are
  4096  	// omitted from API requests. See
  4097  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4098  	NullFields []string `json:"-"`
  4099  }
  4100  
  4101  func (s *PySparkBatch) MarshalJSON() ([]byte, error) {
  4102  	type NoMethod PySparkBatch
  4103  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4104  }
  4105  
  4106  // PySparkJob: A Dataproc job for running Apache PySpark
  4107  // (https://spark.apache.org/docs/0.9.0/python-programming-guide.html)
  4108  // applications on YARN.
  4109  type PySparkJob struct {
  4110  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted into the
  4111  	// working directory of each executor. Supported file types: .jar, .tar,
  4112  	// .tar.gz, .tgz, and .zip.
  4113  	ArchiveUris []string `json:"archiveUris,omitempty"`
  4114  	// Args: Optional. The arguments to pass to the driver. Do not include
  4115  	// arguments, such as --conf, that can be set as job properties, since a
  4116  	// collision may occur that causes an incorrect job submission.
  4117  	Args []string `json:"args,omitempty"`
  4118  	// FileUris: Optional. HCFS URIs of files to be placed in the working directory
  4119  	// of each executor. Useful for naively parallel tasks.
  4120  	FileUris []string `json:"fileUris,omitempty"`
  4121  	// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATHs of
  4122  	// the Python driver and tasks.
  4123  	JarFileUris []string `json:"jarFileUris,omitempty"`
  4124  	// LoggingConfig: Optional. The runtime log config for job execution.
  4125  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  4126  	// MainPythonFileUri: Required. The HCFS URI of the main Python file to use as
  4127  	// the driver. Must be a .py file.
  4128  	MainPythonFileUri string `json:"mainPythonFileUri,omitempty"`
  4129  	// Properties: Optional. A mapping of property names to values, used to
  4130  	// configure PySpark. Properties that conflict with values set by the Dataproc
  4131  	// API might be overwritten. Can include properties set in
  4132  	// /etc/spark/conf/spark-defaults.conf and classes in user code.
  4133  	Properties map[string]string `json:"properties,omitempty"`
  4134  	// PythonFileUris: Optional. HCFS file URIs of Python files to pass to the
  4135  	// PySpark framework. Supported file types: .py, .egg, and .zip.
  4136  	PythonFileUris []string `json:"pythonFileUris,omitempty"`
  4137  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  4138  	// unconditionally include in API requests. By default, fields with empty or
  4139  	// default values are omitted from API requests. See
  4140  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4141  	// details.
  4142  	ForceSendFields []string `json:"-"`
  4143  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  4144  	// requests with the JSON null value. By default, fields with empty values are
  4145  	// omitted from API requests. See
  4146  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4147  	NullFields []string `json:"-"`
  4148  }
  4149  
  4150  func (s *PySparkJob) MarshalJSON() ([]byte, error) {
  4151  	type NoMethod PySparkJob
  4152  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4153  }
  4154  
  4155  // QueryList: A list of queries to run on a cluster.
  4156  type QueryList struct {
  4157  	// Queries: Required. The queries to execute. You do not need to end a query
  4158  	// expression with a semicolon. Multiple queries can be specified in one string
  4159  	// by separating each with a semicolon. Here is an example of a Dataproc API
  4160  	// snippet that uses a QueryList to specify a HiveJob: "hiveJob": {
  4161  	// "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } }
  4162  	Queries []string `json:"queries,omitempty"`
  4163  	// ForceSendFields is a list of field names (e.g. "Queries") to unconditionally
  4164  	// include in API requests. By default, fields with empty or default values are
  4165  	// omitted from API requests. See
  4166  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4167  	// details.
  4168  	ForceSendFields []string `json:"-"`
  4169  	// NullFields is a list of field names (e.g. "Queries") to include in API
  4170  	// requests with the JSON null value. By default, fields with empty values are
  4171  	// omitted from API requests. See
  4172  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4173  	NullFields []string `json:"-"`
  4174  }
  4175  
  4176  func (s *QueryList) MarshalJSON() ([]byte, error) {
  4177  	type NoMethod QueryList
  4178  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4179  }
  4180  
  4181  // RegexValidation: Validation based on regular expressions.
  4182  type RegexValidation struct {
  4183  	// Regexes: Required. RE2 regular expressions used to validate the parameter's
  4184  	// value. The value must match the regex in its entirety (substring matches are
  4185  	// not sufficient).
  4186  	Regexes []string `json:"regexes,omitempty"`
  4187  	// ForceSendFields is a list of field names (e.g. "Regexes") to unconditionally
  4188  	// include in API requests. By default, fields with empty or default values are
  4189  	// omitted from API requests. See
  4190  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4191  	// details.
  4192  	ForceSendFields []string `json:"-"`
  4193  	// NullFields is a list of field names (e.g. "Regexes") to include in API
  4194  	// requests with the JSON null value. By default, fields with empty values are
  4195  	// omitted from API requests. See
  4196  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4197  	NullFields []string `json:"-"`
  4198  }
  4199  
  4200  func (s *RegexValidation) MarshalJSON() ([]byte, error) {
  4201  	type NoMethod RegexValidation
  4202  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4203  }
  4204  
  4205  // RepairClusterRequest: A request to repair a cluster.
  4206  type RepairClusterRequest struct {
  4207  	// ClusterUuid: Optional. Specifying the cluster_uuid means the RPC will fail
  4208  	// (with error NOT_FOUND) if a cluster with the specified UUID does not exist.
  4209  	ClusterUuid string `json:"clusterUuid,omitempty"`
  4210  	// GracefulDecommissionTimeout: Optional. Timeout for graceful YARN
  4211  	// decommissioning. Graceful decommissioning facilitates the removal of cluster
  4212  	// nodes without interrupting jobs in progress. The timeout specifies the
  4213  	// amount of time to wait for jobs finish before forcefully removing nodes. The
  4214  	// default timeout is 0 for forceful decommissioning, and the maximum timeout
  4215  	// period is 1 day. (see JSON Mapping—Duration
  4216  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout
  4217  	// is supported in Dataproc image versions 1.2+.
  4218  	GracefulDecommissionTimeout string `json:"gracefulDecommissionTimeout,omitempty"`
  4219  	// NodePools: Optional. Node pools and corresponding repair action to be taken.
  4220  	// All node pools should be unique in this request. i.e. Multiple entries for
  4221  	// the same node pool id are not allowed.
  4222  	NodePools []*NodePool `json:"nodePools,omitempty"`
  4223  	// ParentOperationId: Optional. operation id of the parent operation sending
  4224  	// the repair request
  4225  	ParentOperationId string `json:"parentOperationId,omitempty"`
  4226  	// RequestId: Optional. A unique ID used to identify the request. If the server
  4227  	// receives two RepairClusterRequests with the same ID, the second request is
  4228  	// ignored, and the first google.longrunning.Operation created and stored in
  4229  	// the backend is returned.Recommendation: Set this value to a UUID
  4230  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
  4231  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  4232  	// (-). The maximum length is 40 characters.
  4233  	RequestId string `json:"requestId,omitempty"`
  4234  	// ForceSendFields is a list of field names (e.g. "ClusterUuid") to
  4235  	// unconditionally include in API requests. By default, fields with empty or
  4236  	// default values are omitted from API requests. See
  4237  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4238  	// details.
  4239  	ForceSendFields []string `json:"-"`
  4240  	// NullFields is a list of field names (e.g. "ClusterUuid") to include in API
  4241  	// requests with the JSON null value. By default, fields with empty values are
  4242  	// omitted from API requests. See
  4243  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4244  	NullFields []string `json:"-"`
  4245  }
  4246  
  4247  func (s *RepairClusterRequest) MarshalJSON() ([]byte, error) {
  4248  	type NoMethod RepairClusterRequest
  4249  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4250  }
  4251  
  4252  type RepairNodeGroupRequest struct {
  4253  	// InstanceNames: Required. Name of instances to be repaired. These instances
  4254  	// must belong to specified node pool.
  4255  	InstanceNames []string `json:"instanceNames,omitempty"`
  4256  	// RepairAction: Required. Repair action to take on specified resources of the
  4257  	// node pool.
  4258  	//
  4259  	// Possible values:
  4260  	//   "REPAIR_ACTION_UNSPECIFIED" - No action will be taken by default.
  4261  	//   "REPLACE" - replace the specified list of nodes.
  4262  	RepairAction string `json:"repairAction,omitempty"`
  4263  	// RequestId: Optional. A unique ID used to identify the request. If the server
  4264  	// receives two RepairNodeGroupRequest with the same ID, the second request is
  4265  	// ignored and the first google.longrunning.Operation created and stored in the
  4266  	// backend is returned.Recommendation: Set this value to a UUID
  4267  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
  4268  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  4269  	// (-). The maximum length is 40 characters.
  4270  	RequestId string `json:"requestId,omitempty"`
  4271  	// ForceSendFields is a list of field names (e.g. "InstanceNames") to
  4272  	// unconditionally include in API requests. By default, fields with empty or
  4273  	// default values are omitted from API requests. See
  4274  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4275  	// details.
  4276  	ForceSendFields []string `json:"-"`
  4277  	// NullFields is a list of field names (e.g. "InstanceNames") to include in API
  4278  	// requests with the JSON null value. By default, fields with empty values are
  4279  	// omitted from API requests. See
  4280  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4281  	NullFields []string `json:"-"`
  4282  }
  4283  
  4284  func (s *RepairNodeGroupRequest) MarshalJSON() ([]byte, error) {
  4285  	type NoMethod RepairNodeGroupRequest
  4286  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4287  }
  4288  
  4289  // RepositoryConfig: Configuration for dependency repositories
  4290  type RepositoryConfig struct {
  4291  	// PypiRepositoryConfig: Optional. Configuration for PyPi repository.
  4292  	PypiRepositoryConfig *PyPiRepositoryConfig `json:"pypiRepositoryConfig,omitempty"`
  4293  	// ForceSendFields is a list of field names (e.g. "PypiRepositoryConfig") to
  4294  	// unconditionally include in API requests. By default, fields with empty or
  4295  	// default values are omitted from API requests. See
  4296  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4297  	// details.
  4298  	ForceSendFields []string `json:"-"`
  4299  	// NullFields is a list of field names (e.g. "PypiRepositoryConfig") to include
  4300  	// in API requests with the JSON null value. By default, fields with empty
  4301  	// values are omitted from API requests. See
  4302  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4303  	NullFields []string `json:"-"`
  4304  }
  4305  
  4306  func (s *RepositoryConfig) MarshalJSON() ([]byte, error) {
  4307  	type NoMethod RepositoryConfig
  4308  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4309  }
  4310  
  4311  // ReservationAffinity: Reservation Affinity for consuming Zonal reservation.
  4312  type ReservationAffinity struct {
  4313  	// ConsumeReservationType: Optional. Type of reservation to consume
  4314  	//
  4315  	// Possible values:
  4316  	//   "TYPE_UNSPECIFIED"
  4317  	//   "NO_RESERVATION" - Do not consume from any allocated capacity.
  4318  	//   "ANY_RESERVATION" - Consume any reservation available.
  4319  	//   "SPECIFIC_RESERVATION" - Must consume from a specific reservation. Must
  4320  	// specify key value fields for specifying the reservations.
  4321  	ConsumeReservationType string `json:"consumeReservationType,omitempty"`
  4322  	// Key: Optional. Corresponds to the label key of reservation resource.
  4323  	Key string `json:"key,omitempty"`
  4324  	// Values: Optional. Corresponds to the label values of reservation resource.
  4325  	Values []string `json:"values,omitempty"`
  4326  	// ForceSendFields is a list of field names (e.g. "ConsumeReservationType") to
  4327  	// unconditionally include in API requests. By default, fields with empty or
  4328  	// default values are omitted from API requests. See
  4329  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4330  	// details.
  4331  	ForceSendFields []string `json:"-"`
  4332  	// NullFields is a list of field names (e.g. "ConsumeReservationType") to
  4333  	// include in API requests with the JSON null value. By default, fields with
  4334  	// empty values are omitted from API requests. See
  4335  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4336  	NullFields []string `json:"-"`
  4337  }
  4338  
  4339  func (s *ReservationAffinity) MarshalJSON() ([]byte, error) {
  4340  	type NoMethod ReservationAffinity
  4341  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4342  }
  4343  
  4344  // ResizeNodeGroupRequest: A request to resize a node group.
  4345  type ResizeNodeGroupRequest struct {
  4346  	// GracefulDecommissionTimeout: Optional. Timeout for graceful YARN
  4347  	// decommissioning. Graceful decommissioning
  4348  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scaling-clusters#graceful_decommissioning)
  4349  	// allows the removal of nodes from the Compute Engine node group without
  4350  	// interrupting jobs in progress. This timeout specifies how long to wait for
  4351  	// jobs in progress to finish before forcefully removing nodes (and potentially
  4352  	// interrupting jobs). Default timeout is 0 (for forceful decommission), and
  4353  	// the maximum allowed timeout is 1 day. (see JSON representation of Duration
  4354  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only
  4355  	// supported on Dataproc image versions 1.2 and higher.
  4356  	GracefulDecommissionTimeout string `json:"gracefulDecommissionTimeout,omitempty"`
  4357  	// ParentOperationId: Optional. operation id of the parent operation sending
  4358  	// the resize request
  4359  	ParentOperationId string `json:"parentOperationId,omitempty"`
  4360  	// RequestId: Optional. A unique ID used to identify the request. If the server
  4361  	// receives two ResizeNodeGroupRequest
  4362  	// (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.ResizeNodeGroupRequests)
  4363  	// with the same ID, the second request is ignored and the first
  4364  	// google.longrunning.Operation created and stored in the backend is
  4365  	// returned.Recommendation: Set this value to a UUID
  4366  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
  4367  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  4368  	// (-). The maximum length is 40 characters.
  4369  	RequestId string `json:"requestId,omitempty"`
  4370  	// Size: Required. The number of running instances for the node group to
  4371  	// maintain. The group adds or removes instances to maintain the number of
  4372  	// instances specified by this parameter.
  4373  	Size int64 `json:"size,omitempty"`
  4374  	// ForceSendFields is a list of field names (e.g.
  4375  	// "GracefulDecommissionTimeout") to unconditionally include in API requests.
  4376  	// By default, fields with empty or default values are omitted from API
  4377  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  4378  	// for more details.
  4379  	ForceSendFields []string `json:"-"`
  4380  	// NullFields is a list of field names (e.g. "GracefulDecommissionTimeout") to
  4381  	// include in API requests with the JSON null value. By default, fields with
  4382  	// empty values are omitted from API requests. See
  4383  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4384  	NullFields []string `json:"-"`
  4385  }
  4386  
  4387  func (s *ResizeNodeGroupRequest) MarshalJSON() ([]byte, error) {
  4388  	type NoMethod ResizeNodeGroupRequest
  4389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4390  }
  4391  
  4392  // RuntimeConfig: Runtime configuration for a workload.
  4393  type RuntimeConfig struct {
  4394  	// ContainerImage: Optional. Optional custom container image for the job
  4395  	// runtime environment. If not specified, a default container image will be
  4396  	// used.
  4397  	ContainerImage string `json:"containerImage,omitempty"`
  4398  	// Properties: Optional. A mapping of property names to values, which are used
  4399  	// to configure workload execution.
  4400  	Properties map[string]string `json:"properties,omitempty"`
  4401  	// RepositoryConfig: Optional. Dependency repository configuration.
  4402  	RepositoryConfig *RepositoryConfig `json:"repositoryConfig,omitempty"`
  4403  	// Version: Optional. Version of the batch runtime.
  4404  	Version string `json:"version,omitempty"`
  4405  	// ForceSendFields is a list of field names (e.g. "ContainerImage") to
  4406  	// unconditionally include in API requests. By default, fields with empty or
  4407  	// default values are omitted from API requests. See
  4408  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4409  	// details.
  4410  	ForceSendFields []string `json:"-"`
  4411  	// NullFields is a list of field names (e.g. "ContainerImage") to include in
  4412  	// API requests with the JSON null value. By default, fields with empty values
  4413  	// are omitted from API requests. See
  4414  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4415  	NullFields []string `json:"-"`
  4416  }
  4417  
  4418  func (s *RuntimeConfig) MarshalJSON() ([]byte, error) {
  4419  	type NoMethod RuntimeConfig
  4420  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4421  }
  4422  
  4423  // RuntimeInfo: Runtime information about workload execution.
  4424  type RuntimeInfo struct {
  4425  	// ApproximateUsage: Output only. Approximate workload resource usage,
  4426  	// calculated when the workload completes (see Dataproc Serverless pricing
  4427  	// (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric
  4428  	// calculation may change in the future, for example, to capture cumulative
  4429  	// workload resource consumption during workload execution (see the Dataproc
  4430  	// Serverless release notes
  4431  	// (https://cloud.google.com/dataproc-serverless/docs/release-notes) for
  4432  	// announcements, changes, fixes and other Dataproc developments).
  4433  	ApproximateUsage *UsageMetrics `json:"approximateUsage,omitempty"`
  4434  	// CurrentUsage: Output only. Snapshot of current workload resource usage.
  4435  	CurrentUsage *UsageSnapshot `json:"currentUsage,omitempty"`
  4436  	// DiagnosticOutputUri: Output only. A URI pointing to the location of the
  4437  	// diagnostics tarball.
  4438  	DiagnosticOutputUri string `json:"diagnosticOutputUri,omitempty"`
  4439  	// Endpoints: Output only. Map of remote access endpoints (such as web
  4440  	// interfaces and APIs) to their URIs.
  4441  	Endpoints map[string]string `json:"endpoints,omitempty"`
  4442  	// OutputUri: Output only. A URI pointing to the location of the stdout and
  4443  	// stderr of the workload.
  4444  	OutputUri string `json:"outputUri,omitempty"`
  4445  	// ForceSendFields is a list of field names (e.g. "ApproximateUsage") to
  4446  	// unconditionally include in API requests. By default, fields with empty or
  4447  	// default values are omitted from API requests. See
  4448  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4449  	// details.
  4450  	ForceSendFields []string `json:"-"`
  4451  	// NullFields is a list of field names (e.g. "ApproximateUsage") to include in
  4452  	// API requests with the JSON null value. By default, fields with empty values
  4453  	// are omitted from API requests. See
  4454  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4455  	NullFields []string `json:"-"`
  4456  }
  4457  
  4458  func (s *RuntimeInfo) MarshalJSON() ([]byte, error) {
  4459  	type NoMethod RuntimeInfo
  4460  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4461  }
  4462  
  4463  // SecurityConfig: Security related configuration, including encryption,
  4464  // Kerberos, etc.
  4465  type SecurityConfig struct {
  4466  	// IdentityConfig: Optional. Identity related configuration, including service
  4467  	// account based secure multi-tenancy user mappings.
  4468  	IdentityConfig *IdentityConfig `json:"identityConfig,omitempty"`
  4469  	// KerberosConfig: Optional. Kerberos related configuration.
  4470  	KerberosConfig *KerberosConfig `json:"kerberosConfig,omitempty"`
  4471  	// ForceSendFields is a list of field names (e.g. "IdentityConfig") to
  4472  	// unconditionally include in API requests. By default, fields with empty or
  4473  	// default values are omitted from API requests. See
  4474  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4475  	// details.
  4476  	ForceSendFields []string `json:"-"`
  4477  	// NullFields is a list of field names (e.g. "IdentityConfig") to include in
  4478  	// API requests with the JSON null value. By default, fields with empty values
  4479  	// are omitted from API requests. See
  4480  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4481  	NullFields []string `json:"-"`
  4482  }
  4483  
  4484  func (s *SecurityConfig) MarshalJSON() ([]byte, error) {
  4485  	type NoMethod SecurityConfig
  4486  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4487  }
  4488  
  4489  // Session: A representation of a session.
  4490  type Session struct {
  4491  	// CreateTime: Output only. The time when the session was created.
  4492  	CreateTime string `json:"createTime,omitempty"`
  4493  	// Creator: Output only. The email address of the user who created the session.
  4494  	Creator string `json:"creator,omitempty"`
  4495  	// EnvironmentConfig: Optional. Environment configuration for the session
  4496  	// execution.
  4497  	EnvironmentConfig *EnvironmentConfig `json:"environmentConfig,omitempty"`
  4498  	// JupyterSession: Optional. Jupyter session config.
  4499  	JupyterSession *JupyterConfig `json:"jupyterSession,omitempty"`
  4500  	// Labels: Optional. The labels to associate with the session. Label keys must
  4501  	// contain 1 to 63 characters, and must conform to RFC 1035
  4502  	// (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if
  4503  	// present, must contain 1 to 63 characters, and must conform to RFC 1035
  4504  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
  4505  	// associated with a session.
  4506  	Labels map[string]string `json:"labels,omitempty"`
  4507  	// Name: Required. The resource name of the session.
  4508  	Name string `json:"name,omitempty"`
  4509  	// RuntimeConfig: Optional. Runtime configuration for the session execution.
  4510  	RuntimeConfig *RuntimeConfig `json:"runtimeConfig,omitempty"`
  4511  	// RuntimeInfo: Output only. Runtime information about session execution.
  4512  	RuntimeInfo *RuntimeInfo `json:"runtimeInfo,omitempty"`
  4513  	// SessionTemplate: Optional. The session template used by the session.Only
  4514  	// resource names, including project ID and location, are valid.Example: *
  4515  	// https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]
  4516  	// *
  4517  	// projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_
  4518  	// id]The template must be in the same project and Dataproc region as the
  4519  	// session.
  4520  	SessionTemplate string `json:"sessionTemplate,omitempty"`
  4521  	// State: Output only. A state of the session.
  4522  	//
  4523  	// Possible values:
  4524  	//   "STATE_UNSPECIFIED" - The session state is unknown.
  4525  	//   "CREATING" - The session is created prior to running.
  4526  	//   "ACTIVE" - The session is running.
  4527  	//   "TERMINATING" - The session is terminating.
  4528  	//   "TERMINATED" - The session is terminated successfully.
  4529  	//   "FAILED" - The session is no longer running due to an error.
  4530  	State string `json:"state,omitempty"`
  4531  	// StateHistory: Output only. Historical state information for the session.
  4532  	StateHistory []*SessionStateHistory `json:"stateHistory,omitempty"`
  4533  	// StateMessage: Output only. Session state details, such as the failure
  4534  	// description if the state is FAILED.
  4535  	StateMessage string `json:"stateMessage,omitempty"`
  4536  	// StateTime: Output only. The time when the session entered the current state.
  4537  	StateTime string `json:"stateTime,omitempty"`
  4538  	// User: Optional. The email address of the user who owns the session.
  4539  	User string `json:"user,omitempty"`
  4540  	// Uuid: Output only. A session UUID (Unique Universal Identifier). The service
  4541  	// generates this value when it creates the session.
  4542  	Uuid string `json:"uuid,omitempty"`
  4543  
  4544  	// ServerResponse contains the HTTP response code and headers from the server.
  4545  	googleapi.ServerResponse `json:"-"`
  4546  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4547  	// unconditionally include in API requests. By default, fields with empty or
  4548  	// default values are omitted from API requests. See
  4549  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4550  	// details.
  4551  	ForceSendFields []string `json:"-"`
  4552  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4553  	// requests with the JSON null value. By default, fields with empty values are
  4554  	// omitted from API requests. See
  4555  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4556  	NullFields []string `json:"-"`
  4557  }
  4558  
  4559  func (s *Session) MarshalJSON() ([]byte, error) {
  4560  	type NoMethod Session
  4561  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4562  }
  4563  
  4564  // SessionOperationMetadata: Metadata describing the Session operation.
  4565  type SessionOperationMetadata struct {
  4566  	// CreateTime: The time when the operation was created.
  4567  	CreateTime string `json:"createTime,omitempty"`
  4568  	// Description: Short description of the operation.
  4569  	Description string `json:"description,omitempty"`
  4570  	// DoneTime: The time when the operation was finished.
  4571  	DoneTime string `json:"doneTime,omitempty"`
  4572  	// Labels: Labels associated with the operation.
  4573  	Labels map[string]string `json:"labels,omitempty"`
  4574  	// OperationType: The operation type.
  4575  	//
  4576  	// Possible values:
  4577  	//   "SESSION_OPERATION_TYPE_UNSPECIFIED" - Session operation type is unknown.
  4578  	//   "CREATE" - Create Session operation type.
  4579  	//   "TERMINATE" - Terminate Session operation type.
  4580  	//   "DELETE" - Delete Session operation type.
  4581  	OperationType string `json:"operationType,omitempty"`
  4582  	// Session: Name of the session for the operation.
  4583  	Session string `json:"session,omitempty"`
  4584  	// SessionUuid: Session UUID for the operation.
  4585  	SessionUuid string `json:"sessionUuid,omitempty"`
  4586  	// Warnings: Warnings encountered during operation execution.
  4587  	Warnings []string `json:"warnings,omitempty"`
  4588  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4589  	// unconditionally include in API requests. By default, fields with empty or
  4590  	// default values are omitted from API requests. See
  4591  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4592  	// details.
  4593  	ForceSendFields []string `json:"-"`
  4594  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4595  	// requests with the JSON null value. By default, fields with empty values are
  4596  	// omitted from API requests. See
  4597  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4598  	NullFields []string `json:"-"`
  4599  }
  4600  
  4601  func (s *SessionOperationMetadata) MarshalJSON() ([]byte, error) {
  4602  	type NoMethod SessionOperationMetadata
  4603  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4604  }
  4605  
  4606  // SessionStateHistory: Historical state information.
  4607  type SessionStateHistory struct {
  4608  	// State: Output only. The state of the session at this point in the session
  4609  	// history.
  4610  	//
  4611  	// Possible values:
  4612  	//   "STATE_UNSPECIFIED" - The session state is unknown.
  4613  	//   "CREATING" - The session is created prior to running.
  4614  	//   "ACTIVE" - The session is running.
  4615  	//   "TERMINATING" - The session is terminating.
  4616  	//   "TERMINATED" - The session is terminated successfully.
  4617  	//   "FAILED" - The session is no longer running due to an error.
  4618  	State string `json:"state,omitempty"`
  4619  	// StateMessage: Output only. Details about the state at this point in the
  4620  	// session history.
  4621  	StateMessage string `json:"stateMessage,omitempty"`
  4622  	// StateStartTime: Output only. The time when the session entered the
  4623  	// historical state.
  4624  	StateStartTime string `json:"stateStartTime,omitempty"`
  4625  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  4626  	// include in API requests. By default, fields with empty or default values are
  4627  	// omitted from API requests. See
  4628  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4629  	// details.
  4630  	ForceSendFields []string `json:"-"`
  4631  	// NullFields is a list of field names (e.g. "State") to include in API
  4632  	// requests with the JSON null value. By default, fields with empty values are
  4633  	// omitted from API requests. See
  4634  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4635  	NullFields []string `json:"-"`
  4636  }
  4637  
  4638  func (s *SessionStateHistory) MarshalJSON() ([]byte, error) {
  4639  	type NoMethod SessionStateHistory
  4640  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4641  }
  4642  
  4643  // SessionTemplate: A representation of a session template.
  4644  type SessionTemplate struct {
  4645  	// CreateTime: Output only. The time when the template was created.
  4646  	CreateTime string `json:"createTime,omitempty"`
  4647  	// Creator: Output only. The email address of the user who created the
  4648  	// template.
  4649  	Creator string `json:"creator,omitempty"`
  4650  	// Description: Optional. Brief description of the template.
  4651  	Description string `json:"description,omitempty"`
  4652  	// EnvironmentConfig: Optional. Environment configuration for session
  4653  	// execution.
  4654  	EnvironmentConfig *EnvironmentConfig `json:"environmentConfig,omitempty"`
  4655  	// JupyterSession: Optional. Jupyter session config.
  4656  	JupyterSession *JupyterConfig `json:"jupyterSession,omitempty"`
  4657  	// Labels: Optional. Labels to associate with sessions created using this
  4658  	// template. Label keys must contain 1 to 63 characters, and must conform to
  4659  	// RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty,
  4660  	// but, if present, must contain 1 to 63 characters and conform to RFC 1035
  4661  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
  4662  	// associated with a session.
  4663  	Labels map[string]string `json:"labels,omitempty"`
  4664  	// Name: Required. The resource name of the session template.
  4665  	Name string `json:"name,omitempty"`
  4666  	// RuntimeConfig: Optional. Runtime configuration for session execution.
  4667  	RuntimeConfig *RuntimeConfig `json:"runtimeConfig,omitempty"`
  4668  	// UpdateTime: Output only. The time the template was last updated.
  4669  	UpdateTime string `json:"updateTime,omitempty"`
  4670  	// Uuid: Output only. A session template UUID (Unique Universal Identifier).
  4671  	// The service generates this value when it creates the session template.
  4672  	Uuid string `json:"uuid,omitempty"`
  4673  
  4674  	// ServerResponse contains the HTTP response code and headers from the server.
  4675  	googleapi.ServerResponse `json:"-"`
  4676  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4677  	// unconditionally include in API requests. By default, fields with empty or
  4678  	// default values are omitted from API requests. See
  4679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4680  	// details.
  4681  	ForceSendFields []string `json:"-"`
  4682  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4683  	// requests with the JSON null value. By default, fields with empty values are
  4684  	// omitted from API requests. See
  4685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4686  	NullFields []string `json:"-"`
  4687  }
  4688  
  4689  func (s *SessionTemplate) MarshalJSON() ([]byte, error) {
  4690  	type NoMethod SessionTemplate
  4691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4692  }
  4693  
  4694  // SetIamPolicyRequest: Request message for SetIamPolicy method.
  4695  type SetIamPolicyRequest struct {
  4696  	// Policy: REQUIRED: The complete policy to be applied to the resource. The
  4697  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  4698  	// policy but certain Google Cloud services (such as Projects) might reject
  4699  	// them.
  4700  	Policy *Policy `json:"policy,omitempty"`
  4701  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  4702  	// include in API requests. By default, fields with empty or default values are
  4703  	// omitted from API requests. See
  4704  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4705  	// details.
  4706  	ForceSendFields []string `json:"-"`
  4707  	// NullFields is a list of field names (e.g. "Policy") to include in API
  4708  	// requests with the JSON null value. By default, fields with empty values are
  4709  	// omitted from API requests. See
  4710  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4711  	NullFields []string `json:"-"`
  4712  }
  4713  
  4714  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  4715  	type NoMethod SetIamPolicyRequest
  4716  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4717  }
  4718  
  4719  // ShieldedInstanceConfig: Shielded Instance Config for clusters using Compute
  4720  // Engine Shielded VMs
  4721  // (https://cloud.google.com/security/shielded-cloud/shielded-vm).
  4722  type ShieldedInstanceConfig struct {
  4723  	// EnableIntegrityMonitoring: Optional. Defines whether instances have
  4724  	// integrity monitoring enabled.
  4725  	EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"`
  4726  	// EnableSecureBoot: Optional. Defines whether instances have Secure Boot
  4727  	// enabled.
  4728  	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
  4729  	// EnableVtpm: Optional. Defines whether instances have the vTPM enabled.
  4730  	EnableVtpm bool `json:"enableVtpm,omitempty"`
  4731  	// ForceSendFields is a list of field names (e.g. "EnableIntegrityMonitoring")
  4732  	// to unconditionally include in API requests. By default, fields with empty or
  4733  	// default values are omitted from API requests. See
  4734  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4735  	// details.
  4736  	ForceSendFields []string `json:"-"`
  4737  	// NullFields is a list of field names (e.g. "EnableIntegrityMonitoring") to
  4738  	// include in API requests with the JSON null value. By default, fields with
  4739  	// empty values are omitted from API requests. See
  4740  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4741  	NullFields []string `json:"-"`
  4742  }
  4743  
  4744  func (s *ShieldedInstanceConfig) MarshalJSON() ([]byte, error) {
  4745  	type NoMethod ShieldedInstanceConfig
  4746  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4747  }
  4748  
  4749  // SoftwareConfig: Specifies the selection and config of software inside the
  4750  // cluster.
  4751  type SoftwareConfig struct {
  4752  	// ImageVersion: Optional. The version of software inside the cluster. It must
  4753  	// be one of the supported Dataproc Versions
  4754  	// (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),
  4755  	// such as "1.2" (including a subminor version, such as "1.2.29"), or the
  4756  	// "preview" version
  4757  	// (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).
  4758  	// If unspecified, it defaults to the latest Debian version.
  4759  	ImageVersion string `json:"imageVersion,omitempty"`
  4760  	// OptionalComponents: Optional. The set of components to activate on the
  4761  	// cluster.
  4762  	//
  4763  	// Possible values:
  4764  	//   "COMPONENT_UNSPECIFIED" - Unspecified component. Specifying this will
  4765  	// cause Cluster creation to fail.
  4766  	//   "ANACONDA" - The Anaconda python distribution. The Anaconda component is
  4767  	// not supported in the Dataproc 2.0 image. The 2.0 image is pre-installed with
  4768  	// Miniconda.
  4769  	//   "DOCKER" - Docker
  4770  	//   "DRUID" - The Druid query engine. (alpha)
  4771  	//   "FLINK" - Flink
  4772  	//   "HBASE" - HBase. (beta)
  4773  	//   "HIVE_WEBHCAT" - The Hive Web HCatalog (the REST service for accessing
  4774  	// HCatalog).
  4775  	//   "HUDI" - Hudi.
  4776  	//   "JUPYTER" - The Jupyter Notebook.
  4777  	//   "PRESTO" - The Presto query engine.
  4778  	//   "TRINO" - The Trino query engine.
  4779  	//   "RANGER" - The Ranger service.
  4780  	//   "SOLR" - The Solr service.
  4781  	//   "ZEPPELIN" - The Zeppelin notebook.
  4782  	//   "ZOOKEEPER" - The Zookeeper service.
  4783  	OptionalComponents []string `json:"optionalComponents,omitempty"`
  4784  	// Properties: Optional. The properties to set on daemon config files.Property
  4785  	// keys are specified in prefix:property format, for example
  4786  	// core:hadoop.tmp.dir. The following are supported prefixes and their
  4787  	// mappings: capacity-scheduler: capacity-scheduler.xml core: core-site.xml
  4788  	// distcp: distcp-default.xml hdfs: hdfs-site.xml hive: hive-site.xml mapred:
  4789  	// mapred-site.xml pig: pig.properties spark: spark-defaults.conf yarn:
  4790  	// yarn-site.xmlFor more information, see Cluster properties
  4791  	// (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
  4792  	Properties map[string]string `json:"properties,omitempty"`
  4793  	// ForceSendFields is a list of field names (e.g. "ImageVersion") to
  4794  	// unconditionally include in API requests. By default, fields with empty or
  4795  	// default values are omitted from API requests. See
  4796  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4797  	// details.
  4798  	ForceSendFields []string `json:"-"`
  4799  	// NullFields is a list of field names (e.g. "ImageVersion") to include in API
  4800  	// requests with the JSON null value. By default, fields with empty values are
  4801  	// omitted from API requests. See
  4802  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4803  	NullFields []string `json:"-"`
  4804  }
  4805  
  4806  func (s *SoftwareConfig) MarshalJSON() ([]byte, error) {
  4807  	type NoMethod SoftwareConfig
  4808  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4809  }
  4810  
  4811  // SparkBatch: A configuration for running an Apache Spark
  4812  // (https://spark.apache.org/) batch workload.
  4813  type SparkBatch struct {
  4814  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted into the
  4815  	// working directory of each executor. Supported file types: .jar, .tar,
  4816  	// .tar.gz, .tgz, and .zip.
  4817  	ArchiveUris []string `json:"archiveUris,omitempty"`
  4818  	// Args: Optional. The arguments to pass to the driver. Do not include
  4819  	// arguments that can be set as batch properties, such as --conf, since a
  4820  	// collision can occur that causes an incorrect batch submission.
  4821  	Args []string `json:"args,omitempty"`
  4822  	// FileUris: Optional. HCFS URIs of files to be placed in the working directory
  4823  	// of each executor.
  4824  	FileUris []string `json:"fileUris,omitempty"`
  4825  	// JarFileUris: Optional. HCFS URIs of jar files to add to the classpath of the
  4826  	// Spark driver and tasks.
  4827  	JarFileUris []string `json:"jarFileUris,omitempty"`
  4828  	// MainClass: Optional. The name of the driver main class. The jar file that
  4829  	// contains the class must be in the classpath or specified in jar_file_uris.
  4830  	MainClass string `json:"mainClass,omitempty"`
  4831  	// MainJarFileUri: Optional. The HCFS URI of the jar file that contains the
  4832  	// main class.
  4833  	MainJarFileUri string `json:"mainJarFileUri,omitempty"`
  4834  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  4835  	// unconditionally include in API requests. By default, fields with empty or
  4836  	// default values are omitted from API requests. See
  4837  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4838  	// details.
  4839  	ForceSendFields []string `json:"-"`
  4840  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  4841  	// requests with the JSON null value. By default, fields with empty values are
  4842  	// omitted from API requests. See
  4843  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4844  	NullFields []string `json:"-"`
  4845  }
  4846  
  4847  func (s *SparkBatch) MarshalJSON() ([]byte, error) {
  4848  	type NoMethod SparkBatch
  4849  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4850  }
  4851  
  4852  // SparkHistoryServerConfig: Spark History Server configuration for the
  4853  // workload.
  4854  type SparkHistoryServerConfig struct {
  4855  	// DataprocCluster: Optional. Resource name of an existing Dataproc Cluster to
  4856  	// act as a Spark History Server for the workload.Example:
  4857  	// projects/[project_id]/regions/[region]/clusters/[cluster_name]
  4858  	DataprocCluster string `json:"dataprocCluster,omitempty"`
  4859  	// ForceSendFields is a list of field names (e.g. "DataprocCluster") to
  4860  	// unconditionally include in API requests. By default, fields with empty or
  4861  	// default values are omitted from API requests. See
  4862  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4863  	// details.
  4864  	ForceSendFields []string `json:"-"`
  4865  	// NullFields is a list of field names (e.g. "DataprocCluster") to include in
  4866  	// API requests with the JSON null value. By default, fields with empty values
  4867  	// are omitted from API requests. See
  4868  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4869  	NullFields []string `json:"-"`
  4870  }
  4871  
  4872  func (s *SparkHistoryServerConfig) MarshalJSON() ([]byte, error) {
  4873  	type NoMethod SparkHistoryServerConfig
  4874  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4875  }
  4876  
  4877  // SparkJob: A Dataproc job for running Apache Spark
  4878  // (https://spark.apache.org/) applications on YARN.
  4879  type SparkJob struct {
  4880  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted into the
  4881  	// working directory of each executor. Supported file types: .jar, .tar,
  4882  	// .tar.gz, .tgz, and .zip.
  4883  	ArchiveUris []string `json:"archiveUris,omitempty"`
  4884  	// Args: Optional. The arguments to pass to the driver. Do not include
  4885  	// arguments, such as --conf, that can be set as job properties, since a
  4886  	// collision may occur that causes an incorrect job submission.
  4887  	Args []string `json:"args,omitempty"`
  4888  	// FileUris: Optional. HCFS URIs of files to be placed in the working directory
  4889  	// of each executor. Useful for naively parallel tasks.
  4890  	FileUris []string `json:"fileUris,omitempty"`
  4891  	// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATHs of
  4892  	// the Spark driver and tasks.
  4893  	JarFileUris []string `json:"jarFileUris,omitempty"`
  4894  	// LoggingConfig: Optional. The runtime log config for job execution.
  4895  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  4896  	// MainClass: The name of the driver's main class. The jar file that contains
  4897  	// the class must be in the default CLASSPATH or specified in
  4898  	// SparkJob.jar_file_uris.
  4899  	MainClass string `json:"mainClass,omitempty"`
  4900  	// MainJarFileUri: The HCFS URI of the jar file that contains the main class.
  4901  	MainJarFileUri string `json:"mainJarFileUri,omitempty"`
  4902  	// Properties: Optional. A mapping of property names to values, used to
  4903  	// configure Spark. Properties that conflict with values set by the Dataproc
  4904  	// API might be overwritten. Can include properties set in
  4905  	// /etc/spark/conf/spark-defaults.conf and classes in user code.
  4906  	Properties map[string]string `json:"properties,omitempty"`
  4907  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  4908  	// unconditionally include in API requests. By default, fields with empty or
  4909  	// default values are omitted from API requests. See
  4910  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4911  	// details.
  4912  	ForceSendFields []string `json:"-"`
  4913  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  4914  	// requests with the JSON null value. By default, fields with empty values are
  4915  	// omitted from API requests. See
  4916  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4917  	NullFields []string `json:"-"`
  4918  }
  4919  
  4920  func (s *SparkJob) MarshalJSON() ([]byte, error) {
  4921  	type NoMethod SparkJob
  4922  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4923  }
  4924  
  4925  // SparkRBatch: A configuration for running an Apache SparkR
  4926  // (https://spark.apache.org/docs/latest/sparkr.html) batch workload.
  4927  type SparkRBatch struct {
  4928  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted into the
  4929  	// working directory of each executor. Supported file types: .jar, .tar,
  4930  	// .tar.gz, .tgz, and .zip.
  4931  	ArchiveUris []string `json:"archiveUris,omitempty"`
  4932  	// Args: Optional. The arguments to pass to the Spark driver. Do not include
  4933  	// arguments that can be set as batch properties, such as --conf, since a
  4934  	// collision can occur that causes an incorrect batch submission.
  4935  	Args []string `json:"args,omitempty"`
  4936  	// FileUris: Optional. HCFS URIs of files to be placed in the working directory
  4937  	// of each executor.
  4938  	FileUris []string `json:"fileUris,omitempty"`
  4939  	// MainRFileUri: Required. The HCFS URI of the main R file to use as the
  4940  	// driver. Must be a .R or .r file.
  4941  	MainRFileUri string `json:"mainRFileUri,omitempty"`
  4942  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  4943  	// unconditionally include in API requests. By default, fields with empty or
  4944  	// default values are omitted from API requests. See
  4945  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4946  	// details.
  4947  	ForceSendFields []string `json:"-"`
  4948  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  4949  	// requests with the JSON null value. By default, fields with empty values are
  4950  	// omitted from API requests. See
  4951  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4952  	NullFields []string `json:"-"`
  4953  }
  4954  
  4955  func (s *SparkRBatch) MarshalJSON() ([]byte, error) {
  4956  	type NoMethod SparkRBatch
  4957  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4958  }
  4959  
  4960  // SparkRJob: A Dataproc job for running Apache SparkR
  4961  // (https://spark.apache.org/docs/latest/sparkr.html) applications on YARN.
  4962  type SparkRJob struct {
  4963  	// ArchiveUris: Optional. HCFS URIs of archives to be extracted into the
  4964  	// working directory of each executor. Supported file types: .jar, .tar,
  4965  	// .tar.gz, .tgz, and .zip.
  4966  	ArchiveUris []string `json:"archiveUris,omitempty"`
  4967  	// Args: Optional. The arguments to pass to the driver. Do not include
  4968  	// arguments, such as --conf, that can be set as job properties, since a
  4969  	// collision may occur that causes an incorrect job submission.
  4970  	Args []string `json:"args,omitempty"`
  4971  	// FileUris: Optional. HCFS URIs of files to be placed in the working directory
  4972  	// of each executor. Useful for naively parallel tasks.
  4973  	FileUris []string `json:"fileUris,omitempty"`
  4974  	// LoggingConfig: Optional. The runtime log config for job execution.
  4975  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  4976  	// MainRFileUri: Required. The HCFS URI of the main R file to use as the
  4977  	// driver. Must be a .R file.
  4978  	MainRFileUri string `json:"mainRFileUri,omitempty"`
  4979  	// Properties: Optional. A mapping of property names to values, used to
  4980  	// configure SparkR. Properties that conflict with values set by the Dataproc
  4981  	// API might be overwritten. Can include properties set in
  4982  	// /etc/spark/conf/spark-defaults.conf and classes in user code.
  4983  	Properties map[string]string `json:"properties,omitempty"`
  4984  	// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
  4985  	// unconditionally include in API requests. By default, fields with empty or
  4986  	// default values are omitted from API requests. See
  4987  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4988  	// details.
  4989  	ForceSendFields []string `json:"-"`
  4990  	// NullFields is a list of field names (e.g. "ArchiveUris") to include in API
  4991  	// requests with the JSON null value. By default, fields with empty values are
  4992  	// omitted from API requests. See
  4993  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4994  	NullFields []string `json:"-"`
  4995  }
  4996  
  4997  func (s *SparkRJob) MarshalJSON() ([]byte, error) {
  4998  	type NoMethod SparkRJob
  4999  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5000  }
  5001  
  5002  // SparkSqlBatch: A configuration for running Apache Spark SQL
  5003  // (https://spark.apache.org/sql/) queries as a batch workload.
  5004  type SparkSqlBatch struct {
  5005  	// JarFileUris: Optional. HCFS URIs of jar files to be added to the Spark
  5006  	// CLASSPATH.
  5007  	JarFileUris []string `json:"jarFileUris,omitempty"`
  5008  	// QueryFileUri: Required. The HCFS URI of the script that contains Spark SQL
  5009  	// queries to execute.
  5010  	QueryFileUri string `json:"queryFileUri,omitempty"`
  5011  	// QueryVariables: Optional. Mapping of query variable names to values
  5012  	// (equivalent to the Spark SQL command: SET name="value";).
  5013  	QueryVariables map[string]string `json:"queryVariables,omitempty"`
  5014  	// ForceSendFields is a list of field names (e.g. "JarFileUris") to
  5015  	// unconditionally include in API requests. By default, fields with empty or
  5016  	// default values are omitted from API requests. See
  5017  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5018  	// details.
  5019  	ForceSendFields []string `json:"-"`
  5020  	// NullFields is a list of field names (e.g. "JarFileUris") to include in API
  5021  	// requests with the JSON null value. By default, fields with empty values are
  5022  	// omitted from API requests. See
  5023  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5024  	NullFields []string `json:"-"`
  5025  }
  5026  
  5027  func (s *SparkSqlBatch) MarshalJSON() ([]byte, error) {
  5028  	type NoMethod SparkSqlBatch
  5029  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5030  }
  5031  
  5032  // SparkSqlJob: A Dataproc job for running Apache Spark SQL
  5033  // (https://spark.apache.org/sql/) queries.
  5034  type SparkSqlJob struct {
  5035  	// JarFileUris: Optional. HCFS URIs of jar files to be added to the Spark
  5036  	// CLASSPATH.
  5037  	JarFileUris []string `json:"jarFileUris,omitempty"`
  5038  	// LoggingConfig: Optional. The runtime log config for job execution.
  5039  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  5040  	// Properties: Optional. A mapping of property names to values, used to
  5041  	// configure Spark SQL's SparkConf. Properties that conflict with values set by
  5042  	// the Dataproc API might be overwritten.
  5043  	Properties map[string]string `json:"properties,omitempty"`
  5044  	// QueryFileUri: The HCFS URI of the script that contains SQL queries.
  5045  	QueryFileUri string `json:"queryFileUri,omitempty"`
  5046  	// QueryList: A list of queries.
  5047  	QueryList *QueryList `json:"queryList,omitempty"`
  5048  	// ScriptVariables: Optional. Mapping of query variable names to values
  5049  	// (equivalent to the Spark SQL command: SET name="value";).
  5050  	ScriptVariables map[string]string `json:"scriptVariables,omitempty"`
  5051  	// ForceSendFields is a list of field names (e.g. "JarFileUris") to
  5052  	// unconditionally include in API requests. By default, fields with empty or
  5053  	// default values are omitted from API requests. See
  5054  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5055  	// details.
  5056  	ForceSendFields []string `json:"-"`
  5057  	// NullFields is a list of field names (e.g. "JarFileUris") to include in API
  5058  	// requests with the JSON null value. By default, fields with empty values are
  5059  	// omitted from API requests. See
  5060  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5061  	NullFields []string `json:"-"`
  5062  }
  5063  
  5064  func (s *SparkSqlJob) MarshalJSON() ([]byte, error) {
  5065  	type NoMethod SparkSqlJob
  5066  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5067  }
  5068  
  5069  // SparkStandaloneAutoscalingConfig: Basic autoscaling configurations for Spark
  5070  // Standalone.
  5071  type SparkStandaloneAutoscalingConfig struct {
  5072  	// GracefulDecommissionTimeout: Required. Timeout for Spark graceful
  5073  	// decommissioning of spark workers. Specifies the duration to wait for spark
  5074  	// worker to complete spark decommissioning tasks before forcefully removing
  5075  	// workers. Only applicable to downscaling operations.Bounds: 0s, 1d.
  5076  	GracefulDecommissionTimeout string `json:"gracefulDecommissionTimeout,omitempty"`
  5077  	// RemoveOnlyIdleWorkers: Optional. Remove only idle workers when scaling down
  5078  	// cluster
  5079  	RemoveOnlyIdleWorkers bool `json:"removeOnlyIdleWorkers,omitempty"`
  5080  	// ScaleDownFactor: Required. Fraction of required executors to remove from
  5081  	// Spark Serverless clusters. A scale-down factor of 1.0 will result in scaling
  5082  	// down so that there are no more executors for the Spark Job.(more aggressive
  5083  	// scaling). A scale-down factor closer to 0 will result in a smaller magnitude
  5084  	// of scaling donw (less aggressive scaling).Bounds: 0.0, 1.0.
  5085  	ScaleDownFactor float64 `json:"scaleDownFactor,omitempty"`
  5086  	// ScaleDownMinWorkerFraction: Optional. Minimum scale-down threshold as a
  5087  	// fraction of total cluster size before scaling occurs. For example, in a
  5088  	// 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at
  5089  	// least a 2 worker scale-down for the cluster to scale. A threshold of 0 means
  5090  	// the autoscaler will scale down on any recommended change.Bounds: 0.0, 1.0.
  5091  	// Default: 0.0.
  5092  	ScaleDownMinWorkerFraction float64 `json:"scaleDownMinWorkerFraction,omitempty"`
  5093  	// ScaleUpFactor: Required. Fraction of required workers to add to Spark
  5094  	// Standalone clusters. A scale-up factor of 1.0 will result in scaling up so
  5095  	// that there are no more required workers for the Spark Job (more aggressive
  5096  	// scaling). A scale-up factor closer to 0 will result in a smaller magnitude
  5097  	// of scaling up (less aggressive scaling).Bounds: 0.0, 1.0.
  5098  	ScaleUpFactor float64 `json:"scaleUpFactor,omitempty"`
  5099  	// ScaleUpMinWorkerFraction: Optional. Minimum scale-up threshold as a fraction
  5100  	// of total cluster size before scaling occurs. For example, in a 20-worker
  5101  	// cluster, a threshold of 0.1 means the autoscaler must recommend at least a
  5102  	// 2-worker scale-up for the cluster to scale. A threshold of 0 means the
  5103  	// autoscaler will scale up on any recommended change.Bounds: 0.0, 1.0.
  5104  	// Default: 0.0.
  5105  	ScaleUpMinWorkerFraction float64 `json:"scaleUpMinWorkerFraction,omitempty"`
  5106  	// ForceSendFields is a list of field names (e.g.
  5107  	// "GracefulDecommissionTimeout") to unconditionally include in API requests.
  5108  	// By default, fields with empty or default values are omitted from API
  5109  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  5110  	// for more details.
  5111  	ForceSendFields []string `json:"-"`
  5112  	// NullFields is a list of field names (e.g. "GracefulDecommissionTimeout") to
  5113  	// include in API requests with the JSON null value. By default, fields with
  5114  	// empty values are omitted from API requests. See
  5115  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5116  	NullFields []string `json:"-"`
  5117  }
  5118  
  5119  func (s *SparkStandaloneAutoscalingConfig) MarshalJSON() ([]byte, error) {
  5120  	type NoMethod SparkStandaloneAutoscalingConfig
  5121  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5122  }
  5123  
  5124  func (s *SparkStandaloneAutoscalingConfig) UnmarshalJSON(data []byte) error {
  5125  	type NoMethod SparkStandaloneAutoscalingConfig
  5126  	var s1 struct {
  5127  		ScaleDownFactor            gensupport.JSONFloat64 `json:"scaleDownFactor"`
  5128  		ScaleDownMinWorkerFraction gensupport.JSONFloat64 `json:"scaleDownMinWorkerFraction"`
  5129  		ScaleUpFactor              gensupport.JSONFloat64 `json:"scaleUpFactor"`
  5130  		ScaleUpMinWorkerFraction   gensupport.JSONFloat64 `json:"scaleUpMinWorkerFraction"`
  5131  		*NoMethod
  5132  	}
  5133  	s1.NoMethod = (*NoMethod)(s)
  5134  	if err := json.Unmarshal(data, &s1); err != nil {
  5135  		return err
  5136  	}
  5137  	s.ScaleDownFactor = float64(s1.ScaleDownFactor)
  5138  	s.ScaleDownMinWorkerFraction = float64(s1.ScaleDownMinWorkerFraction)
  5139  	s.ScaleUpFactor = float64(s1.ScaleUpFactor)
  5140  	s.ScaleUpMinWorkerFraction = float64(s1.ScaleUpMinWorkerFraction)
  5141  	return nil
  5142  }
  5143  
  5144  // StartClusterRequest: A request to start a cluster.
  5145  type StartClusterRequest struct {
  5146  	// ClusterUuid: Optional. Specifying the cluster_uuid means the RPC will fail
  5147  	// (with error NOT_FOUND) if a cluster with the specified UUID does not exist.
  5148  	ClusterUuid string `json:"clusterUuid,omitempty"`
  5149  	// RequestId: Optional. A unique ID used to identify the request. If the server
  5150  	// receives two StartClusterRequest
  5151  	// (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s
  5152  	// with the same id, then the second request will be ignored and the first
  5153  	// google.longrunning.Operation created and stored in the backend is
  5154  	// returned.Recommendation: Set this value to a UUID
  5155  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
  5156  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  5157  	// (-). The maximum length is 40 characters.
  5158  	RequestId string `json:"requestId,omitempty"`
  5159  	// ForceSendFields is a list of field names (e.g. "ClusterUuid") to
  5160  	// unconditionally include in API requests. By default, fields with empty or
  5161  	// default values are omitted from API requests. See
  5162  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5163  	// details.
  5164  	ForceSendFields []string `json:"-"`
  5165  	// NullFields is a list of field names (e.g. "ClusterUuid") to include in API
  5166  	// requests with the JSON null value. By default, fields with empty values are
  5167  	// omitted from API requests. See
  5168  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5169  	NullFields []string `json:"-"`
  5170  }
  5171  
  5172  func (s *StartClusterRequest) MarshalJSON() ([]byte, error) {
  5173  	type NoMethod StartClusterRequest
  5174  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5175  }
  5176  
  5177  // StartupConfig: Configuration to handle the startup of instances during
  5178  // cluster create and update process.
  5179  type StartupConfig struct {
  5180  	// RequiredRegistrationFraction: Optional. The config setting to enable cluster
  5181  	// creation/ updation to be successful only after
  5182  	// required_registration_fraction of instances are up and running. This
  5183  	// configuration is applicable to only secondary workers for now. The cluster
  5184  	// will fail if required_registration_fraction of instances are not available.
  5185  	// This will include instance creation, agent registration, and service
  5186  	// registration (if enabled).
  5187  	RequiredRegistrationFraction float64 `json:"requiredRegistrationFraction,omitempty"`
  5188  	// ForceSendFields is a list of field names (e.g.
  5189  	// "RequiredRegistrationFraction") to unconditionally include in API requests.
  5190  	// By default, fields with empty or default values are omitted from API
  5191  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  5192  	// for more details.
  5193  	ForceSendFields []string `json:"-"`
  5194  	// NullFields is a list of field names (e.g. "RequiredRegistrationFraction") to
  5195  	// include in API requests with the JSON null value. By default, fields with
  5196  	// empty values are omitted from API requests. See
  5197  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5198  	NullFields []string `json:"-"`
  5199  }
  5200  
  5201  func (s *StartupConfig) MarshalJSON() ([]byte, error) {
  5202  	type NoMethod StartupConfig
  5203  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5204  }
  5205  
  5206  func (s *StartupConfig) UnmarshalJSON(data []byte) error {
  5207  	type NoMethod StartupConfig
  5208  	var s1 struct {
  5209  		RequiredRegistrationFraction gensupport.JSONFloat64 `json:"requiredRegistrationFraction"`
  5210  		*NoMethod
  5211  	}
  5212  	s1.NoMethod = (*NoMethod)(s)
  5213  	if err := json.Unmarshal(data, &s1); err != nil {
  5214  		return err
  5215  	}
  5216  	s.RequiredRegistrationFraction = float64(s1.RequiredRegistrationFraction)
  5217  	return nil
  5218  }
  5219  
  5220  // StateHistory: Historical state information.
  5221  type StateHistory struct {
  5222  	// State: Output only. The state of the batch at this point in history.
  5223  	//
  5224  	// Possible values:
  5225  	//   "STATE_UNSPECIFIED" - The batch state is unknown.
  5226  	//   "PENDING" - The batch is created before running.
  5227  	//   "RUNNING" - The batch is running.
  5228  	//   "CANCELLING" - The batch is cancelling.
  5229  	//   "CANCELLED" - The batch cancellation was successful.
  5230  	//   "SUCCEEDED" - The batch completed successfully.
  5231  	//   "FAILED" - The batch is no longer running due to an error.
  5232  	State string `json:"state,omitempty"`
  5233  	// StateMessage: Output only. Details about the state at this point in history.
  5234  	StateMessage string `json:"stateMessage,omitempty"`
  5235  	// StateStartTime: Output only. The time when the batch entered the historical
  5236  	// state.
  5237  	StateStartTime string `json:"stateStartTime,omitempty"`
  5238  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  5239  	// include in API requests. By default, fields with empty or default values are
  5240  	// omitted from API requests. See
  5241  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5242  	// details.
  5243  	ForceSendFields []string `json:"-"`
  5244  	// NullFields is a list of field names (e.g. "State") to include in API
  5245  	// requests with the JSON null value. By default, fields with empty values are
  5246  	// omitted from API requests. See
  5247  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5248  	NullFields []string `json:"-"`
  5249  }
  5250  
  5251  func (s *StateHistory) MarshalJSON() ([]byte, error) {
  5252  	type NoMethod StateHistory
  5253  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5254  }
  5255  
  5256  // Status: The Status type defines a logical error model that is suitable for
  5257  // different programming environments, including REST APIs and RPC APIs. It is
  5258  // used by gRPC (https://github.com/grpc). Each Status message contains three
  5259  // pieces of data: error code, error message, and error details.You can find
  5260  // out more about this error model and how to work with it in the API Design
  5261  // Guide (https://cloud.google.com/apis/design/errors).
  5262  type Status struct {
  5263  	// Code: The status code, which should be an enum value of google.rpc.Code.
  5264  	Code int64 `json:"code,omitempty"`
  5265  	// Details: A list of messages that carry the error details. There is a common
  5266  	// set of message types for APIs to use.
  5267  	Details []googleapi.RawMessage `json:"details,omitempty"`
  5268  	// Message: A developer-facing error message, which should be in English. Any
  5269  	// user-facing error message should be localized and sent in the
  5270  	// google.rpc.Status.details field, or localized by the client.
  5271  	Message string `json:"message,omitempty"`
  5272  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5273  	// include in API requests. By default, fields with empty or default values are
  5274  	// omitted from API requests. See
  5275  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5276  	// details.
  5277  	ForceSendFields []string `json:"-"`
  5278  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5279  	// with the JSON null value. By default, fields with empty values are omitted
  5280  	// from API requests. See
  5281  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5282  	NullFields []string `json:"-"`
  5283  }
  5284  
  5285  func (s *Status) MarshalJSON() ([]byte, error) {
  5286  	type NoMethod Status
  5287  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5288  }
  5289  
  5290  // StopClusterRequest: A request to stop a cluster.
  5291  type StopClusterRequest struct {
  5292  	// ClusterUuid: Optional. Specifying the cluster_uuid means the RPC will fail
  5293  	// (with error NOT_FOUND) if a cluster with the specified UUID does not exist.
  5294  	ClusterUuid string `json:"clusterUuid,omitempty"`
  5295  	// RequestId: Optional. A unique ID used to identify the request. If the server
  5296  	// receives two StopClusterRequest
  5297  	// (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s
  5298  	// with the same id, then the second request will be ignored and the first
  5299  	// google.longrunning.Operation created and stored in the backend is
  5300  	// returned.Recommendation: Set this value to a UUID
  5301  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
  5302  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  5303  	// (-). The maximum length is 40 characters.
  5304  	RequestId string `json:"requestId,omitempty"`
  5305  	// ForceSendFields is a list of field names (e.g. "ClusterUuid") to
  5306  	// unconditionally include in API requests. By default, fields with empty or
  5307  	// default values are omitted from API requests. See
  5308  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5309  	// details.
  5310  	ForceSendFields []string `json:"-"`
  5311  	// NullFields is a list of field names (e.g. "ClusterUuid") to include in API
  5312  	// requests with the JSON null value. By default, fields with empty values are
  5313  	// omitted from API requests. See
  5314  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5315  	NullFields []string `json:"-"`
  5316  }
  5317  
  5318  func (s *StopClusterRequest) MarshalJSON() ([]byte, error) {
  5319  	type NoMethod StopClusterRequest
  5320  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5321  }
  5322  
  5323  // SubmitJobRequest: A request to submit a job.
  5324  type SubmitJobRequest struct {
  5325  	// Job: Required. The job resource.
  5326  	Job *Job `json:"job,omitempty"`
  5327  	// RequestId: Optional. A unique id used to identify the request. If the server
  5328  	// receives two SubmitJobRequest
  5329  	// (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s
  5330  	// with the same id, then the second request will be ignored and the first Job
  5331  	// created and stored in the backend is returned.It is recommended to always
  5332  	// set this value to a UUID
  5333  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must
  5334  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  5335  	// (-). The maximum length is 40 characters.
  5336  	RequestId string `json:"requestId,omitempty"`
  5337  	// ForceSendFields is a list of field names (e.g. "Job") to unconditionally
  5338  	// include in API requests. By default, fields with empty or default values are
  5339  	// omitted from API requests. See
  5340  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5341  	// details.
  5342  	ForceSendFields []string `json:"-"`
  5343  	// NullFields is a list of field names (e.g. "Job") to include in API requests
  5344  	// with the JSON null value. By default, fields with empty values are omitted
  5345  	// from API requests. See
  5346  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5347  	NullFields []string `json:"-"`
  5348  }
  5349  
  5350  func (s *SubmitJobRequest) MarshalJSON() ([]byte, error) {
  5351  	type NoMethod SubmitJobRequest
  5352  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5353  }
  5354  
  5355  // TemplateParameter: A configurable parameter that replaces one or more fields
  5356  // in the template. Parameterizable fields: - Labels - File uris - Job
  5357  // properties - Job arguments - Script variables - Main class (in HadoopJob and
  5358  // SparkJob) - Zone (in ClusterSelector)
  5359  type TemplateParameter struct {
  5360  	// Description: Optional. Brief description of the parameter. Must not exceed
  5361  	// 1024 characters.
  5362  	Description string `json:"description,omitempty"`
  5363  	// Fields: Required. Paths to all fields that the parameter replaces. A field
  5364  	// is allowed to appear in at most one parameter's list of field paths.A field
  5365  	// path is similar in syntax to a google.protobuf.FieldMask. For example, a
  5366  	// field path that references the zone field of a workflow template's cluster
  5367  	// selector would be specified as placement.clusterSelector.zone.Also, field
  5368  	// paths can reference fields using the following syntax: Values in maps can be
  5369  	// referenced by key: labels'key' placement.clusterSelector.clusterLabels'key'
  5370  	// placement.managedCluster.labels'key'
  5371  	// placement.clusterSelector.clusterLabels'key' jobs'step-id'.labels'key' Jobs
  5372  	// in the jobs list can be referenced by step-id:
  5373  	// jobs'step-id'.hadoopJob.mainJarFileUri jobs'step-id'.hiveJob.queryFileUri
  5374  	// jobs'step-id'.pySparkJob.mainPythonFileUri
  5375  	// jobs'step-id'.hadoopJob.jarFileUris0 jobs'step-id'.hadoopJob.archiveUris0
  5376  	// jobs'step-id'.hadoopJob.fileUris0 jobs'step-id'.pySparkJob.pythonFileUris0
  5377  	// Items in repeated fields can be referenced by a zero-based index:
  5378  	// jobs'step-id'.sparkJob.args0 Other examples:
  5379  	// jobs'step-id'.hadoopJob.properties'key' jobs'step-id'.hadoopJob.args0
  5380  	// jobs'step-id'.hiveJob.scriptVariables'key'
  5381  	// jobs'step-id'.hadoopJob.mainJarFileUri placement.clusterSelector.zoneIt may
  5382  	// not be possible to parameterize maps and repeated fields in their entirety
  5383  	// since only individual map values and individual items in repeated fields can
  5384  	// be referenced. For example, the following field paths are invalid:
  5385  	// placement.clusterSelector.clusterLabels jobs'step-id'.sparkJob.args
  5386  	Fields []string `json:"fields,omitempty"`
  5387  	// Name: Required. Parameter name. The parameter name is used as the key, and
  5388  	// paired with the parameter value, which are passed to the template when the
  5389  	// template is instantiated. The name must contain only capital letters (A-Z),
  5390  	// numbers (0-9), and underscores (_), and must not start with a number. The
  5391  	// maximum length is 40 characters.
  5392  	Name string `json:"name,omitempty"`
  5393  	// Validation: Optional. Validation rules to be applied to this parameter's
  5394  	// value.
  5395  	Validation *ParameterValidation `json:"validation,omitempty"`
  5396  	// ForceSendFields is a list of field names (e.g. "Description") to
  5397  	// unconditionally include in API requests. By default, fields with empty or
  5398  	// default values are omitted from API requests. See
  5399  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5400  	// details.
  5401  	ForceSendFields []string `json:"-"`
  5402  	// NullFields is a list of field names (e.g. "Description") to include in API
  5403  	// requests with the JSON null value. By default, fields with empty values are
  5404  	// omitted from API requests. See
  5405  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5406  	NullFields []string `json:"-"`
  5407  }
  5408  
  5409  func (s *TemplateParameter) MarshalJSON() ([]byte, error) {
  5410  	type NoMethod TemplateParameter
  5411  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5412  }
  5413  
  5414  // TerminateSessionRequest: A request to terminate an interactive session.
  5415  type TerminateSessionRequest struct {
  5416  	// RequestId: Optional. A unique ID used to identify the request. If the
  5417  	// service receives two TerminateSessionRequest
  5418  	// (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s
  5419  	// with the same ID, the second request is ignored.Recommendation: Set this
  5420  	// value to a UUID
  5421  	// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must
  5422  	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  5423  	// (-). The maximum length is 40 characters.
  5424  	RequestId string `json:"requestId,omitempty"`
  5425  	// ForceSendFields is a list of field names (e.g. "RequestId") to
  5426  	// unconditionally include in API requests. By default, fields with empty or
  5427  	// default values are omitted from API requests. See
  5428  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5429  	// details.
  5430  	ForceSendFields []string `json:"-"`
  5431  	// NullFields is a list of field names (e.g. "RequestId") to include in API
  5432  	// requests with the JSON null value. By default, fields with empty values are
  5433  	// omitted from API requests. See
  5434  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5435  	NullFields []string `json:"-"`
  5436  }
  5437  
  5438  func (s *TerminateSessionRequest) MarshalJSON() ([]byte, error) {
  5439  	type NoMethod TerminateSessionRequest
  5440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5441  }
  5442  
  5443  // TestIamPermissionsRequest: Request message for TestIamPermissions method.
  5444  type TestIamPermissionsRequest struct {
  5445  	// Permissions: The set of permissions to check for the resource. Permissions
  5446  	// with wildcards (such as * or storage.*) are not allowed. For more
  5447  	// information see IAM Overview
  5448  	// (https://cloud.google.com/iam/docs/overview#permissions).
  5449  	Permissions []string `json:"permissions,omitempty"`
  5450  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  5451  	// unconditionally include in API requests. By default, fields with empty or
  5452  	// default values are omitted from API requests. See
  5453  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5454  	// details.
  5455  	ForceSendFields []string `json:"-"`
  5456  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  5457  	// requests with the JSON null value. By default, fields with empty values are
  5458  	// omitted from API requests. See
  5459  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5460  	NullFields []string `json:"-"`
  5461  }
  5462  
  5463  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  5464  	type NoMethod TestIamPermissionsRequest
  5465  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5466  }
  5467  
  5468  // TestIamPermissionsResponse: Response message for TestIamPermissions method.
  5469  type TestIamPermissionsResponse struct {
  5470  	// Permissions: A subset of TestPermissionsRequest.permissions that the caller
  5471  	// is allowed.
  5472  	Permissions []string `json:"permissions,omitempty"`
  5473  
  5474  	// ServerResponse contains the HTTP response code and headers from the server.
  5475  	googleapi.ServerResponse `json:"-"`
  5476  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  5477  	// unconditionally include in API requests. By default, fields with empty or
  5478  	// default values are omitted from API requests. See
  5479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5480  	// details.
  5481  	ForceSendFields []string `json:"-"`
  5482  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  5483  	// requests with the JSON null value. By default, fields with empty values are
  5484  	// omitted from API requests. See
  5485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5486  	NullFields []string `json:"-"`
  5487  }
  5488  
  5489  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  5490  	type NoMethod TestIamPermissionsResponse
  5491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5492  }
  5493  
  5494  // TrinoJob: A Dataproc job for running Trino (https://trino.io/) queries.
  5495  // IMPORTANT: The Dataproc Trino Optional Component
  5496  // (https://cloud.google.com/dataproc/docs/concepts/components/trino) must be
  5497  // enabled when the cluster is created to submit a Trino job to the cluster.
  5498  type TrinoJob struct {
  5499  	// ClientTags: Optional. Trino client tags to attach to this query
  5500  	ClientTags []string `json:"clientTags,omitempty"`
  5501  	// ContinueOnFailure: Optional. Whether to continue executing queries if a
  5502  	// query fails. The default value is false. Setting to true can be useful when
  5503  	// executing independent parallel queries.
  5504  	ContinueOnFailure bool `json:"continueOnFailure,omitempty"`
  5505  	// LoggingConfig: Optional. The runtime log config for job execution.
  5506  	LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
  5507  	// OutputFormat: Optional. The format in which query output will be displayed.
  5508  	// See the Trino documentation for supported output formats
  5509  	OutputFormat string `json:"outputFormat,omitempty"`
  5510  	// Properties: Optional. A mapping of property names to values. Used to set
  5511  	// Trino session properties
  5512  	// (https://trino.io/docs/current/sql/set-session.html) Equivalent to using the
  5513  	// --session flag in the Trino CLI
  5514  	Properties map[string]string `json:"properties,omitempty"`
  5515  	// QueryFileUri: The HCFS URI of the script that contains SQL queries.
  5516  	QueryFileUri string `json:"queryFileUri,omitempty"`
  5517  	// QueryList: A list of queries.
  5518  	QueryList *QueryList `json:"queryList,omitempty"`
  5519  	// ForceSendFields is a list of field names (e.g. "ClientTags") to
  5520  	// unconditionally include in API requests. By default, fields with empty or
  5521  	// default values are omitted from API requests. See
  5522  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5523  	// details.
  5524  	ForceSendFields []string `json:"-"`
  5525  	// NullFields is a list of field names (e.g. "ClientTags") to include in API
  5526  	// requests with the JSON null value. By default, fields with empty values are
  5527  	// omitted from API requests. See
  5528  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5529  	NullFields []string `json:"-"`
  5530  }
  5531  
  5532  func (s *TrinoJob) MarshalJSON() ([]byte, error) {
  5533  	type NoMethod TrinoJob
  5534  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5535  }
  5536  
  5537  // UsageMetrics: Usage metrics represent approximate total resources consumed
  5538  // by a workload.
  5539  type UsageMetrics struct {
  5540  	// AcceleratorType: Optional. Accelerator type being used, if any
  5541  	AcceleratorType string `json:"acceleratorType,omitempty"`
  5542  	// MilliAcceleratorSeconds: Optional. Accelerator usage in (milliAccelerator x
  5543  	// seconds) (see Dataproc Serverless pricing
  5544  	// (https://cloud.google.com/dataproc-serverless/pricing)).
  5545  	MilliAcceleratorSeconds int64 `json:"milliAcceleratorSeconds,omitempty,string"`
  5546  	// MilliDcuSeconds: Optional. DCU (Dataproc Compute Units) usage in (milliDCU x
  5547  	// seconds) (see Dataproc Serverless pricing
  5548  	// (https://cloud.google.com/dataproc-serverless/pricing)).
  5549  	MilliDcuSeconds int64 `json:"milliDcuSeconds,omitempty,string"`
  5550  	// ShuffleStorageGbSeconds: Optional. Shuffle storage usage in (GB x seconds)
  5551  	// (see Dataproc Serverless pricing
  5552  	// (https://cloud.google.com/dataproc-serverless/pricing)).
  5553  	ShuffleStorageGbSeconds int64 `json:"shuffleStorageGbSeconds,omitempty,string"`
  5554  	// ForceSendFields is a list of field names (e.g. "AcceleratorType") to
  5555  	// unconditionally include in API requests. By default, fields with empty or
  5556  	// default values are omitted from API requests. See
  5557  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5558  	// details.
  5559  	ForceSendFields []string `json:"-"`
  5560  	// NullFields is a list of field names (e.g. "AcceleratorType") to include in
  5561  	// API requests with the JSON null value. By default, fields with empty values
  5562  	// are omitted from API requests. See
  5563  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5564  	NullFields []string `json:"-"`
  5565  }
  5566  
  5567  func (s *UsageMetrics) MarshalJSON() ([]byte, error) {
  5568  	type NoMethod UsageMetrics
  5569  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5570  }
  5571  
  5572  // UsageSnapshot: The usage snapshot represents the resources consumed by a
  5573  // workload at a specified time.
  5574  type UsageSnapshot struct {
  5575  	// AcceleratorType: Optional. Accelerator type being used, if any
  5576  	AcceleratorType string `json:"acceleratorType,omitempty"`
  5577  	// MilliAccelerator: Optional. Milli (one-thousandth) accelerator. (see
  5578  	// Dataproc Serverless pricing
  5579  	// (https://cloud.google.com/dataproc-serverless/pricing))
  5580  	MilliAccelerator int64 `json:"milliAccelerator,omitempty,string"`
  5581  	// MilliDcu: Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs)
  5582  	// (see Dataproc Serverless pricing
  5583  	// (https://cloud.google.com/dataproc-serverless/pricing)).
  5584  	MilliDcu int64 `json:"milliDcu,omitempty,string"`
  5585  	// MilliDcuPremium: Optional. Milli (one-thousandth) Dataproc Compute Units
  5586  	// (DCUs) charged at premium tier (see Dataproc Serverless pricing
  5587  	// (https://cloud.google.com/dataproc-serverless/pricing)).
  5588  	MilliDcuPremium int64 `json:"milliDcuPremium,omitempty,string"`
  5589  	// ShuffleStorageGb: Optional. Shuffle Storage in gigabytes (GB). (see Dataproc
  5590  	// Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))
  5591  	ShuffleStorageGb int64 `json:"shuffleStorageGb,omitempty,string"`
  5592  	// ShuffleStorageGbPremium: Optional. Shuffle Storage in gigabytes (GB) charged
  5593  	// at premium tier. (see Dataproc Serverless pricing
  5594  	// (https://cloud.google.com/dataproc-serverless/pricing))
  5595  	ShuffleStorageGbPremium int64 `json:"shuffleStorageGbPremium,omitempty,string"`
  5596  	// SnapshotTime: Optional. The timestamp of the usage snapshot.
  5597  	SnapshotTime string `json:"snapshotTime,omitempty"`
  5598  	// ForceSendFields is a list of field names (e.g. "AcceleratorType") to
  5599  	// unconditionally include in API requests. By default, fields with empty or
  5600  	// default values are omitted from API requests. See
  5601  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5602  	// details.
  5603  	ForceSendFields []string `json:"-"`
  5604  	// NullFields is a list of field names (e.g. "AcceleratorType") to include in
  5605  	// API requests with the JSON null value. By default, fields with empty values
  5606  	// are omitted from API requests. See
  5607  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5608  	NullFields []string `json:"-"`
  5609  }
  5610  
  5611  func (s *UsageSnapshot) MarshalJSON() ([]byte, error) {
  5612  	type NoMethod UsageSnapshot
  5613  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5614  }
  5615  
  5616  // ValueValidation: Validation based on a list of allowed values.
  5617  type ValueValidation struct {
  5618  	// Values: Required. List of allowed values for the parameter.
  5619  	Values []string `json:"values,omitempty"`
  5620  	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
  5621  	// include in API requests. By default, fields with empty or default values are
  5622  	// omitted from API requests. See
  5623  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5624  	// details.
  5625  	ForceSendFields []string `json:"-"`
  5626  	// NullFields is a list of field names (e.g. "Values") to include in API
  5627  	// requests with the JSON null value. By default, fields with empty values are
  5628  	// omitted from API requests. See
  5629  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5630  	NullFields []string `json:"-"`
  5631  }
  5632  
  5633  func (s *ValueValidation) MarshalJSON() ([]byte, error) {
  5634  	type NoMethod ValueValidation
  5635  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5636  }
  5637  
  5638  // VirtualClusterConfig: The Dataproc cluster config for a cluster that does
  5639  // not directly control the underlying compute resources, such as a
  5640  // Dataproc-on-GKE cluster
  5641  // (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview).
  5642  type VirtualClusterConfig struct {
  5643  	// AuxiliaryServicesConfig: Optional. Configuration of auxiliary services used
  5644  	// by this cluster.
  5645  	AuxiliaryServicesConfig *AuxiliaryServicesConfig `json:"auxiliaryServicesConfig,omitempty"`
  5646  	// KubernetesClusterConfig: Required. The configuration for running the
  5647  	// Dataproc cluster on Kubernetes.
  5648  	KubernetesClusterConfig *KubernetesClusterConfig `json:"kubernetesClusterConfig,omitempty"`
  5649  	// StagingBucket: Optional. A Cloud Storage bucket used to stage job
  5650  	// dependencies, config files, and job driver console output. If you do not
  5651  	// specify a staging bucket, Cloud Dataproc will determine a Cloud Storage
  5652  	// location (US, ASIA, or EU) for your cluster's staging bucket according to
  5653  	// the Compute Engine zone where your cluster is deployed, and then create and
  5654  	// manage this project-level, per-location bucket (see Dataproc staging and
  5655  	// temp buckets
  5656  	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).
  5657  	// This field requires a Cloud Storage bucket name, not a gs://... URI to a
  5658  	// Cloud Storage bucket.
  5659  	StagingBucket string `json:"stagingBucket,omitempty"`
  5660  	// ForceSendFields is a list of field names (e.g. "AuxiliaryServicesConfig") to
  5661  	// unconditionally include in API requests. By default, fields with empty or
  5662  	// default values are omitted from API requests. See
  5663  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5664  	// details.
  5665  	ForceSendFields []string `json:"-"`
  5666  	// NullFields is a list of field names (e.g. "AuxiliaryServicesConfig") to
  5667  	// include in API requests with the JSON null value. By default, fields with
  5668  	// empty values are omitted from API requests. See
  5669  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5670  	NullFields []string `json:"-"`
  5671  }
  5672  
  5673  func (s *VirtualClusterConfig) MarshalJSON() ([]byte, error) {
  5674  	type NoMethod VirtualClusterConfig
  5675  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5676  }
  5677  
  5678  // WorkflowGraph: The workflow graph.
  5679  type WorkflowGraph struct {
  5680  	// Nodes: Output only. The workflow nodes.
  5681  	Nodes []*WorkflowNode `json:"nodes,omitempty"`
  5682  	// ForceSendFields is a list of field names (e.g. "Nodes") to unconditionally
  5683  	// include in API requests. By default, fields with empty or default values are
  5684  	// omitted from API requests. See
  5685  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5686  	// details.
  5687  	ForceSendFields []string `json:"-"`
  5688  	// NullFields is a list of field names (e.g. "Nodes") to include in API
  5689  	// requests with the JSON null value. By default, fields with empty values are
  5690  	// omitted from API requests. See
  5691  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5692  	NullFields []string `json:"-"`
  5693  }
  5694  
  5695  func (s *WorkflowGraph) MarshalJSON() ([]byte, error) {
  5696  	type NoMethod WorkflowGraph
  5697  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5698  }
  5699  
  5700  // WorkflowMetadata: A Dataproc workflow template resource.
  5701  type WorkflowMetadata struct {
  5702  	// ClusterName: Output only. The name of the target cluster.
  5703  	ClusterName string `json:"clusterName,omitempty"`
  5704  	// ClusterUuid: Output only. The UUID of target cluster.
  5705  	ClusterUuid string `json:"clusterUuid,omitempty"`
  5706  	// CreateCluster: Output only. The create cluster operation metadata.
  5707  	CreateCluster *ClusterOperation `json:"createCluster,omitempty"`
  5708  	// DagEndTime: Output only. DAG end time, only set for workflows with
  5709  	// dag_timeout when DAG ends.
  5710  	DagEndTime string `json:"dagEndTime,omitempty"`
  5711  	// DagStartTime: Output only. DAG start time, only set for workflows with
  5712  	// dag_timeout when DAG begins.
  5713  	DagStartTime string `json:"dagStartTime,omitempty"`
  5714  	// DagTimeout: Output only. The timeout duration for the DAG of jobs, expressed
  5715  	// in seconds (see JSON representation of duration
  5716  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)).
  5717  	DagTimeout string `json:"dagTimeout,omitempty"`
  5718  	// DeleteCluster: Output only. The delete cluster operation metadata.
  5719  	DeleteCluster *ClusterOperation `json:"deleteCluster,omitempty"`
  5720  	// EndTime: Output only. Workflow end time.
  5721  	EndTime string `json:"endTime,omitempty"`
  5722  	// Graph: Output only. The workflow graph.
  5723  	Graph *WorkflowGraph `json:"graph,omitempty"`
  5724  	// Parameters: Map from parameter names to values that were used for those
  5725  	// parameters.
  5726  	Parameters map[string]string `json:"parameters,omitempty"`
  5727  	// StartTime: Output only. Workflow start time.
  5728  	StartTime string `json:"startTime,omitempty"`
  5729  	// State: Output only. The workflow state.
  5730  	//
  5731  	// Possible values:
  5732  	//   "UNKNOWN" - Unused.
  5733  	//   "PENDING" - The operation has been created.
  5734  	//   "RUNNING" - The operation is running.
  5735  	//   "DONE" - The operation is done; either cancelled or completed.
  5736  	State string `json:"state,omitempty"`
  5737  	// Template: Output only. The resource name of the workflow template as
  5738  	// described in https://cloud.google.com/apis/design/resource_names. For
  5739  	// projects.regions.workflowTemplates, the resource name of the template has
  5740  	// the following format:
  5741  	// projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
  5742  	// projects.locations.workflowTemplates, the resource name of the template has
  5743  	// the following format:
  5744  	// projects/{project_id}/locations/{location}/workflowTemplates/{template_id}
  5745  	Template string `json:"template,omitempty"`
  5746  	// Version: Output only. The version of template at the time of workflow
  5747  	// instantiation.
  5748  	Version int64 `json:"version,omitempty"`
  5749  	// ForceSendFields is a list of field names (e.g. "ClusterName") to
  5750  	// unconditionally include in API requests. By default, fields with empty or
  5751  	// default values are omitted from API requests. See
  5752  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5753  	// details.
  5754  	ForceSendFields []string `json:"-"`
  5755  	// NullFields is a list of field names (e.g. "ClusterName") to include in API
  5756  	// requests with the JSON null value. By default, fields with empty values are
  5757  	// omitted from API requests. See
  5758  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5759  	NullFields []string `json:"-"`
  5760  }
  5761  
  5762  func (s *WorkflowMetadata) MarshalJSON() ([]byte, error) {
  5763  	type NoMethod WorkflowMetadata
  5764  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5765  }
  5766  
  5767  // WorkflowNode: The workflow node.
  5768  type WorkflowNode struct {
  5769  	// Error: Output only. The error detail.
  5770  	Error string `json:"error,omitempty"`
  5771  	// JobId: Output only. The job id; populated after the node enters RUNNING
  5772  	// state.
  5773  	JobId string `json:"jobId,omitempty"`
  5774  	// PrerequisiteStepIds: Output only. Node's prerequisite nodes.
  5775  	PrerequisiteStepIds []string `json:"prerequisiteStepIds,omitempty"`
  5776  	// State: Output only. The node state.
  5777  	//
  5778  	// Possible values:
  5779  	//   "NODE_STATE_UNSPECIFIED" - State is unspecified.
  5780  	//   "BLOCKED" - The node is awaiting prerequisite node to finish.
  5781  	//   "RUNNABLE" - The node is runnable but not running.
  5782  	//   "RUNNING" - The node is running.
  5783  	//   "COMPLETED" - The node completed successfully.
  5784  	//   "FAILED" - The node failed. A node can be marked FAILED because its
  5785  	// ancestor or peer failed.
  5786  	State string `json:"state,omitempty"`
  5787  	// StepId: Output only. The name of the node.
  5788  	StepId string `json:"stepId,omitempty"`
  5789  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  5790  	// include in API requests. By default, fields with empty or default values are
  5791  	// omitted from API requests. See
  5792  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5793  	// details.
  5794  	ForceSendFields []string `json:"-"`
  5795  	// NullFields is a list of field names (e.g. "Error") to include in API
  5796  	// requests with the JSON null value. By default, fields with empty values are
  5797  	// omitted from API requests. See
  5798  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5799  	NullFields []string `json:"-"`
  5800  }
  5801  
  5802  func (s *WorkflowNode) MarshalJSON() ([]byte, error) {
  5803  	type NoMethod WorkflowNode
  5804  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5805  }
  5806  
  5807  // WorkflowTemplate: A Dataproc workflow template resource.
  5808  type WorkflowTemplate struct {
  5809  	// CreateTime: Output only. The time template was created.
  5810  	CreateTime string `json:"createTime,omitempty"`
  5811  	// DagTimeout: Optional. Timeout duration for the DAG of jobs, expressed in
  5812  	// seconds (see JSON representation of duration
  5813  	// (https://developers.google.com/protocol-buffers/docs/proto3#json)). The
  5814  	// timeout duration must be from 10 minutes ("600s") to 24 hours ("86400s").
  5815  	// The timer begins when the first job is submitted. If the workflow is running
  5816  	// at the end of the timeout period, any remaining jobs are cancelled, the
  5817  	// workflow is ended, and if the workflow was running on a managed cluster, the
  5818  	// cluster is deleted.
  5819  	DagTimeout string `json:"dagTimeout,omitempty"`
  5820  	// EncryptionConfig: Optional. Encryption settings for encrypting workflow
  5821  	// template job arguments.
  5822  	EncryptionConfig *GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig `json:"encryptionConfig,omitempty"`
  5823  	Id               string                                                 `json:"id,omitempty"`
  5824  	// Jobs: Required. The Directed Acyclic Graph of Jobs to submit.
  5825  	Jobs []*OrderedJob `json:"jobs,omitempty"`
  5826  	// Labels: Optional. The labels to associate with this template. These labels
  5827  	// will be propagated to all jobs and clusters created by the workflow
  5828  	// instance.Label keys must contain 1 to 63 characters, and must conform to RFC
  5829  	// 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but,
  5830  	// if present, must contain 1 to 63 characters, and must conform to RFC 1035
  5831  	// (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be
  5832  	// associated with a template.
  5833  	Labels map[string]string `json:"labels,omitempty"`
  5834  	// Name: Output only. The resource name of the workflow template, as described
  5835  	// in https://cloud.google.com/apis/design/resource_names. For
  5836  	// projects.regions.workflowTemplates, the resource name of the template has
  5837  	// the following format:
  5838  	// projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
  5839  	// projects.locations.workflowTemplates, the resource name of the template has
  5840  	// the following format:
  5841  	// projects/{project_id}/locations/{location}/workflowTemplates/{template_id}
  5842  	Name string `json:"name,omitempty"`
  5843  	// Parameters: Optional. Template parameters whose values are substituted into
  5844  	// the template. Values for parameters must be provided when the template is
  5845  	// instantiated.
  5846  	Parameters []*TemplateParameter `json:"parameters,omitempty"`
  5847  	// Placement: Required. WorkflowTemplate scheduling information.
  5848  	Placement *WorkflowTemplatePlacement `json:"placement,omitempty"`
  5849  	// UpdateTime: Output only. The time template was last updated.
  5850  	UpdateTime string `json:"updateTime,omitempty"`
  5851  	// Version: Optional. Used to perform a consistent read-modify-write.This field
  5852  	// should be left blank for a CreateWorkflowTemplate request. It is required
  5853  	// for an UpdateWorkflowTemplate request, and must match the current server
  5854  	// version. A typical update template flow would fetch the current template
  5855  	// with a GetWorkflowTemplate request, which will return the current template
  5856  	// with the version field filled in with the current server version. The user
  5857  	// updates other fields in the template, then returns it as part of the
  5858  	// UpdateWorkflowTemplate request.
  5859  	Version int64 `json:"version,omitempty"`
  5860  
  5861  	// ServerResponse contains the HTTP response code and headers from the server.
  5862  	googleapi.ServerResponse `json:"-"`
  5863  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  5864  	// unconditionally include in API requests. By default, fields with empty or
  5865  	// default values are omitted from API requests. See
  5866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5867  	// details.
  5868  	ForceSendFields []string `json:"-"`
  5869  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  5870  	// requests with the JSON null value. By default, fields with empty values are
  5871  	// omitted from API requests. See
  5872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5873  	NullFields []string `json:"-"`
  5874  }
  5875  
  5876  func (s *WorkflowTemplate) MarshalJSON() ([]byte, error) {
  5877  	type NoMethod WorkflowTemplate
  5878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5879  }
  5880  
  5881  // WorkflowTemplatePlacement: Specifies workflow execution target.Either
  5882  // managed_cluster or cluster_selector is required.
  5883  type WorkflowTemplatePlacement struct {
  5884  	// ClusterSelector: Optional. A selector that chooses target cluster for jobs
  5885  	// based on metadata.The selector is evaluated at the time each job is
  5886  	// submitted.
  5887  	ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"`
  5888  	// ManagedCluster: A cluster that is managed by the workflow.
  5889  	ManagedCluster *ManagedCluster `json:"managedCluster,omitempty"`
  5890  	// ForceSendFields is a list of field names (e.g. "ClusterSelector") to
  5891  	// unconditionally include in API requests. By default, fields with empty or
  5892  	// default values are omitted from API requests. See
  5893  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5894  	// details.
  5895  	ForceSendFields []string `json:"-"`
  5896  	// NullFields is a list of field names (e.g. "ClusterSelector") to include in
  5897  	// API requests with the JSON null value. By default, fields with empty values
  5898  	// are omitted from API requests. See
  5899  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5900  	NullFields []string `json:"-"`
  5901  }
  5902  
  5903  func (s *WorkflowTemplatePlacement) MarshalJSON() ([]byte, error) {
  5904  	type NoMethod WorkflowTemplatePlacement
  5905  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5906  }
  5907  
  5908  // YarnApplication: A YARN application created by a job. Application
  5909  // information is a subset of
  5910  // org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.Beta Feature:
  5911  // This report is available for testing purposes only. It may be changed before
  5912  // final release.
  5913  type YarnApplication struct {
  5914  	// Name: Required. The application name.
  5915  	Name string `json:"name,omitempty"`
  5916  	// Progress: Required. The numerical progress of the application, from 1 to
  5917  	// 100.
  5918  	Progress float64 `json:"progress,omitempty"`
  5919  	// State: Required. The application state.
  5920  	//
  5921  	// Possible values:
  5922  	//   "STATE_UNSPECIFIED" - Status is unspecified.
  5923  	//   "NEW" - Status is NEW.
  5924  	//   "NEW_SAVING" - Status is NEW_SAVING.
  5925  	//   "SUBMITTED" - Status is SUBMITTED.
  5926  	//   "ACCEPTED" - Status is ACCEPTED.
  5927  	//   "RUNNING" - Status is RUNNING.
  5928  	//   "FINISHED" - Status is FINISHED.
  5929  	//   "FAILED" - Status is FAILED.
  5930  	//   "KILLED" - Status is KILLED.
  5931  	State string `json:"state,omitempty"`
  5932  	// TrackingUrl: Optional. The HTTP URL of the ApplicationMaster, HistoryServer,
  5933  	// or TimelineServer that provides application-specific information. The URL
  5934  	// uses the internal hostname, and requires a proxy server for resolution and,
  5935  	// possibly, access.
  5936  	TrackingUrl string `json:"trackingUrl,omitempty"`
  5937  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  5938  	// include in API requests. By default, fields with empty or default values are
  5939  	// omitted from API requests. See
  5940  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5941  	// details.
  5942  	ForceSendFields []string `json:"-"`
  5943  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  5944  	// with the JSON null value. By default, fields with empty values are omitted
  5945  	// from API requests. See
  5946  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5947  	NullFields []string `json:"-"`
  5948  }
  5949  
  5950  func (s *YarnApplication) MarshalJSON() ([]byte, error) {
  5951  	type NoMethod YarnApplication
  5952  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5953  }
  5954  
  5955  func (s *YarnApplication) UnmarshalJSON(data []byte) error {
  5956  	type NoMethod YarnApplication
  5957  	var s1 struct {
  5958  		Progress gensupport.JSONFloat64 `json:"progress"`
  5959  		*NoMethod
  5960  	}
  5961  	s1.NoMethod = (*NoMethod)(s)
  5962  	if err := json.Unmarshal(data, &s1); err != nil {
  5963  		return err
  5964  	}
  5965  	s.Progress = float64(s1.Progress)
  5966  	return nil
  5967  }
  5968  
  5969  type ProjectsLocationsAutoscalingPoliciesCreateCall struct {
  5970  	s                 *Service
  5971  	parent            string
  5972  	autoscalingpolicy *AutoscalingPolicy
  5973  	urlParams_        gensupport.URLParams
  5974  	ctx_              context.Context
  5975  	header_           http.Header
  5976  }
  5977  
  5978  // Create: Creates new autoscaling policy.
  5979  //
  5980  //   - parent: The "resource name" of the region or location, as described in
  5981  //     https://cloud.google.com/apis/design/resource_names. For
  5982  //     projects.regions.autoscalingPolicies.create, the resource name of the
  5983  //     region has the following format: projects/{project_id}/regions/{region}
  5984  //     For projects.locations.autoscalingPolicies.create, the resource name of
  5985  //     the location has the following format:
  5986  //     projects/{project_id}/locations/{location}.
  5987  func (r *ProjectsLocationsAutoscalingPoliciesService) Create(parent string, autoscalingpolicy *AutoscalingPolicy) *ProjectsLocationsAutoscalingPoliciesCreateCall {
  5988  	c := &ProjectsLocationsAutoscalingPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5989  	c.parent = parent
  5990  	c.autoscalingpolicy = autoscalingpolicy
  5991  	return c
  5992  }
  5993  
  5994  // Fields allows partial responses to be retrieved. See
  5995  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5996  // details.
  5997  func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesCreateCall {
  5998  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5999  	return c
  6000  }
  6001  
  6002  // Context sets the context to be used in this call's Do method.
  6003  func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesCreateCall {
  6004  	c.ctx_ = ctx
  6005  	return c
  6006  }
  6007  
  6008  // Header returns a http.Header that can be modified by the caller to add
  6009  // headers to the request.
  6010  func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) Header() http.Header {
  6011  	if c.header_ == nil {
  6012  		c.header_ = make(http.Header)
  6013  	}
  6014  	return c.header_
  6015  }
  6016  
  6017  func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
  6018  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6019  	var body io.Reader = nil
  6020  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscalingpolicy)
  6021  	if err != nil {
  6022  		return nil, err
  6023  	}
  6024  	c.urlParams_.Set("alt", alt)
  6025  	c.urlParams_.Set("prettyPrint", "false")
  6026  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autoscalingPolicies")
  6027  	urls += "?" + c.urlParams_.Encode()
  6028  	req, err := http.NewRequest("POST", urls, body)
  6029  	if err != nil {
  6030  		return nil, err
  6031  	}
  6032  	req.Header = reqHeaders
  6033  	googleapi.Expand(req.URL, map[string]string{
  6034  		"parent": c.parent,
  6035  	})
  6036  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6037  }
  6038  
  6039  // Do executes the "dataproc.projects.locations.autoscalingPolicies.create" call.
  6040  // Any non-2xx status code is an error. Response headers are in either
  6041  // *AutoscalingPolicy.ServerResponse.Header or (if a response was returned at
  6042  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6043  // check whether the returned error was because http.StatusNotModified was
  6044  // returned.
  6045  func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) Do(opts ...googleapi.CallOption) (*AutoscalingPolicy, error) {
  6046  	gensupport.SetOptions(c.urlParams_, opts...)
  6047  	res, err := c.doRequest("json")
  6048  	if res != nil && res.StatusCode == http.StatusNotModified {
  6049  		if res.Body != nil {
  6050  			res.Body.Close()
  6051  		}
  6052  		return nil, gensupport.WrapError(&googleapi.Error{
  6053  			Code:   res.StatusCode,
  6054  			Header: res.Header,
  6055  		})
  6056  	}
  6057  	if err != nil {
  6058  		return nil, err
  6059  	}
  6060  	defer googleapi.CloseBody(res)
  6061  	if err := googleapi.CheckResponse(res); err != nil {
  6062  		return nil, gensupport.WrapError(err)
  6063  	}
  6064  	ret := &AutoscalingPolicy{
  6065  		ServerResponse: googleapi.ServerResponse{
  6066  			Header:         res.Header,
  6067  			HTTPStatusCode: res.StatusCode,
  6068  		},
  6069  	}
  6070  	target := &ret
  6071  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6072  		return nil, err
  6073  	}
  6074  	return ret, nil
  6075  }
  6076  
  6077  type ProjectsLocationsAutoscalingPoliciesDeleteCall struct {
  6078  	s          *Service
  6079  	name       string
  6080  	urlParams_ gensupport.URLParams
  6081  	ctx_       context.Context
  6082  	header_    http.Header
  6083  }
  6084  
  6085  // Delete: Deletes an autoscaling policy. It is an error to delete an
  6086  // autoscaling policy that is in use by one or more clusters.
  6087  //
  6088  //   - name: The "resource name" of the autoscaling policy, as described in
  6089  //     https://cloud.google.com/apis/design/resource_names. For
  6090  //     projects.regions.autoscalingPolicies.delete, the resource name of the
  6091  //     policy has the following format:
  6092  //     projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
  6093  //     projects.locations.autoscalingPolicies.delete, the resource name of the
  6094  //     policy has the following format:
  6095  //     projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}.
  6096  func (r *ProjectsLocationsAutoscalingPoliciesService) Delete(name string) *ProjectsLocationsAutoscalingPoliciesDeleteCall {
  6097  	c := &ProjectsLocationsAutoscalingPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6098  	c.name = name
  6099  	return c
  6100  }
  6101  
  6102  // Fields allows partial responses to be retrieved. See
  6103  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6104  // details.
  6105  func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesDeleteCall {
  6106  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6107  	return c
  6108  }
  6109  
  6110  // Context sets the context to be used in this call's Do method.
  6111  func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesDeleteCall {
  6112  	c.ctx_ = ctx
  6113  	return c
  6114  }
  6115  
  6116  // Header returns a http.Header that can be modified by the caller to add
  6117  // headers to the request.
  6118  func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) Header() http.Header {
  6119  	if c.header_ == nil {
  6120  		c.header_ = make(http.Header)
  6121  	}
  6122  	return c.header_
  6123  }
  6124  
  6125  func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6126  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6127  	var body io.Reader = nil
  6128  	c.urlParams_.Set("alt", alt)
  6129  	c.urlParams_.Set("prettyPrint", "false")
  6130  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6131  	urls += "?" + c.urlParams_.Encode()
  6132  	req, err := http.NewRequest("DELETE", urls, body)
  6133  	if err != nil {
  6134  		return nil, err
  6135  	}
  6136  	req.Header = reqHeaders
  6137  	googleapi.Expand(req.URL, map[string]string{
  6138  		"name": c.name,
  6139  	})
  6140  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6141  }
  6142  
  6143  // Do executes the "dataproc.projects.locations.autoscalingPolicies.delete" call.
  6144  // Any non-2xx status code is an error. Response headers are in either
  6145  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  6146  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6147  // whether the returned error was because http.StatusNotModified was returned.
  6148  func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  6149  	gensupport.SetOptions(c.urlParams_, opts...)
  6150  	res, err := c.doRequest("json")
  6151  	if res != nil && res.StatusCode == http.StatusNotModified {
  6152  		if res.Body != nil {
  6153  			res.Body.Close()
  6154  		}
  6155  		return nil, gensupport.WrapError(&googleapi.Error{
  6156  			Code:   res.StatusCode,
  6157  			Header: res.Header,
  6158  		})
  6159  	}
  6160  	if err != nil {
  6161  		return nil, err
  6162  	}
  6163  	defer googleapi.CloseBody(res)
  6164  	if err := googleapi.CheckResponse(res); err != nil {
  6165  		return nil, gensupport.WrapError(err)
  6166  	}
  6167  	ret := &Empty{
  6168  		ServerResponse: googleapi.ServerResponse{
  6169  			Header:         res.Header,
  6170  			HTTPStatusCode: res.StatusCode,
  6171  		},
  6172  	}
  6173  	target := &ret
  6174  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6175  		return nil, err
  6176  	}
  6177  	return ret, nil
  6178  }
  6179  
  6180  type ProjectsLocationsAutoscalingPoliciesGetCall struct {
  6181  	s            *Service
  6182  	name         string
  6183  	urlParams_   gensupport.URLParams
  6184  	ifNoneMatch_ string
  6185  	ctx_         context.Context
  6186  	header_      http.Header
  6187  }
  6188  
  6189  // Get: Retrieves autoscaling policy.
  6190  //
  6191  //   - name: The "resource name" of the autoscaling policy, as described in
  6192  //     https://cloud.google.com/apis/design/resource_names. For
  6193  //     projects.regions.autoscalingPolicies.get, the resource name of the policy
  6194  //     has the following format:
  6195  //     projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
  6196  //     projects.locations.autoscalingPolicies.get, the resource name of the
  6197  //     policy has the following format:
  6198  //     projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}.
  6199  func (r *ProjectsLocationsAutoscalingPoliciesService) Get(name string) *ProjectsLocationsAutoscalingPoliciesGetCall {
  6200  	c := &ProjectsLocationsAutoscalingPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6201  	c.name = name
  6202  	return c
  6203  }
  6204  
  6205  // Fields allows partial responses to be retrieved. See
  6206  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6207  // details.
  6208  func (c *ProjectsLocationsAutoscalingPoliciesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesGetCall {
  6209  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6210  	return c
  6211  }
  6212  
  6213  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6214  // object's ETag matches the given value. This is useful for getting updates
  6215  // only after the object has changed since the last request.
  6216  func (c *ProjectsLocationsAutoscalingPoliciesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutoscalingPoliciesGetCall {
  6217  	c.ifNoneMatch_ = entityTag
  6218  	return c
  6219  }
  6220  
  6221  // Context sets the context to be used in this call's Do method.
  6222  func (c *ProjectsLocationsAutoscalingPoliciesGetCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesGetCall {
  6223  	c.ctx_ = ctx
  6224  	return c
  6225  }
  6226  
  6227  // Header returns a http.Header that can be modified by the caller to add
  6228  // headers to the request.
  6229  func (c *ProjectsLocationsAutoscalingPoliciesGetCall) Header() http.Header {
  6230  	if c.header_ == nil {
  6231  		c.header_ = make(http.Header)
  6232  	}
  6233  	return c.header_
  6234  }
  6235  
  6236  func (c *ProjectsLocationsAutoscalingPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
  6237  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6238  	if c.ifNoneMatch_ != "" {
  6239  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6240  	}
  6241  	var body io.Reader = nil
  6242  	c.urlParams_.Set("alt", alt)
  6243  	c.urlParams_.Set("prettyPrint", "false")
  6244  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6245  	urls += "?" + c.urlParams_.Encode()
  6246  	req, err := http.NewRequest("GET", urls, body)
  6247  	if err != nil {
  6248  		return nil, err
  6249  	}
  6250  	req.Header = reqHeaders
  6251  	googleapi.Expand(req.URL, map[string]string{
  6252  		"name": c.name,
  6253  	})
  6254  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6255  }
  6256  
  6257  // Do executes the "dataproc.projects.locations.autoscalingPolicies.get" call.
  6258  // Any non-2xx status code is an error. Response headers are in either
  6259  // *AutoscalingPolicy.ServerResponse.Header or (if a response was returned at
  6260  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6261  // check whether the returned error was because http.StatusNotModified was
  6262  // returned.
  6263  func (c *ProjectsLocationsAutoscalingPoliciesGetCall) Do(opts ...googleapi.CallOption) (*AutoscalingPolicy, error) {
  6264  	gensupport.SetOptions(c.urlParams_, opts...)
  6265  	res, err := c.doRequest("json")
  6266  	if res != nil && res.StatusCode == http.StatusNotModified {
  6267  		if res.Body != nil {
  6268  			res.Body.Close()
  6269  		}
  6270  		return nil, gensupport.WrapError(&googleapi.Error{
  6271  			Code:   res.StatusCode,
  6272  			Header: res.Header,
  6273  		})
  6274  	}
  6275  	if err != nil {
  6276  		return nil, err
  6277  	}
  6278  	defer googleapi.CloseBody(res)
  6279  	if err := googleapi.CheckResponse(res); err != nil {
  6280  		return nil, gensupport.WrapError(err)
  6281  	}
  6282  	ret := &AutoscalingPolicy{
  6283  		ServerResponse: googleapi.ServerResponse{
  6284  			Header:         res.Header,
  6285  			HTTPStatusCode: res.StatusCode,
  6286  		},
  6287  	}
  6288  	target := &ret
  6289  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6290  		return nil, err
  6291  	}
  6292  	return ret, nil
  6293  }
  6294  
  6295  type ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall struct {
  6296  	s                   *Service
  6297  	resource            string
  6298  	getiampolicyrequest *GetIamPolicyRequest
  6299  	urlParams_          gensupport.URLParams
  6300  	ctx_                context.Context
  6301  	header_             http.Header
  6302  }
  6303  
  6304  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  6305  // empty policy if the resource exists and does not have a policy set.
  6306  //
  6307  //   - resource: REQUIRED: The resource for which the policy is being requested.
  6308  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6309  //     for the appropriate value for this field.
  6310  func (r *ProjectsLocationsAutoscalingPoliciesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall {
  6311  	c := &ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6312  	c.resource = resource
  6313  	c.getiampolicyrequest = getiampolicyrequest
  6314  	return c
  6315  }
  6316  
  6317  // Fields allows partial responses to be retrieved. See
  6318  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6319  // details.
  6320  func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall {
  6321  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6322  	return c
  6323  }
  6324  
  6325  // Context sets the context to be used in this call's Do method.
  6326  func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall {
  6327  	c.ctx_ = ctx
  6328  	return c
  6329  }
  6330  
  6331  // Header returns a http.Header that can be modified by the caller to add
  6332  // headers to the request.
  6333  func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) Header() http.Header {
  6334  	if c.header_ == nil {
  6335  		c.header_ = make(http.Header)
  6336  	}
  6337  	return c.header_
  6338  }
  6339  
  6340  func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6341  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6342  	var body io.Reader = nil
  6343  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  6344  	if err != nil {
  6345  		return nil, err
  6346  	}
  6347  	c.urlParams_.Set("alt", alt)
  6348  	c.urlParams_.Set("prettyPrint", "false")
  6349  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  6350  	urls += "?" + c.urlParams_.Encode()
  6351  	req, err := http.NewRequest("POST", urls, body)
  6352  	if err != nil {
  6353  		return nil, err
  6354  	}
  6355  	req.Header = reqHeaders
  6356  	googleapi.Expand(req.URL, map[string]string{
  6357  		"resource": c.resource,
  6358  	})
  6359  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6360  }
  6361  
  6362  // Do executes the "dataproc.projects.locations.autoscalingPolicies.getIamPolicy" call.
  6363  // Any non-2xx status code is an error. Response headers are in either
  6364  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6365  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6366  // whether the returned error was because http.StatusNotModified was returned.
  6367  func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6368  	gensupport.SetOptions(c.urlParams_, opts...)
  6369  	res, err := c.doRequest("json")
  6370  	if res != nil && res.StatusCode == http.StatusNotModified {
  6371  		if res.Body != nil {
  6372  			res.Body.Close()
  6373  		}
  6374  		return nil, gensupport.WrapError(&googleapi.Error{
  6375  			Code:   res.StatusCode,
  6376  			Header: res.Header,
  6377  		})
  6378  	}
  6379  	if err != nil {
  6380  		return nil, err
  6381  	}
  6382  	defer googleapi.CloseBody(res)
  6383  	if err := googleapi.CheckResponse(res); err != nil {
  6384  		return nil, gensupport.WrapError(err)
  6385  	}
  6386  	ret := &Policy{
  6387  		ServerResponse: googleapi.ServerResponse{
  6388  			Header:         res.Header,
  6389  			HTTPStatusCode: res.StatusCode,
  6390  		},
  6391  	}
  6392  	target := &ret
  6393  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6394  		return nil, err
  6395  	}
  6396  	return ret, nil
  6397  }
  6398  
  6399  type ProjectsLocationsAutoscalingPoliciesListCall struct {
  6400  	s            *Service
  6401  	parent       string
  6402  	urlParams_   gensupport.URLParams
  6403  	ifNoneMatch_ string
  6404  	ctx_         context.Context
  6405  	header_      http.Header
  6406  }
  6407  
  6408  // List: Lists autoscaling policies in the project.
  6409  //
  6410  //   - parent: The "resource name" of the region or location, as described in
  6411  //     https://cloud.google.com/apis/design/resource_names. For
  6412  //     projects.regions.autoscalingPolicies.list, the resource name of the region
  6413  //     has the following format: projects/{project_id}/regions/{region} For
  6414  //     projects.locations.autoscalingPolicies.list, the resource name of the
  6415  //     location has the following format:
  6416  //     projects/{project_id}/locations/{location}.
  6417  func (r *ProjectsLocationsAutoscalingPoliciesService) List(parent string) *ProjectsLocationsAutoscalingPoliciesListCall {
  6418  	c := &ProjectsLocationsAutoscalingPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6419  	c.parent = parent
  6420  	return c
  6421  }
  6422  
  6423  // PageSize sets the optional parameter "pageSize": The maximum number of
  6424  // results to return in each response. Must be less than or equal to 1000.
  6425  // Defaults to 100.
  6426  func (c *ProjectsLocationsAutoscalingPoliciesListCall) PageSize(pageSize int64) *ProjectsLocationsAutoscalingPoliciesListCall {
  6427  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6428  	return c
  6429  }
  6430  
  6431  // PageToken sets the optional parameter "pageToken": The page token, returned
  6432  // by a previous call, to request the next page of results.
  6433  func (c *ProjectsLocationsAutoscalingPoliciesListCall) PageToken(pageToken string) *ProjectsLocationsAutoscalingPoliciesListCall {
  6434  	c.urlParams_.Set("pageToken", pageToken)
  6435  	return c
  6436  }
  6437  
  6438  // Fields allows partial responses to be retrieved. See
  6439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6440  // details.
  6441  func (c *ProjectsLocationsAutoscalingPoliciesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesListCall {
  6442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6443  	return c
  6444  }
  6445  
  6446  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6447  // object's ETag matches the given value. This is useful for getting updates
  6448  // only after the object has changed since the last request.
  6449  func (c *ProjectsLocationsAutoscalingPoliciesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutoscalingPoliciesListCall {
  6450  	c.ifNoneMatch_ = entityTag
  6451  	return c
  6452  }
  6453  
  6454  // Context sets the context to be used in this call's Do method.
  6455  func (c *ProjectsLocationsAutoscalingPoliciesListCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesListCall {
  6456  	c.ctx_ = ctx
  6457  	return c
  6458  }
  6459  
  6460  // Header returns a http.Header that can be modified by the caller to add
  6461  // headers to the request.
  6462  func (c *ProjectsLocationsAutoscalingPoliciesListCall) Header() http.Header {
  6463  	if c.header_ == nil {
  6464  		c.header_ = make(http.Header)
  6465  	}
  6466  	return c.header_
  6467  }
  6468  
  6469  func (c *ProjectsLocationsAutoscalingPoliciesListCall) doRequest(alt string) (*http.Response, error) {
  6470  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6471  	if c.ifNoneMatch_ != "" {
  6472  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6473  	}
  6474  	var body io.Reader = nil
  6475  	c.urlParams_.Set("alt", alt)
  6476  	c.urlParams_.Set("prettyPrint", "false")
  6477  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autoscalingPolicies")
  6478  	urls += "?" + c.urlParams_.Encode()
  6479  	req, err := http.NewRequest("GET", urls, body)
  6480  	if err != nil {
  6481  		return nil, err
  6482  	}
  6483  	req.Header = reqHeaders
  6484  	googleapi.Expand(req.URL, map[string]string{
  6485  		"parent": c.parent,
  6486  	})
  6487  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6488  }
  6489  
  6490  // Do executes the "dataproc.projects.locations.autoscalingPolicies.list" call.
  6491  // Any non-2xx status code is an error. Response headers are in either
  6492  // *ListAutoscalingPoliciesResponse.ServerResponse.Header or (if a response was
  6493  // returned at all) in error.(*googleapi.Error).Header. Use
  6494  // googleapi.IsNotModified to check whether the returned error was because
  6495  // http.StatusNotModified was returned.
  6496  func (c *ProjectsLocationsAutoscalingPoliciesListCall) Do(opts ...googleapi.CallOption) (*ListAutoscalingPoliciesResponse, error) {
  6497  	gensupport.SetOptions(c.urlParams_, opts...)
  6498  	res, err := c.doRequest("json")
  6499  	if res != nil && res.StatusCode == http.StatusNotModified {
  6500  		if res.Body != nil {
  6501  			res.Body.Close()
  6502  		}
  6503  		return nil, gensupport.WrapError(&googleapi.Error{
  6504  			Code:   res.StatusCode,
  6505  			Header: res.Header,
  6506  		})
  6507  	}
  6508  	if err != nil {
  6509  		return nil, err
  6510  	}
  6511  	defer googleapi.CloseBody(res)
  6512  	if err := googleapi.CheckResponse(res); err != nil {
  6513  		return nil, gensupport.WrapError(err)
  6514  	}
  6515  	ret := &ListAutoscalingPoliciesResponse{
  6516  		ServerResponse: googleapi.ServerResponse{
  6517  			Header:         res.Header,
  6518  			HTTPStatusCode: res.StatusCode,
  6519  		},
  6520  	}
  6521  	target := &ret
  6522  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6523  		return nil, err
  6524  	}
  6525  	return ret, nil
  6526  }
  6527  
  6528  // Pages invokes f for each page of results.
  6529  // A non-nil error returned from f will halt the iteration.
  6530  // The provided context supersedes any context provided to the Context method.
  6531  func (c *ProjectsLocationsAutoscalingPoliciesListCall) Pages(ctx context.Context, f func(*ListAutoscalingPoliciesResponse) error) error {
  6532  	c.ctx_ = ctx
  6533  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6534  	for {
  6535  		x, err := c.Do()
  6536  		if err != nil {
  6537  			return err
  6538  		}
  6539  		if err := f(x); err != nil {
  6540  			return err
  6541  		}
  6542  		if x.NextPageToken == "" {
  6543  			return nil
  6544  		}
  6545  		c.PageToken(x.NextPageToken)
  6546  	}
  6547  }
  6548  
  6549  type ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall struct {
  6550  	s                   *Service
  6551  	resource            string
  6552  	setiampolicyrequest *SetIamPolicyRequest
  6553  	urlParams_          gensupport.URLParams
  6554  	ctx_                context.Context
  6555  	header_             http.Header
  6556  }
  6557  
  6558  // SetIamPolicy: Sets the access control policy on the specified resource.
  6559  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
  6560  // PERMISSION_DENIED errors.
  6561  //
  6562  //   - resource: REQUIRED: The resource for which the policy is being specified.
  6563  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6564  //     for the appropriate value for this field.
  6565  func (r *ProjectsLocationsAutoscalingPoliciesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall {
  6566  	c := &ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6567  	c.resource = resource
  6568  	c.setiampolicyrequest = setiampolicyrequest
  6569  	return c
  6570  }
  6571  
  6572  // Fields allows partial responses to be retrieved. See
  6573  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6574  // details.
  6575  func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall {
  6576  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6577  	return c
  6578  }
  6579  
  6580  // Context sets the context to be used in this call's Do method.
  6581  func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall {
  6582  	c.ctx_ = ctx
  6583  	return c
  6584  }
  6585  
  6586  // Header returns a http.Header that can be modified by the caller to add
  6587  // headers to the request.
  6588  func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) Header() http.Header {
  6589  	if c.header_ == nil {
  6590  		c.header_ = make(http.Header)
  6591  	}
  6592  	return c.header_
  6593  }
  6594  
  6595  func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6596  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6597  	var body io.Reader = nil
  6598  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  6599  	if err != nil {
  6600  		return nil, err
  6601  	}
  6602  	c.urlParams_.Set("alt", alt)
  6603  	c.urlParams_.Set("prettyPrint", "false")
  6604  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  6605  	urls += "?" + c.urlParams_.Encode()
  6606  	req, err := http.NewRequest("POST", urls, body)
  6607  	if err != nil {
  6608  		return nil, err
  6609  	}
  6610  	req.Header = reqHeaders
  6611  	googleapi.Expand(req.URL, map[string]string{
  6612  		"resource": c.resource,
  6613  	})
  6614  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6615  }
  6616  
  6617  // Do executes the "dataproc.projects.locations.autoscalingPolicies.setIamPolicy" call.
  6618  // Any non-2xx status code is an error. Response headers are in either
  6619  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6620  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6621  // whether the returned error was because http.StatusNotModified was returned.
  6622  func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6623  	gensupport.SetOptions(c.urlParams_, opts...)
  6624  	res, err := c.doRequest("json")
  6625  	if res != nil && res.StatusCode == http.StatusNotModified {
  6626  		if res.Body != nil {
  6627  			res.Body.Close()
  6628  		}
  6629  		return nil, gensupport.WrapError(&googleapi.Error{
  6630  			Code:   res.StatusCode,
  6631  			Header: res.Header,
  6632  		})
  6633  	}
  6634  	if err != nil {
  6635  		return nil, err
  6636  	}
  6637  	defer googleapi.CloseBody(res)
  6638  	if err := googleapi.CheckResponse(res); err != nil {
  6639  		return nil, gensupport.WrapError(err)
  6640  	}
  6641  	ret := &Policy{
  6642  		ServerResponse: googleapi.ServerResponse{
  6643  			Header:         res.Header,
  6644  			HTTPStatusCode: res.StatusCode,
  6645  		},
  6646  	}
  6647  	target := &ret
  6648  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6649  		return nil, err
  6650  	}
  6651  	return ret, nil
  6652  }
  6653  
  6654  type ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall struct {
  6655  	s                         *Service
  6656  	resource                  string
  6657  	testiampermissionsrequest *TestIamPermissionsRequest
  6658  	urlParams_                gensupport.URLParams
  6659  	ctx_                      context.Context
  6660  	header_                   http.Header
  6661  }
  6662  
  6663  // TestIamPermissions: Returns permissions that a caller has on the specified
  6664  // resource. If the resource does not exist, this will return an empty set of
  6665  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
  6666  // used for building permission-aware UIs and command-line tools, not for
  6667  // authorization checking. This operation may "fail open" without warning.
  6668  //
  6669  //   - resource: REQUIRED: The resource for which the policy detail is being
  6670  //     requested. See Resource names
  6671  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  6672  //     value for this field.
  6673  func (r *ProjectsLocationsAutoscalingPoliciesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall {
  6674  	c := &ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6675  	c.resource = resource
  6676  	c.testiampermissionsrequest = testiampermissionsrequest
  6677  	return c
  6678  }
  6679  
  6680  // Fields allows partial responses to be retrieved. See
  6681  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6682  // details.
  6683  func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall {
  6684  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6685  	return c
  6686  }
  6687  
  6688  // Context sets the context to be used in this call's Do method.
  6689  func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall {
  6690  	c.ctx_ = ctx
  6691  	return c
  6692  }
  6693  
  6694  // Header returns a http.Header that can be modified by the caller to add
  6695  // headers to the request.
  6696  func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) Header() http.Header {
  6697  	if c.header_ == nil {
  6698  		c.header_ = make(http.Header)
  6699  	}
  6700  	return c.header_
  6701  }
  6702  
  6703  func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  6704  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6705  	var body io.Reader = nil
  6706  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  6707  	if err != nil {
  6708  		return nil, err
  6709  	}
  6710  	c.urlParams_.Set("alt", alt)
  6711  	c.urlParams_.Set("prettyPrint", "false")
  6712  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  6713  	urls += "?" + c.urlParams_.Encode()
  6714  	req, err := http.NewRequest("POST", urls, body)
  6715  	if err != nil {
  6716  		return nil, err
  6717  	}
  6718  	req.Header = reqHeaders
  6719  	googleapi.Expand(req.URL, map[string]string{
  6720  		"resource": c.resource,
  6721  	})
  6722  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6723  }
  6724  
  6725  // Do executes the "dataproc.projects.locations.autoscalingPolicies.testIamPermissions" call.
  6726  // Any non-2xx status code is an error. Response headers are in either
  6727  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  6728  // returned at all) in error.(*googleapi.Error).Header. Use
  6729  // googleapi.IsNotModified to check whether the returned error was because
  6730  // http.StatusNotModified was returned.
  6731  func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  6732  	gensupport.SetOptions(c.urlParams_, opts...)
  6733  	res, err := c.doRequest("json")
  6734  	if res != nil && res.StatusCode == http.StatusNotModified {
  6735  		if res.Body != nil {
  6736  			res.Body.Close()
  6737  		}
  6738  		return nil, gensupport.WrapError(&googleapi.Error{
  6739  			Code:   res.StatusCode,
  6740  			Header: res.Header,
  6741  		})
  6742  	}
  6743  	if err != nil {
  6744  		return nil, err
  6745  	}
  6746  	defer googleapi.CloseBody(res)
  6747  	if err := googleapi.CheckResponse(res); err != nil {
  6748  		return nil, gensupport.WrapError(err)
  6749  	}
  6750  	ret := &TestIamPermissionsResponse{
  6751  		ServerResponse: googleapi.ServerResponse{
  6752  			Header:         res.Header,
  6753  			HTTPStatusCode: res.StatusCode,
  6754  		},
  6755  	}
  6756  	target := &ret
  6757  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6758  		return nil, err
  6759  	}
  6760  	return ret, nil
  6761  }
  6762  
  6763  type ProjectsLocationsAutoscalingPoliciesUpdateCall struct {
  6764  	s                 *Service
  6765  	name              string
  6766  	autoscalingpolicy *AutoscalingPolicy
  6767  	urlParams_        gensupport.URLParams
  6768  	ctx_              context.Context
  6769  	header_           http.Header
  6770  }
  6771  
  6772  // Update: Updates (replaces) autoscaling policy.Disabled check for
  6773  // update_mask, because all updates will be full replacements.
  6774  //
  6775  //   - name: Output only. The "resource name" of the autoscaling policy, as
  6776  //     described in https://cloud.google.com/apis/design/resource_names. For
  6777  //     projects.regions.autoscalingPolicies, the resource name of the policy has
  6778  //     the following format:
  6779  //     projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
  6780  //     projects.locations.autoscalingPolicies, the resource name of the policy
  6781  //     has the following format:
  6782  //     projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}.
  6783  func (r *ProjectsLocationsAutoscalingPoliciesService) Update(name string, autoscalingpolicy *AutoscalingPolicy) *ProjectsLocationsAutoscalingPoliciesUpdateCall {
  6784  	c := &ProjectsLocationsAutoscalingPoliciesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6785  	c.name = name
  6786  	c.autoscalingpolicy = autoscalingpolicy
  6787  	return c
  6788  }
  6789  
  6790  // Fields allows partial responses to be retrieved. See
  6791  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6792  // details.
  6793  func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutoscalingPoliciesUpdateCall {
  6794  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6795  	return c
  6796  }
  6797  
  6798  // Context sets the context to be used in this call's Do method.
  6799  func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) Context(ctx context.Context) *ProjectsLocationsAutoscalingPoliciesUpdateCall {
  6800  	c.ctx_ = ctx
  6801  	return c
  6802  }
  6803  
  6804  // Header returns a http.Header that can be modified by the caller to add
  6805  // headers to the request.
  6806  func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) Header() http.Header {
  6807  	if c.header_ == nil {
  6808  		c.header_ = make(http.Header)
  6809  	}
  6810  	return c.header_
  6811  }
  6812  
  6813  func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
  6814  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6815  	var body io.Reader = nil
  6816  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscalingpolicy)
  6817  	if err != nil {
  6818  		return nil, err
  6819  	}
  6820  	c.urlParams_.Set("alt", alt)
  6821  	c.urlParams_.Set("prettyPrint", "false")
  6822  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6823  	urls += "?" + c.urlParams_.Encode()
  6824  	req, err := http.NewRequest("PUT", urls, body)
  6825  	if err != nil {
  6826  		return nil, err
  6827  	}
  6828  	req.Header = reqHeaders
  6829  	googleapi.Expand(req.URL, map[string]string{
  6830  		"name": c.name,
  6831  	})
  6832  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6833  }
  6834  
  6835  // Do executes the "dataproc.projects.locations.autoscalingPolicies.update" call.
  6836  // Any non-2xx status code is an error. Response headers are in either
  6837  // *AutoscalingPolicy.ServerResponse.Header or (if a response was returned at
  6838  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6839  // check whether the returned error was because http.StatusNotModified was
  6840  // returned.
  6841  func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) Do(opts ...googleapi.CallOption) (*AutoscalingPolicy, error) {
  6842  	gensupport.SetOptions(c.urlParams_, opts...)
  6843  	res, err := c.doRequest("json")
  6844  	if res != nil && res.StatusCode == http.StatusNotModified {
  6845  		if res.Body != nil {
  6846  			res.Body.Close()
  6847  		}
  6848  		return nil, gensupport.WrapError(&googleapi.Error{
  6849  			Code:   res.StatusCode,
  6850  			Header: res.Header,
  6851  		})
  6852  	}
  6853  	if err != nil {
  6854  		return nil, err
  6855  	}
  6856  	defer googleapi.CloseBody(res)
  6857  	if err := googleapi.CheckResponse(res); err != nil {
  6858  		return nil, gensupport.WrapError(err)
  6859  	}
  6860  	ret := &AutoscalingPolicy{
  6861  		ServerResponse: googleapi.ServerResponse{
  6862  			Header:         res.Header,
  6863  			HTTPStatusCode: res.StatusCode,
  6864  		},
  6865  	}
  6866  	target := &ret
  6867  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6868  		return nil, err
  6869  	}
  6870  	return ret, nil
  6871  }
  6872  
  6873  type ProjectsLocationsBatchesAnalyzeCall struct {
  6874  	s                   *Service
  6875  	name                string
  6876  	analyzebatchrequest *AnalyzeBatchRequest
  6877  	urlParams_          gensupport.URLParams
  6878  	ctx_                context.Context
  6879  	header_             http.Header
  6880  }
  6881  
  6882  // Analyze: Analyze a Batch for possible recommendations and insights.
  6883  //
  6884  //   - name: The fully qualified name of the batch to analyze in the format
  6885  //     "projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID".
  6886  func (r *ProjectsLocationsBatchesService) Analyze(name string, analyzebatchrequest *AnalyzeBatchRequest) *ProjectsLocationsBatchesAnalyzeCall {
  6887  	c := &ProjectsLocationsBatchesAnalyzeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6888  	c.name = name
  6889  	c.analyzebatchrequest = analyzebatchrequest
  6890  	return c
  6891  }
  6892  
  6893  // Fields allows partial responses to be retrieved. See
  6894  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6895  // details.
  6896  func (c *ProjectsLocationsBatchesAnalyzeCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchesAnalyzeCall {
  6897  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6898  	return c
  6899  }
  6900  
  6901  // Context sets the context to be used in this call's Do method.
  6902  func (c *ProjectsLocationsBatchesAnalyzeCall) Context(ctx context.Context) *ProjectsLocationsBatchesAnalyzeCall {
  6903  	c.ctx_ = ctx
  6904  	return c
  6905  }
  6906  
  6907  // Header returns a http.Header that can be modified by the caller to add
  6908  // headers to the request.
  6909  func (c *ProjectsLocationsBatchesAnalyzeCall) Header() http.Header {
  6910  	if c.header_ == nil {
  6911  		c.header_ = make(http.Header)
  6912  	}
  6913  	return c.header_
  6914  }
  6915  
  6916  func (c *ProjectsLocationsBatchesAnalyzeCall) doRequest(alt string) (*http.Response, error) {
  6917  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6918  	var body io.Reader = nil
  6919  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyzebatchrequest)
  6920  	if err != nil {
  6921  		return nil, err
  6922  	}
  6923  	c.urlParams_.Set("alt", alt)
  6924  	c.urlParams_.Set("prettyPrint", "false")
  6925  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:analyze")
  6926  	urls += "?" + c.urlParams_.Encode()
  6927  	req, err := http.NewRequest("POST", urls, body)
  6928  	if err != nil {
  6929  		return nil, err
  6930  	}
  6931  	req.Header = reqHeaders
  6932  	googleapi.Expand(req.URL, map[string]string{
  6933  		"name": c.name,
  6934  	})
  6935  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6936  }
  6937  
  6938  // Do executes the "dataproc.projects.locations.batches.analyze" call.
  6939  // Any non-2xx status code is an error. Response headers are in either
  6940  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6941  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6942  // whether the returned error was because http.StatusNotModified was returned.
  6943  func (c *ProjectsLocationsBatchesAnalyzeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6944  	gensupport.SetOptions(c.urlParams_, opts...)
  6945  	res, err := c.doRequest("json")
  6946  	if res != nil && res.StatusCode == http.StatusNotModified {
  6947  		if res.Body != nil {
  6948  			res.Body.Close()
  6949  		}
  6950  		return nil, gensupport.WrapError(&googleapi.Error{
  6951  			Code:   res.StatusCode,
  6952  			Header: res.Header,
  6953  		})
  6954  	}
  6955  	if err != nil {
  6956  		return nil, err
  6957  	}
  6958  	defer googleapi.CloseBody(res)
  6959  	if err := googleapi.CheckResponse(res); err != nil {
  6960  		return nil, gensupport.WrapError(err)
  6961  	}
  6962  	ret := &Operation{
  6963  		ServerResponse: googleapi.ServerResponse{
  6964  			Header:         res.Header,
  6965  			HTTPStatusCode: res.StatusCode,
  6966  		},
  6967  	}
  6968  	target := &ret
  6969  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6970  		return nil, err
  6971  	}
  6972  	return ret, nil
  6973  }
  6974  
  6975  type ProjectsLocationsBatchesCreateCall struct {
  6976  	s          *Service
  6977  	parent     string
  6978  	batch      *Batch
  6979  	urlParams_ gensupport.URLParams
  6980  	ctx_       context.Context
  6981  	header_    http.Header
  6982  }
  6983  
  6984  // Create: Creates a batch workload that executes asynchronously.
  6985  //
  6986  // - parent: The parent resource where this batch will be created.
  6987  func (r *ProjectsLocationsBatchesService) Create(parent string, batch *Batch) *ProjectsLocationsBatchesCreateCall {
  6988  	c := &ProjectsLocationsBatchesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6989  	c.parent = parent
  6990  	c.batch = batch
  6991  	return c
  6992  }
  6993  
  6994  // BatchId sets the optional parameter "batchId": The ID to use for the batch,
  6995  // which will become the final component of the batch's resource name.This
  6996  // value must be 4-63 characters. Valid characters are /[a-z][0-9]-/.
  6997  func (c *ProjectsLocationsBatchesCreateCall) BatchId(batchId string) *ProjectsLocationsBatchesCreateCall {
  6998  	c.urlParams_.Set("batchId", batchId)
  6999  	return c
  7000  }
  7001  
  7002  // RequestId sets the optional parameter "requestId": A unique ID used to
  7003  // identify the request. If the service receives two CreateBatchRequest
  7004  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s
  7005  // with the same request_id, the second request is ignored and the Operation
  7006  // that corresponds to the first Batch created and stored in the backend is
  7007  // returned.Recommendation: Set this value to a UUID
  7008  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must
  7009  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  7010  // (-). The maximum length is 40 characters.
  7011  func (c *ProjectsLocationsBatchesCreateCall) RequestId(requestId string) *ProjectsLocationsBatchesCreateCall {
  7012  	c.urlParams_.Set("requestId", requestId)
  7013  	return c
  7014  }
  7015  
  7016  // Fields allows partial responses to be retrieved. See
  7017  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7018  // details.
  7019  func (c *ProjectsLocationsBatchesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchesCreateCall {
  7020  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7021  	return c
  7022  }
  7023  
  7024  // Context sets the context to be used in this call's Do method.
  7025  func (c *ProjectsLocationsBatchesCreateCall) Context(ctx context.Context) *ProjectsLocationsBatchesCreateCall {
  7026  	c.ctx_ = ctx
  7027  	return c
  7028  }
  7029  
  7030  // Header returns a http.Header that can be modified by the caller to add
  7031  // headers to the request.
  7032  func (c *ProjectsLocationsBatchesCreateCall) Header() http.Header {
  7033  	if c.header_ == nil {
  7034  		c.header_ = make(http.Header)
  7035  	}
  7036  	return c.header_
  7037  }
  7038  
  7039  func (c *ProjectsLocationsBatchesCreateCall) doRequest(alt string) (*http.Response, error) {
  7040  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7041  	var body io.Reader = nil
  7042  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batch)
  7043  	if err != nil {
  7044  		return nil, err
  7045  	}
  7046  	c.urlParams_.Set("alt", alt)
  7047  	c.urlParams_.Set("prettyPrint", "false")
  7048  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/batches")
  7049  	urls += "?" + c.urlParams_.Encode()
  7050  	req, err := http.NewRequest("POST", urls, body)
  7051  	if err != nil {
  7052  		return nil, err
  7053  	}
  7054  	req.Header = reqHeaders
  7055  	googleapi.Expand(req.URL, map[string]string{
  7056  		"parent": c.parent,
  7057  	})
  7058  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7059  }
  7060  
  7061  // Do executes the "dataproc.projects.locations.batches.create" call.
  7062  // Any non-2xx status code is an error. Response headers are in either
  7063  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7064  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7065  // whether the returned error was because http.StatusNotModified was returned.
  7066  func (c *ProjectsLocationsBatchesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7067  	gensupport.SetOptions(c.urlParams_, opts...)
  7068  	res, err := c.doRequest("json")
  7069  	if res != nil && res.StatusCode == http.StatusNotModified {
  7070  		if res.Body != nil {
  7071  			res.Body.Close()
  7072  		}
  7073  		return nil, gensupport.WrapError(&googleapi.Error{
  7074  			Code:   res.StatusCode,
  7075  			Header: res.Header,
  7076  		})
  7077  	}
  7078  	if err != nil {
  7079  		return nil, err
  7080  	}
  7081  	defer googleapi.CloseBody(res)
  7082  	if err := googleapi.CheckResponse(res); err != nil {
  7083  		return nil, gensupport.WrapError(err)
  7084  	}
  7085  	ret := &Operation{
  7086  		ServerResponse: googleapi.ServerResponse{
  7087  			Header:         res.Header,
  7088  			HTTPStatusCode: res.StatusCode,
  7089  		},
  7090  	}
  7091  	target := &ret
  7092  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7093  		return nil, err
  7094  	}
  7095  	return ret, nil
  7096  }
  7097  
  7098  type ProjectsLocationsBatchesDeleteCall struct {
  7099  	s          *Service
  7100  	name       string
  7101  	urlParams_ gensupport.URLParams
  7102  	ctx_       context.Context
  7103  	header_    http.Header
  7104  }
  7105  
  7106  // Delete: Deletes the batch workload resource. If the batch is not in a
  7107  // CANCELLED, SUCCEEDED or FAILED State, the delete operation fails and the
  7108  // response returns FAILED_PRECONDITION.
  7109  //
  7110  //   - name: The fully qualified name of the batch to retrieve in the format
  7111  //     "projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID".
  7112  func (r *ProjectsLocationsBatchesService) Delete(name string) *ProjectsLocationsBatchesDeleteCall {
  7113  	c := &ProjectsLocationsBatchesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7114  	c.name = name
  7115  	return c
  7116  }
  7117  
  7118  // Fields allows partial responses to be retrieved. See
  7119  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7120  // details.
  7121  func (c *ProjectsLocationsBatchesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchesDeleteCall {
  7122  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7123  	return c
  7124  }
  7125  
  7126  // Context sets the context to be used in this call's Do method.
  7127  func (c *ProjectsLocationsBatchesDeleteCall) Context(ctx context.Context) *ProjectsLocationsBatchesDeleteCall {
  7128  	c.ctx_ = ctx
  7129  	return c
  7130  }
  7131  
  7132  // Header returns a http.Header that can be modified by the caller to add
  7133  // headers to the request.
  7134  func (c *ProjectsLocationsBatchesDeleteCall) Header() http.Header {
  7135  	if c.header_ == nil {
  7136  		c.header_ = make(http.Header)
  7137  	}
  7138  	return c.header_
  7139  }
  7140  
  7141  func (c *ProjectsLocationsBatchesDeleteCall) doRequest(alt string) (*http.Response, error) {
  7142  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7143  	var body io.Reader = nil
  7144  	c.urlParams_.Set("alt", alt)
  7145  	c.urlParams_.Set("prettyPrint", "false")
  7146  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7147  	urls += "?" + c.urlParams_.Encode()
  7148  	req, err := http.NewRequest("DELETE", urls, body)
  7149  	if err != nil {
  7150  		return nil, err
  7151  	}
  7152  	req.Header = reqHeaders
  7153  	googleapi.Expand(req.URL, map[string]string{
  7154  		"name": c.name,
  7155  	})
  7156  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7157  }
  7158  
  7159  // Do executes the "dataproc.projects.locations.batches.delete" call.
  7160  // Any non-2xx status code is an error. Response headers are in either
  7161  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7162  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7163  // whether the returned error was because http.StatusNotModified was returned.
  7164  func (c *ProjectsLocationsBatchesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7165  	gensupport.SetOptions(c.urlParams_, opts...)
  7166  	res, err := c.doRequest("json")
  7167  	if res != nil && res.StatusCode == http.StatusNotModified {
  7168  		if res.Body != nil {
  7169  			res.Body.Close()
  7170  		}
  7171  		return nil, gensupport.WrapError(&googleapi.Error{
  7172  			Code:   res.StatusCode,
  7173  			Header: res.Header,
  7174  		})
  7175  	}
  7176  	if err != nil {
  7177  		return nil, err
  7178  	}
  7179  	defer googleapi.CloseBody(res)
  7180  	if err := googleapi.CheckResponse(res); err != nil {
  7181  		return nil, gensupport.WrapError(err)
  7182  	}
  7183  	ret := &Empty{
  7184  		ServerResponse: googleapi.ServerResponse{
  7185  			Header:         res.Header,
  7186  			HTTPStatusCode: res.StatusCode,
  7187  		},
  7188  	}
  7189  	target := &ret
  7190  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7191  		return nil, err
  7192  	}
  7193  	return ret, nil
  7194  }
  7195  
  7196  type ProjectsLocationsBatchesGetCall struct {
  7197  	s            *Service
  7198  	name         string
  7199  	urlParams_   gensupport.URLParams
  7200  	ifNoneMatch_ string
  7201  	ctx_         context.Context
  7202  	header_      http.Header
  7203  }
  7204  
  7205  // Get: Gets the batch workload resource representation.
  7206  //
  7207  //   - name: The fully qualified name of the batch to retrieve in the format
  7208  //     "projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID".
  7209  func (r *ProjectsLocationsBatchesService) Get(name string) *ProjectsLocationsBatchesGetCall {
  7210  	c := &ProjectsLocationsBatchesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7211  	c.name = name
  7212  	return c
  7213  }
  7214  
  7215  // Fields allows partial responses to be retrieved. See
  7216  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7217  // details.
  7218  func (c *ProjectsLocationsBatchesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchesGetCall {
  7219  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7220  	return c
  7221  }
  7222  
  7223  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7224  // object's ETag matches the given value. This is useful for getting updates
  7225  // only after the object has changed since the last request.
  7226  func (c *ProjectsLocationsBatchesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsBatchesGetCall {
  7227  	c.ifNoneMatch_ = entityTag
  7228  	return c
  7229  }
  7230  
  7231  // Context sets the context to be used in this call's Do method.
  7232  func (c *ProjectsLocationsBatchesGetCall) Context(ctx context.Context) *ProjectsLocationsBatchesGetCall {
  7233  	c.ctx_ = ctx
  7234  	return c
  7235  }
  7236  
  7237  // Header returns a http.Header that can be modified by the caller to add
  7238  // headers to the request.
  7239  func (c *ProjectsLocationsBatchesGetCall) Header() http.Header {
  7240  	if c.header_ == nil {
  7241  		c.header_ = make(http.Header)
  7242  	}
  7243  	return c.header_
  7244  }
  7245  
  7246  func (c *ProjectsLocationsBatchesGetCall) doRequest(alt string) (*http.Response, error) {
  7247  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7248  	if c.ifNoneMatch_ != "" {
  7249  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7250  	}
  7251  	var body io.Reader = nil
  7252  	c.urlParams_.Set("alt", alt)
  7253  	c.urlParams_.Set("prettyPrint", "false")
  7254  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7255  	urls += "?" + c.urlParams_.Encode()
  7256  	req, err := http.NewRequest("GET", urls, body)
  7257  	if err != nil {
  7258  		return nil, err
  7259  	}
  7260  	req.Header = reqHeaders
  7261  	googleapi.Expand(req.URL, map[string]string{
  7262  		"name": c.name,
  7263  	})
  7264  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7265  }
  7266  
  7267  // Do executes the "dataproc.projects.locations.batches.get" call.
  7268  // Any non-2xx status code is an error. Response headers are in either
  7269  // *Batch.ServerResponse.Header or (if a response was returned at all) in
  7270  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7271  // whether the returned error was because http.StatusNotModified was returned.
  7272  func (c *ProjectsLocationsBatchesGetCall) Do(opts ...googleapi.CallOption) (*Batch, error) {
  7273  	gensupport.SetOptions(c.urlParams_, opts...)
  7274  	res, err := c.doRequest("json")
  7275  	if res != nil && res.StatusCode == http.StatusNotModified {
  7276  		if res.Body != nil {
  7277  			res.Body.Close()
  7278  		}
  7279  		return nil, gensupport.WrapError(&googleapi.Error{
  7280  			Code:   res.StatusCode,
  7281  			Header: res.Header,
  7282  		})
  7283  	}
  7284  	if err != nil {
  7285  		return nil, err
  7286  	}
  7287  	defer googleapi.CloseBody(res)
  7288  	if err := googleapi.CheckResponse(res); err != nil {
  7289  		return nil, gensupport.WrapError(err)
  7290  	}
  7291  	ret := &Batch{
  7292  		ServerResponse: googleapi.ServerResponse{
  7293  			Header:         res.Header,
  7294  			HTTPStatusCode: res.StatusCode,
  7295  		},
  7296  	}
  7297  	target := &ret
  7298  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7299  		return nil, err
  7300  	}
  7301  	return ret, nil
  7302  }
  7303  
  7304  type ProjectsLocationsBatchesListCall struct {
  7305  	s            *Service
  7306  	parent       string
  7307  	urlParams_   gensupport.URLParams
  7308  	ifNoneMatch_ string
  7309  	ctx_         context.Context
  7310  	header_      http.Header
  7311  }
  7312  
  7313  // List: Lists batch workloads.
  7314  //
  7315  // - parent: The parent, which owns this collection of batches.
  7316  func (r *ProjectsLocationsBatchesService) List(parent string) *ProjectsLocationsBatchesListCall {
  7317  	c := &ProjectsLocationsBatchesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7318  	c.parent = parent
  7319  	return c
  7320  }
  7321  
  7322  // Filter sets the optional parameter "filter": A filter for the batches to
  7323  // return in the response.A filter is a logical expression constraining the
  7324  // values of various fields in each batch resource. Filters are case sensitive,
  7325  // and may contain multiple clauses combined with logical operators (AND/OR).
  7326  // Supported fields are batch_id, batch_uuid, state, create_time, and
  7327  // labels.e.g. state = RUNNING and create_time < "2023-01-01T00:00:00Z" filters
  7328  // for batches in state RUNNING that were created before 2023-01-01. state =
  7329  // RUNNING and labels.environment=production filters for batches in state in a
  7330  // RUNNING state that have a production environment label.See
  7331  // https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed
  7332  // description of the filter syntax and a list of supported comparisons.
  7333  func (c *ProjectsLocationsBatchesListCall) Filter(filter string) *ProjectsLocationsBatchesListCall {
  7334  	c.urlParams_.Set("filter", filter)
  7335  	return c
  7336  }
  7337  
  7338  // OrderBy sets the optional parameter "orderBy": Field(s) on which to sort the
  7339  // list of batches.Currently the only supported sort orders are unspecified
  7340  // (empty) and create_time desc to sort by most recently created batches
  7341  // first.See https://google.aip.dev/132#ordering for more details.
  7342  func (c *ProjectsLocationsBatchesListCall) OrderBy(orderBy string) *ProjectsLocationsBatchesListCall {
  7343  	c.urlParams_.Set("orderBy", orderBy)
  7344  	return c
  7345  }
  7346  
  7347  // PageSize sets the optional parameter "pageSize": The maximum number of
  7348  // batches to return in each response. The service may return fewer than this
  7349  // value. The default page size is 20; the maximum page size is 1000.
  7350  func (c *ProjectsLocationsBatchesListCall) PageSize(pageSize int64) *ProjectsLocationsBatchesListCall {
  7351  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7352  	return c
  7353  }
  7354  
  7355  // PageToken sets the optional parameter "pageToken": A page token received
  7356  // from a previous ListBatches call. Provide this token to retrieve the
  7357  // subsequent page.
  7358  func (c *ProjectsLocationsBatchesListCall) PageToken(pageToken string) *ProjectsLocationsBatchesListCall {
  7359  	c.urlParams_.Set("pageToken", pageToken)
  7360  	return c
  7361  }
  7362  
  7363  // Fields allows partial responses to be retrieved. See
  7364  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7365  // details.
  7366  func (c *ProjectsLocationsBatchesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchesListCall {
  7367  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7368  	return c
  7369  }
  7370  
  7371  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7372  // object's ETag matches the given value. This is useful for getting updates
  7373  // only after the object has changed since the last request.
  7374  func (c *ProjectsLocationsBatchesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsBatchesListCall {
  7375  	c.ifNoneMatch_ = entityTag
  7376  	return c
  7377  }
  7378  
  7379  // Context sets the context to be used in this call's Do method.
  7380  func (c *ProjectsLocationsBatchesListCall) Context(ctx context.Context) *ProjectsLocationsBatchesListCall {
  7381  	c.ctx_ = ctx
  7382  	return c
  7383  }
  7384  
  7385  // Header returns a http.Header that can be modified by the caller to add
  7386  // headers to the request.
  7387  func (c *ProjectsLocationsBatchesListCall) Header() http.Header {
  7388  	if c.header_ == nil {
  7389  		c.header_ = make(http.Header)
  7390  	}
  7391  	return c.header_
  7392  }
  7393  
  7394  func (c *ProjectsLocationsBatchesListCall) doRequest(alt string) (*http.Response, error) {
  7395  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7396  	if c.ifNoneMatch_ != "" {
  7397  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7398  	}
  7399  	var body io.Reader = nil
  7400  	c.urlParams_.Set("alt", alt)
  7401  	c.urlParams_.Set("prettyPrint", "false")
  7402  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/batches")
  7403  	urls += "?" + c.urlParams_.Encode()
  7404  	req, err := http.NewRequest("GET", urls, body)
  7405  	if err != nil {
  7406  		return nil, err
  7407  	}
  7408  	req.Header = reqHeaders
  7409  	googleapi.Expand(req.URL, map[string]string{
  7410  		"parent": c.parent,
  7411  	})
  7412  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7413  }
  7414  
  7415  // Do executes the "dataproc.projects.locations.batches.list" call.
  7416  // Any non-2xx status code is an error. Response headers are in either
  7417  // *ListBatchesResponse.ServerResponse.Header or (if a response was returned at
  7418  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7419  // check whether the returned error was because http.StatusNotModified was
  7420  // returned.
  7421  func (c *ProjectsLocationsBatchesListCall) Do(opts ...googleapi.CallOption) (*ListBatchesResponse, error) {
  7422  	gensupport.SetOptions(c.urlParams_, opts...)
  7423  	res, err := c.doRequest("json")
  7424  	if res != nil && res.StatusCode == http.StatusNotModified {
  7425  		if res.Body != nil {
  7426  			res.Body.Close()
  7427  		}
  7428  		return nil, gensupport.WrapError(&googleapi.Error{
  7429  			Code:   res.StatusCode,
  7430  			Header: res.Header,
  7431  		})
  7432  	}
  7433  	if err != nil {
  7434  		return nil, err
  7435  	}
  7436  	defer googleapi.CloseBody(res)
  7437  	if err := googleapi.CheckResponse(res); err != nil {
  7438  		return nil, gensupport.WrapError(err)
  7439  	}
  7440  	ret := &ListBatchesResponse{
  7441  		ServerResponse: googleapi.ServerResponse{
  7442  			Header:         res.Header,
  7443  			HTTPStatusCode: res.StatusCode,
  7444  		},
  7445  	}
  7446  	target := &ret
  7447  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7448  		return nil, err
  7449  	}
  7450  	return ret, nil
  7451  }
  7452  
  7453  // Pages invokes f for each page of results.
  7454  // A non-nil error returned from f will halt the iteration.
  7455  // The provided context supersedes any context provided to the Context method.
  7456  func (c *ProjectsLocationsBatchesListCall) Pages(ctx context.Context, f func(*ListBatchesResponse) error) error {
  7457  	c.ctx_ = ctx
  7458  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7459  	for {
  7460  		x, err := c.Do()
  7461  		if err != nil {
  7462  			return err
  7463  		}
  7464  		if err := f(x); err != nil {
  7465  			return err
  7466  		}
  7467  		if x.NextPageToken == "" {
  7468  			return nil
  7469  		}
  7470  		c.PageToken(x.NextPageToken)
  7471  	}
  7472  }
  7473  
  7474  type ProjectsLocationsOperationsCancelCall struct {
  7475  	s          *Service
  7476  	name       string
  7477  	urlParams_ gensupport.URLParams
  7478  	ctx_       context.Context
  7479  	header_    http.Header
  7480  }
  7481  
  7482  // Cancel: Starts asynchronous cancellation on a long-running operation. The
  7483  // server makes a best effort to cancel the operation, but success is not
  7484  // guaranteed. If the server doesn't support this method, it returns
  7485  // google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or
  7486  // other methods to check whether the cancellation succeeded or whether the
  7487  // operation completed despite cancellation. On successful cancellation, the
  7488  // operation is not deleted; instead, it becomes an operation with an
  7489  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
  7490  // Code.CANCELLED.
  7491  //
  7492  // - name: The name of the operation resource to be cancelled.
  7493  func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
  7494  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7495  	c.name = name
  7496  	return c
  7497  }
  7498  
  7499  // Fields allows partial responses to be retrieved. See
  7500  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7501  // details.
  7502  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
  7503  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7504  	return c
  7505  }
  7506  
  7507  // Context sets the context to be used in this call's Do method.
  7508  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
  7509  	c.ctx_ = ctx
  7510  	return c
  7511  }
  7512  
  7513  // Header returns a http.Header that can be modified by the caller to add
  7514  // headers to the request.
  7515  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
  7516  	if c.header_ == nil {
  7517  		c.header_ = make(http.Header)
  7518  	}
  7519  	return c.header_
  7520  }
  7521  
  7522  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
  7523  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7524  	var body io.Reader = nil
  7525  	c.urlParams_.Set("alt", alt)
  7526  	c.urlParams_.Set("prettyPrint", "false")
  7527  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
  7528  	urls += "?" + c.urlParams_.Encode()
  7529  	req, err := http.NewRequest("POST", urls, body)
  7530  	if err != nil {
  7531  		return nil, err
  7532  	}
  7533  	req.Header = reqHeaders
  7534  	googleapi.Expand(req.URL, map[string]string{
  7535  		"name": c.name,
  7536  	})
  7537  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7538  }
  7539  
  7540  // Do executes the "dataproc.projects.locations.operations.cancel" call.
  7541  // Any non-2xx status code is an error. Response headers are in either
  7542  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7543  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7544  // whether the returned error was because http.StatusNotModified was returned.
  7545  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7546  	gensupport.SetOptions(c.urlParams_, opts...)
  7547  	res, err := c.doRequest("json")
  7548  	if res != nil && res.StatusCode == http.StatusNotModified {
  7549  		if res.Body != nil {
  7550  			res.Body.Close()
  7551  		}
  7552  		return nil, gensupport.WrapError(&googleapi.Error{
  7553  			Code:   res.StatusCode,
  7554  			Header: res.Header,
  7555  		})
  7556  	}
  7557  	if err != nil {
  7558  		return nil, err
  7559  	}
  7560  	defer googleapi.CloseBody(res)
  7561  	if err := googleapi.CheckResponse(res); err != nil {
  7562  		return nil, gensupport.WrapError(err)
  7563  	}
  7564  	ret := &Empty{
  7565  		ServerResponse: googleapi.ServerResponse{
  7566  			Header:         res.Header,
  7567  			HTTPStatusCode: res.StatusCode,
  7568  		},
  7569  	}
  7570  	target := &ret
  7571  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7572  		return nil, err
  7573  	}
  7574  	return ret, nil
  7575  }
  7576  
  7577  type ProjectsLocationsOperationsDeleteCall struct {
  7578  	s          *Service
  7579  	name       string
  7580  	urlParams_ gensupport.URLParams
  7581  	ctx_       context.Context
  7582  	header_    http.Header
  7583  }
  7584  
  7585  // Delete: Deletes a long-running operation. This method indicates that the
  7586  // client is no longer interested in the operation result. It does not cancel
  7587  // the operation. If the server doesn't support this method, it returns
  7588  // google.rpc.Code.UNIMPLEMENTED.
  7589  //
  7590  // - name: The name of the operation resource to be deleted.
  7591  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
  7592  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7593  	c.name = name
  7594  	return c
  7595  }
  7596  
  7597  // Fields allows partial responses to be retrieved. See
  7598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7599  // details.
  7600  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
  7601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7602  	return c
  7603  }
  7604  
  7605  // Context sets the context to be used in this call's Do method.
  7606  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
  7607  	c.ctx_ = ctx
  7608  	return c
  7609  }
  7610  
  7611  // Header returns a http.Header that can be modified by the caller to add
  7612  // headers to the request.
  7613  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
  7614  	if c.header_ == nil {
  7615  		c.header_ = make(http.Header)
  7616  	}
  7617  	return c.header_
  7618  }
  7619  
  7620  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7621  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7622  	var body io.Reader = nil
  7623  	c.urlParams_.Set("alt", alt)
  7624  	c.urlParams_.Set("prettyPrint", "false")
  7625  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7626  	urls += "?" + c.urlParams_.Encode()
  7627  	req, err := http.NewRequest("DELETE", urls, body)
  7628  	if err != nil {
  7629  		return nil, err
  7630  	}
  7631  	req.Header = reqHeaders
  7632  	googleapi.Expand(req.URL, map[string]string{
  7633  		"name": c.name,
  7634  	})
  7635  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7636  }
  7637  
  7638  // Do executes the "dataproc.projects.locations.operations.delete" call.
  7639  // Any non-2xx status code is an error. Response headers are in either
  7640  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7641  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7642  // whether the returned error was because http.StatusNotModified was returned.
  7643  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7644  	gensupport.SetOptions(c.urlParams_, opts...)
  7645  	res, err := c.doRequest("json")
  7646  	if res != nil && res.StatusCode == http.StatusNotModified {
  7647  		if res.Body != nil {
  7648  			res.Body.Close()
  7649  		}
  7650  		return nil, gensupport.WrapError(&googleapi.Error{
  7651  			Code:   res.StatusCode,
  7652  			Header: res.Header,
  7653  		})
  7654  	}
  7655  	if err != nil {
  7656  		return nil, err
  7657  	}
  7658  	defer googleapi.CloseBody(res)
  7659  	if err := googleapi.CheckResponse(res); err != nil {
  7660  		return nil, gensupport.WrapError(err)
  7661  	}
  7662  	ret := &Empty{
  7663  		ServerResponse: googleapi.ServerResponse{
  7664  			Header:         res.Header,
  7665  			HTTPStatusCode: res.StatusCode,
  7666  		},
  7667  	}
  7668  	target := &ret
  7669  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7670  		return nil, err
  7671  	}
  7672  	return ret, nil
  7673  }
  7674  
  7675  type ProjectsLocationsOperationsGetCall struct {
  7676  	s            *Service
  7677  	name         string
  7678  	urlParams_   gensupport.URLParams
  7679  	ifNoneMatch_ string
  7680  	ctx_         context.Context
  7681  	header_      http.Header
  7682  }
  7683  
  7684  // Get: Gets the latest state of a long-running operation. Clients can use this
  7685  // method to poll the operation result at intervals as recommended by the API
  7686  // service.
  7687  //
  7688  // - name: The name of the operation resource.
  7689  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
  7690  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7691  	c.name = name
  7692  	return c
  7693  }
  7694  
  7695  // Fields allows partial responses to be retrieved. See
  7696  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7697  // details.
  7698  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  7699  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7700  	return c
  7701  }
  7702  
  7703  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7704  // object's ETag matches the given value. This is useful for getting updates
  7705  // only after the object has changed since the last request.
  7706  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  7707  	c.ifNoneMatch_ = entityTag
  7708  	return c
  7709  }
  7710  
  7711  // Context sets the context to be used in this call's Do method.
  7712  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  7713  	c.ctx_ = ctx
  7714  	return c
  7715  }
  7716  
  7717  // Header returns a http.Header that can be modified by the caller to add
  7718  // headers to the request.
  7719  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  7720  	if c.header_ == nil {
  7721  		c.header_ = make(http.Header)
  7722  	}
  7723  	return c.header_
  7724  }
  7725  
  7726  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  7727  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7728  	if c.ifNoneMatch_ != "" {
  7729  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7730  	}
  7731  	var body io.Reader = nil
  7732  	c.urlParams_.Set("alt", alt)
  7733  	c.urlParams_.Set("prettyPrint", "false")
  7734  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7735  	urls += "?" + c.urlParams_.Encode()
  7736  	req, err := http.NewRequest("GET", urls, body)
  7737  	if err != nil {
  7738  		return nil, err
  7739  	}
  7740  	req.Header = reqHeaders
  7741  	googleapi.Expand(req.URL, map[string]string{
  7742  		"name": c.name,
  7743  	})
  7744  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7745  }
  7746  
  7747  // Do executes the "dataproc.projects.locations.operations.get" call.
  7748  // Any non-2xx status code is an error. Response headers are in either
  7749  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7750  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7751  // whether the returned error was because http.StatusNotModified was returned.
  7752  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7753  	gensupport.SetOptions(c.urlParams_, opts...)
  7754  	res, err := c.doRequest("json")
  7755  	if res != nil && res.StatusCode == http.StatusNotModified {
  7756  		if res.Body != nil {
  7757  			res.Body.Close()
  7758  		}
  7759  		return nil, gensupport.WrapError(&googleapi.Error{
  7760  			Code:   res.StatusCode,
  7761  			Header: res.Header,
  7762  		})
  7763  	}
  7764  	if err != nil {
  7765  		return nil, err
  7766  	}
  7767  	defer googleapi.CloseBody(res)
  7768  	if err := googleapi.CheckResponse(res); err != nil {
  7769  		return nil, gensupport.WrapError(err)
  7770  	}
  7771  	ret := &Operation{
  7772  		ServerResponse: googleapi.ServerResponse{
  7773  			Header:         res.Header,
  7774  			HTTPStatusCode: res.StatusCode,
  7775  		},
  7776  	}
  7777  	target := &ret
  7778  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7779  		return nil, err
  7780  	}
  7781  	return ret, nil
  7782  }
  7783  
  7784  type ProjectsLocationsOperationsListCall struct {
  7785  	s            *Service
  7786  	name         string
  7787  	urlParams_   gensupport.URLParams
  7788  	ifNoneMatch_ string
  7789  	ctx_         context.Context
  7790  	header_      http.Header
  7791  }
  7792  
  7793  // List: Lists operations that match the specified filter in the request. If
  7794  // the server doesn't support this method, it returns UNIMPLEMENTED.
  7795  //
  7796  // - name: The name of the operation's parent resource.
  7797  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
  7798  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7799  	c.name = name
  7800  	return c
  7801  }
  7802  
  7803  // Filter sets the optional parameter "filter": The standard list filter.
  7804  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
  7805  	c.urlParams_.Set("filter", filter)
  7806  	return c
  7807  }
  7808  
  7809  // PageSize sets the optional parameter "pageSize": The standard list page
  7810  // size.
  7811  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
  7812  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7813  	return c
  7814  }
  7815  
  7816  // PageToken sets the optional parameter "pageToken": The standard list page
  7817  // token.
  7818  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
  7819  	c.urlParams_.Set("pageToken", pageToken)
  7820  	return c
  7821  }
  7822  
  7823  // Fields allows partial responses to be retrieved. See
  7824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7825  // details.
  7826  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
  7827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7828  	return c
  7829  }
  7830  
  7831  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7832  // object's ETag matches the given value. This is useful for getting updates
  7833  // only after the object has changed since the last request.
  7834  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
  7835  	c.ifNoneMatch_ = entityTag
  7836  	return c
  7837  }
  7838  
  7839  // Context sets the context to be used in this call's Do method.
  7840  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
  7841  	c.ctx_ = ctx
  7842  	return c
  7843  }
  7844  
  7845  // Header returns a http.Header that can be modified by the caller to add
  7846  // headers to the request.
  7847  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
  7848  	if c.header_ == nil {
  7849  		c.header_ = make(http.Header)
  7850  	}
  7851  	return c.header_
  7852  }
  7853  
  7854  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  7855  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7856  	if c.ifNoneMatch_ != "" {
  7857  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7858  	}
  7859  	var body io.Reader = nil
  7860  	c.urlParams_.Set("alt", alt)
  7861  	c.urlParams_.Set("prettyPrint", "false")
  7862  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7863  	urls += "?" + c.urlParams_.Encode()
  7864  	req, err := http.NewRequest("GET", urls, body)
  7865  	if err != nil {
  7866  		return nil, err
  7867  	}
  7868  	req.Header = reqHeaders
  7869  	googleapi.Expand(req.URL, map[string]string{
  7870  		"name": c.name,
  7871  	})
  7872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7873  }
  7874  
  7875  // Do executes the "dataproc.projects.locations.operations.list" call.
  7876  // Any non-2xx status code is an error. Response headers are in either
  7877  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  7878  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7879  // check whether the returned error was because http.StatusNotModified was
  7880  // returned.
  7881  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  7882  	gensupport.SetOptions(c.urlParams_, opts...)
  7883  	res, err := c.doRequest("json")
  7884  	if res != nil && res.StatusCode == http.StatusNotModified {
  7885  		if res.Body != nil {
  7886  			res.Body.Close()
  7887  		}
  7888  		return nil, gensupport.WrapError(&googleapi.Error{
  7889  			Code:   res.StatusCode,
  7890  			Header: res.Header,
  7891  		})
  7892  	}
  7893  	if err != nil {
  7894  		return nil, err
  7895  	}
  7896  	defer googleapi.CloseBody(res)
  7897  	if err := googleapi.CheckResponse(res); err != nil {
  7898  		return nil, gensupport.WrapError(err)
  7899  	}
  7900  	ret := &ListOperationsResponse{
  7901  		ServerResponse: googleapi.ServerResponse{
  7902  			Header:         res.Header,
  7903  			HTTPStatusCode: res.StatusCode,
  7904  		},
  7905  	}
  7906  	target := &ret
  7907  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7908  		return nil, err
  7909  	}
  7910  	return ret, nil
  7911  }
  7912  
  7913  // Pages invokes f for each page of results.
  7914  // A non-nil error returned from f will halt the iteration.
  7915  // The provided context supersedes any context provided to the Context method.
  7916  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  7917  	c.ctx_ = ctx
  7918  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7919  	for {
  7920  		x, err := c.Do()
  7921  		if err != nil {
  7922  			return err
  7923  		}
  7924  		if err := f(x); err != nil {
  7925  			return err
  7926  		}
  7927  		if x.NextPageToken == "" {
  7928  			return nil
  7929  		}
  7930  		c.PageToken(x.NextPageToken)
  7931  	}
  7932  }
  7933  
  7934  type ProjectsLocationsSessionTemplatesCreateCall struct {
  7935  	s               *Service
  7936  	parent          string
  7937  	sessiontemplate *SessionTemplate
  7938  	urlParams_      gensupport.URLParams
  7939  	ctx_            context.Context
  7940  	header_         http.Header
  7941  }
  7942  
  7943  // Create: Create a session template synchronously.
  7944  //
  7945  // - parent: The parent resource where this session template will be created.
  7946  func (r *ProjectsLocationsSessionTemplatesService) Create(parent string, sessiontemplate *SessionTemplate) *ProjectsLocationsSessionTemplatesCreateCall {
  7947  	c := &ProjectsLocationsSessionTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7948  	c.parent = parent
  7949  	c.sessiontemplate = sessiontemplate
  7950  	return c
  7951  }
  7952  
  7953  // Fields allows partial responses to be retrieved. See
  7954  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7955  // details.
  7956  func (c *ProjectsLocationsSessionTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionTemplatesCreateCall {
  7957  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7958  	return c
  7959  }
  7960  
  7961  // Context sets the context to be used in this call's Do method.
  7962  func (c *ProjectsLocationsSessionTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsSessionTemplatesCreateCall {
  7963  	c.ctx_ = ctx
  7964  	return c
  7965  }
  7966  
  7967  // Header returns a http.Header that can be modified by the caller to add
  7968  // headers to the request.
  7969  func (c *ProjectsLocationsSessionTemplatesCreateCall) Header() http.Header {
  7970  	if c.header_ == nil {
  7971  		c.header_ = make(http.Header)
  7972  	}
  7973  	return c.header_
  7974  }
  7975  
  7976  func (c *ProjectsLocationsSessionTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
  7977  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7978  	var body io.Reader = nil
  7979  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sessiontemplate)
  7980  	if err != nil {
  7981  		return nil, err
  7982  	}
  7983  	c.urlParams_.Set("alt", alt)
  7984  	c.urlParams_.Set("prettyPrint", "false")
  7985  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sessionTemplates")
  7986  	urls += "?" + c.urlParams_.Encode()
  7987  	req, err := http.NewRequest("POST", urls, body)
  7988  	if err != nil {
  7989  		return nil, err
  7990  	}
  7991  	req.Header = reqHeaders
  7992  	googleapi.Expand(req.URL, map[string]string{
  7993  		"parent": c.parent,
  7994  	})
  7995  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7996  }
  7997  
  7998  // Do executes the "dataproc.projects.locations.sessionTemplates.create" call.
  7999  // Any non-2xx status code is an error. Response headers are in either
  8000  // *SessionTemplate.ServerResponse.Header or (if a response was returned at
  8001  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8002  // check whether the returned error was because http.StatusNotModified was
  8003  // returned.
  8004  func (c *ProjectsLocationsSessionTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*SessionTemplate, error) {
  8005  	gensupport.SetOptions(c.urlParams_, opts...)
  8006  	res, err := c.doRequest("json")
  8007  	if res != nil && res.StatusCode == http.StatusNotModified {
  8008  		if res.Body != nil {
  8009  			res.Body.Close()
  8010  		}
  8011  		return nil, gensupport.WrapError(&googleapi.Error{
  8012  			Code:   res.StatusCode,
  8013  			Header: res.Header,
  8014  		})
  8015  	}
  8016  	if err != nil {
  8017  		return nil, err
  8018  	}
  8019  	defer googleapi.CloseBody(res)
  8020  	if err := googleapi.CheckResponse(res); err != nil {
  8021  		return nil, gensupport.WrapError(err)
  8022  	}
  8023  	ret := &SessionTemplate{
  8024  		ServerResponse: googleapi.ServerResponse{
  8025  			Header:         res.Header,
  8026  			HTTPStatusCode: res.StatusCode,
  8027  		},
  8028  	}
  8029  	target := &ret
  8030  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8031  		return nil, err
  8032  	}
  8033  	return ret, nil
  8034  }
  8035  
  8036  type ProjectsLocationsSessionTemplatesDeleteCall struct {
  8037  	s          *Service
  8038  	name       string
  8039  	urlParams_ gensupport.URLParams
  8040  	ctx_       context.Context
  8041  	header_    http.Header
  8042  }
  8043  
  8044  // Delete: Deletes a session template.
  8045  //
  8046  // - name: The name of the session template resource to delete.
  8047  func (r *ProjectsLocationsSessionTemplatesService) Delete(name string) *ProjectsLocationsSessionTemplatesDeleteCall {
  8048  	c := &ProjectsLocationsSessionTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8049  	c.name = name
  8050  	return c
  8051  }
  8052  
  8053  // Fields allows partial responses to be retrieved. See
  8054  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8055  // details.
  8056  func (c *ProjectsLocationsSessionTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionTemplatesDeleteCall {
  8057  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8058  	return c
  8059  }
  8060  
  8061  // Context sets the context to be used in this call's Do method.
  8062  func (c *ProjectsLocationsSessionTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsSessionTemplatesDeleteCall {
  8063  	c.ctx_ = ctx
  8064  	return c
  8065  }
  8066  
  8067  // Header returns a http.Header that can be modified by the caller to add
  8068  // headers to the request.
  8069  func (c *ProjectsLocationsSessionTemplatesDeleteCall) Header() http.Header {
  8070  	if c.header_ == nil {
  8071  		c.header_ = make(http.Header)
  8072  	}
  8073  	return c.header_
  8074  }
  8075  
  8076  func (c *ProjectsLocationsSessionTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
  8077  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8078  	var body io.Reader = nil
  8079  	c.urlParams_.Set("alt", alt)
  8080  	c.urlParams_.Set("prettyPrint", "false")
  8081  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8082  	urls += "?" + c.urlParams_.Encode()
  8083  	req, err := http.NewRequest("DELETE", urls, body)
  8084  	if err != nil {
  8085  		return nil, err
  8086  	}
  8087  	req.Header = reqHeaders
  8088  	googleapi.Expand(req.URL, map[string]string{
  8089  		"name": c.name,
  8090  	})
  8091  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8092  }
  8093  
  8094  // Do executes the "dataproc.projects.locations.sessionTemplates.delete" call.
  8095  // Any non-2xx status code is an error. Response headers are in either
  8096  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  8097  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8098  // whether the returned error was because http.StatusNotModified was returned.
  8099  func (c *ProjectsLocationsSessionTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  8100  	gensupport.SetOptions(c.urlParams_, opts...)
  8101  	res, err := c.doRequest("json")
  8102  	if res != nil && res.StatusCode == http.StatusNotModified {
  8103  		if res.Body != nil {
  8104  			res.Body.Close()
  8105  		}
  8106  		return nil, gensupport.WrapError(&googleapi.Error{
  8107  			Code:   res.StatusCode,
  8108  			Header: res.Header,
  8109  		})
  8110  	}
  8111  	if err != nil {
  8112  		return nil, err
  8113  	}
  8114  	defer googleapi.CloseBody(res)
  8115  	if err := googleapi.CheckResponse(res); err != nil {
  8116  		return nil, gensupport.WrapError(err)
  8117  	}
  8118  	ret := &Empty{
  8119  		ServerResponse: googleapi.ServerResponse{
  8120  			Header:         res.Header,
  8121  			HTTPStatusCode: res.StatusCode,
  8122  		},
  8123  	}
  8124  	target := &ret
  8125  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8126  		return nil, err
  8127  	}
  8128  	return ret, nil
  8129  }
  8130  
  8131  type ProjectsLocationsSessionTemplatesGetCall struct {
  8132  	s            *Service
  8133  	name         string
  8134  	urlParams_   gensupport.URLParams
  8135  	ifNoneMatch_ string
  8136  	ctx_         context.Context
  8137  	header_      http.Header
  8138  }
  8139  
  8140  // Get: Gets the resource representation for a session template.
  8141  //
  8142  // - name: The name of the session template to retrieve.
  8143  func (r *ProjectsLocationsSessionTemplatesService) Get(name string) *ProjectsLocationsSessionTemplatesGetCall {
  8144  	c := &ProjectsLocationsSessionTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8145  	c.name = name
  8146  	return c
  8147  }
  8148  
  8149  // Fields allows partial responses to be retrieved. See
  8150  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8151  // details.
  8152  func (c *ProjectsLocationsSessionTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionTemplatesGetCall {
  8153  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8154  	return c
  8155  }
  8156  
  8157  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8158  // object's ETag matches the given value. This is useful for getting updates
  8159  // only after the object has changed since the last request.
  8160  func (c *ProjectsLocationsSessionTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSessionTemplatesGetCall {
  8161  	c.ifNoneMatch_ = entityTag
  8162  	return c
  8163  }
  8164  
  8165  // Context sets the context to be used in this call's Do method.
  8166  func (c *ProjectsLocationsSessionTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsSessionTemplatesGetCall {
  8167  	c.ctx_ = ctx
  8168  	return c
  8169  }
  8170  
  8171  // Header returns a http.Header that can be modified by the caller to add
  8172  // headers to the request.
  8173  func (c *ProjectsLocationsSessionTemplatesGetCall) Header() http.Header {
  8174  	if c.header_ == nil {
  8175  		c.header_ = make(http.Header)
  8176  	}
  8177  	return c.header_
  8178  }
  8179  
  8180  func (c *ProjectsLocationsSessionTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
  8181  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8182  	if c.ifNoneMatch_ != "" {
  8183  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8184  	}
  8185  	var body io.Reader = nil
  8186  	c.urlParams_.Set("alt", alt)
  8187  	c.urlParams_.Set("prettyPrint", "false")
  8188  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8189  	urls += "?" + c.urlParams_.Encode()
  8190  	req, err := http.NewRequest("GET", urls, body)
  8191  	if err != nil {
  8192  		return nil, err
  8193  	}
  8194  	req.Header = reqHeaders
  8195  	googleapi.Expand(req.URL, map[string]string{
  8196  		"name": c.name,
  8197  	})
  8198  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8199  }
  8200  
  8201  // Do executes the "dataproc.projects.locations.sessionTemplates.get" call.
  8202  // Any non-2xx status code is an error. Response headers are in either
  8203  // *SessionTemplate.ServerResponse.Header or (if a response was returned at
  8204  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8205  // check whether the returned error was because http.StatusNotModified was
  8206  // returned.
  8207  func (c *ProjectsLocationsSessionTemplatesGetCall) Do(opts ...googleapi.CallOption) (*SessionTemplate, error) {
  8208  	gensupport.SetOptions(c.urlParams_, opts...)
  8209  	res, err := c.doRequest("json")
  8210  	if res != nil && res.StatusCode == http.StatusNotModified {
  8211  		if res.Body != nil {
  8212  			res.Body.Close()
  8213  		}
  8214  		return nil, gensupport.WrapError(&googleapi.Error{
  8215  			Code:   res.StatusCode,
  8216  			Header: res.Header,
  8217  		})
  8218  	}
  8219  	if err != nil {
  8220  		return nil, err
  8221  	}
  8222  	defer googleapi.CloseBody(res)
  8223  	if err := googleapi.CheckResponse(res); err != nil {
  8224  		return nil, gensupport.WrapError(err)
  8225  	}
  8226  	ret := &SessionTemplate{
  8227  		ServerResponse: googleapi.ServerResponse{
  8228  			Header:         res.Header,
  8229  			HTTPStatusCode: res.StatusCode,
  8230  		},
  8231  	}
  8232  	target := &ret
  8233  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8234  		return nil, err
  8235  	}
  8236  	return ret, nil
  8237  }
  8238  
  8239  type ProjectsLocationsSessionTemplatesListCall struct {
  8240  	s            *Service
  8241  	parent       string
  8242  	urlParams_   gensupport.URLParams
  8243  	ifNoneMatch_ string
  8244  	ctx_         context.Context
  8245  	header_      http.Header
  8246  }
  8247  
  8248  // List: Lists session templates.
  8249  //
  8250  // - parent: The parent that owns this collection of session templates.
  8251  func (r *ProjectsLocationsSessionTemplatesService) List(parent string) *ProjectsLocationsSessionTemplatesListCall {
  8252  	c := &ProjectsLocationsSessionTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8253  	c.parent = parent
  8254  	return c
  8255  }
  8256  
  8257  // Filter sets the optional parameter "filter": A filter for the session
  8258  // templates to return in the response. Filters are case sensitive and have the
  8259  // following syntax:field = value AND field = value ...
  8260  func (c *ProjectsLocationsSessionTemplatesListCall) Filter(filter string) *ProjectsLocationsSessionTemplatesListCall {
  8261  	c.urlParams_.Set("filter", filter)
  8262  	return c
  8263  }
  8264  
  8265  // PageSize sets the optional parameter "pageSize": The maximum number of
  8266  // sessions to return in each response. The service may return fewer than this
  8267  // value.
  8268  func (c *ProjectsLocationsSessionTemplatesListCall) PageSize(pageSize int64) *ProjectsLocationsSessionTemplatesListCall {
  8269  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8270  	return c
  8271  }
  8272  
  8273  // PageToken sets the optional parameter "pageToken": A page token received
  8274  // from a previous ListSessions call. Provide this token to retrieve the
  8275  // subsequent page.
  8276  func (c *ProjectsLocationsSessionTemplatesListCall) PageToken(pageToken string) *ProjectsLocationsSessionTemplatesListCall {
  8277  	c.urlParams_.Set("pageToken", pageToken)
  8278  	return c
  8279  }
  8280  
  8281  // Fields allows partial responses to be retrieved. See
  8282  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8283  // details.
  8284  func (c *ProjectsLocationsSessionTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionTemplatesListCall {
  8285  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8286  	return c
  8287  }
  8288  
  8289  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8290  // object's ETag matches the given value. This is useful for getting updates
  8291  // only after the object has changed since the last request.
  8292  func (c *ProjectsLocationsSessionTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSessionTemplatesListCall {
  8293  	c.ifNoneMatch_ = entityTag
  8294  	return c
  8295  }
  8296  
  8297  // Context sets the context to be used in this call's Do method.
  8298  func (c *ProjectsLocationsSessionTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsSessionTemplatesListCall {
  8299  	c.ctx_ = ctx
  8300  	return c
  8301  }
  8302  
  8303  // Header returns a http.Header that can be modified by the caller to add
  8304  // headers to the request.
  8305  func (c *ProjectsLocationsSessionTemplatesListCall) Header() http.Header {
  8306  	if c.header_ == nil {
  8307  		c.header_ = make(http.Header)
  8308  	}
  8309  	return c.header_
  8310  }
  8311  
  8312  func (c *ProjectsLocationsSessionTemplatesListCall) doRequest(alt string) (*http.Response, error) {
  8313  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8314  	if c.ifNoneMatch_ != "" {
  8315  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8316  	}
  8317  	var body io.Reader = nil
  8318  	c.urlParams_.Set("alt", alt)
  8319  	c.urlParams_.Set("prettyPrint", "false")
  8320  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sessionTemplates")
  8321  	urls += "?" + c.urlParams_.Encode()
  8322  	req, err := http.NewRequest("GET", urls, body)
  8323  	if err != nil {
  8324  		return nil, err
  8325  	}
  8326  	req.Header = reqHeaders
  8327  	googleapi.Expand(req.URL, map[string]string{
  8328  		"parent": c.parent,
  8329  	})
  8330  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8331  }
  8332  
  8333  // Do executes the "dataproc.projects.locations.sessionTemplates.list" call.
  8334  // Any non-2xx status code is an error. Response headers are in either
  8335  // *ListSessionTemplatesResponse.ServerResponse.Header or (if a response was
  8336  // returned at all) in error.(*googleapi.Error).Header. Use
  8337  // googleapi.IsNotModified to check whether the returned error was because
  8338  // http.StatusNotModified was returned.
  8339  func (c *ProjectsLocationsSessionTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListSessionTemplatesResponse, error) {
  8340  	gensupport.SetOptions(c.urlParams_, opts...)
  8341  	res, err := c.doRequest("json")
  8342  	if res != nil && res.StatusCode == http.StatusNotModified {
  8343  		if res.Body != nil {
  8344  			res.Body.Close()
  8345  		}
  8346  		return nil, gensupport.WrapError(&googleapi.Error{
  8347  			Code:   res.StatusCode,
  8348  			Header: res.Header,
  8349  		})
  8350  	}
  8351  	if err != nil {
  8352  		return nil, err
  8353  	}
  8354  	defer googleapi.CloseBody(res)
  8355  	if err := googleapi.CheckResponse(res); err != nil {
  8356  		return nil, gensupport.WrapError(err)
  8357  	}
  8358  	ret := &ListSessionTemplatesResponse{
  8359  		ServerResponse: googleapi.ServerResponse{
  8360  			Header:         res.Header,
  8361  			HTTPStatusCode: res.StatusCode,
  8362  		},
  8363  	}
  8364  	target := &ret
  8365  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8366  		return nil, err
  8367  	}
  8368  	return ret, nil
  8369  }
  8370  
  8371  // Pages invokes f for each page of results.
  8372  // A non-nil error returned from f will halt the iteration.
  8373  // The provided context supersedes any context provided to the Context method.
  8374  func (c *ProjectsLocationsSessionTemplatesListCall) Pages(ctx context.Context, f func(*ListSessionTemplatesResponse) error) error {
  8375  	c.ctx_ = ctx
  8376  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8377  	for {
  8378  		x, err := c.Do()
  8379  		if err != nil {
  8380  			return err
  8381  		}
  8382  		if err := f(x); err != nil {
  8383  			return err
  8384  		}
  8385  		if x.NextPageToken == "" {
  8386  			return nil
  8387  		}
  8388  		c.PageToken(x.NextPageToken)
  8389  	}
  8390  }
  8391  
  8392  type ProjectsLocationsSessionTemplatesPatchCall struct {
  8393  	s               *Service
  8394  	name            string
  8395  	sessiontemplate *SessionTemplate
  8396  	urlParams_      gensupport.URLParams
  8397  	ctx_            context.Context
  8398  	header_         http.Header
  8399  }
  8400  
  8401  // Patch: Updates the session template synchronously.
  8402  //
  8403  // - name: The resource name of the session template.
  8404  func (r *ProjectsLocationsSessionTemplatesService) Patch(name string, sessiontemplate *SessionTemplate) *ProjectsLocationsSessionTemplatesPatchCall {
  8405  	c := &ProjectsLocationsSessionTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8406  	c.name = name
  8407  	c.sessiontemplate = sessiontemplate
  8408  	return c
  8409  }
  8410  
  8411  // Fields allows partial responses to be retrieved. See
  8412  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8413  // details.
  8414  func (c *ProjectsLocationsSessionTemplatesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionTemplatesPatchCall {
  8415  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8416  	return c
  8417  }
  8418  
  8419  // Context sets the context to be used in this call's Do method.
  8420  func (c *ProjectsLocationsSessionTemplatesPatchCall) Context(ctx context.Context) *ProjectsLocationsSessionTemplatesPatchCall {
  8421  	c.ctx_ = ctx
  8422  	return c
  8423  }
  8424  
  8425  // Header returns a http.Header that can be modified by the caller to add
  8426  // headers to the request.
  8427  func (c *ProjectsLocationsSessionTemplatesPatchCall) Header() http.Header {
  8428  	if c.header_ == nil {
  8429  		c.header_ = make(http.Header)
  8430  	}
  8431  	return c.header_
  8432  }
  8433  
  8434  func (c *ProjectsLocationsSessionTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
  8435  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8436  	var body io.Reader = nil
  8437  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sessiontemplate)
  8438  	if err != nil {
  8439  		return nil, err
  8440  	}
  8441  	c.urlParams_.Set("alt", alt)
  8442  	c.urlParams_.Set("prettyPrint", "false")
  8443  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8444  	urls += "?" + c.urlParams_.Encode()
  8445  	req, err := http.NewRequest("PATCH", urls, body)
  8446  	if err != nil {
  8447  		return nil, err
  8448  	}
  8449  	req.Header = reqHeaders
  8450  	googleapi.Expand(req.URL, map[string]string{
  8451  		"name": c.name,
  8452  	})
  8453  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8454  }
  8455  
  8456  // Do executes the "dataproc.projects.locations.sessionTemplates.patch" call.
  8457  // Any non-2xx status code is an error. Response headers are in either
  8458  // *SessionTemplate.ServerResponse.Header or (if a response was returned at
  8459  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8460  // check whether the returned error was because http.StatusNotModified was
  8461  // returned.
  8462  func (c *ProjectsLocationsSessionTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*SessionTemplate, error) {
  8463  	gensupport.SetOptions(c.urlParams_, opts...)
  8464  	res, err := c.doRequest("json")
  8465  	if res != nil && res.StatusCode == http.StatusNotModified {
  8466  		if res.Body != nil {
  8467  			res.Body.Close()
  8468  		}
  8469  		return nil, gensupport.WrapError(&googleapi.Error{
  8470  			Code:   res.StatusCode,
  8471  			Header: res.Header,
  8472  		})
  8473  	}
  8474  	if err != nil {
  8475  		return nil, err
  8476  	}
  8477  	defer googleapi.CloseBody(res)
  8478  	if err := googleapi.CheckResponse(res); err != nil {
  8479  		return nil, gensupport.WrapError(err)
  8480  	}
  8481  	ret := &SessionTemplate{
  8482  		ServerResponse: googleapi.ServerResponse{
  8483  			Header:         res.Header,
  8484  			HTTPStatusCode: res.StatusCode,
  8485  		},
  8486  	}
  8487  	target := &ret
  8488  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8489  		return nil, err
  8490  	}
  8491  	return ret, nil
  8492  }
  8493  
  8494  type ProjectsLocationsSessionsCreateCall struct {
  8495  	s          *Service
  8496  	parent     string
  8497  	session    *Session
  8498  	urlParams_ gensupport.URLParams
  8499  	ctx_       context.Context
  8500  	header_    http.Header
  8501  }
  8502  
  8503  // Create: Create an interactive session asynchronously.
  8504  //
  8505  // - parent: The parent resource where this session will be created.
  8506  func (r *ProjectsLocationsSessionsService) Create(parent string, session *Session) *ProjectsLocationsSessionsCreateCall {
  8507  	c := &ProjectsLocationsSessionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8508  	c.parent = parent
  8509  	c.session = session
  8510  	return c
  8511  }
  8512  
  8513  // RequestId sets the optional parameter "requestId": A unique ID used to
  8514  // identify the request. If the service receives two CreateSessionRequests
  8515  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s
  8516  // with the same ID, the second request is ignored, and the first Session is
  8517  // created and stored in the backend.Recommendation: Set this value to a UUID
  8518  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must
  8519  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  8520  // (-). The maximum length is 40 characters.
  8521  func (c *ProjectsLocationsSessionsCreateCall) RequestId(requestId string) *ProjectsLocationsSessionsCreateCall {
  8522  	c.urlParams_.Set("requestId", requestId)
  8523  	return c
  8524  }
  8525  
  8526  // SessionId sets the optional parameter "sessionId": Required. The ID to use
  8527  // for the session, which becomes the final component of the session's resource
  8528  // name.This value must be 4-63 characters. Valid characters are /a-z-/.
  8529  func (c *ProjectsLocationsSessionsCreateCall) SessionId(sessionId string) *ProjectsLocationsSessionsCreateCall {
  8530  	c.urlParams_.Set("sessionId", sessionId)
  8531  	return c
  8532  }
  8533  
  8534  // Fields allows partial responses to be retrieved. See
  8535  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8536  // details.
  8537  func (c *ProjectsLocationsSessionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionsCreateCall {
  8538  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8539  	return c
  8540  }
  8541  
  8542  // Context sets the context to be used in this call's Do method.
  8543  func (c *ProjectsLocationsSessionsCreateCall) Context(ctx context.Context) *ProjectsLocationsSessionsCreateCall {
  8544  	c.ctx_ = ctx
  8545  	return c
  8546  }
  8547  
  8548  // Header returns a http.Header that can be modified by the caller to add
  8549  // headers to the request.
  8550  func (c *ProjectsLocationsSessionsCreateCall) Header() http.Header {
  8551  	if c.header_ == nil {
  8552  		c.header_ = make(http.Header)
  8553  	}
  8554  	return c.header_
  8555  }
  8556  
  8557  func (c *ProjectsLocationsSessionsCreateCall) doRequest(alt string) (*http.Response, error) {
  8558  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8559  	var body io.Reader = nil
  8560  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.session)
  8561  	if err != nil {
  8562  		return nil, err
  8563  	}
  8564  	c.urlParams_.Set("alt", alt)
  8565  	c.urlParams_.Set("prettyPrint", "false")
  8566  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sessions")
  8567  	urls += "?" + c.urlParams_.Encode()
  8568  	req, err := http.NewRequest("POST", urls, body)
  8569  	if err != nil {
  8570  		return nil, err
  8571  	}
  8572  	req.Header = reqHeaders
  8573  	googleapi.Expand(req.URL, map[string]string{
  8574  		"parent": c.parent,
  8575  	})
  8576  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8577  }
  8578  
  8579  // Do executes the "dataproc.projects.locations.sessions.create" call.
  8580  // Any non-2xx status code is an error. Response headers are in either
  8581  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8582  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8583  // whether the returned error was because http.StatusNotModified was returned.
  8584  func (c *ProjectsLocationsSessionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8585  	gensupport.SetOptions(c.urlParams_, opts...)
  8586  	res, err := c.doRequest("json")
  8587  	if res != nil && res.StatusCode == http.StatusNotModified {
  8588  		if res.Body != nil {
  8589  			res.Body.Close()
  8590  		}
  8591  		return nil, gensupport.WrapError(&googleapi.Error{
  8592  			Code:   res.StatusCode,
  8593  			Header: res.Header,
  8594  		})
  8595  	}
  8596  	if err != nil {
  8597  		return nil, err
  8598  	}
  8599  	defer googleapi.CloseBody(res)
  8600  	if err := googleapi.CheckResponse(res); err != nil {
  8601  		return nil, gensupport.WrapError(err)
  8602  	}
  8603  	ret := &Operation{
  8604  		ServerResponse: googleapi.ServerResponse{
  8605  			Header:         res.Header,
  8606  			HTTPStatusCode: res.StatusCode,
  8607  		},
  8608  	}
  8609  	target := &ret
  8610  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8611  		return nil, err
  8612  	}
  8613  	return ret, nil
  8614  }
  8615  
  8616  type ProjectsLocationsSessionsDeleteCall struct {
  8617  	s          *Service
  8618  	name       string
  8619  	urlParams_ gensupport.URLParams
  8620  	ctx_       context.Context
  8621  	header_    http.Header
  8622  }
  8623  
  8624  // Delete: Deletes the interactive session resource. If the session is not in
  8625  // terminal state, it is terminated, and then deleted.
  8626  //
  8627  // - name: The name of the session resource to delete.
  8628  func (r *ProjectsLocationsSessionsService) Delete(name string) *ProjectsLocationsSessionsDeleteCall {
  8629  	c := &ProjectsLocationsSessionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8630  	c.name = name
  8631  	return c
  8632  }
  8633  
  8634  // RequestId sets the optional parameter "requestId": A unique ID used to
  8635  // identify the request. If the service receives two DeleteSessionRequest
  8636  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteSessionRequest)s
  8637  // with the same ID, the second request is ignored.Recommendation: Set this
  8638  // value to a UUID
  8639  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must
  8640  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  8641  // (-). The maximum length is 40 characters.
  8642  func (c *ProjectsLocationsSessionsDeleteCall) RequestId(requestId string) *ProjectsLocationsSessionsDeleteCall {
  8643  	c.urlParams_.Set("requestId", requestId)
  8644  	return c
  8645  }
  8646  
  8647  // Fields allows partial responses to be retrieved. See
  8648  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8649  // details.
  8650  func (c *ProjectsLocationsSessionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionsDeleteCall {
  8651  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8652  	return c
  8653  }
  8654  
  8655  // Context sets the context to be used in this call's Do method.
  8656  func (c *ProjectsLocationsSessionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSessionsDeleteCall {
  8657  	c.ctx_ = ctx
  8658  	return c
  8659  }
  8660  
  8661  // Header returns a http.Header that can be modified by the caller to add
  8662  // headers to the request.
  8663  func (c *ProjectsLocationsSessionsDeleteCall) Header() http.Header {
  8664  	if c.header_ == nil {
  8665  		c.header_ = make(http.Header)
  8666  	}
  8667  	return c.header_
  8668  }
  8669  
  8670  func (c *ProjectsLocationsSessionsDeleteCall) doRequest(alt string) (*http.Response, error) {
  8671  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8672  	var body io.Reader = nil
  8673  	c.urlParams_.Set("alt", alt)
  8674  	c.urlParams_.Set("prettyPrint", "false")
  8675  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8676  	urls += "?" + c.urlParams_.Encode()
  8677  	req, err := http.NewRequest("DELETE", urls, body)
  8678  	if err != nil {
  8679  		return nil, err
  8680  	}
  8681  	req.Header = reqHeaders
  8682  	googleapi.Expand(req.URL, map[string]string{
  8683  		"name": c.name,
  8684  	})
  8685  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8686  }
  8687  
  8688  // Do executes the "dataproc.projects.locations.sessions.delete" call.
  8689  // Any non-2xx status code is an error. Response headers are in either
  8690  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8691  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8692  // whether the returned error was because http.StatusNotModified was returned.
  8693  func (c *ProjectsLocationsSessionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8694  	gensupport.SetOptions(c.urlParams_, opts...)
  8695  	res, err := c.doRequest("json")
  8696  	if res != nil && res.StatusCode == http.StatusNotModified {
  8697  		if res.Body != nil {
  8698  			res.Body.Close()
  8699  		}
  8700  		return nil, gensupport.WrapError(&googleapi.Error{
  8701  			Code:   res.StatusCode,
  8702  			Header: res.Header,
  8703  		})
  8704  	}
  8705  	if err != nil {
  8706  		return nil, err
  8707  	}
  8708  	defer googleapi.CloseBody(res)
  8709  	if err := googleapi.CheckResponse(res); err != nil {
  8710  		return nil, gensupport.WrapError(err)
  8711  	}
  8712  	ret := &Operation{
  8713  		ServerResponse: googleapi.ServerResponse{
  8714  			Header:         res.Header,
  8715  			HTTPStatusCode: res.StatusCode,
  8716  		},
  8717  	}
  8718  	target := &ret
  8719  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8720  		return nil, err
  8721  	}
  8722  	return ret, nil
  8723  }
  8724  
  8725  type ProjectsLocationsSessionsGetCall struct {
  8726  	s            *Service
  8727  	name         string
  8728  	urlParams_   gensupport.URLParams
  8729  	ifNoneMatch_ string
  8730  	ctx_         context.Context
  8731  	header_      http.Header
  8732  }
  8733  
  8734  // Get: Gets the resource representation for an interactive session.
  8735  //
  8736  // - name: The name of the session to retrieve.
  8737  func (r *ProjectsLocationsSessionsService) Get(name string) *ProjectsLocationsSessionsGetCall {
  8738  	c := &ProjectsLocationsSessionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8739  	c.name = name
  8740  	return c
  8741  }
  8742  
  8743  // Fields allows partial responses to be retrieved. See
  8744  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8745  // details.
  8746  func (c *ProjectsLocationsSessionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionsGetCall {
  8747  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8748  	return c
  8749  }
  8750  
  8751  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8752  // object's ETag matches the given value. This is useful for getting updates
  8753  // only after the object has changed since the last request.
  8754  func (c *ProjectsLocationsSessionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSessionsGetCall {
  8755  	c.ifNoneMatch_ = entityTag
  8756  	return c
  8757  }
  8758  
  8759  // Context sets the context to be used in this call's Do method.
  8760  func (c *ProjectsLocationsSessionsGetCall) Context(ctx context.Context) *ProjectsLocationsSessionsGetCall {
  8761  	c.ctx_ = ctx
  8762  	return c
  8763  }
  8764  
  8765  // Header returns a http.Header that can be modified by the caller to add
  8766  // headers to the request.
  8767  func (c *ProjectsLocationsSessionsGetCall) Header() http.Header {
  8768  	if c.header_ == nil {
  8769  		c.header_ = make(http.Header)
  8770  	}
  8771  	return c.header_
  8772  }
  8773  
  8774  func (c *ProjectsLocationsSessionsGetCall) doRequest(alt string) (*http.Response, error) {
  8775  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8776  	if c.ifNoneMatch_ != "" {
  8777  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8778  	}
  8779  	var body io.Reader = nil
  8780  	c.urlParams_.Set("alt", alt)
  8781  	c.urlParams_.Set("prettyPrint", "false")
  8782  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8783  	urls += "?" + c.urlParams_.Encode()
  8784  	req, err := http.NewRequest("GET", urls, body)
  8785  	if err != nil {
  8786  		return nil, err
  8787  	}
  8788  	req.Header = reqHeaders
  8789  	googleapi.Expand(req.URL, map[string]string{
  8790  		"name": c.name,
  8791  	})
  8792  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8793  }
  8794  
  8795  // Do executes the "dataproc.projects.locations.sessions.get" call.
  8796  // Any non-2xx status code is an error. Response headers are in either
  8797  // *Session.ServerResponse.Header or (if a response was returned at all) in
  8798  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8799  // whether the returned error was because http.StatusNotModified was returned.
  8800  func (c *ProjectsLocationsSessionsGetCall) Do(opts ...googleapi.CallOption) (*Session, error) {
  8801  	gensupport.SetOptions(c.urlParams_, opts...)
  8802  	res, err := c.doRequest("json")
  8803  	if res != nil && res.StatusCode == http.StatusNotModified {
  8804  		if res.Body != nil {
  8805  			res.Body.Close()
  8806  		}
  8807  		return nil, gensupport.WrapError(&googleapi.Error{
  8808  			Code:   res.StatusCode,
  8809  			Header: res.Header,
  8810  		})
  8811  	}
  8812  	if err != nil {
  8813  		return nil, err
  8814  	}
  8815  	defer googleapi.CloseBody(res)
  8816  	if err := googleapi.CheckResponse(res); err != nil {
  8817  		return nil, gensupport.WrapError(err)
  8818  	}
  8819  	ret := &Session{
  8820  		ServerResponse: googleapi.ServerResponse{
  8821  			Header:         res.Header,
  8822  			HTTPStatusCode: res.StatusCode,
  8823  		},
  8824  	}
  8825  	target := &ret
  8826  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8827  		return nil, err
  8828  	}
  8829  	return ret, nil
  8830  }
  8831  
  8832  type ProjectsLocationsSessionsListCall struct {
  8833  	s            *Service
  8834  	parent       string
  8835  	urlParams_   gensupport.URLParams
  8836  	ifNoneMatch_ string
  8837  	ctx_         context.Context
  8838  	header_      http.Header
  8839  }
  8840  
  8841  // List: Lists interactive sessions.
  8842  //
  8843  // - parent: The parent, which owns this collection of sessions.
  8844  func (r *ProjectsLocationsSessionsService) List(parent string) *ProjectsLocationsSessionsListCall {
  8845  	c := &ProjectsLocationsSessionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8846  	c.parent = parent
  8847  	return c
  8848  }
  8849  
  8850  // Filter sets the optional parameter "filter": A filter for the sessions to
  8851  // return in the response.A filter is a logical expression constraining the
  8852  // values of various fields in each session resource. Filters are case
  8853  // sensitive, and may contain multiple clauses combined with logical operators
  8854  // (AND, OR). Supported fields are session_id, session_uuid, state,
  8855  // create_time, and labels.Example: state = ACTIVE and create_time <
  8856  // "2023-01-01T00:00:00Z" is a filter for sessions in an ACTIVE state that were
  8857  // created before 2023-01-01. state = ACTIVE and labels.environment=production
  8858  // is a filter for sessions in an ACTIVE state that have a production
  8859  // environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt
  8860  // for a detailed description of the filter syntax and a list of supported
  8861  // comparators.
  8862  func (c *ProjectsLocationsSessionsListCall) Filter(filter string) *ProjectsLocationsSessionsListCall {
  8863  	c.urlParams_.Set("filter", filter)
  8864  	return c
  8865  }
  8866  
  8867  // PageSize sets the optional parameter "pageSize": The maximum number of
  8868  // sessions to return in each response. The service may return fewer than this
  8869  // value.
  8870  func (c *ProjectsLocationsSessionsListCall) PageSize(pageSize int64) *ProjectsLocationsSessionsListCall {
  8871  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8872  	return c
  8873  }
  8874  
  8875  // PageToken sets the optional parameter "pageToken": A page token received
  8876  // from a previous ListSessions call. Provide this token to retrieve the
  8877  // subsequent page.
  8878  func (c *ProjectsLocationsSessionsListCall) PageToken(pageToken string) *ProjectsLocationsSessionsListCall {
  8879  	c.urlParams_.Set("pageToken", pageToken)
  8880  	return c
  8881  }
  8882  
  8883  // Fields allows partial responses to be retrieved. See
  8884  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8885  // details.
  8886  func (c *ProjectsLocationsSessionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionsListCall {
  8887  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8888  	return c
  8889  }
  8890  
  8891  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8892  // object's ETag matches the given value. This is useful for getting updates
  8893  // only after the object has changed since the last request.
  8894  func (c *ProjectsLocationsSessionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSessionsListCall {
  8895  	c.ifNoneMatch_ = entityTag
  8896  	return c
  8897  }
  8898  
  8899  // Context sets the context to be used in this call's Do method.
  8900  func (c *ProjectsLocationsSessionsListCall) Context(ctx context.Context) *ProjectsLocationsSessionsListCall {
  8901  	c.ctx_ = ctx
  8902  	return c
  8903  }
  8904  
  8905  // Header returns a http.Header that can be modified by the caller to add
  8906  // headers to the request.
  8907  func (c *ProjectsLocationsSessionsListCall) Header() http.Header {
  8908  	if c.header_ == nil {
  8909  		c.header_ = make(http.Header)
  8910  	}
  8911  	return c.header_
  8912  }
  8913  
  8914  func (c *ProjectsLocationsSessionsListCall) doRequest(alt string) (*http.Response, error) {
  8915  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8916  	if c.ifNoneMatch_ != "" {
  8917  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8918  	}
  8919  	var body io.Reader = nil
  8920  	c.urlParams_.Set("alt", alt)
  8921  	c.urlParams_.Set("prettyPrint", "false")
  8922  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sessions")
  8923  	urls += "?" + c.urlParams_.Encode()
  8924  	req, err := http.NewRequest("GET", urls, body)
  8925  	if err != nil {
  8926  		return nil, err
  8927  	}
  8928  	req.Header = reqHeaders
  8929  	googleapi.Expand(req.URL, map[string]string{
  8930  		"parent": c.parent,
  8931  	})
  8932  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8933  }
  8934  
  8935  // Do executes the "dataproc.projects.locations.sessions.list" call.
  8936  // Any non-2xx status code is an error. Response headers are in either
  8937  // *ListSessionsResponse.ServerResponse.Header or (if a response was returned
  8938  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8939  // check whether the returned error was because http.StatusNotModified was
  8940  // returned.
  8941  func (c *ProjectsLocationsSessionsListCall) Do(opts ...googleapi.CallOption) (*ListSessionsResponse, error) {
  8942  	gensupport.SetOptions(c.urlParams_, opts...)
  8943  	res, err := c.doRequest("json")
  8944  	if res != nil && res.StatusCode == http.StatusNotModified {
  8945  		if res.Body != nil {
  8946  			res.Body.Close()
  8947  		}
  8948  		return nil, gensupport.WrapError(&googleapi.Error{
  8949  			Code:   res.StatusCode,
  8950  			Header: res.Header,
  8951  		})
  8952  	}
  8953  	if err != nil {
  8954  		return nil, err
  8955  	}
  8956  	defer googleapi.CloseBody(res)
  8957  	if err := googleapi.CheckResponse(res); err != nil {
  8958  		return nil, gensupport.WrapError(err)
  8959  	}
  8960  	ret := &ListSessionsResponse{
  8961  		ServerResponse: googleapi.ServerResponse{
  8962  			Header:         res.Header,
  8963  			HTTPStatusCode: res.StatusCode,
  8964  		},
  8965  	}
  8966  	target := &ret
  8967  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8968  		return nil, err
  8969  	}
  8970  	return ret, nil
  8971  }
  8972  
  8973  // Pages invokes f for each page of results.
  8974  // A non-nil error returned from f will halt the iteration.
  8975  // The provided context supersedes any context provided to the Context method.
  8976  func (c *ProjectsLocationsSessionsListCall) Pages(ctx context.Context, f func(*ListSessionsResponse) error) error {
  8977  	c.ctx_ = ctx
  8978  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8979  	for {
  8980  		x, err := c.Do()
  8981  		if err != nil {
  8982  			return err
  8983  		}
  8984  		if err := f(x); err != nil {
  8985  			return err
  8986  		}
  8987  		if x.NextPageToken == "" {
  8988  			return nil
  8989  		}
  8990  		c.PageToken(x.NextPageToken)
  8991  	}
  8992  }
  8993  
  8994  type ProjectsLocationsSessionsTerminateCall struct {
  8995  	s                       *Service
  8996  	name                    string
  8997  	terminatesessionrequest *TerminateSessionRequest
  8998  	urlParams_              gensupport.URLParams
  8999  	ctx_                    context.Context
  9000  	header_                 http.Header
  9001  }
  9002  
  9003  // Terminate: Terminates the interactive session.
  9004  //
  9005  // - name: The name of the session resource to terminate.
  9006  func (r *ProjectsLocationsSessionsService) Terminate(name string, terminatesessionrequest *TerminateSessionRequest) *ProjectsLocationsSessionsTerminateCall {
  9007  	c := &ProjectsLocationsSessionsTerminateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9008  	c.name = name
  9009  	c.terminatesessionrequest = terminatesessionrequest
  9010  	return c
  9011  }
  9012  
  9013  // Fields allows partial responses to be retrieved. See
  9014  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9015  // details.
  9016  func (c *ProjectsLocationsSessionsTerminateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionsTerminateCall {
  9017  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9018  	return c
  9019  }
  9020  
  9021  // Context sets the context to be used in this call's Do method.
  9022  func (c *ProjectsLocationsSessionsTerminateCall) Context(ctx context.Context) *ProjectsLocationsSessionsTerminateCall {
  9023  	c.ctx_ = ctx
  9024  	return c
  9025  }
  9026  
  9027  // Header returns a http.Header that can be modified by the caller to add
  9028  // headers to the request.
  9029  func (c *ProjectsLocationsSessionsTerminateCall) Header() http.Header {
  9030  	if c.header_ == nil {
  9031  		c.header_ = make(http.Header)
  9032  	}
  9033  	return c.header_
  9034  }
  9035  
  9036  func (c *ProjectsLocationsSessionsTerminateCall) doRequest(alt string) (*http.Response, error) {
  9037  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9038  	var body io.Reader = nil
  9039  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.terminatesessionrequest)
  9040  	if err != nil {
  9041  		return nil, err
  9042  	}
  9043  	c.urlParams_.Set("alt", alt)
  9044  	c.urlParams_.Set("prettyPrint", "false")
  9045  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:terminate")
  9046  	urls += "?" + c.urlParams_.Encode()
  9047  	req, err := http.NewRequest("POST", urls, body)
  9048  	if err != nil {
  9049  		return nil, err
  9050  	}
  9051  	req.Header = reqHeaders
  9052  	googleapi.Expand(req.URL, map[string]string{
  9053  		"name": c.name,
  9054  	})
  9055  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9056  }
  9057  
  9058  // Do executes the "dataproc.projects.locations.sessions.terminate" call.
  9059  // Any non-2xx status code is an error. Response headers are in either
  9060  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9061  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9062  // whether the returned error was because http.StatusNotModified was returned.
  9063  func (c *ProjectsLocationsSessionsTerminateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9064  	gensupport.SetOptions(c.urlParams_, opts...)
  9065  	res, err := c.doRequest("json")
  9066  	if res != nil && res.StatusCode == http.StatusNotModified {
  9067  		if res.Body != nil {
  9068  			res.Body.Close()
  9069  		}
  9070  		return nil, gensupport.WrapError(&googleapi.Error{
  9071  			Code:   res.StatusCode,
  9072  			Header: res.Header,
  9073  		})
  9074  	}
  9075  	if err != nil {
  9076  		return nil, err
  9077  	}
  9078  	defer googleapi.CloseBody(res)
  9079  	if err := googleapi.CheckResponse(res); err != nil {
  9080  		return nil, gensupport.WrapError(err)
  9081  	}
  9082  	ret := &Operation{
  9083  		ServerResponse: googleapi.ServerResponse{
  9084  			Header:         res.Header,
  9085  			HTTPStatusCode: res.StatusCode,
  9086  		},
  9087  	}
  9088  	target := &ret
  9089  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9090  		return nil, err
  9091  	}
  9092  	return ret, nil
  9093  }
  9094  
  9095  type ProjectsLocationsWorkflowTemplatesCreateCall struct {
  9096  	s                *Service
  9097  	parent           string
  9098  	workflowtemplate *WorkflowTemplate
  9099  	urlParams_       gensupport.URLParams
  9100  	ctx_             context.Context
  9101  	header_          http.Header
  9102  }
  9103  
  9104  // Create: Creates new workflow template.
  9105  //
  9106  //   - parent: The resource name of the region or location, as described in
  9107  //     https://cloud.google.com/apis/design/resource_names. For
  9108  //     projects.regions.workflowTemplates.create, the resource name of the region
  9109  //     has the following format: projects/{project_id}/regions/{region} For
  9110  //     projects.locations.workflowTemplates.create, the resource name of the
  9111  //     location has the following format:
  9112  //     projects/{project_id}/locations/{location}.
  9113  func (r *ProjectsLocationsWorkflowTemplatesService) Create(parent string, workflowtemplate *WorkflowTemplate) *ProjectsLocationsWorkflowTemplatesCreateCall {
  9114  	c := &ProjectsLocationsWorkflowTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9115  	c.parent = parent
  9116  	c.workflowtemplate = workflowtemplate
  9117  	return c
  9118  }
  9119  
  9120  // Fields allows partial responses to be retrieved. See
  9121  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9122  // details.
  9123  func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesCreateCall {
  9124  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9125  	return c
  9126  }
  9127  
  9128  // Context sets the context to be used in this call's Do method.
  9129  func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesCreateCall {
  9130  	c.ctx_ = ctx
  9131  	return c
  9132  }
  9133  
  9134  // Header returns a http.Header that can be modified by the caller to add
  9135  // headers to the request.
  9136  func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Header() http.Header {
  9137  	if c.header_ == nil {
  9138  		c.header_ = make(http.Header)
  9139  	}
  9140  	return c.header_
  9141  }
  9142  
  9143  func (c *ProjectsLocationsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
  9144  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9145  	var body io.Reader = nil
  9146  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
  9147  	if err != nil {
  9148  		return nil, err
  9149  	}
  9150  	c.urlParams_.Set("alt", alt)
  9151  	c.urlParams_.Set("prettyPrint", "false")
  9152  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workflowTemplates")
  9153  	urls += "?" + c.urlParams_.Encode()
  9154  	req, err := http.NewRequest("POST", urls, body)
  9155  	if err != nil {
  9156  		return nil, err
  9157  	}
  9158  	req.Header = reqHeaders
  9159  	googleapi.Expand(req.URL, map[string]string{
  9160  		"parent": c.parent,
  9161  	})
  9162  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9163  }
  9164  
  9165  // Do executes the "dataproc.projects.locations.workflowTemplates.create" call.
  9166  // Any non-2xx status code is an error. Response headers are in either
  9167  // *WorkflowTemplate.ServerResponse.Header or (if a response was returned at
  9168  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9169  // check whether the returned error was because http.StatusNotModified was
  9170  // returned.
  9171  func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
  9172  	gensupport.SetOptions(c.urlParams_, opts...)
  9173  	res, err := c.doRequest("json")
  9174  	if res != nil && res.StatusCode == http.StatusNotModified {
  9175  		if res.Body != nil {
  9176  			res.Body.Close()
  9177  		}
  9178  		return nil, gensupport.WrapError(&googleapi.Error{
  9179  			Code:   res.StatusCode,
  9180  			Header: res.Header,
  9181  		})
  9182  	}
  9183  	if err != nil {
  9184  		return nil, err
  9185  	}
  9186  	defer googleapi.CloseBody(res)
  9187  	if err := googleapi.CheckResponse(res); err != nil {
  9188  		return nil, gensupport.WrapError(err)
  9189  	}
  9190  	ret := &WorkflowTemplate{
  9191  		ServerResponse: googleapi.ServerResponse{
  9192  			Header:         res.Header,
  9193  			HTTPStatusCode: res.StatusCode,
  9194  		},
  9195  	}
  9196  	target := &ret
  9197  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9198  		return nil, err
  9199  	}
  9200  	return ret, nil
  9201  }
  9202  
  9203  type ProjectsLocationsWorkflowTemplatesDeleteCall struct {
  9204  	s          *Service
  9205  	name       string
  9206  	urlParams_ gensupport.URLParams
  9207  	ctx_       context.Context
  9208  	header_    http.Header
  9209  }
  9210  
  9211  // Delete: Deletes a workflow template. It does not cancel in-progress
  9212  // workflows.
  9213  //
  9214  //   - name: The resource name of the workflow template, as described in
  9215  //     https://cloud.google.com/apis/design/resource_names. For
  9216  //     projects.regions.workflowTemplates.delete, the resource name of the
  9217  //     template has the following format:
  9218  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
  9219  //     projects.locations.workflowTemplates.instantiate, the resource name of the
  9220  //     template has the following format:
  9221  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
  9222  func (r *ProjectsLocationsWorkflowTemplatesService) Delete(name string) *ProjectsLocationsWorkflowTemplatesDeleteCall {
  9223  	c := &ProjectsLocationsWorkflowTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9224  	c.name = name
  9225  	return c
  9226  }
  9227  
  9228  // Version sets the optional parameter "version": The version of workflow
  9229  // template to delete. If specified, will only delete the template if the
  9230  // current server version matches specified version.
  9231  func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Version(version int64) *ProjectsLocationsWorkflowTemplatesDeleteCall {
  9232  	c.urlParams_.Set("version", fmt.Sprint(version))
  9233  	return c
  9234  }
  9235  
  9236  // Fields allows partial responses to be retrieved. See
  9237  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9238  // details.
  9239  func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesDeleteCall {
  9240  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9241  	return c
  9242  }
  9243  
  9244  // Context sets the context to be used in this call's Do method.
  9245  func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesDeleteCall {
  9246  	c.ctx_ = ctx
  9247  	return c
  9248  }
  9249  
  9250  // Header returns a http.Header that can be modified by the caller to add
  9251  // headers to the request.
  9252  func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Header() http.Header {
  9253  	if c.header_ == nil {
  9254  		c.header_ = make(http.Header)
  9255  	}
  9256  	return c.header_
  9257  }
  9258  
  9259  func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
  9260  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9261  	var body io.Reader = nil
  9262  	c.urlParams_.Set("alt", alt)
  9263  	c.urlParams_.Set("prettyPrint", "false")
  9264  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9265  	urls += "?" + c.urlParams_.Encode()
  9266  	req, err := http.NewRequest("DELETE", urls, body)
  9267  	if err != nil {
  9268  		return nil, err
  9269  	}
  9270  	req.Header = reqHeaders
  9271  	googleapi.Expand(req.URL, map[string]string{
  9272  		"name": c.name,
  9273  	})
  9274  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9275  }
  9276  
  9277  // Do executes the "dataproc.projects.locations.workflowTemplates.delete" call.
  9278  // Any non-2xx status code is an error. Response headers are in either
  9279  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  9280  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9281  // whether the returned error was because http.StatusNotModified was returned.
  9282  func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  9283  	gensupport.SetOptions(c.urlParams_, opts...)
  9284  	res, err := c.doRequest("json")
  9285  	if res != nil && res.StatusCode == http.StatusNotModified {
  9286  		if res.Body != nil {
  9287  			res.Body.Close()
  9288  		}
  9289  		return nil, gensupport.WrapError(&googleapi.Error{
  9290  			Code:   res.StatusCode,
  9291  			Header: res.Header,
  9292  		})
  9293  	}
  9294  	if err != nil {
  9295  		return nil, err
  9296  	}
  9297  	defer googleapi.CloseBody(res)
  9298  	if err := googleapi.CheckResponse(res); err != nil {
  9299  		return nil, gensupport.WrapError(err)
  9300  	}
  9301  	ret := &Empty{
  9302  		ServerResponse: googleapi.ServerResponse{
  9303  			Header:         res.Header,
  9304  			HTTPStatusCode: res.StatusCode,
  9305  		},
  9306  	}
  9307  	target := &ret
  9308  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9309  		return nil, err
  9310  	}
  9311  	return ret, nil
  9312  }
  9313  
  9314  type ProjectsLocationsWorkflowTemplatesGetCall struct {
  9315  	s            *Service
  9316  	name         string
  9317  	urlParams_   gensupport.URLParams
  9318  	ifNoneMatch_ string
  9319  	ctx_         context.Context
  9320  	header_      http.Header
  9321  }
  9322  
  9323  // Get: Retrieves the latest workflow template.Can retrieve previously
  9324  // instantiated template by specifying optional version parameter.
  9325  //
  9326  //   - name: The resource name of the workflow template, as described in
  9327  //     https://cloud.google.com/apis/design/resource_names. For
  9328  //     projects.regions.workflowTemplates.get, the resource name of the template
  9329  //     has the following format:
  9330  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
  9331  //     projects.locations.workflowTemplates.get, the resource name of the
  9332  //     template has the following format:
  9333  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
  9334  func (r *ProjectsLocationsWorkflowTemplatesService) Get(name string) *ProjectsLocationsWorkflowTemplatesGetCall {
  9335  	c := &ProjectsLocationsWorkflowTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9336  	c.name = name
  9337  	return c
  9338  }
  9339  
  9340  // Version sets the optional parameter "version": The version of workflow
  9341  // template to retrieve. Only previously instantiated versions can be
  9342  // retrieved.If unspecified, retrieves the current version.
  9343  func (c *ProjectsLocationsWorkflowTemplatesGetCall) Version(version int64) *ProjectsLocationsWorkflowTemplatesGetCall {
  9344  	c.urlParams_.Set("version", fmt.Sprint(version))
  9345  	return c
  9346  }
  9347  
  9348  // Fields allows partial responses to be retrieved. See
  9349  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9350  // details.
  9351  func (c *ProjectsLocationsWorkflowTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesGetCall {
  9352  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9353  	return c
  9354  }
  9355  
  9356  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9357  // object's ETag matches the given value. This is useful for getting updates
  9358  // only after the object has changed since the last request.
  9359  func (c *ProjectsLocationsWorkflowTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowTemplatesGetCall {
  9360  	c.ifNoneMatch_ = entityTag
  9361  	return c
  9362  }
  9363  
  9364  // Context sets the context to be used in this call's Do method.
  9365  func (c *ProjectsLocationsWorkflowTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesGetCall {
  9366  	c.ctx_ = ctx
  9367  	return c
  9368  }
  9369  
  9370  // Header returns a http.Header that can be modified by the caller to add
  9371  // headers to the request.
  9372  func (c *ProjectsLocationsWorkflowTemplatesGetCall) Header() http.Header {
  9373  	if c.header_ == nil {
  9374  		c.header_ = make(http.Header)
  9375  	}
  9376  	return c.header_
  9377  }
  9378  
  9379  func (c *ProjectsLocationsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
  9380  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9381  	if c.ifNoneMatch_ != "" {
  9382  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9383  	}
  9384  	var body io.Reader = nil
  9385  	c.urlParams_.Set("alt", alt)
  9386  	c.urlParams_.Set("prettyPrint", "false")
  9387  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9388  	urls += "?" + c.urlParams_.Encode()
  9389  	req, err := http.NewRequest("GET", urls, body)
  9390  	if err != nil {
  9391  		return nil, err
  9392  	}
  9393  	req.Header = reqHeaders
  9394  	googleapi.Expand(req.URL, map[string]string{
  9395  		"name": c.name,
  9396  	})
  9397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9398  }
  9399  
  9400  // Do executes the "dataproc.projects.locations.workflowTemplates.get" call.
  9401  // Any non-2xx status code is an error. Response headers are in either
  9402  // *WorkflowTemplate.ServerResponse.Header or (if a response was returned at
  9403  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9404  // check whether the returned error was because http.StatusNotModified was
  9405  // returned.
  9406  func (c *ProjectsLocationsWorkflowTemplatesGetCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
  9407  	gensupport.SetOptions(c.urlParams_, opts...)
  9408  	res, err := c.doRequest("json")
  9409  	if res != nil && res.StatusCode == http.StatusNotModified {
  9410  		if res.Body != nil {
  9411  			res.Body.Close()
  9412  		}
  9413  		return nil, gensupport.WrapError(&googleapi.Error{
  9414  			Code:   res.StatusCode,
  9415  			Header: res.Header,
  9416  		})
  9417  	}
  9418  	if err != nil {
  9419  		return nil, err
  9420  	}
  9421  	defer googleapi.CloseBody(res)
  9422  	if err := googleapi.CheckResponse(res); err != nil {
  9423  		return nil, gensupport.WrapError(err)
  9424  	}
  9425  	ret := &WorkflowTemplate{
  9426  		ServerResponse: googleapi.ServerResponse{
  9427  			Header:         res.Header,
  9428  			HTTPStatusCode: res.StatusCode,
  9429  		},
  9430  	}
  9431  	target := &ret
  9432  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9433  		return nil, err
  9434  	}
  9435  	return ret, nil
  9436  }
  9437  
  9438  type ProjectsLocationsWorkflowTemplatesGetIamPolicyCall struct {
  9439  	s                   *Service
  9440  	resource            string
  9441  	getiampolicyrequest *GetIamPolicyRequest
  9442  	urlParams_          gensupport.URLParams
  9443  	ctx_                context.Context
  9444  	header_             http.Header
  9445  }
  9446  
  9447  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  9448  // empty policy if the resource exists and does not have a policy set.
  9449  //
  9450  //   - resource: REQUIRED: The resource for which the policy is being requested.
  9451  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9452  //     for the appropriate value for this field.
  9453  func (r *ProjectsLocationsWorkflowTemplatesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall {
  9454  	c := &ProjectsLocationsWorkflowTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9455  	c.resource = resource
  9456  	c.getiampolicyrequest = getiampolicyrequest
  9457  	return c
  9458  }
  9459  
  9460  // Fields allows partial responses to be retrieved. See
  9461  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9462  // details.
  9463  func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall {
  9464  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9465  	return c
  9466  }
  9467  
  9468  // Context sets the context to be used in this call's Do method.
  9469  func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall {
  9470  	c.ctx_ = ctx
  9471  	return c
  9472  }
  9473  
  9474  // Header returns a http.Header that can be modified by the caller to add
  9475  // headers to the request.
  9476  func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) Header() http.Header {
  9477  	if c.header_ == nil {
  9478  		c.header_ = make(http.Header)
  9479  	}
  9480  	return c.header_
  9481  }
  9482  
  9483  func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9484  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9485  	var body io.Reader = nil
  9486  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  9487  	if err != nil {
  9488  		return nil, err
  9489  	}
  9490  	c.urlParams_.Set("alt", alt)
  9491  	c.urlParams_.Set("prettyPrint", "false")
  9492  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  9493  	urls += "?" + c.urlParams_.Encode()
  9494  	req, err := http.NewRequest("POST", urls, body)
  9495  	if err != nil {
  9496  		return nil, err
  9497  	}
  9498  	req.Header = reqHeaders
  9499  	googleapi.Expand(req.URL, map[string]string{
  9500  		"resource": c.resource,
  9501  	})
  9502  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9503  }
  9504  
  9505  // Do executes the "dataproc.projects.locations.workflowTemplates.getIamPolicy" call.
  9506  // Any non-2xx status code is an error. Response headers are in either
  9507  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9508  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9509  // whether the returned error was because http.StatusNotModified was returned.
  9510  func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9511  	gensupport.SetOptions(c.urlParams_, opts...)
  9512  	res, err := c.doRequest("json")
  9513  	if res != nil && res.StatusCode == http.StatusNotModified {
  9514  		if res.Body != nil {
  9515  			res.Body.Close()
  9516  		}
  9517  		return nil, gensupport.WrapError(&googleapi.Error{
  9518  			Code:   res.StatusCode,
  9519  			Header: res.Header,
  9520  		})
  9521  	}
  9522  	if err != nil {
  9523  		return nil, err
  9524  	}
  9525  	defer googleapi.CloseBody(res)
  9526  	if err := googleapi.CheckResponse(res); err != nil {
  9527  		return nil, gensupport.WrapError(err)
  9528  	}
  9529  	ret := &Policy{
  9530  		ServerResponse: googleapi.ServerResponse{
  9531  			Header:         res.Header,
  9532  			HTTPStatusCode: res.StatusCode,
  9533  		},
  9534  	}
  9535  	target := &ret
  9536  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9537  		return nil, err
  9538  	}
  9539  	return ret, nil
  9540  }
  9541  
  9542  type ProjectsLocationsWorkflowTemplatesInstantiateCall struct {
  9543  	s                                  *Service
  9544  	name                               string
  9545  	instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest
  9546  	urlParams_                         gensupport.URLParams
  9547  	ctx_                               context.Context
  9548  	header_                            http.Header
  9549  }
  9550  
  9551  // Instantiate: Instantiates a template and begins execution.The returned
  9552  // Operation can be used to track execution of workflow by polling
  9553  // operations.get. The Operation will complete when entire workflow is
  9554  // finished.The running workflow can be aborted via operations.cancel. This
  9555  // will cause any inflight jobs to be cancelled and workflow-owned clusters to
  9556  // be deleted.The Operation.metadata will be WorkflowMetadata
  9557  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
  9558  // Also see Using WorkflowMetadata
  9559  // (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On
  9560  // successful completion, Operation.response will be Empty.
  9561  //
  9562  //   - name: The resource name of the workflow template, as described in
  9563  //     https://cloud.google.com/apis/design/resource_names. For
  9564  //     projects.regions.workflowTemplates.instantiate, the resource name of the
  9565  //     template has the following format:
  9566  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
  9567  //     projects.locations.workflowTemplates.instantiate, the resource name of the
  9568  //     template has the following format:
  9569  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
  9570  func (r *ProjectsLocationsWorkflowTemplatesService) Instantiate(name string, instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest) *ProjectsLocationsWorkflowTemplatesInstantiateCall {
  9571  	c := &ProjectsLocationsWorkflowTemplatesInstantiateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9572  	c.name = name
  9573  	c.instantiateworkflowtemplaterequest = instantiateworkflowtemplaterequest
  9574  	return c
  9575  }
  9576  
  9577  // Fields allows partial responses to be retrieved. See
  9578  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9579  // details.
  9580  func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesInstantiateCall {
  9581  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9582  	return c
  9583  }
  9584  
  9585  // Context sets the context to be used in this call's Do method.
  9586  func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesInstantiateCall {
  9587  	c.ctx_ = ctx
  9588  	return c
  9589  }
  9590  
  9591  // Header returns a http.Header that can be modified by the caller to add
  9592  // headers to the request.
  9593  func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Header() http.Header {
  9594  	if c.header_ == nil {
  9595  		c.header_ = make(http.Header)
  9596  	}
  9597  	return c.header_
  9598  }
  9599  
  9600  func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) {
  9601  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9602  	var body io.Reader = nil
  9603  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instantiateworkflowtemplaterequest)
  9604  	if err != nil {
  9605  		return nil, err
  9606  	}
  9607  	c.urlParams_.Set("alt", alt)
  9608  	c.urlParams_.Set("prettyPrint", "false")
  9609  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:instantiate")
  9610  	urls += "?" + c.urlParams_.Encode()
  9611  	req, err := http.NewRequest("POST", urls, body)
  9612  	if err != nil {
  9613  		return nil, err
  9614  	}
  9615  	req.Header = reqHeaders
  9616  	googleapi.Expand(req.URL, map[string]string{
  9617  		"name": c.name,
  9618  	})
  9619  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9620  }
  9621  
  9622  // Do executes the "dataproc.projects.locations.workflowTemplates.instantiate" call.
  9623  // Any non-2xx status code is an error. Response headers are in either
  9624  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9625  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9626  // whether the returned error was because http.StatusNotModified was returned.
  9627  func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9628  	gensupport.SetOptions(c.urlParams_, opts...)
  9629  	res, err := c.doRequest("json")
  9630  	if res != nil && res.StatusCode == http.StatusNotModified {
  9631  		if res.Body != nil {
  9632  			res.Body.Close()
  9633  		}
  9634  		return nil, gensupport.WrapError(&googleapi.Error{
  9635  			Code:   res.StatusCode,
  9636  			Header: res.Header,
  9637  		})
  9638  	}
  9639  	if err != nil {
  9640  		return nil, err
  9641  	}
  9642  	defer googleapi.CloseBody(res)
  9643  	if err := googleapi.CheckResponse(res); err != nil {
  9644  		return nil, gensupport.WrapError(err)
  9645  	}
  9646  	ret := &Operation{
  9647  		ServerResponse: googleapi.ServerResponse{
  9648  			Header:         res.Header,
  9649  			HTTPStatusCode: res.StatusCode,
  9650  		},
  9651  	}
  9652  	target := &ret
  9653  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9654  		return nil, err
  9655  	}
  9656  	return ret, nil
  9657  }
  9658  
  9659  type ProjectsLocationsWorkflowTemplatesInstantiateInlineCall struct {
  9660  	s                *Service
  9661  	parent           string
  9662  	workflowtemplate *WorkflowTemplate
  9663  	urlParams_       gensupport.URLParams
  9664  	ctx_             context.Context
  9665  	header_          http.Header
  9666  }
  9667  
  9668  // InstantiateInline: Instantiates a template and begins execution.This method
  9669  // is equivalent to executing the sequence CreateWorkflowTemplate,
  9670  // InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned Operation
  9671  // can be used to track execution of workflow by polling operations.get. The
  9672  // Operation will complete when entire workflow is finished.The running
  9673  // workflow can be aborted via operations.cancel. This will cause any inflight
  9674  // jobs to be cancelled and workflow-owned clusters to be deleted.The
  9675  // Operation.metadata will be WorkflowMetadata
  9676  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
  9677  // Also see Using WorkflowMetadata
  9678  // (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On
  9679  // successful completion, Operation.response will be Empty.
  9680  //
  9681  //   - parent: The resource name of the region or location, as described in
  9682  //     https://cloud.google.com/apis/design/resource_names. For
  9683  //     projects.regions.workflowTemplates,instantiateinline, the resource name of
  9684  //     the region has the following format:
  9685  //     projects/{project_id}/regions/{region} For
  9686  //     projects.locations.workflowTemplates.instantiateinline, the resource name
  9687  //     of the location has the following format:
  9688  //     projects/{project_id}/locations/{location}.
  9689  func (r *ProjectsLocationsWorkflowTemplatesService) InstantiateInline(parent string, workflowtemplate *WorkflowTemplate) *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall {
  9690  	c := &ProjectsLocationsWorkflowTemplatesInstantiateInlineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9691  	c.parent = parent
  9692  	c.workflowtemplate = workflowtemplate
  9693  	return c
  9694  }
  9695  
  9696  // RequestId sets the optional parameter "requestId": A tag that prevents
  9697  // multiple concurrent workflow instances with the same tag from running. This
  9698  // mitigates risk of concurrent instances started due to retries.It is
  9699  // recommended to always set this value to a UUID
  9700  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must
  9701  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
  9702  // (-). The maximum length is 40 characters.
  9703  func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) RequestId(requestId string) *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall {
  9704  	c.urlParams_.Set("requestId", requestId)
  9705  	return c
  9706  }
  9707  
  9708  // Fields allows partial responses to be retrieved. See
  9709  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9710  // details.
  9711  func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall {
  9712  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9713  	return c
  9714  }
  9715  
  9716  // Context sets the context to be used in this call's Do method.
  9717  func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall {
  9718  	c.ctx_ = ctx
  9719  	return c
  9720  }
  9721  
  9722  // Header returns a http.Header that can be modified by the caller to add
  9723  // headers to the request.
  9724  func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) Header() http.Header {
  9725  	if c.header_ == nil {
  9726  		c.header_ = make(http.Header)
  9727  	}
  9728  	return c.header_
  9729  }
  9730  
  9731  func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) doRequest(alt string) (*http.Response, error) {
  9732  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9733  	var body io.Reader = nil
  9734  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
  9735  	if err != nil {
  9736  		return nil, err
  9737  	}
  9738  	c.urlParams_.Set("alt", alt)
  9739  	c.urlParams_.Set("prettyPrint", "false")
  9740  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workflowTemplates:instantiateInline")
  9741  	urls += "?" + c.urlParams_.Encode()
  9742  	req, err := http.NewRequest("POST", urls, body)
  9743  	if err != nil {
  9744  		return nil, err
  9745  	}
  9746  	req.Header = reqHeaders
  9747  	googleapi.Expand(req.URL, map[string]string{
  9748  		"parent": c.parent,
  9749  	})
  9750  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9751  }
  9752  
  9753  // Do executes the "dataproc.projects.locations.workflowTemplates.instantiateInline" call.
  9754  // Any non-2xx status code is an error. Response headers are in either
  9755  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9756  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9757  // whether the returned error was because http.StatusNotModified was returned.
  9758  func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9759  	gensupport.SetOptions(c.urlParams_, opts...)
  9760  	res, err := c.doRequest("json")
  9761  	if res != nil && res.StatusCode == http.StatusNotModified {
  9762  		if res.Body != nil {
  9763  			res.Body.Close()
  9764  		}
  9765  		return nil, gensupport.WrapError(&googleapi.Error{
  9766  			Code:   res.StatusCode,
  9767  			Header: res.Header,
  9768  		})
  9769  	}
  9770  	if err != nil {
  9771  		return nil, err
  9772  	}
  9773  	defer googleapi.CloseBody(res)
  9774  	if err := googleapi.CheckResponse(res); err != nil {
  9775  		return nil, gensupport.WrapError(err)
  9776  	}
  9777  	ret := &Operation{
  9778  		ServerResponse: googleapi.ServerResponse{
  9779  			Header:         res.Header,
  9780  			HTTPStatusCode: res.StatusCode,
  9781  		},
  9782  	}
  9783  	target := &ret
  9784  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9785  		return nil, err
  9786  	}
  9787  	return ret, nil
  9788  }
  9789  
  9790  type ProjectsLocationsWorkflowTemplatesListCall struct {
  9791  	s            *Service
  9792  	parent       string
  9793  	urlParams_   gensupport.URLParams
  9794  	ifNoneMatch_ string
  9795  	ctx_         context.Context
  9796  	header_      http.Header
  9797  }
  9798  
  9799  // List: Lists workflows that match the specified filter in the request.
  9800  //
  9801  //   - parent: The resource name of the region or location, as described in
  9802  //     https://cloud.google.com/apis/design/resource_names. For
  9803  //     projects.regions.workflowTemplates,list, the resource name of the region
  9804  //     has the following format: projects/{project_id}/regions/{region} For
  9805  //     projects.locations.workflowTemplates.list, the resource name of the
  9806  //     location has the following format:
  9807  //     projects/{project_id}/locations/{location}.
  9808  func (r *ProjectsLocationsWorkflowTemplatesService) List(parent string) *ProjectsLocationsWorkflowTemplatesListCall {
  9809  	c := &ProjectsLocationsWorkflowTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9810  	c.parent = parent
  9811  	return c
  9812  }
  9813  
  9814  // PageSize sets the optional parameter "pageSize": The maximum number of
  9815  // results to return in each response.
  9816  func (c *ProjectsLocationsWorkflowTemplatesListCall) PageSize(pageSize int64) *ProjectsLocationsWorkflowTemplatesListCall {
  9817  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9818  	return c
  9819  }
  9820  
  9821  // PageToken sets the optional parameter "pageToken": The page token, returned
  9822  // by a previous call, to request the next page of results.
  9823  func (c *ProjectsLocationsWorkflowTemplatesListCall) PageToken(pageToken string) *ProjectsLocationsWorkflowTemplatesListCall {
  9824  	c.urlParams_.Set("pageToken", pageToken)
  9825  	return c
  9826  }
  9827  
  9828  // Fields allows partial responses to be retrieved. See
  9829  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9830  // details.
  9831  func (c *ProjectsLocationsWorkflowTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesListCall {
  9832  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9833  	return c
  9834  }
  9835  
  9836  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9837  // object's ETag matches the given value. This is useful for getting updates
  9838  // only after the object has changed since the last request.
  9839  func (c *ProjectsLocationsWorkflowTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowTemplatesListCall {
  9840  	c.ifNoneMatch_ = entityTag
  9841  	return c
  9842  }
  9843  
  9844  // Context sets the context to be used in this call's Do method.
  9845  func (c *ProjectsLocationsWorkflowTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesListCall {
  9846  	c.ctx_ = ctx
  9847  	return c
  9848  }
  9849  
  9850  // Header returns a http.Header that can be modified by the caller to add
  9851  // headers to the request.
  9852  func (c *ProjectsLocationsWorkflowTemplatesListCall) Header() http.Header {
  9853  	if c.header_ == nil {
  9854  		c.header_ = make(http.Header)
  9855  	}
  9856  	return c.header_
  9857  }
  9858  
  9859  func (c *ProjectsLocationsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) {
  9860  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9861  	if c.ifNoneMatch_ != "" {
  9862  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9863  	}
  9864  	var body io.Reader = nil
  9865  	c.urlParams_.Set("alt", alt)
  9866  	c.urlParams_.Set("prettyPrint", "false")
  9867  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workflowTemplates")
  9868  	urls += "?" + c.urlParams_.Encode()
  9869  	req, err := http.NewRequest("GET", urls, body)
  9870  	if err != nil {
  9871  		return nil, err
  9872  	}
  9873  	req.Header = reqHeaders
  9874  	googleapi.Expand(req.URL, map[string]string{
  9875  		"parent": c.parent,
  9876  	})
  9877  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9878  }
  9879  
  9880  // Do executes the "dataproc.projects.locations.workflowTemplates.list" call.
  9881  // Any non-2xx status code is an error. Response headers are in either
  9882  // *ListWorkflowTemplatesResponse.ServerResponse.Header or (if a response was
  9883  // returned at all) in error.(*googleapi.Error).Header. Use
  9884  // googleapi.IsNotModified to check whether the returned error was because
  9885  // http.StatusNotModified was returned.
  9886  func (c *ProjectsLocationsWorkflowTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListWorkflowTemplatesResponse, error) {
  9887  	gensupport.SetOptions(c.urlParams_, opts...)
  9888  	res, err := c.doRequest("json")
  9889  	if res != nil && res.StatusCode == http.StatusNotModified {
  9890  		if res.Body != nil {
  9891  			res.Body.Close()
  9892  		}
  9893  		return nil, gensupport.WrapError(&googleapi.Error{
  9894  			Code:   res.StatusCode,
  9895  			Header: res.Header,
  9896  		})
  9897  	}
  9898  	if err != nil {
  9899  		return nil, err
  9900  	}
  9901  	defer googleapi.CloseBody(res)
  9902  	if err := googleapi.CheckResponse(res); err != nil {
  9903  		return nil, gensupport.WrapError(err)
  9904  	}
  9905  	ret := &ListWorkflowTemplatesResponse{
  9906  		ServerResponse: googleapi.ServerResponse{
  9907  			Header:         res.Header,
  9908  			HTTPStatusCode: res.StatusCode,
  9909  		},
  9910  	}
  9911  	target := &ret
  9912  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9913  		return nil, err
  9914  	}
  9915  	return ret, nil
  9916  }
  9917  
  9918  // Pages invokes f for each page of results.
  9919  // A non-nil error returned from f will halt the iteration.
  9920  // The provided context supersedes any context provided to the Context method.
  9921  func (c *ProjectsLocationsWorkflowTemplatesListCall) Pages(ctx context.Context, f func(*ListWorkflowTemplatesResponse) error) error {
  9922  	c.ctx_ = ctx
  9923  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9924  	for {
  9925  		x, err := c.Do()
  9926  		if err != nil {
  9927  			return err
  9928  		}
  9929  		if err := f(x); err != nil {
  9930  			return err
  9931  		}
  9932  		if x.NextPageToken == "" {
  9933  			return nil
  9934  		}
  9935  		c.PageToken(x.NextPageToken)
  9936  	}
  9937  }
  9938  
  9939  type ProjectsLocationsWorkflowTemplatesSetIamPolicyCall struct {
  9940  	s                   *Service
  9941  	resource            string
  9942  	setiampolicyrequest *SetIamPolicyRequest
  9943  	urlParams_          gensupport.URLParams
  9944  	ctx_                context.Context
  9945  	header_             http.Header
  9946  }
  9947  
  9948  // SetIamPolicy: Sets the access control policy on the specified resource.
  9949  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
  9950  // PERMISSION_DENIED errors.
  9951  //
  9952  //   - resource: REQUIRED: The resource for which the policy is being specified.
  9953  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9954  //     for the appropriate value for this field.
  9955  func (r *ProjectsLocationsWorkflowTemplatesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall {
  9956  	c := &ProjectsLocationsWorkflowTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9957  	c.resource = resource
  9958  	c.setiampolicyrequest = setiampolicyrequest
  9959  	return c
  9960  }
  9961  
  9962  // Fields allows partial responses to be retrieved. See
  9963  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9964  // details.
  9965  func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall {
  9966  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9967  	return c
  9968  }
  9969  
  9970  // Context sets the context to be used in this call's Do method.
  9971  func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall {
  9972  	c.ctx_ = ctx
  9973  	return c
  9974  }
  9975  
  9976  // Header returns a http.Header that can be modified by the caller to add
  9977  // headers to the request.
  9978  func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) Header() http.Header {
  9979  	if c.header_ == nil {
  9980  		c.header_ = make(http.Header)
  9981  	}
  9982  	return c.header_
  9983  }
  9984  
  9985  func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9986  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9987  	var body io.Reader = nil
  9988  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  9989  	if err != nil {
  9990  		return nil, err
  9991  	}
  9992  	c.urlParams_.Set("alt", alt)
  9993  	c.urlParams_.Set("prettyPrint", "false")
  9994  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  9995  	urls += "?" + c.urlParams_.Encode()
  9996  	req, err := http.NewRequest("POST", urls, body)
  9997  	if err != nil {
  9998  		return nil, err
  9999  	}
 10000  	req.Header = reqHeaders
 10001  	googleapi.Expand(req.URL, map[string]string{
 10002  		"resource": c.resource,
 10003  	})
 10004  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10005  }
 10006  
 10007  // Do executes the "dataproc.projects.locations.workflowTemplates.setIamPolicy" call.
 10008  // Any non-2xx status code is an error. Response headers are in either
 10009  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 10010  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10011  // whether the returned error was because http.StatusNotModified was returned.
 10012  func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 10013  	gensupport.SetOptions(c.urlParams_, opts...)
 10014  	res, err := c.doRequest("json")
 10015  	if res != nil && res.StatusCode == http.StatusNotModified {
 10016  		if res.Body != nil {
 10017  			res.Body.Close()
 10018  		}
 10019  		return nil, gensupport.WrapError(&googleapi.Error{
 10020  			Code:   res.StatusCode,
 10021  			Header: res.Header,
 10022  		})
 10023  	}
 10024  	if err != nil {
 10025  		return nil, err
 10026  	}
 10027  	defer googleapi.CloseBody(res)
 10028  	if err := googleapi.CheckResponse(res); err != nil {
 10029  		return nil, gensupport.WrapError(err)
 10030  	}
 10031  	ret := &Policy{
 10032  		ServerResponse: googleapi.ServerResponse{
 10033  			Header:         res.Header,
 10034  			HTTPStatusCode: res.StatusCode,
 10035  		},
 10036  	}
 10037  	target := &ret
 10038  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10039  		return nil, err
 10040  	}
 10041  	return ret, nil
 10042  }
 10043  
 10044  type ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall struct {
 10045  	s                         *Service
 10046  	resource                  string
 10047  	testiampermissionsrequest *TestIamPermissionsRequest
 10048  	urlParams_                gensupport.URLParams
 10049  	ctx_                      context.Context
 10050  	header_                   http.Header
 10051  }
 10052  
 10053  // TestIamPermissions: Returns permissions that a caller has on the specified
 10054  // resource. If the resource does not exist, this will return an empty set of
 10055  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
 10056  // used for building permission-aware UIs and command-line tools, not for
 10057  // authorization checking. This operation may "fail open" without warning.
 10058  //
 10059  //   - resource: REQUIRED: The resource for which the policy detail is being
 10060  //     requested. See Resource names
 10061  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 10062  //     value for this field.
 10063  func (r *ProjectsLocationsWorkflowTemplatesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall {
 10064  	c := &ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10065  	c.resource = resource
 10066  	c.testiampermissionsrequest = testiampermissionsrequest
 10067  	return c
 10068  }
 10069  
 10070  // Fields allows partial responses to be retrieved. See
 10071  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10072  // details.
 10073  func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall {
 10074  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10075  	return c
 10076  }
 10077  
 10078  // Context sets the context to be used in this call's Do method.
 10079  func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall {
 10080  	c.ctx_ = ctx
 10081  	return c
 10082  }
 10083  
 10084  // Header returns a http.Header that can be modified by the caller to add
 10085  // headers to the request.
 10086  func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) Header() http.Header {
 10087  	if c.header_ == nil {
 10088  		c.header_ = make(http.Header)
 10089  	}
 10090  	return c.header_
 10091  }
 10092  
 10093  func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 10094  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10095  	var body io.Reader = nil
 10096  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 10097  	if err != nil {
 10098  		return nil, err
 10099  	}
 10100  	c.urlParams_.Set("alt", alt)
 10101  	c.urlParams_.Set("prettyPrint", "false")
 10102  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 10103  	urls += "?" + c.urlParams_.Encode()
 10104  	req, err := http.NewRequest("POST", urls, body)
 10105  	if err != nil {
 10106  		return nil, err
 10107  	}
 10108  	req.Header = reqHeaders
 10109  	googleapi.Expand(req.URL, map[string]string{
 10110  		"resource": c.resource,
 10111  	})
 10112  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10113  }
 10114  
 10115  // Do executes the "dataproc.projects.locations.workflowTemplates.testIamPermissions" call.
 10116  // Any non-2xx status code is an error. Response headers are in either
 10117  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 10118  // returned at all) in error.(*googleapi.Error).Header. Use
 10119  // googleapi.IsNotModified to check whether the returned error was because
 10120  // http.StatusNotModified was returned.
 10121  func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 10122  	gensupport.SetOptions(c.urlParams_, opts...)
 10123  	res, err := c.doRequest("json")
 10124  	if res != nil && res.StatusCode == http.StatusNotModified {
 10125  		if res.Body != nil {
 10126  			res.Body.Close()
 10127  		}
 10128  		return nil, gensupport.WrapError(&googleapi.Error{
 10129  			Code:   res.StatusCode,
 10130  			Header: res.Header,
 10131  		})
 10132  	}
 10133  	if err != nil {
 10134  		return nil, err
 10135  	}
 10136  	defer googleapi.CloseBody(res)
 10137  	if err := googleapi.CheckResponse(res); err != nil {
 10138  		return nil, gensupport.WrapError(err)
 10139  	}
 10140  	ret := &TestIamPermissionsResponse{
 10141  		ServerResponse: googleapi.ServerResponse{
 10142  			Header:         res.Header,
 10143  			HTTPStatusCode: res.StatusCode,
 10144  		},
 10145  	}
 10146  	target := &ret
 10147  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10148  		return nil, err
 10149  	}
 10150  	return ret, nil
 10151  }
 10152  
 10153  type ProjectsLocationsWorkflowTemplatesUpdateCall struct {
 10154  	s                *Service
 10155  	name             string
 10156  	workflowtemplate *WorkflowTemplate
 10157  	urlParams_       gensupport.URLParams
 10158  	ctx_             context.Context
 10159  	header_          http.Header
 10160  }
 10161  
 10162  // Update: Updates (replaces) workflow template. The updated template must
 10163  // contain version that matches the current server version.
 10164  //
 10165  //   - name: Output only. The resource name of the workflow template, as
 10166  //     described in https://cloud.google.com/apis/design/resource_names. For
 10167  //     projects.regions.workflowTemplates, the resource name of the template has
 10168  //     the following format:
 10169  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
 10170  //     projects.locations.workflowTemplates, the resource name of the template
 10171  //     has the following format:
 10172  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
 10173  func (r *ProjectsLocationsWorkflowTemplatesService) Update(name string, workflowtemplate *WorkflowTemplate) *ProjectsLocationsWorkflowTemplatesUpdateCall {
 10174  	c := &ProjectsLocationsWorkflowTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10175  	c.name = name
 10176  	c.workflowtemplate = workflowtemplate
 10177  	return c
 10178  }
 10179  
 10180  // Fields allows partial responses to be retrieved. See
 10181  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10182  // details.
 10183  func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesUpdateCall {
 10184  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10185  	return c
 10186  }
 10187  
 10188  // Context sets the context to be used in this call's Do method.
 10189  func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesUpdateCall {
 10190  	c.ctx_ = ctx
 10191  	return c
 10192  }
 10193  
 10194  // Header returns a http.Header that can be modified by the caller to add
 10195  // headers to the request.
 10196  func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Header() http.Header {
 10197  	if c.header_ == nil {
 10198  		c.header_ = make(http.Header)
 10199  	}
 10200  	return c.header_
 10201  }
 10202  
 10203  func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 10204  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10205  	var body io.Reader = nil
 10206  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
 10207  	if err != nil {
 10208  		return nil, err
 10209  	}
 10210  	c.urlParams_.Set("alt", alt)
 10211  	c.urlParams_.Set("prettyPrint", "false")
 10212  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 10213  	urls += "?" + c.urlParams_.Encode()
 10214  	req, err := http.NewRequest("PUT", urls, body)
 10215  	if err != nil {
 10216  		return nil, err
 10217  	}
 10218  	req.Header = reqHeaders
 10219  	googleapi.Expand(req.URL, map[string]string{
 10220  		"name": c.name,
 10221  	})
 10222  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10223  }
 10224  
 10225  // Do executes the "dataproc.projects.locations.workflowTemplates.update" call.
 10226  // Any non-2xx status code is an error. Response headers are in either
 10227  // *WorkflowTemplate.ServerResponse.Header or (if a response was returned at
 10228  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10229  // check whether the returned error was because http.StatusNotModified was
 10230  // returned.
 10231  func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
 10232  	gensupport.SetOptions(c.urlParams_, opts...)
 10233  	res, err := c.doRequest("json")
 10234  	if res != nil && res.StatusCode == http.StatusNotModified {
 10235  		if res.Body != nil {
 10236  			res.Body.Close()
 10237  		}
 10238  		return nil, gensupport.WrapError(&googleapi.Error{
 10239  			Code:   res.StatusCode,
 10240  			Header: res.Header,
 10241  		})
 10242  	}
 10243  	if err != nil {
 10244  		return nil, err
 10245  	}
 10246  	defer googleapi.CloseBody(res)
 10247  	if err := googleapi.CheckResponse(res); err != nil {
 10248  		return nil, gensupport.WrapError(err)
 10249  	}
 10250  	ret := &WorkflowTemplate{
 10251  		ServerResponse: googleapi.ServerResponse{
 10252  			Header:         res.Header,
 10253  			HTTPStatusCode: res.StatusCode,
 10254  		},
 10255  	}
 10256  	target := &ret
 10257  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10258  		return nil, err
 10259  	}
 10260  	return ret, nil
 10261  }
 10262  
 10263  type ProjectsRegionsAutoscalingPoliciesCreateCall struct {
 10264  	s                 *Service
 10265  	parent            string
 10266  	autoscalingpolicy *AutoscalingPolicy
 10267  	urlParams_        gensupport.URLParams
 10268  	ctx_              context.Context
 10269  	header_           http.Header
 10270  }
 10271  
 10272  // Create: Creates new autoscaling policy.
 10273  //
 10274  //   - parent: The "resource name" of the region or location, as described in
 10275  //     https://cloud.google.com/apis/design/resource_names. For
 10276  //     projects.regions.autoscalingPolicies.create, the resource name of the
 10277  //     region has the following format: projects/{project_id}/regions/{region}
 10278  //     For projects.locations.autoscalingPolicies.create, the resource name of
 10279  //     the location has the following format:
 10280  //     projects/{project_id}/locations/{location}.
 10281  func (r *ProjectsRegionsAutoscalingPoliciesService) Create(parent string, autoscalingpolicy *AutoscalingPolicy) *ProjectsRegionsAutoscalingPoliciesCreateCall {
 10282  	c := &ProjectsRegionsAutoscalingPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10283  	c.parent = parent
 10284  	c.autoscalingpolicy = autoscalingpolicy
 10285  	return c
 10286  }
 10287  
 10288  // Fields allows partial responses to be retrieved. See
 10289  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10290  // details.
 10291  func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesCreateCall {
 10292  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10293  	return c
 10294  }
 10295  
 10296  // Context sets the context to be used in this call's Do method.
 10297  func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesCreateCall {
 10298  	c.ctx_ = ctx
 10299  	return c
 10300  }
 10301  
 10302  // Header returns a http.Header that can be modified by the caller to add
 10303  // headers to the request.
 10304  func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) Header() http.Header {
 10305  	if c.header_ == nil {
 10306  		c.header_ = make(http.Header)
 10307  	}
 10308  	return c.header_
 10309  }
 10310  
 10311  func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 10312  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10313  	var body io.Reader = nil
 10314  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscalingpolicy)
 10315  	if err != nil {
 10316  		return nil, err
 10317  	}
 10318  	c.urlParams_.Set("alt", alt)
 10319  	c.urlParams_.Set("prettyPrint", "false")
 10320  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autoscalingPolicies")
 10321  	urls += "?" + c.urlParams_.Encode()
 10322  	req, err := http.NewRequest("POST", urls, body)
 10323  	if err != nil {
 10324  		return nil, err
 10325  	}
 10326  	req.Header = reqHeaders
 10327  	googleapi.Expand(req.URL, map[string]string{
 10328  		"parent": c.parent,
 10329  	})
 10330  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10331  }
 10332  
 10333  // Do executes the "dataproc.projects.regions.autoscalingPolicies.create" call.
 10334  // Any non-2xx status code is an error. Response headers are in either
 10335  // *AutoscalingPolicy.ServerResponse.Header or (if a response was returned at
 10336  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10337  // check whether the returned error was because http.StatusNotModified was
 10338  // returned.
 10339  func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) Do(opts ...googleapi.CallOption) (*AutoscalingPolicy, error) {
 10340  	gensupport.SetOptions(c.urlParams_, opts...)
 10341  	res, err := c.doRequest("json")
 10342  	if res != nil && res.StatusCode == http.StatusNotModified {
 10343  		if res.Body != nil {
 10344  			res.Body.Close()
 10345  		}
 10346  		return nil, gensupport.WrapError(&googleapi.Error{
 10347  			Code:   res.StatusCode,
 10348  			Header: res.Header,
 10349  		})
 10350  	}
 10351  	if err != nil {
 10352  		return nil, err
 10353  	}
 10354  	defer googleapi.CloseBody(res)
 10355  	if err := googleapi.CheckResponse(res); err != nil {
 10356  		return nil, gensupport.WrapError(err)
 10357  	}
 10358  	ret := &AutoscalingPolicy{
 10359  		ServerResponse: googleapi.ServerResponse{
 10360  			Header:         res.Header,
 10361  			HTTPStatusCode: res.StatusCode,
 10362  		},
 10363  	}
 10364  	target := &ret
 10365  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10366  		return nil, err
 10367  	}
 10368  	return ret, nil
 10369  }
 10370  
 10371  type ProjectsRegionsAutoscalingPoliciesDeleteCall struct {
 10372  	s          *Service
 10373  	name       string
 10374  	urlParams_ gensupport.URLParams
 10375  	ctx_       context.Context
 10376  	header_    http.Header
 10377  }
 10378  
 10379  // Delete: Deletes an autoscaling policy. It is an error to delete an
 10380  // autoscaling policy that is in use by one or more clusters.
 10381  //
 10382  //   - name: The "resource name" of the autoscaling policy, as described in
 10383  //     https://cloud.google.com/apis/design/resource_names. For
 10384  //     projects.regions.autoscalingPolicies.delete, the resource name of the
 10385  //     policy has the following format:
 10386  //     projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
 10387  //     projects.locations.autoscalingPolicies.delete, the resource name of the
 10388  //     policy has the following format:
 10389  //     projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}.
 10390  func (r *ProjectsRegionsAutoscalingPoliciesService) Delete(name string) *ProjectsRegionsAutoscalingPoliciesDeleteCall {
 10391  	c := &ProjectsRegionsAutoscalingPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10392  	c.name = name
 10393  	return c
 10394  }
 10395  
 10396  // Fields allows partial responses to be retrieved. See
 10397  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10398  // details.
 10399  func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesDeleteCall {
 10400  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10401  	return c
 10402  }
 10403  
 10404  // Context sets the context to be used in this call's Do method.
 10405  func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesDeleteCall {
 10406  	c.ctx_ = ctx
 10407  	return c
 10408  }
 10409  
 10410  // Header returns a http.Header that can be modified by the caller to add
 10411  // headers to the request.
 10412  func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) Header() http.Header {
 10413  	if c.header_ == nil {
 10414  		c.header_ = make(http.Header)
 10415  	}
 10416  	return c.header_
 10417  }
 10418  
 10419  func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 10420  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10421  	var body io.Reader = nil
 10422  	c.urlParams_.Set("alt", alt)
 10423  	c.urlParams_.Set("prettyPrint", "false")
 10424  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 10425  	urls += "?" + c.urlParams_.Encode()
 10426  	req, err := http.NewRequest("DELETE", urls, body)
 10427  	if err != nil {
 10428  		return nil, err
 10429  	}
 10430  	req.Header = reqHeaders
 10431  	googleapi.Expand(req.URL, map[string]string{
 10432  		"name": c.name,
 10433  	})
 10434  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10435  }
 10436  
 10437  // Do executes the "dataproc.projects.regions.autoscalingPolicies.delete" call.
 10438  // Any non-2xx status code is an error. Response headers are in either
 10439  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 10440  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10441  // whether the returned error was because http.StatusNotModified was returned.
 10442  func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 10443  	gensupport.SetOptions(c.urlParams_, opts...)
 10444  	res, err := c.doRequest("json")
 10445  	if res != nil && res.StatusCode == http.StatusNotModified {
 10446  		if res.Body != nil {
 10447  			res.Body.Close()
 10448  		}
 10449  		return nil, gensupport.WrapError(&googleapi.Error{
 10450  			Code:   res.StatusCode,
 10451  			Header: res.Header,
 10452  		})
 10453  	}
 10454  	if err != nil {
 10455  		return nil, err
 10456  	}
 10457  	defer googleapi.CloseBody(res)
 10458  	if err := googleapi.CheckResponse(res); err != nil {
 10459  		return nil, gensupport.WrapError(err)
 10460  	}
 10461  	ret := &Empty{
 10462  		ServerResponse: googleapi.ServerResponse{
 10463  			Header:         res.Header,
 10464  			HTTPStatusCode: res.StatusCode,
 10465  		},
 10466  	}
 10467  	target := &ret
 10468  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10469  		return nil, err
 10470  	}
 10471  	return ret, nil
 10472  }
 10473  
 10474  type ProjectsRegionsAutoscalingPoliciesGetCall struct {
 10475  	s            *Service
 10476  	name         string
 10477  	urlParams_   gensupport.URLParams
 10478  	ifNoneMatch_ string
 10479  	ctx_         context.Context
 10480  	header_      http.Header
 10481  }
 10482  
 10483  // Get: Retrieves autoscaling policy.
 10484  //
 10485  //   - name: The "resource name" of the autoscaling policy, as described in
 10486  //     https://cloud.google.com/apis/design/resource_names. For
 10487  //     projects.regions.autoscalingPolicies.get, the resource name of the policy
 10488  //     has the following format:
 10489  //     projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
 10490  //     projects.locations.autoscalingPolicies.get, the resource name of the
 10491  //     policy has the following format:
 10492  //     projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}.
 10493  func (r *ProjectsRegionsAutoscalingPoliciesService) Get(name string) *ProjectsRegionsAutoscalingPoliciesGetCall {
 10494  	c := &ProjectsRegionsAutoscalingPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10495  	c.name = name
 10496  	return c
 10497  }
 10498  
 10499  // Fields allows partial responses to be retrieved. See
 10500  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10501  // details.
 10502  func (c *ProjectsRegionsAutoscalingPoliciesGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesGetCall {
 10503  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10504  	return c
 10505  }
 10506  
 10507  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10508  // object's ETag matches the given value. This is useful for getting updates
 10509  // only after the object has changed since the last request.
 10510  func (c *ProjectsRegionsAutoscalingPoliciesGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsAutoscalingPoliciesGetCall {
 10511  	c.ifNoneMatch_ = entityTag
 10512  	return c
 10513  }
 10514  
 10515  // Context sets the context to be used in this call's Do method.
 10516  func (c *ProjectsRegionsAutoscalingPoliciesGetCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesGetCall {
 10517  	c.ctx_ = ctx
 10518  	return c
 10519  }
 10520  
 10521  // Header returns a http.Header that can be modified by the caller to add
 10522  // headers to the request.
 10523  func (c *ProjectsRegionsAutoscalingPoliciesGetCall) Header() http.Header {
 10524  	if c.header_ == nil {
 10525  		c.header_ = make(http.Header)
 10526  	}
 10527  	return c.header_
 10528  }
 10529  
 10530  func (c *ProjectsRegionsAutoscalingPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 10531  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10532  	if c.ifNoneMatch_ != "" {
 10533  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10534  	}
 10535  	var body io.Reader = nil
 10536  	c.urlParams_.Set("alt", alt)
 10537  	c.urlParams_.Set("prettyPrint", "false")
 10538  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 10539  	urls += "?" + c.urlParams_.Encode()
 10540  	req, err := http.NewRequest("GET", urls, body)
 10541  	if err != nil {
 10542  		return nil, err
 10543  	}
 10544  	req.Header = reqHeaders
 10545  	googleapi.Expand(req.URL, map[string]string{
 10546  		"name": c.name,
 10547  	})
 10548  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10549  }
 10550  
 10551  // Do executes the "dataproc.projects.regions.autoscalingPolicies.get" call.
 10552  // Any non-2xx status code is an error. Response headers are in either
 10553  // *AutoscalingPolicy.ServerResponse.Header or (if a response was returned at
 10554  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10555  // check whether the returned error was because http.StatusNotModified was
 10556  // returned.
 10557  func (c *ProjectsRegionsAutoscalingPoliciesGetCall) Do(opts ...googleapi.CallOption) (*AutoscalingPolicy, error) {
 10558  	gensupport.SetOptions(c.urlParams_, opts...)
 10559  	res, err := c.doRequest("json")
 10560  	if res != nil && res.StatusCode == http.StatusNotModified {
 10561  		if res.Body != nil {
 10562  			res.Body.Close()
 10563  		}
 10564  		return nil, gensupport.WrapError(&googleapi.Error{
 10565  			Code:   res.StatusCode,
 10566  			Header: res.Header,
 10567  		})
 10568  	}
 10569  	if err != nil {
 10570  		return nil, err
 10571  	}
 10572  	defer googleapi.CloseBody(res)
 10573  	if err := googleapi.CheckResponse(res); err != nil {
 10574  		return nil, gensupport.WrapError(err)
 10575  	}
 10576  	ret := &AutoscalingPolicy{
 10577  		ServerResponse: googleapi.ServerResponse{
 10578  			Header:         res.Header,
 10579  			HTTPStatusCode: res.StatusCode,
 10580  		},
 10581  	}
 10582  	target := &ret
 10583  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10584  		return nil, err
 10585  	}
 10586  	return ret, nil
 10587  }
 10588  
 10589  type ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall struct {
 10590  	s                   *Service
 10591  	resource            string
 10592  	getiampolicyrequest *GetIamPolicyRequest
 10593  	urlParams_          gensupport.URLParams
 10594  	ctx_                context.Context
 10595  	header_             http.Header
 10596  }
 10597  
 10598  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 10599  // empty policy if the resource exists and does not have a policy set.
 10600  //
 10601  //   - resource: REQUIRED: The resource for which the policy is being requested.
 10602  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 10603  //     for the appropriate value for this field.
 10604  func (r *ProjectsRegionsAutoscalingPoliciesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall {
 10605  	c := &ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10606  	c.resource = resource
 10607  	c.getiampolicyrequest = getiampolicyrequest
 10608  	return c
 10609  }
 10610  
 10611  // Fields allows partial responses to be retrieved. See
 10612  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10613  // details.
 10614  func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall {
 10615  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10616  	return c
 10617  }
 10618  
 10619  // Context sets the context to be used in this call's Do method.
 10620  func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall {
 10621  	c.ctx_ = ctx
 10622  	return c
 10623  }
 10624  
 10625  // Header returns a http.Header that can be modified by the caller to add
 10626  // headers to the request.
 10627  func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) Header() http.Header {
 10628  	if c.header_ == nil {
 10629  		c.header_ = make(http.Header)
 10630  	}
 10631  	return c.header_
 10632  }
 10633  
 10634  func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 10635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10636  	var body io.Reader = nil
 10637  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
 10638  	if err != nil {
 10639  		return nil, err
 10640  	}
 10641  	c.urlParams_.Set("alt", alt)
 10642  	c.urlParams_.Set("prettyPrint", "false")
 10643  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 10644  	urls += "?" + c.urlParams_.Encode()
 10645  	req, err := http.NewRequest("POST", urls, body)
 10646  	if err != nil {
 10647  		return nil, err
 10648  	}
 10649  	req.Header = reqHeaders
 10650  	googleapi.Expand(req.URL, map[string]string{
 10651  		"resource": c.resource,
 10652  	})
 10653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10654  }
 10655  
 10656  // Do executes the "dataproc.projects.regions.autoscalingPolicies.getIamPolicy" call.
 10657  // Any non-2xx status code is an error. Response headers are in either
 10658  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 10659  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10660  // whether the returned error was because http.StatusNotModified was returned.
 10661  func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 10662  	gensupport.SetOptions(c.urlParams_, opts...)
 10663  	res, err := c.doRequest("json")
 10664  	if res != nil && res.StatusCode == http.StatusNotModified {
 10665  		if res.Body != nil {
 10666  			res.Body.Close()
 10667  		}
 10668  		return nil, gensupport.WrapError(&googleapi.Error{
 10669  			Code:   res.StatusCode,
 10670  			Header: res.Header,
 10671  		})
 10672  	}
 10673  	if err != nil {
 10674  		return nil, err
 10675  	}
 10676  	defer googleapi.CloseBody(res)
 10677  	if err := googleapi.CheckResponse(res); err != nil {
 10678  		return nil, gensupport.WrapError(err)
 10679  	}
 10680  	ret := &Policy{
 10681  		ServerResponse: googleapi.ServerResponse{
 10682  			Header:         res.Header,
 10683  			HTTPStatusCode: res.StatusCode,
 10684  		},
 10685  	}
 10686  	target := &ret
 10687  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10688  		return nil, err
 10689  	}
 10690  	return ret, nil
 10691  }
 10692  
 10693  type ProjectsRegionsAutoscalingPoliciesListCall struct {
 10694  	s            *Service
 10695  	parent       string
 10696  	urlParams_   gensupport.URLParams
 10697  	ifNoneMatch_ string
 10698  	ctx_         context.Context
 10699  	header_      http.Header
 10700  }
 10701  
 10702  // List: Lists autoscaling policies in the project.
 10703  //
 10704  //   - parent: The "resource name" of the region or location, as described in
 10705  //     https://cloud.google.com/apis/design/resource_names. For
 10706  //     projects.regions.autoscalingPolicies.list, the resource name of the region
 10707  //     has the following format: projects/{project_id}/regions/{region} For
 10708  //     projects.locations.autoscalingPolicies.list, the resource name of the
 10709  //     location has the following format:
 10710  //     projects/{project_id}/locations/{location}.
 10711  func (r *ProjectsRegionsAutoscalingPoliciesService) List(parent string) *ProjectsRegionsAutoscalingPoliciesListCall {
 10712  	c := &ProjectsRegionsAutoscalingPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10713  	c.parent = parent
 10714  	return c
 10715  }
 10716  
 10717  // PageSize sets the optional parameter "pageSize": The maximum number of
 10718  // results to return in each response. Must be less than or equal to 1000.
 10719  // Defaults to 100.
 10720  func (c *ProjectsRegionsAutoscalingPoliciesListCall) PageSize(pageSize int64) *ProjectsRegionsAutoscalingPoliciesListCall {
 10721  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10722  	return c
 10723  }
 10724  
 10725  // PageToken sets the optional parameter "pageToken": The page token, returned
 10726  // by a previous call, to request the next page of results.
 10727  func (c *ProjectsRegionsAutoscalingPoliciesListCall) PageToken(pageToken string) *ProjectsRegionsAutoscalingPoliciesListCall {
 10728  	c.urlParams_.Set("pageToken", pageToken)
 10729  	return c
 10730  }
 10731  
 10732  // Fields allows partial responses to be retrieved. See
 10733  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10734  // details.
 10735  func (c *ProjectsRegionsAutoscalingPoliciesListCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesListCall {
 10736  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10737  	return c
 10738  }
 10739  
 10740  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10741  // object's ETag matches the given value. This is useful for getting updates
 10742  // only after the object has changed since the last request.
 10743  func (c *ProjectsRegionsAutoscalingPoliciesListCall) IfNoneMatch(entityTag string) *ProjectsRegionsAutoscalingPoliciesListCall {
 10744  	c.ifNoneMatch_ = entityTag
 10745  	return c
 10746  }
 10747  
 10748  // Context sets the context to be used in this call's Do method.
 10749  func (c *ProjectsRegionsAutoscalingPoliciesListCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesListCall {
 10750  	c.ctx_ = ctx
 10751  	return c
 10752  }
 10753  
 10754  // Header returns a http.Header that can be modified by the caller to add
 10755  // headers to the request.
 10756  func (c *ProjectsRegionsAutoscalingPoliciesListCall) Header() http.Header {
 10757  	if c.header_ == nil {
 10758  		c.header_ = make(http.Header)
 10759  	}
 10760  	return c.header_
 10761  }
 10762  
 10763  func (c *ProjectsRegionsAutoscalingPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 10764  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10765  	if c.ifNoneMatch_ != "" {
 10766  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10767  	}
 10768  	var body io.Reader = nil
 10769  	c.urlParams_.Set("alt", alt)
 10770  	c.urlParams_.Set("prettyPrint", "false")
 10771  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autoscalingPolicies")
 10772  	urls += "?" + c.urlParams_.Encode()
 10773  	req, err := http.NewRequest("GET", urls, body)
 10774  	if err != nil {
 10775  		return nil, err
 10776  	}
 10777  	req.Header = reqHeaders
 10778  	googleapi.Expand(req.URL, map[string]string{
 10779  		"parent": c.parent,
 10780  	})
 10781  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10782  }
 10783  
 10784  // Do executes the "dataproc.projects.regions.autoscalingPolicies.list" call.
 10785  // Any non-2xx status code is an error. Response headers are in either
 10786  // *ListAutoscalingPoliciesResponse.ServerResponse.Header or (if a response was
 10787  // returned at all) in error.(*googleapi.Error).Header. Use
 10788  // googleapi.IsNotModified to check whether the returned error was because
 10789  // http.StatusNotModified was returned.
 10790  func (c *ProjectsRegionsAutoscalingPoliciesListCall) Do(opts ...googleapi.CallOption) (*ListAutoscalingPoliciesResponse, error) {
 10791  	gensupport.SetOptions(c.urlParams_, opts...)
 10792  	res, err := c.doRequest("json")
 10793  	if res != nil && res.StatusCode == http.StatusNotModified {
 10794  		if res.Body != nil {
 10795  			res.Body.Close()
 10796  		}
 10797  		return nil, gensupport.WrapError(&googleapi.Error{
 10798  			Code:   res.StatusCode,
 10799  			Header: res.Header,
 10800  		})
 10801  	}
 10802  	if err != nil {
 10803  		return nil, err
 10804  	}
 10805  	defer googleapi.CloseBody(res)
 10806  	if err := googleapi.CheckResponse(res); err != nil {
 10807  		return nil, gensupport.WrapError(err)
 10808  	}
 10809  	ret := &ListAutoscalingPoliciesResponse{
 10810  		ServerResponse: googleapi.ServerResponse{
 10811  			Header:         res.Header,
 10812  			HTTPStatusCode: res.StatusCode,
 10813  		},
 10814  	}
 10815  	target := &ret
 10816  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10817  		return nil, err
 10818  	}
 10819  	return ret, nil
 10820  }
 10821  
 10822  // Pages invokes f for each page of results.
 10823  // A non-nil error returned from f will halt the iteration.
 10824  // The provided context supersedes any context provided to the Context method.
 10825  func (c *ProjectsRegionsAutoscalingPoliciesListCall) Pages(ctx context.Context, f func(*ListAutoscalingPoliciesResponse) error) error {
 10826  	c.ctx_ = ctx
 10827  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10828  	for {
 10829  		x, err := c.Do()
 10830  		if err != nil {
 10831  			return err
 10832  		}
 10833  		if err := f(x); err != nil {
 10834  			return err
 10835  		}
 10836  		if x.NextPageToken == "" {
 10837  			return nil
 10838  		}
 10839  		c.PageToken(x.NextPageToken)
 10840  	}
 10841  }
 10842  
 10843  type ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall struct {
 10844  	s                   *Service
 10845  	resource            string
 10846  	setiampolicyrequest *SetIamPolicyRequest
 10847  	urlParams_          gensupport.URLParams
 10848  	ctx_                context.Context
 10849  	header_             http.Header
 10850  }
 10851  
 10852  // SetIamPolicy: Sets the access control policy on the specified resource.
 10853  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
 10854  // PERMISSION_DENIED errors.
 10855  //
 10856  //   - resource: REQUIRED: The resource for which the policy is being specified.
 10857  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 10858  //     for the appropriate value for this field.
 10859  func (r *ProjectsRegionsAutoscalingPoliciesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall {
 10860  	c := &ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10861  	c.resource = resource
 10862  	c.setiampolicyrequest = setiampolicyrequest
 10863  	return c
 10864  }
 10865  
 10866  // Fields allows partial responses to be retrieved. See
 10867  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10868  // details.
 10869  func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall {
 10870  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10871  	return c
 10872  }
 10873  
 10874  // Context sets the context to be used in this call's Do method.
 10875  func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall {
 10876  	c.ctx_ = ctx
 10877  	return c
 10878  }
 10879  
 10880  // Header returns a http.Header that can be modified by the caller to add
 10881  // headers to the request.
 10882  func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) Header() http.Header {
 10883  	if c.header_ == nil {
 10884  		c.header_ = make(http.Header)
 10885  	}
 10886  	return c.header_
 10887  }
 10888  
 10889  func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 10890  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10891  	var body io.Reader = nil
 10892  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 10893  	if err != nil {
 10894  		return nil, err
 10895  	}
 10896  	c.urlParams_.Set("alt", alt)
 10897  	c.urlParams_.Set("prettyPrint", "false")
 10898  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 10899  	urls += "?" + c.urlParams_.Encode()
 10900  	req, err := http.NewRequest("POST", urls, body)
 10901  	if err != nil {
 10902  		return nil, err
 10903  	}
 10904  	req.Header = reqHeaders
 10905  	googleapi.Expand(req.URL, map[string]string{
 10906  		"resource": c.resource,
 10907  	})
 10908  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10909  }
 10910  
 10911  // Do executes the "dataproc.projects.regions.autoscalingPolicies.setIamPolicy" call.
 10912  // Any non-2xx status code is an error. Response headers are in either
 10913  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 10914  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10915  // whether the returned error was because http.StatusNotModified was returned.
 10916  func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 10917  	gensupport.SetOptions(c.urlParams_, opts...)
 10918  	res, err := c.doRequest("json")
 10919  	if res != nil && res.StatusCode == http.StatusNotModified {
 10920  		if res.Body != nil {
 10921  			res.Body.Close()
 10922  		}
 10923  		return nil, gensupport.WrapError(&googleapi.Error{
 10924  			Code:   res.StatusCode,
 10925  			Header: res.Header,
 10926  		})
 10927  	}
 10928  	if err != nil {
 10929  		return nil, err
 10930  	}
 10931  	defer googleapi.CloseBody(res)
 10932  	if err := googleapi.CheckResponse(res); err != nil {
 10933  		return nil, gensupport.WrapError(err)
 10934  	}
 10935  	ret := &Policy{
 10936  		ServerResponse: googleapi.ServerResponse{
 10937  			Header:         res.Header,
 10938  			HTTPStatusCode: res.StatusCode,
 10939  		},
 10940  	}
 10941  	target := &ret
 10942  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10943  		return nil, err
 10944  	}
 10945  	return ret, nil
 10946  }
 10947  
 10948  type ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall struct {
 10949  	s                         *Service
 10950  	resource                  string
 10951  	testiampermissionsrequest *TestIamPermissionsRequest
 10952  	urlParams_                gensupport.URLParams
 10953  	ctx_                      context.Context
 10954  	header_                   http.Header
 10955  }
 10956  
 10957  // TestIamPermissions: Returns permissions that a caller has on the specified
 10958  // resource. If the resource does not exist, this will return an empty set of
 10959  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
 10960  // used for building permission-aware UIs and command-line tools, not for
 10961  // authorization checking. This operation may "fail open" without warning.
 10962  //
 10963  //   - resource: REQUIRED: The resource for which the policy detail is being
 10964  //     requested. See Resource names
 10965  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 10966  //     value for this field.
 10967  func (r *ProjectsRegionsAutoscalingPoliciesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall {
 10968  	c := &ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10969  	c.resource = resource
 10970  	c.testiampermissionsrequest = testiampermissionsrequest
 10971  	return c
 10972  }
 10973  
 10974  // Fields allows partial responses to be retrieved. See
 10975  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10976  // details.
 10977  func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall {
 10978  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10979  	return c
 10980  }
 10981  
 10982  // Context sets the context to be used in this call's Do method.
 10983  func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall {
 10984  	c.ctx_ = ctx
 10985  	return c
 10986  }
 10987  
 10988  // Header returns a http.Header that can be modified by the caller to add
 10989  // headers to the request.
 10990  func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) Header() http.Header {
 10991  	if c.header_ == nil {
 10992  		c.header_ = make(http.Header)
 10993  	}
 10994  	return c.header_
 10995  }
 10996  
 10997  func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 10998  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10999  	var body io.Reader = nil
 11000  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 11001  	if err != nil {
 11002  		return nil, err
 11003  	}
 11004  	c.urlParams_.Set("alt", alt)
 11005  	c.urlParams_.Set("prettyPrint", "false")
 11006  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 11007  	urls += "?" + c.urlParams_.Encode()
 11008  	req, err := http.NewRequest("POST", urls, body)
 11009  	if err != nil {
 11010  		return nil, err
 11011  	}
 11012  	req.Header = reqHeaders
 11013  	googleapi.Expand(req.URL, map[string]string{
 11014  		"resource": c.resource,
 11015  	})
 11016  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11017  }
 11018  
 11019  // Do executes the "dataproc.projects.regions.autoscalingPolicies.testIamPermissions" call.
 11020  // Any non-2xx status code is an error. Response headers are in either
 11021  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 11022  // returned at all) in error.(*googleapi.Error).Header. Use
 11023  // googleapi.IsNotModified to check whether the returned error was because
 11024  // http.StatusNotModified was returned.
 11025  func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 11026  	gensupport.SetOptions(c.urlParams_, opts...)
 11027  	res, err := c.doRequest("json")
 11028  	if res != nil && res.StatusCode == http.StatusNotModified {
 11029  		if res.Body != nil {
 11030  			res.Body.Close()
 11031  		}
 11032  		return nil, gensupport.WrapError(&googleapi.Error{
 11033  			Code:   res.StatusCode,
 11034  			Header: res.Header,
 11035  		})
 11036  	}
 11037  	if err != nil {
 11038  		return nil, err
 11039  	}
 11040  	defer googleapi.CloseBody(res)
 11041  	if err := googleapi.CheckResponse(res); err != nil {
 11042  		return nil, gensupport.WrapError(err)
 11043  	}
 11044  	ret := &TestIamPermissionsResponse{
 11045  		ServerResponse: googleapi.ServerResponse{
 11046  			Header:         res.Header,
 11047  			HTTPStatusCode: res.StatusCode,
 11048  		},
 11049  	}
 11050  	target := &ret
 11051  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11052  		return nil, err
 11053  	}
 11054  	return ret, nil
 11055  }
 11056  
 11057  type ProjectsRegionsAutoscalingPoliciesUpdateCall struct {
 11058  	s                 *Service
 11059  	name              string
 11060  	autoscalingpolicy *AutoscalingPolicy
 11061  	urlParams_        gensupport.URLParams
 11062  	ctx_              context.Context
 11063  	header_           http.Header
 11064  }
 11065  
 11066  // Update: Updates (replaces) autoscaling policy.Disabled check for
 11067  // update_mask, because all updates will be full replacements.
 11068  //
 11069  //   - name: Output only. The "resource name" of the autoscaling policy, as
 11070  //     described in https://cloud.google.com/apis/design/resource_names. For
 11071  //     projects.regions.autoscalingPolicies, the resource name of the policy has
 11072  //     the following format:
 11073  //     projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For
 11074  //     projects.locations.autoscalingPolicies, the resource name of the policy
 11075  //     has the following format:
 11076  //     projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}.
 11077  func (r *ProjectsRegionsAutoscalingPoliciesService) Update(name string, autoscalingpolicy *AutoscalingPolicy) *ProjectsRegionsAutoscalingPoliciesUpdateCall {
 11078  	c := &ProjectsRegionsAutoscalingPoliciesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11079  	c.name = name
 11080  	c.autoscalingpolicy = autoscalingpolicy
 11081  	return c
 11082  }
 11083  
 11084  // Fields allows partial responses to be retrieved. See
 11085  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11086  // details.
 11087  func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) Fields(s ...googleapi.Field) *ProjectsRegionsAutoscalingPoliciesUpdateCall {
 11088  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11089  	return c
 11090  }
 11091  
 11092  // Context sets the context to be used in this call's Do method.
 11093  func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) Context(ctx context.Context) *ProjectsRegionsAutoscalingPoliciesUpdateCall {
 11094  	c.ctx_ = ctx
 11095  	return c
 11096  }
 11097  
 11098  // Header returns a http.Header that can be modified by the caller to add
 11099  // headers to the request.
 11100  func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) Header() http.Header {
 11101  	if c.header_ == nil {
 11102  		c.header_ = make(http.Header)
 11103  	}
 11104  	return c.header_
 11105  }
 11106  
 11107  func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 11108  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11109  	var body io.Reader = nil
 11110  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscalingpolicy)
 11111  	if err != nil {
 11112  		return nil, err
 11113  	}
 11114  	c.urlParams_.Set("alt", alt)
 11115  	c.urlParams_.Set("prettyPrint", "false")
 11116  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11117  	urls += "?" + c.urlParams_.Encode()
 11118  	req, err := http.NewRequest("PUT", urls, body)
 11119  	if err != nil {
 11120  		return nil, err
 11121  	}
 11122  	req.Header = reqHeaders
 11123  	googleapi.Expand(req.URL, map[string]string{
 11124  		"name": c.name,
 11125  	})
 11126  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11127  }
 11128  
 11129  // Do executes the "dataproc.projects.regions.autoscalingPolicies.update" call.
 11130  // Any non-2xx status code is an error. Response headers are in either
 11131  // *AutoscalingPolicy.ServerResponse.Header or (if a response was returned at
 11132  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11133  // check whether the returned error was because http.StatusNotModified was
 11134  // returned.
 11135  func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) Do(opts ...googleapi.CallOption) (*AutoscalingPolicy, error) {
 11136  	gensupport.SetOptions(c.urlParams_, opts...)
 11137  	res, err := c.doRequest("json")
 11138  	if res != nil && res.StatusCode == http.StatusNotModified {
 11139  		if res.Body != nil {
 11140  			res.Body.Close()
 11141  		}
 11142  		return nil, gensupport.WrapError(&googleapi.Error{
 11143  			Code:   res.StatusCode,
 11144  			Header: res.Header,
 11145  		})
 11146  	}
 11147  	if err != nil {
 11148  		return nil, err
 11149  	}
 11150  	defer googleapi.CloseBody(res)
 11151  	if err := googleapi.CheckResponse(res); err != nil {
 11152  		return nil, gensupport.WrapError(err)
 11153  	}
 11154  	ret := &AutoscalingPolicy{
 11155  		ServerResponse: googleapi.ServerResponse{
 11156  			Header:         res.Header,
 11157  			HTTPStatusCode: res.StatusCode,
 11158  		},
 11159  	}
 11160  	target := &ret
 11161  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11162  		return nil, err
 11163  	}
 11164  	return ret, nil
 11165  }
 11166  
 11167  type ProjectsRegionsClustersCreateCall struct {
 11168  	s          *Service
 11169  	projectId  string
 11170  	region     string
 11171  	cluster    *Cluster
 11172  	urlParams_ gensupport.URLParams
 11173  	ctx_       context.Context
 11174  	header_    http.Header
 11175  }
 11176  
 11177  // Create: Creates a cluster in a project. The returned Operation.metadata will
 11178  // be ClusterOperationMetadata
 11179  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
 11180  //
 11181  //   - projectId: The ID of the Google Cloud Platform project that the cluster
 11182  //     belongs to.
 11183  //   - region: The Dataproc region in which to handle the request.
 11184  func (r *ProjectsRegionsClustersService) Create(projectId string, region string, cluster *Cluster) *ProjectsRegionsClustersCreateCall {
 11185  	c := &ProjectsRegionsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11186  	c.projectId = projectId
 11187  	c.region = region
 11188  	c.cluster = cluster
 11189  	return c
 11190  }
 11191  
 11192  // ActionOnFailedPrimaryWorkers sets the optional parameter
 11193  // "actionOnFailedPrimaryWorkers": Failure action when primary worker creation
 11194  // fails.
 11195  //
 11196  // Possible values:
 11197  //
 11198  //	"FAILURE_ACTION_UNSPECIFIED" - When FailureAction is unspecified, failure
 11199  //
 11200  // action defaults to NO_ACTION.
 11201  //
 11202  //	"NO_ACTION" - Take no action on failure to create a cluster resource.
 11203  //
 11204  // NO_ACTION is the default.
 11205  //
 11206  //	"DELETE" - Delete the failed cluster resource.
 11207  func (c *ProjectsRegionsClustersCreateCall) ActionOnFailedPrimaryWorkers(actionOnFailedPrimaryWorkers string) *ProjectsRegionsClustersCreateCall {
 11208  	c.urlParams_.Set("actionOnFailedPrimaryWorkers", actionOnFailedPrimaryWorkers)
 11209  	return c
 11210  }
 11211  
 11212  // RequestId sets the optional parameter "requestId": A unique ID used to
 11213  // identify the request. If the server receives two CreateClusterRequest
 11214  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s
 11215  // with the same id, then the second request will be ignored and the first
 11216  // google.longrunning.Operation created and stored in the backend is
 11217  // returned.It is recommended to always set this value to a UUID
 11218  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
 11219  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
 11220  // (-). The maximum length is 40 characters.
 11221  func (c *ProjectsRegionsClustersCreateCall) RequestId(requestId string) *ProjectsRegionsClustersCreateCall {
 11222  	c.urlParams_.Set("requestId", requestId)
 11223  	return c
 11224  }
 11225  
 11226  // Fields allows partial responses to be retrieved. See
 11227  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11228  // details.
 11229  func (c *ProjectsRegionsClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersCreateCall {
 11230  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11231  	return c
 11232  }
 11233  
 11234  // Context sets the context to be used in this call's Do method.
 11235  func (c *ProjectsRegionsClustersCreateCall) Context(ctx context.Context) *ProjectsRegionsClustersCreateCall {
 11236  	c.ctx_ = ctx
 11237  	return c
 11238  }
 11239  
 11240  // Header returns a http.Header that can be modified by the caller to add
 11241  // headers to the request.
 11242  func (c *ProjectsRegionsClustersCreateCall) Header() http.Header {
 11243  	if c.header_ == nil {
 11244  		c.header_ = make(http.Header)
 11245  	}
 11246  	return c.header_
 11247  }
 11248  
 11249  func (c *ProjectsRegionsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 11250  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11251  	var body io.Reader = nil
 11252  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
 11253  	if err != nil {
 11254  		return nil, err
 11255  	}
 11256  	c.urlParams_.Set("alt", alt)
 11257  	c.urlParams_.Set("prettyPrint", "false")
 11258  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters")
 11259  	urls += "?" + c.urlParams_.Encode()
 11260  	req, err := http.NewRequest("POST", urls, body)
 11261  	if err != nil {
 11262  		return nil, err
 11263  	}
 11264  	req.Header = reqHeaders
 11265  	googleapi.Expand(req.URL, map[string]string{
 11266  		"projectId": c.projectId,
 11267  		"region":    c.region,
 11268  	})
 11269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11270  }
 11271  
 11272  // Do executes the "dataproc.projects.regions.clusters.create" call.
 11273  // Any non-2xx status code is an error. Response headers are in either
 11274  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11275  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11276  // whether the returned error was because http.StatusNotModified was returned.
 11277  func (c *ProjectsRegionsClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11278  	gensupport.SetOptions(c.urlParams_, opts...)
 11279  	res, err := c.doRequest("json")
 11280  	if res != nil && res.StatusCode == http.StatusNotModified {
 11281  		if res.Body != nil {
 11282  			res.Body.Close()
 11283  		}
 11284  		return nil, gensupport.WrapError(&googleapi.Error{
 11285  			Code:   res.StatusCode,
 11286  			Header: res.Header,
 11287  		})
 11288  	}
 11289  	if err != nil {
 11290  		return nil, err
 11291  	}
 11292  	defer googleapi.CloseBody(res)
 11293  	if err := googleapi.CheckResponse(res); err != nil {
 11294  		return nil, gensupport.WrapError(err)
 11295  	}
 11296  	ret := &Operation{
 11297  		ServerResponse: googleapi.ServerResponse{
 11298  			Header:         res.Header,
 11299  			HTTPStatusCode: res.StatusCode,
 11300  		},
 11301  	}
 11302  	target := &ret
 11303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11304  		return nil, err
 11305  	}
 11306  	return ret, nil
 11307  }
 11308  
 11309  type ProjectsRegionsClustersDeleteCall struct {
 11310  	s           *Service
 11311  	projectId   string
 11312  	region      string
 11313  	clusterName string
 11314  	urlParams_  gensupport.URLParams
 11315  	ctx_        context.Context
 11316  	header_     http.Header
 11317  }
 11318  
 11319  // Delete: Deletes a cluster in a project. The returned Operation.metadata will
 11320  // be ClusterOperationMetadata
 11321  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
 11322  //
 11323  //   - clusterName: The cluster name.
 11324  //   - projectId: The ID of the Google Cloud Platform project that the cluster
 11325  //     belongs to.
 11326  //   - region: The Dataproc region in which to handle the request.
 11327  func (r *ProjectsRegionsClustersService) Delete(projectId string, region string, clusterName string) *ProjectsRegionsClustersDeleteCall {
 11328  	c := &ProjectsRegionsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11329  	c.projectId = projectId
 11330  	c.region = region
 11331  	c.clusterName = clusterName
 11332  	return c
 11333  }
 11334  
 11335  // ClusterUuid sets the optional parameter "clusterUuid": Specifying the
 11336  // cluster_uuid means the RPC should fail (with error NOT_FOUND) if cluster
 11337  // with specified UUID does not exist.
 11338  func (c *ProjectsRegionsClustersDeleteCall) ClusterUuid(clusterUuid string) *ProjectsRegionsClustersDeleteCall {
 11339  	c.urlParams_.Set("clusterUuid", clusterUuid)
 11340  	return c
 11341  }
 11342  
 11343  // GracefulTerminationTimeout sets the optional parameter
 11344  // "gracefulTerminationTimeout": The graceful termination timeout for the
 11345  // deletion of the cluster. Indicate the time the request will wait to complete
 11346  // the running jobs on the cluster before its forceful deletion. Default value
 11347  // is 0 indicating that the user has not enabled the graceful termination.
 11348  // Value can be between 60 second and 6 Hours, in case the graceful termination
 11349  // is enabled. (There is no separate flag to check the enabling or disabling of
 11350  // graceful termination, it can be checked by the values in the field).
 11351  func (c *ProjectsRegionsClustersDeleteCall) GracefulTerminationTimeout(gracefulTerminationTimeout string) *ProjectsRegionsClustersDeleteCall {
 11352  	c.urlParams_.Set("gracefulTerminationTimeout", gracefulTerminationTimeout)
 11353  	return c
 11354  }
 11355  
 11356  // RequestId sets the optional parameter "requestId": A unique ID used to
 11357  // identify the request. If the server receives two DeleteClusterRequest
 11358  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s
 11359  // with the same id, then the second request will be ignored and the first
 11360  // google.longrunning.Operation created and stored in the backend is
 11361  // returned.It is recommended to always set this value to a UUID
 11362  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
 11363  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
 11364  // (-). The maximum length is 40 characters.
 11365  func (c *ProjectsRegionsClustersDeleteCall) RequestId(requestId string) *ProjectsRegionsClustersDeleteCall {
 11366  	c.urlParams_.Set("requestId", requestId)
 11367  	return c
 11368  }
 11369  
 11370  // Fields allows partial responses to be retrieved. See
 11371  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11372  // details.
 11373  func (c *ProjectsRegionsClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersDeleteCall {
 11374  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11375  	return c
 11376  }
 11377  
 11378  // Context sets the context to be used in this call's Do method.
 11379  func (c *ProjectsRegionsClustersDeleteCall) Context(ctx context.Context) *ProjectsRegionsClustersDeleteCall {
 11380  	c.ctx_ = ctx
 11381  	return c
 11382  }
 11383  
 11384  // Header returns a http.Header that can be modified by the caller to add
 11385  // headers to the request.
 11386  func (c *ProjectsRegionsClustersDeleteCall) Header() http.Header {
 11387  	if c.header_ == nil {
 11388  		c.header_ = make(http.Header)
 11389  	}
 11390  	return c.header_
 11391  }
 11392  
 11393  func (c *ProjectsRegionsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 11394  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11395  	var body io.Reader = nil
 11396  	c.urlParams_.Set("alt", alt)
 11397  	c.urlParams_.Set("prettyPrint", "false")
 11398  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}")
 11399  	urls += "?" + c.urlParams_.Encode()
 11400  	req, err := http.NewRequest("DELETE", urls, body)
 11401  	if err != nil {
 11402  		return nil, err
 11403  	}
 11404  	req.Header = reqHeaders
 11405  	googleapi.Expand(req.URL, map[string]string{
 11406  		"projectId":   c.projectId,
 11407  		"region":      c.region,
 11408  		"clusterName": c.clusterName,
 11409  	})
 11410  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11411  }
 11412  
 11413  // Do executes the "dataproc.projects.regions.clusters.delete" call.
 11414  // Any non-2xx status code is an error. Response headers are in either
 11415  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11416  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11417  // whether the returned error was because http.StatusNotModified was returned.
 11418  func (c *ProjectsRegionsClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11419  	gensupport.SetOptions(c.urlParams_, opts...)
 11420  	res, err := c.doRequest("json")
 11421  	if res != nil && res.StatusCode == http.StatusNotModified {
 11422  		if res.Body != nil {
 11423  			res.Body.Close()
 11424  		}
 11425  		return nil, gensupport.WrapError(&googleapi.Error{
 11426  			Code:   res.StatusCode,
 11427  			Header: res.Header,
 11428  		})
 11429  	}
 11430  	if err != nil {
 11431  		return nil, err
 11432  	}
 11433  	defer googleapi.CloseBody(res)
 11434  	if err := googleapi.CheckResponse(res); err != nil {
 11435  		return nil, gensupport.WrapError(err)
 11436  	}
 11437  	ret := &Operation{
 11438  		ServerResponse: googleapi.ServerResponse{
 11439  			Header:         res.Header,
 11440  			HTTPStatusCode: res.StatusCode,
 11441  		},
 11442  	}
 11443  	target := &ret
 11444  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11445  		return nil, err
 11446  	}
 11447  	return ret, nil
 11448  }
 11449  
 11450  type ProjectsRegionsClustersDiagnoseCall struct {
 11451  	s                      *Service
 11452  	projectId              string
 11453  	region                 string
 11454  	clusterName            string
 11455  	diagnoseclusterrequest *DiagnoseClusterRequest
 11456  	urlParams_             gensupport.URLParams
 11457  	ctx_                   context.Context
 11458  	header_                http.Header
 11459  }
 11460  
 11461  // Diagnose: Gets cluster diagnostic information. The returned
 11462  // Operation.metadata will be ClusterOperationMetadata
 11463  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
 11464  // After the operation completes, Operation.response contains
 11465  // DiagnoseClusterResults
 11466  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).
 11467  //
 11468  //   - clusterName: The cluster name.
 11469  //   - projectId: The ID of the Google Cloud Platform project that the cluster
 11470  //     belongs to.
 11471  //   - region: The Dataproc region in which to handle the request.
 11472  func (r *ProjectsRegionsClustersService) Diagnose(projectId string, region string, clusterName string, diagnoseclusterrequest *DiagnoseClusterRequest) *ProjectsRegionsClustersDiagnoseCall {
 11473  	c := &ProjectsRegionsClustersDiagnoseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11474  	c.projectId = projectId
 11475  	c.region = region
 11476  	c.clusterName = clusterName
 11477  	c.diagnoseclusterrequest = diagnoseclusterrequest
 11478  	return c
 11479  }
 11480  
 11481  // Fields allows partial responses to be retrieved. See
 11482  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11483  // details.
 11484  func (c *ProjectsRegionsClustersDiagnoseCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersDiagnoseCall {
 11485  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11486  	return c
 11487  }
 11488  
 11489  // Context sets the context to be used in this call's Do method.
 11490  func (c *ProjectsRegionsClustersDiagnoseCall) Context(ctx context.Context) *ProjectsRegionsClustersDiagnoseCall {
 11491  	c.ctx_ = ctx
 11492  	return c
 11493  }
 11494  
 11495  // Header returns a http.Header that can be modified by the caller to add
 11496  // headers to the request.
 11497  func (c *ProjectsRegionsClustersDiagnoseCall) Header() http.Header {
 11498  	if c.header_ == nil {
 11499  		c.header_ = make(http.Header)
 11500  	}
 11501  	return c.header_
 11502  }
 11503  
 11504  func (c *ProjectsRegionsClustersDiagnoseCall) doRequest(alt string) (*http.Response, error) {
 11505  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11506  	var body io.Reader = nil
 11507  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.diagnoseclusterrequest)
 11508  	if err != nil {
 11509  		return nil, err
 11510  	}
 11511  	c.urlParams_.Set("alt", alt)
 11512  	c.urlParams_.Set("prettyPrint", "false")
 11513  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose")
 11514  	urls += "?" + c.urlParams_.Encode()
 11515  	req, err := http.NewRequest("POST", urls, body)
 11516  	if err != nil {
 11517  		return nil, err
 11518  	}
 11519  	req.Header = reqHeaders
 11520  	googleapi.Expand(req.URL, map[string]string{
 11521  		"projectId":   c.projectId,
 11522  		"region":      c.region,
 11523  		"clusterName": c.clusterName,
 11524  	})
 11525  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11526  }
 11527  
 11528  // Do executes the "dataproc.projects.regions.clusters.diagnose" call.
 11529  // Any non-2xx status code is an error. Response headers are in either
 11530  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11531  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11532  // whether the returned error was because http.StatusNotModified was returned.
 11533  func (c *ProjectsRegionsClustersDiagnoseCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11534  	gensupport.SetOptions(c.urlParams_, opts...)
 11535  	res, err := c.doRequest("json")
 11536  	if res != nil && res.StatusCode == http.StatusNotModified {
 11537  		if res.Body != nil {
 11538  			res.Body.Close()
 11539  		}
 11540  		return nil, gensupport.WrapError(&googleapi.Error{
 11541  			Code:   res.StatusCode,
 11542  			Header: res.Header,
 11543  		})
 11544  	}
 11545  	if err != nil {
 11546  		return nil, err
 11547  	}
 11548  	defer googleapi.CloseBody(res)
 11549  	if err := googleapi.CheckResponse(res); err != nil {
 11550  		return nil, gensupport.WrapError(err)
 11551  	}
 11552  	ret := &Operation{
 11553  		ServerResponse: googleapi.ServerResponse{
 11554  			Header:         res.Header,
 11555  			HTTPStatusCode: res.StatusCode,
 11556  		},
 11557  	}
 11558  	target := &ret
 11559  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11560  		return nil, err
 11561  	}
 11562  	return ret, nil
 11563  }
 11564  
 11565  type ProjectsRegionsClustersGetCall struct {
 11566  	s            *Service
 11567  	projectId    string
 11568  	region       string
 11569  	clusterName  string
 11570  	urlParams_   gensupport.URLParams
 11571  	ifNoneMatch_ string
 11572  	ctx_         context.Context
 11573  	header_      http.Header
 11574  }
 11575  
 11576  // Get: Gets the resource representation for a cluster in a project.
 11577  //
 11578  //   - clusterName: The cluster name.
 11579  //   - projectId: The ID of the Google Cloud Platform project that the cluster
 11580  //     belongs to.
 11581  //   - region: The Dataproc region in which to handle the request.
 11582  func (r *ProjectsRegionsClustersService) Get(projectId string, region string, clusterName string) *ProjectsRegionsClustersGetCall {
 11583  	c := &ProjectsRegionsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11584  	c.projectId = projectId
 11585  	c.region = region
 11586  	c.clusterName = clusterName
 11587  	return c
 11588  }
 11589  
 11590  // Fields allows partial responses to be retrieved. See
 11591  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11592  // details.
 11593  func (c *ProjectsRegionsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersGetCall {
 11594  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11595  	return c
 11596  }
 11597  
 11598  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11599  // object's ETag matches the given value. This is useful for getting updates
 11600  // only after the object has changed since the last request.
 11601  func (c *ProjectsRegionsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsClustersGetCall {
 11602  	c.ifNoneMatch_ = entityTag
 11603  	return c
 11604  }
 11605  
 11606  // Context sets the context to be used in this call's Do method.
 11607  func (c *ProjectsRegionsClustersGetCall) Context(ctx context.Context) *ProjectsRegionsClustersGetCall {
 11608  	c.ctx_ = ctx
 11609  	return c
 11610  }
 11611  
 11612  // Header returns a http.Header that can be modified by the caller to add
 11613  // headers to the request.
 11614  func (c *ProjectsRegionsClustersGetCall) Header() http.Header {
 11615  	if c.header_ == nil {
 11616  		c.header_ = make(http.Header)
 11617  	}
 11618  	return c.header_
 11619  }
 11620  
 11621  func (c *ProjectsRegionsClustersGetCall) doRequest(alt string) (*http.Response, error) {
 11622  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11623  	if c.ifNoneMatch_ != "" {
 11624  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11625  	}
 11626  	var body io.Reader = nil
 11627  	c.urlParams_.Set("alt", alt)
 11628  	c.urlParams_.Set("prettyPrint", "false")
 11629  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}")
 11630  	urls += "?" + c.urlParams_.Encode()
 11631  	req, err := http.NewRequest("GET", urls, body)
 11632  	if err != nil {
 11633  		return nil, err
 11634  	}
 11635  	req.Header = reqHeaders
 11636  	googleapi.Expand(req.URL, map[string]string{
 11637  		"projectId":   c.projectId,
 11638  		"region":      c.region,
 11639  		"clusterName": c.clusterName,
 11640  	})
 11641  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11642  }
 11643  
 11644  // Do executes the "dataproc.projects.regions.clusters.get" call.
 11645  // Any non-2xx status code is an error. Response headers are in either
 11646  // *Cluster.ServerResponse.Header or (if a response was returned at all) in
 11647  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11648  // whether the returned error was because http.StatusNotModified was returned.
 11649  func (c *ProjectsRegionsClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, error) {
 11650  	gensupport.SetOptions(c.urlParams_, opts...)
 11651  	res, err := c.doRequest("json")
 11652  	if res != nil && res.StatusCode == http.StatusNotModified {
 11653  		if res.Body != nil {
 11654  			res.Body.Close()
 11655  		}
 11656  		return nil, gensupport.WrapError(&googleapi.Error{
 11657  			Code:   res.StatusCode,
 11658  			Header: res.Header,
 11659  		})
 11660  	}
 11661  	if err != nil {
 11662  		return nil, err
 11663  	}
 11664  	defer googleapi.CloseBody(res)
 11665  	if err := googleapi.CheckResponse(res); err != nil {
 11666  		return nil, gensupport.WrapError(err)
 11667  	}
 11668  	ret := &Cluster{
 11669  		ServerResponse: googleapi.ServerResponse{
 11670  			Header:         res.Header,
 11671  			HTTPStatusCode: res.StatusCode,
 11672  		},
 11673  	}
 11674  	target := &ret
 11675  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11676  		return nil, err
 11677  	}
 11678  	return ret, nil
 11679  }
 11680  
 11681  type ProjectsRegionsClustersGetIamPolicyCall struct {
 11682  	s                   *Service
 11683  	resource            string
 11684  	getiampolicyrequest *GetIamPolicyRequest
 11685  	urlParams_          gensupport.URLParams
 11686  	ctx_                context.Context
 11687  	header_             http.Header
 11688  }
 11689  
 11690  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 11691  // empty policy if the resource exists and does not have a policy set.
 11692  //
 11693  //   - resource: REQUIRED: The resource for which the policy is being requested.
 11694  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 11695  //     for the appropriate value for this field.
 11696  func (r *ProjectsRegionsClustersService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsRegionsClustersGetIamPolicyCall {
 11697  	c := &ProjectsRegionsClustersGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11698  	c.resource = resource
 11699  	c.getiampolicyrequest = getiampolicyrequest
 11700  	return c
 11701  }
 11702  
 11703  // Fields allows partial responses to be retrieved. See
 11704  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11705  // details.
 11706  func (c *ProjectsRegionsClustersGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersGetIamPolicyCall {
 11707  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11708  	return c
 11709  }
 11710  
 11711  // Context sets the context to be used in this call's Do method.
 11712  func (c *ProjectsRegionsClustersGetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsClustersGetIamPolicyCall {
 11713  	c.ctx_ = ctx
 11714  	return c
 11715  }
 11716  
 11717  // Header returns a http.Header that can be modified by the caller to add
 11718  // headers to the request.
 11719  func (c *ProjectsRegionsClustersGetIamPolicyCall) Header() http.Header {
 11720  	if c.header_ == nil {
 11721  		c.header_ = make(http.Header)
 11722  	}
 11723  	return c.header_
 11724  }
 11725  
 11726  func (c *ProjectsRegionsClustersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 11727  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11728  	var body io.Reader = nil
 11729  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
 11730  	if err != nil {
 11731  		return nil, err
 11732  	}
 11733  	c.urlParams_.Set("alt", alt)
 11734  	c.urlParams_.Set("prettyPrint", "false")
 11735  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 11736  	urls += "?" + c.urlParams_.Encode()
 11737  	req, err := http.NewRequest("POST", urls, body)
 11738  	if err != nil {
 11739  		return nil, err
 11740  	}
 11741  	req.Header = reqHeaders
 11742  	googleapi.Expand(req.URL, map[string]string{
 11743  		"resource": c.resource,
 11744  	})
 11745  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11746  }
 11747  
 11748  // Do executes the "dataproc.projects.regions.clusters.getIamPolicy" call.
 11749  // Any non-2xx status code is an error. Response headers are in either
 11750  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 11751  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11752  // whether the returned error was because http.StatusNotModified was returned.
 11753  func (c *ProjectsRegionsClustersGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 11754  	gensupport.SetOptions(c.urlParams_, opts...)
 11755  	res, err := c.doRequest("json")
 11756  	if res != nil && res.StatusCode == http.StatusNotModified {
 11757  		if res.Body != nil {
 11758  			res.Body.Close()
 11759  		}
 11760  		return nil, gensupport.WrapError(&googleapi.Error{
 11761  			Code:   res.StatusCode,
 11762  			Header: res.Header,
 11763  		})
 11764  	}
 11765  	if err != nil {
 11766  		return nil, err
 11767  	}
 11768  	defer googleapi.CloseBody(res)
 11769  	if err := googleapi.CheckResponse(res); err != nil {
 11770  		return nil, gensupport.WrapError(err)
 11771  	}
 11772  	ret := &Policy{
 11773  		ServerResponse: googleapi.ServerResponse{
 11774  			Header:         res.Header,
 11775  			HTTPStatusCode: res.StatusCode,
 11776  		},
 11777  	}
 11778  	target := &ret
 11779  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11780  		return nil, err
 11781  	}
 11782  	return ret, nil
 11783  }
 11784  
 11785  type ProjectsRegionsClustersInjectCredentialsCall struct {
 11786  	s                        *Service
 11787  	project                  string
 11788  	region                   string
 11789  	cluster                  string
 11790  	injectcredentialsrequest *InjectCredentialsRequest
 11791  	urlParams_               gensupport.URLParams
 11792  	ctx_                     context.Context
 11793  	header_                  http.Header
 11794  }
 11795  
 11796  // InjectCredentials: Inject encrypted credentials into all of the VMs in a
 11797  // cluster.The target cluster must be a personal auth cluster assigned to the
 11798  // user who is issuing the RPC.
 11799  //
 11800  //   - cluster: The cluster, in the form clusters/.
 11801  //   - project: The ID of the Google Cloud Platform project the cluster belongs
 11802  //     to, of the form projects/.
 11803  //   - region: The region containing the cluster, of the form regions/.
 11804  func (r *ProjectsRegionsClustersService) InjectCredentials(project string, region string, cluster string, injectcredentialsrequest *InjectCredentialsRequest) *ProjectsRegionsClustersInjectCredentialsCall {
 11805  	c := &ProjectsRegionsClustersInjectCredentialsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11806  	c.project = project
 11807  	c.region = region
 11808  	c.cluster = cluster
 11809  	c.injectcredentialsrequest = injectcredentialsrequest
 11810  	return c
 11811  }
 11812  
 11813  // Fields allows partial responses to be retrieved. See
 11814  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11815  // details.
 11816  func (c *ProjectsRegionsClustersInjectCredentialsCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersInjectCredentialsCall {
 11817  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11818  	return c
 11819  }
 11820  
 11821  // Context sets the context to be used in this call's Do method.
 11822  func (c *ProjectsRegionsClustersInjectCredentialsCall) Context(ctx context.Context) *ProjectsRegionsClustersInjectCredentialsCall {
 11823  	c.ctx_ = ctx
 11824  	return c
 11825  }
 11826  
 11827  // Header returns a http.Header that can be modified by the caller to add
 11828  // headers to the request.
 11829  func (c *ProjectsRegionsClustersInjectCredentialsCall) Header() http.Header {
 11830  	if c.header_ == nil {
 11831  		c.header_ = make(http.Header)
 11832  	}
 11833  	return c.header_
 11834  }
 11835  
 11836  func (c *ProjectsRegionsClustersInjectCredentialsCall) doRequest(alt string) (*http.Response, error) {
 11837  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11838  	var body io.Reader = nil
 11839  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.injectcredentialsrequest)
 11840  	if err != nil {
 11841  		return nil, err
 11842  	}
 11843  	c.urlParams_.Set("alt", alt)
 11844  	c.urlParams_.Set("prettyPrint", "false")
 11845  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+project}/{+region}/{+cluster}:injectCredentials")
 11846  	urls += "?" + c.urlParams_.Encode()
 11847  	req, err := http.NewRequest("POST", urls, body)
 11848  	if err != nil {
 11849  		return nil, err
 11850  	}
 11851  	req.Header = reqHeaders
 11852  	googleapi.Expand(req.URL, map[string]string{
 11853  		"project": c.project,
 11854  		"region":  c.region,
 11855  		"cluster": c.cluster,
 11856  	})
 11857  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11858  }
 11859  
 11860  // Do executes the "dataproc.projects.regions.clusters.injectCredentials" call.
 11861  // Any non-2xx status code is an error. Response headers are in either
 11862  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11863  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11864  // whether the returned error was because http.StatusNotModified was returned.
 11865  func (c *ProjectsRegionsClustersInjectCredentialsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11866  	gensupport.SetOptions(c.urlParams_, opts...)
 11867  	res, err := c.doRequest("json")
 11868  	if res != nil && res.StatusCode == http.StatusNotModified {
 11869  		if res.Body != nil {
 11870  			res.Body.Close()
 11871  		}
 11872  		return nil, gensupport.WrapError(&googleapi.Error{
 11873  			Code:   res.StatusCode,
 11874  			Header: res.Header,
 11875  		})
 11876  	}
 11877  	if err != nil {
 11878  		return nil, err
 11879  	}
 11880  	defer googleapi.CloseBody(res)
 11881  	if err := googleapi.CheckResponse(res); err != nil {
 11882  		return nil, gensupport.WrapError(err)
 11883  	}
 11884  	ret := &Operation{
 11885  		ServerResponse: googleapi.ServerResponse{
 11886  			Header:         res.Header,
 11887  			HTTPStatusCode: res.StatusCode,
 11888  		},
 11889  	}
 11890  	target := &ret
 11891  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11892  		return nil, err
 11893  	}
 11894  	return ret, nil
 11895  }
 11896  
 11897  type ProjectsRegionsClustersListCall struct {
 11898  	s            *Service
 11899  	projectId    string
 11900  	region       string
 11901  	urlParams_   gensupport.URLParams
 11902  	ifNoneMatch_ string
 11903  	ctx_         context.Context
 11904  	header_      http.Header
 11905  }
 11906  
 11907  // List: Lists all regions/{region}/clusters in a project alphabetically.
 11908  //
 11909  //   - projectId: The ID of the Google Cloud Platform project that the cluster
 11910  //     belongs to.
 11911  //   - region: The Dataproc region in which to handle the request.
 11912  func (r *ProjectsRegionsClustersService) List(projectId string, region string) *ProjectsRegionsClustersListCall {
 11913  	c := &ProjectsRegionsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11914  	c.projectId = projectId
 11915  	c.region = region
 11916  	return c
 11917  }
 11918  
 11919  // Filter sets the optional parameter "filter": A filter constraining the
 11920  // clusters to list. Filters are case-sensitive and have the following
 11921  // syntax:field = value AND field = value ...where field is one of
 11922  // status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value
 11923  // can be * to match all values. status.state can be one of the following:
 11924  // ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, UPDATING, STOPPING, or
 11925  // STOPPED. ACTIVE contains the CREATING, UPDATING, and RUNNING states.
 11926  // INACTIVE contains the DELETING, ERROR, STOPPING, and STOPPED states.
 11927  // clusterName is the name of the cluster provided at creation time. Only the
 11928  // logical AND operator is supported; space-separated items are treated as
 11929  // having an implicit AND operator.Example filter:status.state = ACTIVE AND
 11930  // clusterName = mycluster AND labels.env = staging AND labels.starred = *
 11931  func (c *ProjectsRegionsClustersListCall) Filter(filter string) *ProjectsRegionsClustersListCall {
 11932  	c.urlParams_.Set("filter", filter)
 11933  	return c
 11934  }
 11935  
 11936  // PageSize sets the optional parameter "pageSize": The standard List page
 11937  // size.
 11938  func (c *ProjectsRegionsClustersListCall) PageSize(pageSize int64) *ProjectsRegionsClustersListCall {
 11939  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11940  	return c
 11941  }
 11942  
 11943  // PageToken sets the optional parameter "pageToken": The standard List page
 11944  // token.
 11945  func (c *ProjectsRegionsClustersListCall) PageToken(pageToken string) *ProjectsRegionsClustersListCall {
 11946  	c.urlParams_.Set("pageToken", pageToken)
 11947  	return c
 11948  }
 11949  
 11950  // Fields allows partial responses to be retrieved. See
 11951  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11952  // details.
 11953  func (c *ProjectsRegionsClustersListCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersListCall {
 11954  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11955  	return c
 11956  }
 11957  
 11958  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11959  // object's ETag matches the given value. This is useful for getting updates
 11960  // only after the object has changed since the last request.
 11961  func (c *ProjectsRegionsClustersListCall) IfNoneMatch(entityTag string) *ProjectsRegionsClustersListCall {
 11962  	c.ifNoneMatch_ = entityTag
 11963  	return c
 11964  }
 11965  
 11966  // Context sets the context to be used in this call's Do method.
 11967  func (c *ProjectsRegionsClustersListCall) Context(ctx context.Context) *ProjectsRegionsClustersListCall {
 11968  	c.ctx_ = ctx
 11969  	return c
 11970  }
 11971  
 11972  // Header returns a http.Header that can be modified by the caller to add
 11973  // headers to the request.
 11974  func (c *ProjectsRegionsClustersListCall) Header() http.Header {
 11975  	if c.header_ == nil {
 11976  		c.header_ = make(http.Header)
 11977  	}
 11978  	return c.header_
 11979  }
 11980  
 11981  func (c *ProjectsRegionsClustersListCall) doRequest(alt string) (*http.Response, error) {
 11982  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11983  	if c.ifNoneMatch_ != "" {
 11984  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11985  	}
 11986  	var body io.Reader = nil
 11987  	c.urlParams_.Set("alt", alt)
 11988  	c.urlParams_.Set("prettyPrint", "false")
 11989  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters")
 11990  	urls += "?" + c.urlParams_.Encode()
 11991  	req, err := http.NewRequest("GET", urls, body)
 11992  	if err != nil {
 11993  		return nil, err
 11994  	}
 11995  	req.Header = reqHeaders
 11996  	googleapi.Expand(req.URL, map[string]string{
 11997  		"projectId": c.projectId,
 11998  		"region":    c.region,
 11999  	})
 12000  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12001  }
 12002  
 12003  // Do executes the "dataproc.projects.regions.clusters.list" call.
 12004  // Any non-2xx status code is an error. Response headers are in either
 12005  // *ListClustersResponse.ServerResponse.Header or (if a response was returned
 12006  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12007  // check whether the returned error was because http.StatusNotModified was
 12008  // returned.
 12009  func (c *ProjectsRegionsClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, error) {
 12010  	gensupport.SetOptions(c.urlParams_, opts...)
 12011  	res, err := c.doRequest("json")
 12012  	if res != nil && res.StatusCode == http.StatusNotModified {
 12013  		if res.Body != nil {
 12014  			res.Body.Close()
 12015  		}
 12016  		return nil, gensupport.WrapError(&googleapi.Error{
 12017  			Code:   res.StatusCode,
 12018  			Header: res.Header,
 12019  		})
 12020  	}
 12021  	if err != nil {
 12022  		return nil, err
 12023  	}
 12024  	defer googleapi.CloseBody(res)
 12025  	if err := googleapi.CheckResponse(res); err != nil {
 12026  		return nil, gensupport.WrapError(err)
 12027  	}
 12028  	ret := &ListClustersResponse{
 12029  		ServerResponse: googleapi.ServerResponse{
 12030  			Header:         res.Header,
 12031  			HTTPStatusCode: res.StatusCode,
 12032  		},
 12033  	}
 12034  	target := &ret
 12035  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12036  		return nil, err
 12037  	}
 12038  	return ret, nil
 12039  }
 12040  
 12041  // Pages invokes f for each page of results.
 12042  // A non-nil error returned from f will halt the iteration.
 12043  // The provided context supersedes any context provided to the Context method.
 12044  func (c *ProjectsRegionsClustersListCall) Pages(ctx context.Context, f func(*ListClustersResponse) error) error {
 12045  	c.ctx_ = ctx
 12046  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12047  	for {
 12048  		x, err := c.Do()
 12049  		if err != nil {
 12050  			return err
 12051  		}
 12052  		if err := f(x); err != nil {
 12053  			return err
 12054  		}
 12055  		if x.NextPageToken == "" {
 12056  			return nil
 12057  		}
 12058  		c.PageToken(x.NextPageToken)
 12059  	}
 12060  }
 12061  
 12062  type ProjectsRegionsClustersPatchCall struct {
 12063  	s           *Service
 12064  	projectId   string
 12065  	region      string
 12066  	clusterName string
 12067  	cluster     *Cluster
 12068  	urlParams_  gensupport.URLParams
 12069  	ctx_        context.Context
 12070  	header_     http.Header
 12071  }
 12072  
 12073  // Patch: Updates a cluster in a project. The returned Operation.metadata will
 12074  // be ClusterOperationMetadata
 12075  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
 12076  // The cluster must be in a RUNNING state or an error is returned.
 12077  //
 12078  //   - clusterName: The cluster name.
 12079  //   - projectId: The ID of the Google Cloud Platform project the cluster belongs
 12080  //     to.
 12081  //   - region: The Dataproc region in which to handle the request.
 12082  func (r *ProjectsRegionsClustersService) Patch(projectId string, region string, clusterName string, cluster *Cluster) *ProjectsRegionsClustersPatchCall {
 12083  	c := &ProjectsRegionsClustersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12084  	c.projectId = projectId
 12085  	c.region = region
 12086  	c.clusterName = clusterName
 12087  	c.cluster = cluster
 12088  	return c
 12089  }
 12090  
 12091  // GracefulDecommissionTimeout sets the optional parameter
 12092  // "gracefulDecommissionTimeout": Timeout for graceful YARN decommissioning.
 12093  // Graceful decommissioning allows removing nodes from the cluster without
 12094  // interrupting jobs in progress. Timeout specifies how long to wait for jobs
 12095  // in progress to finish before forcefully removing nodes (and potentially
 12096  // interrupting jobs). Default timeout is 0 (for forceful decommission), and
 12097  // the maximum allowed timeout is 1 day. (see JSON representation of Duration
 12098  // (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only
 12099  // supported on Dataproc image versions 1.2 and higher.
 12100  func (c *ProjectsRegionsClustersPatchCall) GracefulDecommissionTimeout(gracefulDecommissionTimeout string) *ProjectsRegionsClustersPatchCall {
 12101  	c.urlParams_.Set("gracefulDecommissionTimeout", gracefulDecommissionTimeout)
 12102  	return c
 12103  }
 12104  
 12105  // RequestId sets the optional parameter "requestId": A unique ID used to
 12106  // identify the request. If the server receives two UpdateClusterRequest
 12107  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s
 12108  // with the same id, then the second request will be ignored and the first
 12109  // google.longrunning.Operation created and stored in the backend is
 12110  // returned.It is recommended to always set this value to a UUID
 12111  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
 12112  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
 12113  // (-). The maximum length is 40 characters.
 12114  func (c *ProjectsRegionsClustersPatchCall) RequestId(requestId string) *ProjectsRegionsClustersPatchCall {
 12115  	c.urlParams_.Set("requestId", requestId)
 12116  	return c
 12117  }
 12118  
 12119  // UpdateMask sets the optional parameter "updateMask": Required. Specifies the
 12120  // path, relative to Cluster, of the field to update. For example, to change
 12121  // the number of workers in a cluster to 5, the update_mask parameter would be
 12122  // specified as config.worker_config.num_instances, and the PATCH request body
 12123  // would specify the new value, as follows: { "config":{ "workerConfig":{
 12124  // "numInstances":"5" } } } Similarly, to change the number of preemptible
 12125  // workers in a cluster to 5, the update_mask parameter would be
 12126  // config.secondary_worker_config.num_instances, and the PATCH request body
 12127  // would be set as follows: { "config":{ "secondaryWorkerConfig":{
 12128  // "numInstances":"5" } } } *Note:* Currently, only the following fields can be
 12129  // updated: *Mask* *Purpose* *labels* Update labels
 12130  // *config.worker_config.num_instances* Resize primary worker group
 12131  // *config.secondary_worker_config.num_instances* Resize secondary worker group
 12132  // config.autoscaling_config.policy_uri Use, stop using, or change autoscaling
 12133  // policies
 12134  func (c *ProjectsRegionsClustersPatchCall) UpdateMask(updateMask string) *ProjectsRegionsClustersPatchCall {
 12135  	c.urlParams_.Set("updateMask", updateMask)
 12136  	return c
 12137  }
 12138  
 12139  // Fields allows partial responses to be retrieved. See
 12140  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12141  // details.
 12142  func (c *ProjectsRegionsClustersPatchCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersPatchCall {
 12143  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12144  	return c
 12145  }
 12146  
 12147  // Context sets the context to be used in this call's Do method.
 12148  func (c *ProjectsRegionsClustersPatchCall) Context(ctx context.Context) *ProjectsRegionsClustersPatchCall {
 12149  	c.ctx_ = ctx
 12150  	return c
 12151  }
 12152  
 12153  // Header returns a http.Header that can be modified by the caller to add
 12154  // headers to the request.
 12155  func (c *ProjectsRegionsClustersPatchCall) Header() http.Header {
 12156  	if c.header_ == nil {
 12157  		c.header_ = make(http.Header)
 12158  	}
 12159  	return c.header_
 12160  }
 12161  
 12162  func (c *ProjectsRegionsClustersPatchCall) doRequest(alt string) (*http.Response, error) {
 12163  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12164  	var body io.Reader = nil
 12165  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
 12166  	if err != nil {
 12167  		return nil, err
 12168  	}
 12169  	c.urlParams_.Set("alt", alt)
 12170  	c.urlParams_.Set("prettyPrint", "false")
 12171  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}")
 12172  	urls += "?" + c.urlParams_.Encode()
 12173  	req, err := http.NewRequest("PATCH", urls, body)
 12174  	if err != nil {
 12175  		return nil, err
 12176  	}
 12177  	req.Header = reqHeaders
 12178  	googleapi.Expand(req.URL, map[string]string{
 12179  		"projectId":   c.projectId,
 12180  		"region":      c.region,
 12181  		"clusterName": c.clusterName,
 12182  	})
 12183  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12184  }
 12185  
 12186  // Do executes the "dataproc.projects.regions.clusters.patch" call.
 12187  // Any non-2xx status code is an error. Response headers are in either
 12188  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12189  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12190  // whether the returned error was because http.StatusNotModified was returned.
 12191  func (c *ProjectsRegionsClustersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12192  	gensupport.SetOptions(c.urlParams_, opts...)
 12193  	res, err := c.doRequest("json")
 12194  	if res != nil && res.StatusCode == http.StatusNotModified {
 12195  		if res.Body != nil {
 12196  			res.Body.Close()
 12197  		}
 12198  		return nil, gensupport.WrapError(&googleapi.Error{
 12199  			Code:   res.StatusCode,
 12200  			Header: res.Header,
 12201  		})
 12202  	}
 12203  	if err != nil {
 12204  		return nil, err
 12205  	}
 12206  	defer googleapi.CloseBody(res)
 12207  	if err := googleapi.CheckResponse(res); err != nil {
 12208  		return nil, gensupport.WrapError(err)
 12209  	}
 12210  	ret := &Operation{
 12211  		ServerResponse: googleapi.ServerResponse{
 12212  			Header:         res.Header,
 12213  			HTTPStatusCode: res.StatusCode,
 12214  		},
 12215  	}
 12216  	target := &ret
 12217  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12218  		return nil, err
 12219  	}
 12220  	return ret, nil
 12221  }
 12222  
 12223  type ProjectsRegionsClustersRepairCall struct {
 12224  	s                    *Service
 12225  	projectId            string
 12226  	region               string
 12227  	clusterName          string
 12228  	repairclusterrequest *RepairClusterRequest
 12229  	urlParams_           gensupport.URLParams
 12230  	ctx_                 context.Context
 12231  	header_              http.Header
 12232  }
 12233  
 12234  // Repair: Repairs a cluster.
 12235  //
 12236  //   - clusterName: The cluster name.
 12237  //   - projectId: The ID of the Google Cloud Platform project the cluster belongs
 12238  //     to.
 12239  //   - region: The Dataproc region in which to handle the request.
 12240  func (r *ProjectsRegionsClustersService) Repair(projectId string, region string, clusterName string, repairclusterrequest *RepairClusterRequest) *ProjectsRegionsClustersRepairCall {
 12241  	c := &ProjectsRegionsClustersRepairCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12242  	c.projectId = projectId
 12243  	c.region = region
 12244  	c.clusterName = clusterName
 12245  	c.repairclusterrequest = repairclusterrequest
 12246  	return c
 12247  }
 12248  
 12249  // Fields allows partial responses to be retrieved. See
 12250  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12251  // details.
 12252  func (c *ProjectsRegionsClustersRepairCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersRepairCall {
 12253  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12254  	return c
 12255  }
 12256  
 12257  // Context sets the context to be used in this call's Do method.
 12258  func (c *ProjectsRegionsClustersRepairCall) Context(ctx context.Context) *ProjectsRegionsClustersRepairCall {
 12259  	c.ctx_ = ctx
 12260  	return c
 12261  }
 12262  
 12263  // Header returns a http.Header that can be modified by the caller to add
 12264  // headers to the request.
 12265  func (c *ProjectsRegionsClustersRepairCall) Header() http.Header {
 12266  	if c.header_ == nil {
 12267  		c.header_ = make(http.Header)
 12268  	}
 12269  	return c.header_
 12270  }
 12271  
 12272  func (c *ProjectsRegionsClustersRepairCall) doRequest(alt string) (*http.Response, error) {
 12273  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12274  	var body io.Reader = nil
 12275  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.repairclusterrequest)
 12276  	if err != nil {
 12277  		return nil, err
 12278  	}
 12279  	c.urlParams_.Set("alt", alt)
 12280  	c.urlParams_.Set("prettyPrint", "false")
 12281  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair")
 12282  	urls += "?" + c.urlParams_.Encode()
 12283  	req, err := http.NewRequest("POST", urls, body)
 12284  	if err != nil {
 12285  		return nil, err
 12286  	}
 12287  	req.Header = reqHeaders
 12288  	googleapi.Expand(req.URL, map[string]string{
 12289  		"projectId":   c.projectId,
 12290  		"region":      c.region,
 12291  		"clusterName": c.clusterName,
 12292  	})
 12293  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12294  }
 12295  
 12296  // Do executes the "dataproc.projects.regions.clusters.repair" call.
 12297  // Any non-2xx status code is an error. Response headers are in either
 12298  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12299  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12300  // whether the returned error was because http.StatusNotModified was returned.
 12301  func (c *ProjectsRegionsClustersRepairCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12302  	gensupport.SetOptions(c.urlParams_, opts...)
 12303  	res, err := c.doRequest("json")
 12304  	if res != nil && res.StatusCode == http.StatusNotModified {
 12305  		if res.Body != nil {
 12306  			res.Body.Close()
 12307  		}
 12308  		return nil, gensupport.WrapError(&googleapi.Error{
 12309  			Code:   res.StatusCode,
 12310  			Header: res.Header,
 12311  		})
 12312  	}
 12313  	if err != nil {
 12314  		return nil, err
 12315  	}
 12316  	defer googleapi.CloseBody(res)
 12317  	if err := googleapi.CheckResponse(res); err != nil {
 12318  		return nil, gensupport.WrapError(err)
 12319  	}
 12320  	ret := &Operation{
 12321  		ServerResponse: googleapi.ServerResponse{
 12322  			Header:         res.Header,
 12323  			HTTPStatusCode: res.StatusCode,
 12324  		},
 12325  	}
 12326  	target := &ret
 12327  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12328  		return nil, err
 12329  	}
 12330  	return ret, nil
 12331  }
 12332  
 12333  type ProjectsRegionsClustersSetIamPolicyCall struct {
 12334  	s                   *Service
 12335  	resource            string
 12336  	setiampolicyrequest *SetIamPolicyRequest
 12337  	urlParams_          gensupport.URLParams
 12338  	ctx_                context.Context
 12339  	header_             http.Header
 12340  }
 12341  
 12342  // SetIamPolicy: Sets the access control policy on the specified resource.
 12343  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
 12344  // PERMISSION_DENIED errors.
 12345  //
 12346  //   - resource: REQUIRED: The resource for which the policy is being specified.
 12347  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 12348  //     for the appropriate value for this field.
 12349  func (r *ProjectsRegionsClustersService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsRegionsClustersSetIamPolicyCall {
 12350  	c := &ProjectsRegionsClustersSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12351  	c.resource = resource
 12352  	c.setiampolicyrequest = setiampolicyrequest
 12353  	return c
 12354  }
 12355  
 12356  // Fields allows partial responses to be retrieved. See
 12357  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12358  // details.
 12359  func (c *ProjectsRegionsClustersSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersSetIamPolicyCall {
 12360  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12361  	return c
 12362  }
 12363  
 12364  // Context sets the context to be used in this call's Do method.
 12365  func (c *ProjectsRegionsClustersSetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsClustersSetIamPolicyCall {
 12366  	c.ctx_ = ctx
 12367  	return c
 12368  }
 12369  
 12370  // Header returns a http.Header that can be modified by the caller to add
 12371  // headers to the request.
 12372  func (c *ProjectsRegionsClustersSetIamPolicyCall) Header() http.Header {
 12373  	if c.header_ == nil {
 12374  		c.header_ = make(http.Header)
 12375  	}
 12376  	return c.header_
 12377  }
 12378  
 12379  func (c *ProjectsRegionsClustersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 12380  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12381  	var body io.Reader = nil
 12382  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 12383  	if err != nil {
 12384  		return nil, err
 12385  	}
 12386  	c.urlParams_.Set("alt", alt)
 12387  	c.urlParams_.Set("prettyPrint", "false")
 12388  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 12389  	urls += "?" + c.urlParams_.Encode()
 12390  	req, err := http.NewRequest("POST", urls, body)
 12391  	if err != nil {
 12392  		return nil, err
 12393  	}
 12394  	req.Header = reqHeaders
 12395  	googleapi.Expand(req.URL, map[string]string{
 12396  		"resource": c.resource,
 12397  	})
 12398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12399  }
 12400  
 12401  // Do executes the "dataproc.projects.regions.clusters.setIamPolicy" call.
 12402  // Any non-2xx status code is an error. Response headers are in either
 12403  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 12404  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12405  // whether the returned error was because http.StatusNotModified was returned.
 12406  func (c *ProjectsRegionsClustersSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 12407  	gensupport.SetOptions(c.urlParams_, opts...)
 12408  	res, err := c.doRequest("json")
 12409  	if res != nil && res.StatusCode == http.StatusNotModified {
 12410  		if res.Body != nil {
 12411  			res.Body.Close()
 12412  		}
 12413  		return nil, gensupport.WrapError(&googleapi.Error{
 12414  			Code:   res.StatusCode,
 12415  			Header: res.Header,
 12416  		})
 12417  	}
 12418  	if err != nil {
 12419  		return nil, err
 12420  	}
 12421  	defer googleapi.CloseBody(res)
 12422  	if err := googleapi.CheckResponse(res); err != nil {
 12423  		return nil, gensupport.WrapError(err)
 12424  	}
 12425  	ret := &Policy{
 12426  		ServerResponse: googleapi.ServerResponse{
 12427  			Header:         res.Header,
 12428  			HTTPStatusCode: res.StatusCode,
 12429  		},
 12430  	}
 12431  	target := &ret
 12432  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12433  		return nil, err
 12434  	}
 12435  	return ret, nil
 12436  }
 12437  
 12438  type ProjectsRegionsClustersStartCall struct {
 12439  	s                   *Service
 12440  	projectId           string
 12441  	region              string
 12442  	clusterName         string
 12443  	startclusterrequest *StartClusterRequest
 12444  	urlParams_          gensupport.URLParams
 12445  	ctx_                context.Context
 12446  	header_             http.Header
 12447  }
 12448  
 12449  // Start: Starts a cluster in a project.
 12450  //
 12451  //   - clusterName: The cluster name.
 12452  //   - projectId: The ID of the Google Cloud Platform project the cluster belongs
 12453  //     to.
 12454  //   - region: The Dataproc region in which to handle the request.
 12455  func (r *ProjectsRegionsClustersService) Start(projectId string, region string, clusterName string, startclusterrequest *StartClusterRequest) *ProjectsRegionsClustersStartCall {
 12456  	c := &ProjectsRegionsClustersStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12457  	c.projectId = projectId
 12458  	c.region = region
 12459  	c.clusterName = clusterName
 12460  	c.startclusterrequest = startclusterrequest
 12461  	return c
 12462  }
 12463  
 12464  // Fields allows partial responses to be retrieved. See
 12465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12466  // details.
 12467  func (c *ProjectsRegionsClustersStartCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersStartCall {
 12468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12469  	return c
 12470  }
 12471  
 12472  // Context sets the context to be used in this call's Do method.
 12473  func (c *ProjectsRegionsClustersStartCall) Context(ctx context.Context) *ProjectsRegionsClustersStartCall {
 12474  	c.ctx_ = ctx
 12475  	return c
 12476  }
 12477  
 12478  // Header returns a http.Header that can be modified by the caller to add
 12479  // headers to the request.
 12480  func (c *ProjectsRegionsClustersStartCall) Header() http.Header {
 12481  	if c.header_ == nil {
 12482  		c.header_ = make(http.Header)
 12483  	}
 12484  	return c.header_
 12485  }
 12486  
 12487  func (c *ProjectsRegionsClustersStartCall) doRequest(alt string) (*http.Response, error) {
 12488  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12489  	var body io.Reader = nil
 12490  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.startclusterrequest)
 12491  	if err != nil {
 12492  		return nil, err
 12493  	}
 12494  	c.urlParams_.Set("alt", alt)
 12495  	c.urlParams_.Set("prettyPrint", "false")
 12496  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:start")
 12497  	urls += "?" + c.urlParams_.Encode()
 12498  	req, err := http.NewRequest("POST", urls, body)
 12499  	if err != nil {
 12500  		return nil, err
 12501  	}
 12502  	req.Header = reqHeaders
 12503  	googleapi.Expand(req.URL, map[string]string{
 12504  		"projectId":   c.projectId,
 12505  		"region":      c.region,
 12506  		"clusterName": c.clusterName,
 12507  	})
 12508  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12509  }
 12510  
 12511  // Do executes the "dataproc.projects.regions.clusters.start" call.
 12512  // Any non-2xx status code is an error. Response headers are in either
 12513  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12514  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12515  // whether the returned error was because http.StatusNotModified was returned.
 12516  func (c *ProjectsRegionsClustersStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12517  	gensupport.SetOptions(c.urlParams_, opts...)
 12518  	res, err := c.doRequest("json")
 12519  	if res != nil && res.StatusCode == http.StatusNotModified {
 12520  		if res.Body != nil {
 12521  			res.Body.Close()
 12522  		}
 12523  		return nil, gensupport.WrapError(&googleapi.Error{
 12524  			Code:   res.StatusCode,
 12525  			Header: res.Header,
 12526  		})
 12527  	}
 12528  	if err != nil {
 12529  		return nil, err
 12530  	}
 12531  	defer googleapi.CloseBody(res)
 12532  	if err := googleapi.CheckResponse(res); err != nil {
 12533  		return nil, gensupport.WrapError(err)
 12534  	}
 12535  	ret := &Operation{
 12536  		ServerResponse: googleapi.ServerResponse{
 12537  			Header:         res.Header,
 12538  			HTTPStatusCode: res.StatusCode,
 12539  		},
 12540  	}
 12541  	target := &ret
 12542  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12543  		return nil, err
 12544  	}
 12545  	return ret, nil
 12546  }
 12547  
 12548  type ProjectsRegionsClustersStopCall struct {
 12549  	s                  *Service
 12550  	projectId          string
 12551  	region             string
 12552  	clusterName        string
 12553  	stopclusterrequest *StopClusterRequest
 12554  	urlParams_         gensupport.URLParams
 12555  	ctx_               context.Context
 12556  	header_            http.Header
 12557  }
 12558  
 12559  // Stop: Stops a cluster in a project.
 12560  //
 12561  //   - clusterName: The cluster name.
 12562  //   - projectId: The ID of the Google Cloud Platform project the cluster belongs
 12563  //     to.
 12564  //   - region: The Dataproc region in which to handle the request.
 12565  func (r *ProjectsRegionsClustersService) Stop(projectId string, region string, clusterName string, stopclusterrequest *StopClusterRequest) *ProjectsRegionsClustersStopCall {
 12566  	c := &ProjectsRegionsClustersStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12567  	c.projectId = projectId
 12568  	c.region = region
 12569  	c.clusterName = clusterName
 12570  	c.stopclusterrequest = stopclusterrequest
 12571  	return c
 12572  }
 12573  
 12574  // Fields allows partial responses to be retrieved. See
 12575  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12576  // details.
 12577  func (c *ProjectsRegionsClustersStopCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersStopCall {
 12578  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12579  	return c
 12580  }
 12581  
 12582  // Context sets the context to be used in this call's Do method.
 12583  func (c *ProjectsRegionsClustersStopCall) Context(ctx context.Context) *ProjectsRegionsClustersStopCall {
 12584  	c.ctx_ = ctx
 12585  	return c
 12586  }
 12587  
 12588  // Header returns a http.Header that can be modified by the caller to add
 12589  // headers to the request.
 12590  func (c *ProjectsRegionsClustersStopCall) Header() http.Header {
 12591  	if c.header_ == nil {
 12592  		c.header_ = make(http.Header)
 12593  	}
 12594  	return c.header_
 12595  }
 12596  
 12597  func (c *ProjectsRegionsClustersStopCall) doRequest(alt string) (*http.Response, error) {
 12598  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12599  	var body io.Reader = nil
 12600  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.stopclusterrequest)
 12601  	if err != nil {
 12602  		return nil, err
 12603  	}
 12604  	c.urlParams_.Set("alt", alt)
 12605  	c.urlParams_.Set("prettyPrint", "false")
 12606  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:stop")
 12607  	urls += "?" + c.urlParams_.Encode()
 12608  	req, err := http.NewRequest("POST", urls, body)
 12609  	if err != nil {
 12610  		return nil, err
 12611  	}
 12612  	req.Header = reqHeaders
 12613  	googleapi.Expand(req.URL, map[string]string{
 12614  		"projectId":   c.projectId,
 12615  		"region":      c.region,
 12616  		"clusterName": c.clusterName,
 12617  	})
 12618  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12619  }
 12620  
 12621  // Do executes the "dataproc.projects.regions.clusters.stop" call.
 12622  // Any non-2xx status code is an error. Response headers are in either
 12623  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12624  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12625  // whether the returned error was because http.StatusNotModified was returned.
 12626  func (c *ProjectsRegionsClustersStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12627  	gensupport.SetOptions(c.urlParams_, opts...)
 12628  	res, err := c.doRequest("json")
 12629  	if res != nil && res.StatusCode == http.StatusNotModified {
 12630  		if res.Body != nil {
 12631  			res.Body.Close()
 12632  		}
 12633  		return nil, gensupport.WrapError(&googleapi.Error{
 12634  			Code:   res.StatusCode,
 12635  			Header: res.Header,
 12636  		})
 12637  	}
 12638  	if err != nil {
 12639  		return nil, err
 12640  	}
 12641  	defer googleapi.CloseBody(res)
 12642  	if err := googleapi.CheckResponse(res); err != nil {
 12643  		return nil, gensupport.WrapError(err)
 12644  	}
 12645  	ret := &Operation{
 12646  		ServerResponse: googleapi.ServerResponse{
 12647  			Header:         res.Header,
 12648  			HTTPStatusCode: res.StatusCode,
 12649  		},
 12650  	}
 12651  	target := &ret
 12652  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12653  		return nil, err
 12654  	}
 12655  	return ret, nil
 12656  }
 12657  
 12658  type ProjectsRegionsClustersTestIamPermissionsCall struct {
 12659  	s                         *Service
 12660  	resource                  string
 12661  	testiampermissionsrequest *TestIamPermissionsRequest
 12662  	urlParams_                gensupport.URLParams
 12663  	ctx_                      context.Context
 12664  	header_                   http.Header
 12665  }
 12666  
 12667  // TestIamPermissions: Returns permissions that a caller has on the specified
 12668  // resource. If the resource does not exist, this will return an empty set of
 12669  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
 12670  // used for building permission-aware UIs and command-line tools, not for
 12671  // authorization checking. This operation may "fail open" without warning.
 12672  //
 12673  //   - resource: REQUIRED: The resource for which the policy detail is being
 12674  //     requested. See Resource names
 12675  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 12676  //     value for this field.
 12677  func (r *ProjectsRegionsClustersService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsRegionsClustersTestIamPermissionsCall {
 12678  	c := &ProjectsRegionsClustersTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12679  	c.resource = resource
 12680  	c.testiampermissionsrequest = testiampermissionsrequest
 12681  	return c
 12682  }
 12683  
 12684  // Fields allows partial responses to be retrieved. See
 12685  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12686  // details.
 12687  func (c *ProjectsRegionsClustersTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersTestIamPermissionsCall {
 12688  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12689  	return c
 12690  }
 12691  
 12692  // Context sets the context to be used in this call's Do method.
 12693  func (c *ProjectsRegionsClustersTestIamPermissionsCall) Context(ctx context.Context) *ProjectsRegionsClustersTestIamPermissionsCall {
 12694  	c.ctx_ = ctx
 12695  	return c
 12696  }
 12697  
 12698  // Header returns a http.Header that can be modified by the caller to add
 12699  // headers to the request.
 12700  func (c *ProjectsRegionsClustersTestIamPermissionsCall) Header() http.Header {
 12701  	if c.header_ == nil {
 12702  		c.header_ = make(http.Header)
 12703  	}
 12704  	return c.header_
 12705  }
 12706  
 12707  func (c *ProjectsRegionsClustersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 12708  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12709  	var body io.Reader = nil
 12710  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 12711  	if err != nil {
 12712  		return nil, err
 12713  	}
 12714  	c.urlParams_.Set("alt", alt)
 12715  	c.urlParams_.Set("prettyPrint", "false")
 12716  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 12717  	urls += "?" + c.urlParams_.Encode()
 12718  	req, err := http.NewRequest("POST", urls, body)
 12719  	if err != nil {
 12720  		return nil, err
 12721  	}
 12722  	req.Header = reqHeaders
 12723  	googleapi.Expand(req.URL, map[string]string{
 12724  		"resource": c.resource,
 12725  	})
 12726  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12727  }
 12728  
 12729  // Do executes the "dataproc.projects.regions.clusters.testIamPermissions" call.
 12730  // Any non-2xx status code is an error. Response headers are in either
 12731  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 12732  // returned at all) in error.(*googleapi.Error).Header. Use
 12733  // googleapi.IsNotModified to check whether the returned error was because
 12734  // http.StatusNotModified was returned.
 12735  func (c *ProjectsRegionsClustersTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 12736  	gensupport.SetOptions(c.urlParams_, opts...)
 12737  	res, err := c.doRequest("json")
 12738  	if res != nil && res.StatusCode == http.StatusNotModified {
 12739  		if res.Body != nil {
 12740  			res.Body.Close()
 12741  		}
 12742  		return nil, gensupport.WrapError(&googleapi.Error{
 12743  			Code:   res.StatusCode,
 12744  			Header: res.Header,
 12745  		})
 12746  	}
 12747  	if err != nil {
 12748  		return nil, err
 12749  	}
 12750  	defer googleapi.CloseBody(res)
 12751  	if err := googleapi.CheckResponse(res); err != nil {
 12752  		return nil, gensupport.WrapError(err)
 12753  	}
 12754  	ret := &TestIamPermissionsResponse{
 12755  		ServerResponse: googleapi.ServerResponse{
 12756  			Header:         res.Header,
 12757  			HTTPStatusCode: res.StatusCode,
 12758  		},
 12759  	}
 12760  	target := &ret
 12761  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12762  		return nil, err
 12763  	}
 12764  	return ret, nil
 12765  }
 12766  
 12767  type ProjectsRegionsClustersNodeGroupsCreateCall struct {
 12768  	s          *Service
 12769  	parent     string
 12770  	nodegroup  *NodeGroup
 12771  	urlParams_ gensupport.URLParams
 12772  	ctx_       context.Context
 12773  	header_    http.Header
 12774  }
 12775  
 12776  // Create: Creates a node group in a cluster. The returned Operation.metadata
 12777  // is NodeGroupOperationMetadata
 12778  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#nodegroupoperationmetadata).
 12779  //
 12780  //   - parent: The parent resource where this node group will be created. Format:
 12781  //     projects/{project}/regions/{region}/clusters/{cluster}.
 12782  func (r *ProjectsRegionsClustersNodeGroupsService) Create(parent string, nodegroup *NodeGroup) *ProjectsRegionsClustersNodeGroupsCreateCall {
 12783  	c := &ProjectsRegionsClustersNodeGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12784  	c.parent = parent
 12785  	c.nodegroup = nodegroup
 12786  	return c
 12787  }
 12788  
 12789  // NodeGroupId sets the optional parameter "nodeGroupId": An optional node
 12790  // group ID. Generated if not specified.The ID must contain only letters (a-z,
 12791  // A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end
 12792  // with underscore or hyphen. Must consist of from 3 to 33 characters.
 12793  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) NodeGroupId(nodeGroupId string) *ProjectsRegionsClustersNodeGroupsCreateCall {
 12794  	c.urlParams_.Set("nodeGroupId", nodeGroupId)
 12795  	return c
 12796  }
 12797  
 12798  // ParentOperationId sets the optional parameter "parentOperationId": operation
 12799  // id of the parent operation sending the create request
 12800  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) ParentOperationId(parentOperationId string) *ProjectsRegionsClustersNodeGroupsCreateCall {
 12801  	c.urlParams_.Set("parentOperationId", parentOperationId)
 12802  	return c
 12803  }
 12804  
 12805  // RequestId sets the optional parameter "requestId": A unique ID used to
 12806  // identify the request. If the server receives two CreateNodeGroupRequest
 12807  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateNodeGroupRequest)
 12808  // with the same ID, the second request is ignored and the first
 12809  // google.longrunning.Operation created and stored in the backend is
 12810  // returned.Recommendation: Set this value to a UUID
 12811  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must
 12812  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
 12813  // (-). The maximum length is 40 characters.
 12814  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) RequestId(requestId string) *ProjectsRegionsClustersNodeGroupsCreateCall {
 12815  	c.urlParams_.Set("requestId", requestId)
 12816  	return c
 12817  }
 12818  
 12819  // Fields allows partial responses to be retrieved. See
 12820  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12821  // details.
 12822  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersNodeGroupsCreateCall {
 12823  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12824  	return c
 12825  }
 12826  
 12827  // Context sets the context to be used in this call's Do method.
 12828  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) Context(ctx context.Context) *ProjectsRegionsClustersNodeGroupsCreateCall {
 12829  	c.ctx_ = ctx
 12830  	return c
 12831  }
 12832  
 12833  // Header returns a http.Header that can be modified by the caller to add
 12834  // headers to the request.
 12835  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) Header() http.Header {
 12836  	if c.header_ == nil {
 12837  		c.header_ = make(http.Header)
 12838  	}
 12839  	return c.header_
 12840  }
 12841  
 12842  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 12843  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12844  	var body io.Reader = nil
 12845  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.nodegroup)
 12846  	if err != nil {
 12847  		return nil, err
 12848  	}
 12849  	c.urlParams_.Set("alt", alt)
 12850  	c.urlParams_.Set("prettyPrint", "false")
 12851  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/nodeGroups")
 12852  	urls += "?" + c.urlParams_.Encode()
 12853  	req, err := http.NewRequest("POST", urls, body)
 12854  	if err != nil {
 12855  		return nil, err
 12856  	}
 12857  	req.Header = reqHeaders
 12858  	googleapi.Expand(req.URL, map[string]string{
 12859  		"parent": c.parent,
 12860  	})
 12861  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12862  }
 12863  
 12864  // Do executes the "dataproc.projects.regions.clusters.nodeGroups.create" call.
 12865  // Any non-2xx status code is an error. Response headers are in either
 12866  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12867  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12868  // whether the returned error was because http.StatusNotModified was returned.
 12869  func (c *ProjectsRegionsClustersNodeGroupsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12870  	gensupport.SetOptions(c.urlParams_, opts...)
 12871  	res, err := c.doRequest("json")
 12872  	if res != nil && res.StatusCode == http.StatusNotModified {
 12873  		if res.Body != nil {
 12874  			res.Body.Close()
 12875  		}
 12876  		return nil, gensupport.WrapError(&googleapi.Error{
 12877  			Code:   res.StatusCode,
 12878  			Header: res.Header,
 12879  		})
 12880  	}
 12881  	if err != nil {
 12882  		return nil, err
 12883  	}
 12884  	defer googleapi.CloseBody(res)
 12885  	if err := googleapi.CheckResponse(res); err != nil {
 12886  		return nil, gensupport.WrapError(err)
 12887  	}
 12888  	ret := &Operation{
 12889  		ServerResponse: googleapi.ServerResponse{
 12890  			Header:         res.Header,
 12891  			HTTPStatusCode: res.StatusCode,
 12892  		},
 12893  	}
 12894  	target := &ret
 12895  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12896  		return nil, err
 12897  	}
 12898  	return ret, nil
 12899  }
 12900  
 12901  type ProjectsRegionsClustersNodeGroupsGetCall struct {
 12902  	s            *Service
 12903  	name         string
 12904  	urlParams_   gensupport.URLParams
 12905  	ifNoneMatch_ string
 12906  	ctx_         context.Context
 12907  	header_      http.Header
 12908  }
 12909  
 12910  // Get: Gets the resource representation for a node group in a cluster.
 12911  //
 12912  //   - name: The name of the node group to retrieve. Format:
 12913  //     projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{nodeGrou
 12914  //     p}.
 12915  func (r *ProjectsRegionsClustersNodeGroupsService) Get(name string) *ProjectsRegionsClustersNodeGroupsGetCall {
 12916  	c := &ProjectsRegionsClustersNodeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12917  	c.name = name
 12918  	return c
 12919  }
 12920  
 12921  // Fields allows partial responses to be retrieved. See
 12922  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12923  // details.
 12924  func (c *ProjectsRegionsClustersNodeGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersNodeGroupsGetCall {
 12925  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12926  	return c
 12927  }
 12928  
 12929  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12930  // object's ETag matches the given value. This is useful for getting updates
 12931  // only after the object has changed since the last request.
 12932  func (c *ProjectsRegionsClustersNodeGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsClustersNodeGroupsGetCall {
 12933  	c.ifNoneMatch_ = entityTag
 12934  	return c
 12935  }
 12936  
 12937  // Context sets the context to be used in this call's Do method.
 12938  func (c *ProjectsRegionsClustersNodeGroupsGetCall) Context(ctx context.Context) *ProjectsRegionsClustersNodeGroupsGetCall {
 12939  	c.ctx_ = ctx
 12940  	return c
 12941  }
 12942  
 12943  // Header returns a http.Header that can be modified by the caller to add
 12944  // headers to the request.
 12945  func (c *ProjectsRegionsClustersNodeGroupsGetCall) Header() http.Header {
 12946  	if c.header_ == nil {
 12947  		c.header_ = make(http.Header)
 12948  	}
 12949  	return c.header_
 12950  }
 12951  
 12952  func (c *ProjectsRegionsClustersNodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 12953  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12954  	if c.ifNoneMatch_ != "" {
 12955  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12956  	}
 12957  	var body io.Reader = nil
 12958  	c.urlParams_.Set("alt", alt)
 12959  	c.urlParams_.Set("prettyPrint", "false")
 12960  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 12961  	urls += "?" + c.urlParams_.Encode()
 12962  	req, err := http.NewRequest("GET", urls, body)
 12963  	if err != nil {
 12964  		return nil, err
 12965  	}
 12966  	req.Header = reqHeaders
 12967  	googleapi.Expand(req.URL, map[string]string{
 12968  		"name": c.name,
 12969  	})
 12970  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12971  }
 12972  
 12973  // Do executes the "dataproc.projects.regions.clusters.nodeGroups.get" call.
 12974  // Any non-2xx status code is an error. Response headers are in either
 12975  // *NodeGroup.ServerResponse.Header or (if a response was returned at all) in
 12976  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12977  // whether the returned error was because http.StatusNotModified was returned.
 12978  func (c *ProjectsRegionsClustersNodeGroupsGetCall) Do(opts ...googleapi.CallOption) (*NodeGroup, error) {
 12979  	gensupport.SetOptions(c.urlParams_, opts...)
 12980  	res, err := c.doRequest("json")
 12981  	if res != nil && res.StatusCode == http.StatusNotModified {
 12982  		if res.Body != nil {
 12983  			res.Body.Close()
 12984  		}
 12985  		return nil, gensupport.WrapError(&googleapi.Error{
 12986  			Code:   res.StatusCode,
 12987  			Header: res.Header,
 12988  		})
 12989  	}
 12990  	if err != nil {
 12991  		return nil, err
 12992  	}
 12993  	defer googleapi.CloseBody(res)
 12994  	if err := googleapi.CheckResponse(res); err != nil {
 12995  		return nil, gensupport.WrapError(err)
 12996  	}
 12997  	ret := &NodeGroup{
 12998  		ServerResponse: googleapi.ServerResponse{
 12999  			Header:         res.Header,
 13000  			HTTPStatusCode: res.StatusCode,
 13001  		},
 13002  	}
 13003  	target := &ret
 13004  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13005  		return nil, err
 13006  	}
 13007  	return ret, nil
 13008  }
 13009  
 13010  type ProjectsRegionsClustersNodeGroupsRepairCall struct {
 13011  	s                      *Service
 13012  	name                   string
 13013  	repairnodegrouprequest *RepairNodeGroupRequest
 13014  	urlParams_             gensupport.URLParams
 13015  	ctx_                   context.Context
 13016  	header_                http.Header
 13017  }
 13018  
 13019  // Repair: Repair nodes in a node group.
 13020  //
 13021  //   - name: The name of the node group to resize. Format:
 13022  //     projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{nodeGrou
 13023  //     p}.
 13024  func (r *ProjectsRegionsClustersNodeGroupsService) Repair(name string, repairnodegrouprequest *RepairNodeGroupRequest) *ProjectsRegionsClustersNodeGroupsRepairCall {
 13025  	c := &ProjectsRegionsClustersNodeGroupsRepairCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13026  	c.name = name
 13027  	c.repairnodegrouprequest = repairnodegrouprequest
 13028  	return c
 13029  }
 13030  
 13031  // Fields allows partial responses to be retrieved. See
 13032  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13033  // details.
 13034  func (c *ProjectsRegionsClustersNodeGroupsRepairCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersNodeGroupsRepairCall {
 13035  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13036  	return c
 13037  }
 13038  
 13039  // Context sets the context to be used in this call's Do method.
 13040  func (c *ProjectsRegionsClustersNodeGroupsRepairCall) Context(ctx context.Context) *ProjectsRegionsClustersNodeGroupsRepairCall {
 13041  	c.ctx_ = ctx
 13042  	return c
 13043  }
 13044  
 13045  // Header returns a http.Header that can be modified by the caller to add
 13046  // headers to the request.
 13047  func (c *ProjectsRegionsClustersNodeGroupsRepairCall) Header() http.Header {
 13048  	if c.header_ == nil {
 13049  		c.header_ = make(http.Header)
 13050  	}
 13051  	return c.header_
 13052  }
 13053  
 13054  func (c *ProjectsRegionsClustersNodeGroupsRepairCall) doRequest(alt string) (*http.Response, error) {
 13055  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13056  	var body io.Reader = nil
 13057  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.repairnodegrouprequest)
 13058  	if err != nil {
 13059  		return nil, err
 13060  	}
 13061  	c.urlParams_.Set("alt", alt)
 13062  	c.urlParams_.Set("prettyPrint", "false")
 13063  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:repair")
 13064  	urls += "?" + c.urlParams_.Encode()
 13065  	req, err := http.NewRequest("POST", urls, body)
 13066  	if err != nil {
 13067  		return nil, err
 13068  	}
 13069  	req.Header = reqHeaders
 13070  	googleapi.Expand(req.URL, map[string]string{
 13071  		"name": c.name,
 13072  	})
 13073  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13074  }
 13075  
 13076  // Do executes the "dataproc.projects.regions.clusters.nodeGroups.repair" call.
 13077  // Any non-2xx status code is an error. Response headers are in either
 13078  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13079  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13080  // whether the returned error was because http.StatusNotModified was returned.
 13081  func (c *ProjectsRegionsClustersNodeGroupsRepairCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13082  	gensupport.SetOptions(c.urlParams_, opts...)
 13083  	res, err := c.doRequest("json")
 13084  	if res != nil && res.StatusCode == http.StatusNotModified {
 13085  		if res.Body != nil {
 13086  			res.Body.Close()
 13087  		}
 13088  		return nil, gensupport.WrapError(&googleapi.Error{
 13089  			Code:   res.StatusCode,
 13090  			Header: res.Header,
 13091  		})
 13092  	}
 13093  	if err != nil {
 13094  		return nil, err
 13095  	}
 13096  	defer googleapi.CloseBody(res)
 13097  	if err := googleapi.CheckResponse(res); err != nil {
 13098  		return nil, gensupport.WrapError(err)
 13099  	}
 13100  	ret := &Operation{
 13101  		ServerResponse: googleapi.ServerResponse{
 13102  			Header:         res.Header,
 13103  			HTTPStatusCode: res.StatusCode,
 13104  		},
 13105  	}
 13106  	target := &ret
 13107  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13108  		return nil, err
 13109  	}
 13110  	return ret, nil
 13111  }
 13112  
 13113  type ProjectsRegionsClustersNodeGroupsResizeCall struct {
 13114  	s                      *Service
 13115  	name                   string
 13116  	resizenodegrouprequest *ResizeNodeGroupRequest
 13117  	urlParams_             gensupport.URLParams
 13118  	ctx_                   context.Context
 13119  	header_                http.Header
 13120  }
 13121  
 13122  // Resize: Resizes a node group in a cluster. The returned Operation.metadata
 13123  // is NodeGroupOperationMetadata
 13124  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#nodegroupoperationmetadata).
 13125  //
 13126  //   - name: The name of the node group to resize. Format:
 13127  //     projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{nodeGrou
 13128  //     p}.
 13129  func (r *ProjectsRegionsClustersNodeGroupsService) Resize(name string, resizenodegrouprequest *ResizeNodeGroupRequest) *ProjectsRegionsClustersNodeGroupsResizeCall {
 13130  	c := &ProjectsRegionsClustersNodeGroupsResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13131  	c.name = name
 13132  	c.resizenodegrouprequest = resizenodegrouprequest
 13133  	return c
 13134  }
 13135  
 13136  // Fields allows partial responses to be retrieved. See
 13137  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13138  // details.
 13139  func (c *ProjectsRegionsClustersNodeGroupsResizeCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersNodeGroupsResizeCall {
 13140  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13141  	return c
 13142  }
 13143  
 13144  // Context sets the context to be used in this call's Do method.
 13145  func (c *ProjectsRegionsClustersNodeGroupsResizeCall) Context(ctx context.Context) *ProjectsRegionsClustersNodeGroupsResizeCall {
 13146  	c.ctx_ = ctx
 13147  	return c
 13148  }
 13149  
 13150  // Header returns a http.Header that can be modified by the caller to add
 13151  // headers to the request.
 13152  func (c *ProjectsRegionsClustersNodeGroupsResizeCall) Header() http.Header {
 13153  	if c.header_ == nil {
 13154  		c.header_ = make(http.Header)
 13155  	}
 13156  	return c.header_
 13157  }
 13158  
 13159  func (c *ProjectsRegionsClustersNodeGroupsResizeCall) doRequest(alt string) (*http.Response, error) {
 13160  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13161  	var body io.Reader = nil
 13162  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.resizenodegrouprequest)
 13163  	if err != nil {
 13164  		return nil, err
 13165  	}
 13166  	c.urlParams_.Set("alt", alt)
 13167  	c.urlParams_.Set("prettyPrint", "false")
 13168  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resize")
 13169  	urls += "?" + c.urlParams_.Encode()
 13170  	req, err := http.NewRequest("POST", urls, body)
 13171  	if err != nil {
 13172  		return nil, err
 13173  	}
 13174  	req.Header = reqHeaders
 13175  	googleapi.Expand(req.URL, map[string]string{
 13176  		"name": c.name,
 13177  	})
 13178  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13179  }
 13180  
 13181  // Do executes the "dataproc.projects.regions.clusters.nodeGroups.resize" call.
 13182  // Any non-2xx status code is an error. Response headers are in either
 13183  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13184  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13185  // whether the returned error was because http.StatusNotModified was returned.
 13186  func (c *ProjectsRegionsClustersNodeGroupsResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13187  	gensupport.SetOptions(c.urlParams_, opts...)
 13188  	res, err := c.doRequest("json")
 13189  	if res != nil && res.StatusCode == http.StatusNotModified {
 13190  		if res.Body != nil {
 13191  			res.Body.Close()
 13192  		}
 13193  		return nil, gensupport.WrapError(&googleapi.Error{
 13194  			Code:   res.StatusCode,
 13195  			Header: res.Header,
 13196  		})
 13197  	}
 13198  	if err != nil {
 13199  		return nil, err
 13200  	}
 13201  	defer googleapi.CloseBody(res)
 13202  	if err := googleapi.CheckResponse(res); err != nil {
 13203  		return nil, gensupport.WrapError(err)
 13204  	}
 13205  	ret := &Operation{
 13206  		ServerResponse: googleapi.ServerResponse{
 13207  			Header:         res.Header,
 13208  			HTTPStatusCode: res.StatusCode,
 13209  		},
 13210  	}
 13211  	target := &ret
 13212  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13213  		return nil, err
 13214  	}
 13215  	return ret, nil
 13216  }
 13217  
 13218  type ProjectsRegionsJobsCancelCall struct {
 13219  	s                *Service
 13220  	projectId        string
 13221  	region           string
 13222  	jobId            string
 13223  	canceljobrequest *CancelJobRequest
 13224  	urlParams_       gensupport.URLParams
 13225  	ctx_             context.Context
 13226  	header_          http.Header
 13227  }
 13228  
 13229  // Cancel: Starts a job cancellation request. To access the job resource after
 13230  // cancellation, call regions/{region}/jobs.list
 13231  // (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list)
 13232  // or regions/{region}/jobs.get
 13233  // (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get).
 13234  //
 13235  //   - jobId: The job ID.
 13236  //   - projectId: The ID of the Google Cloud Platform project that the job
 13237  //     belongs to.
 13238  //   - region: The Dataproc region in which to handle the request.
 13239  func (r *ProjectsRegionsJobsService) Cancel(projectId string, region string, jobId string, canceljobrequest *CancelJobRequest) *ProjectsRegionsJobsCancelCall {
 13240  	c := &ProjectsRegionsJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13241  	c.projectId = projectId
 13242  	c.region = region
 13243  	c.jobId = jobId
 13244  	c.canceljobrequest = canceljobrequest
 13245  	return c
 13246  }
 13247  
 13248  // Fields allows partial responses to be retrieved. See
 13249  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13250  // details.
 13251  func (c *ProjectsRegionsJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsCancelCall {
 13252  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13253  	return c
 13254  }
 13255  
 13256  // Context sets the context to be used in this call's Do method.
 13257  func (c *ProjectsRegionsJobsCancelCall) Context(ctx context.Context) *ProjectsRegionsJobsCancelCall {
 13258  	c.ctx_ = ctx
 13259  	return c
 13260  }
 13261  
 13262  // Header returns a http.Header that can be modified by the caller to add
 13263  // headers to the request.
 13264  func (c *ProjectsRegionsJobsCancelCall) Header() http.Header {
 13265  	if c.header_ == nil {
 13266  		c.header_ = make(http.Header)
 13267  	}
 13268  	return c.header_
 13269  }
 13270  
 13271  func (c *ProjectsRegionsJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 13272  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13273  	var body io.Reader = nil
 13274  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceljobrequest)
 13275  	if err != nil {
 13276  		return nil, err
 13277  	}
 13278  	c.urlParams_.Set("alt", alt)
 13279  	c.urlParams_.Set("prettyPrint", "false")
 13280  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel")
 13281  	urls += "?" + c.urlParams_.Encode()
 13282  	req, err := http.NewRequest("POST", urls, body)
 13283  	if err != nil {
 13284  		return nil, err
 13285  	}
 13286  	req.Header = reqHeaders
 13287  	googleapi.Expand(req.URL, map[string]string{
 13288  		"projectId": c.projectId,
 13289  		"region":    c.region,
 13290  		"jobId":     c.jobId,
 13291  	})
 13292  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13293  }
 13294  
 13295  // Do executes the "dataproc.projects.regions.jobs.cancel" call.
 13296  // Any non-2xx status code is an error. Response headers are in either
 13297  // *Job.ServerResponse.Header or (if a response was returned at all) in
 13298  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13299  // whether the returned error was because http.StatusNotModified was returned.
 13300  func (c *ProjectsRegionsJobsCancelCall) Do(opts ...googleapi.CallOption) (*Job, error) {
 13301  	gensupport.SetOptions(c.urlParams_, opts...)
 13302  	res, err := c.doRequest("json")
 13303  	if res != nil && res.StatusCode == http.StatusNotModified {
 13304  		if res.Body != nil {
 13305  			res.Body.Close()
 13306  		}
 13307  		return nil, gensupport.WrapError(&googleapi.Error{
 13308  			Code:   res.StatusCode,
 13309  			Header: res.Header,
 13310  		})
 13311  	}
 13312  	if err != nil {
 13313  		return nil, err
 13314  	}
 13315  	defer googleapi.CloseBody(res)
 13316  	if err := googleapi.CheckResponse(res); err != nil {
 13317  		return nil, gensupport.WrapError(err)
 13318  	}
 13319  	ret := &Job{
 13320  		ServerResponse: googleapi.ServerResponse{
 13321  			Header:         res.Header,
 13322  			HTTPStatusCode: res.StatusCode,
 13323  		},
 13324  	}
 13325  	target := &ret
 13326  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13327  		return nil, err
 13328  	}
 13329  	return ret, nil
 13330  }
 13331  
 13332  type ProjectsRegionsJobsDeleteCall struct {
 13333  	s          *Service
 13334  	projectId  string
 13335  	region     string
 13336  	jobId      string
 13337  	urlParams_ gensupport.URLParams
 13338  	ctx_       context.Context
 13339  	header_    http.Header
 13340  }
 13341  
 13342  // Delete: Deletes the job from the project. If the job is active, the delete
 13343  // fails, and the response returns FAILED_PRECONDITION.
 13344  //
 13345  //   - jobId: The job ID.
 13346  //   - projectId: The ID of the Google Cloud Platform project that the job
 13347  //     belongs to.
 13348  //   - region: The Dataproc region in which to handle the request.
 13349  func (r *ProjectsRegionsJobsService) Delete(projectId string, region string, jobId string) *ProjectsRegionsJobsDeleteCall {
 13350  	c := &ProjectsRegionsJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13351  	c.projectId = projectId
 13352  	c.region = region
 13353  	c.jobId = jobId
 13354  	return c
 13355  }
 13356  
 13357  // Fields allows partial responses to be retrieved. See
 13358  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13359  // details.
 13360  func (c *ProjectsRegionsJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsDeleteCall {
 13361  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13362  	return c
 13363  }
 13364  
 13365  // Context sets the context to be used in this call's Do method.
 13366  func (c *ProjectsRegionsJobsDeleteCall) Context(ctx context.Context) *ProjectsRegionsJobsDeleteCall {
 13367  	c.ctx_ = ctx
 13368  	return c
 13369  }
 13370  
 13371  // Header returns a http.Header that can be modified by the caller to add
 13372  // headers to the request.
 13373  func (c *ProjectsRegionsJobsDeleteCall) Header() http.Header {
 13374  	if c.header_ == nil {
 13375  		c.header_ = make(http.Header)
 13376  	}
 13377  	return c.header_
 13378  }
 13379  
 13380  func (c *ProjectsRegionsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 13381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13382  	var body io.Reader = nil
 13383  	c.urlParams_.Set("alt", alt)
 13384  	c.urlParams_.Set("prettyPrint", "false")
 13385  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs/{jobId}")
 13386  	urls += "?" + c.urlParams_.Encode()
 13387  	req, err := http.NewRequest("DELETE", urls, body)
 13388  	if err != nil {
 13389  		return nil, err
 13390  	}
 13391  	req.Header = reqHeaders
 13392  	googleapi.Expand(req.URL, map[string]string{
 13393  		"projectId": c.projectId,
 13394  		"region":    c.region,
 13395  		"jobId":     c.jobId,
 13396  	})
 13397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13398  }
 13399  
 13400  // Do executes the "dataproc.projects.regions.jobs.delete" call.
 13401  // Any non-2xx status code is an error. Response headers are in either
 13402  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 13403  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13404  // whether the returned error was because http.StatusNotModified was returned.
 13405  func (c *ProjectsRegionsJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 13406  	gensupport.SetOptions(c.urlParams_, opts...)
 13407  	res, err := c.doRequest("json")
 13408  	if res != nil && res.StatusCode == http.StatusNotModified {
 13409  		if res.Body != nil {
 13410  			res.Body.Close()
 13411  		}
 13412  		return nil, gensupport.WrapError(&googleapi.Error{
 13413  			Code:   res.StatusCode,
 13414  			Header: res.Header,
 13415  		})
 13416  	}
 13417  	if err != nil {
 13418  		return nil, err
 13419  	}
 13420  	defer googleapi.CloseBody(res)
 13421  	if err := googleapi.CheckResponse(res); err != nil {
 13422  		return nil, gensupport.WrapError(err)
 13423  	}
 13424  	ret := &Empty{
 13425  		ServerResponse: googleapi.ServerResponse{
 13426  			Header:         res.Header,
 13427  			HTTPStatusCode: res.StatusCode,
 13428  		},
 13429  	}
 13430  	target := &ret
 13431  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13432  		return nil, err
 13433  	}
 13434  	return ret, nil
 13435  }
 13436  
 13437  type ProjectsRegionsJobsGetCall struct {
 13438  	s            *Service
 13439  	projectId    string
 13440  	region       string
 13441  	jobId        string
 13442  	urlParams_   gensupport.URLParams
 13443  	ifNoneMatch_ string
 13444  	ctx_         context.Context
 13445  	header_      http.Header
 13446  }
 13447  
 13448  // Get: Gets the resource representation for a job in a project.
 13449  //
 13450  //   - jobId: The job ID.
 13451  //   - projectId: The ID of the Google Cloud Platform project that the job
 13452  //     belongs to.
 13453  //   - region: The Dataproc region in which to handle the request.
 13454  func (r *ProjectsRegionsJobsService) Get(projectId string, region string, jobId string) *ProjectsRegionsJobsGetCall {
 13455  	c := &ProjectsRegionsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13456  	c.projectId = projectId
 13457  	c.region = region
 13458  	c.jobId = jobId
 13459  	return c
 13460  }
 13461  
 13462  // Fields allows partial responses to be retrieved. See
 13463  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13464  // details.
 13465  func (c *ProjectsRegionsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsGetCall {
 13466  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13467  	return c
 13468  }
 13469  
 13470  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13471  // object's ETag matches the given value. This is useful for getting updates
 13472  // only after the object has changed since the last request.
 13473  func (c *ProjectsRegionsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsJobsGetCall {
 13474  	c.ifNoneMatch_ = entityTag
 13475  	return c
 13476  }
 13477  
 13478  // Context sets the context to be used in this call's Do method.
 13479  func (c *ProjectsRegionsJobsGetCall) Context(ctx context.Context) *ProjectsRegionsJobsGetCall {
 13480  	c.ctx_ = ctx
 13481  	return c
 13482  }
 13483  
 13484  // Header returns a http.Header that can be modified by the caller to add
 13485  // headers to the request.
 13486  func (c *ProjectsRegionsJobsGetCall) Header() http.Header {
 13487  	if c.header_ == nil {
 13488  		c.header_ = make(http.Header)
 13489  	}
 13490  	return c.header_
 13491  }
 13492  
 13493  func (c *ProjectsRegionsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 13494  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13495  	if c.ifNoneMatch_ != "" {
 13496  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13497  	}
 13498  	var body io.Reader = nil
 13499  	c.urlParams_.Set("alt", alt)
 13500  	c.urlParams_.Set("prettyPrint", "false")
 13501  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs/{jobId}")
 13502  	urls += "?" + c.urlParams_.Encode()
 13503  	req, err := http.NewRequest("GET", urls, body)
 13504  	if err != nil {
 13505  		return nil, err
 13506  	}
 13507  	req.Header = reqHeaders
 13508  	googleapi.Expand(req.URL, map[string]string{
 13509  		"projectId": c.projectId,
 13510  		"region":    c.region,
 13511  		"jobId":     c.jobId,
 13512  	})
 13513  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13514  }
 13515  
 13516  // Do executes the "dataproc.projects.regions.jobs.get" call.
 13517  // Any non-2xx status code is an error. Response headers are in either
 13518  // *Job.ServerResponse.Header or (if a response was returned at all) in
 13519  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13520  // whether the returned error was because http.StatusNotModified was returned.
 13521  func (c *ProjectsRegionsJobsGetCall) Do(opts ...googleapi.CallOption) (*Job, error) {
 13522  	gensupport.SetOptions(c.urlParams_, opts...)
 13523  	res, err := c.doRequest("json")
 13524  	if res != nil && res.StatusCode == http.StatusNotModified {
 13525  		if res.Body != nil {
 13526  			res.Body.Close()
 13527  		}
 13528  		return nil, gensupport.WrapError(&googleapi.Error{
 13529  			Code:   res.StatusCode,
 13530  			Header: res.Header,
 13531  		})
 13532  	}
 13533  	if err != nil {
 13534  		return nil, err
 13535  	}
 13536  	defer googleapi.CloseBody(res)
 13537  	if err := googleapi.CheckResponse(res); err != nil {
 13538  		return nil, gensupport.WrapError(err)
 13539  	}
 13540  	ret := &Job{
 13541  		ServerResponse: googleapi.ServerResponse{
 13542  			Header:         res.Header,
 13543  			HTTPStatusCode: res.StatusCode,
 13544  		},
 13545  	}
 13546  	target := &ret
 13547  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13548  		return nil, err
 13549  	}
 13550  	return ret, nil
 13551  }
 13552  
 13553  type ProjectsRegionsJobsGetIamPolicyCall struct {
 13554  	s                   *Service
 13555  	resource            string
 13556  	getiampolicyrequest *GetIamPolicyRequest
 13557  	urlParams_          gensupport.URLParams
 13558  	ctx_                context.Context
 13559  	header_             http.Header
 13560  }
 13561  
 13562  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 13563  // empty policy if the resource exists and does not have a policy set.
 13564  //
 13565  //   - resource: REQUIRED: The resource for which the policy is being requested.
 13566  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 13567  //     for the appropriate value for this field.
 13568  func (r *ProjectsRegionsJobsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsRegionsJobsGetIamPolicyCall {
 13569  	c := &ProjectsRegionsJobsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13570  	c.resource = resource
 13571  	c.getiampolicyrequest = getiampolicyrequest
 13572  	return c
 13573  }
 13574  
 13575  // Fields allows partial responses to be retrieved. See
 13576  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13577  // details.
 13578  func (c *ProjectsRegionsJobsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsGetIamPolicyCall {
 13579  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13580  	return c
 13581  }
 13582  
 13583  // Context sets the context to be used in this call's Do method.
 13584  func (c *ProjectsRegionsJobsGetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsJobsGetIamPolicyCall {
 13585  	c.ctx_ = ctx
 13586  	return c
 13587  }
 13588  
 13589  // Header returns a http.Header that can be modified by the caller to add
 13590  // headers to the request.
 13591  func (c *ProjectsRegionsJobsGetIamPolicyCall) Header() http.Header {
 13592  	if c.header_ == nil {
 13593  		c.header_ = make(http.Header)
 13594  	}
 13595  	return c.header_
 13596  }
 13597  
 13598  func (c *ProjectsRegionsJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 13599  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13600  	var body io.Reader = nil
 13601  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
 13602  	if err != nil {
 13603  		return nil, err
 13604  	}
 13605  	c.urlParams_.Set("alt", alt)
 13606  	c.urlParams_.Set("prettyPrint", "false")
 13607  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 13608  	urls += "?" + c.urlParams_.Encode()
 13609  	req, err := http.NewRequest("POST", urls, body)
 13610  	if err != nil {
 13611  		return nil, err
 13612  	}
 13613  	req.Header = reqHeaders
 13614  	googleapi.Expand(req.URL, map[string]string{
 13615  		"resource": c.resource,
 13616  	})
 13617  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13618  }
 13619  
 13620  // Do executes the "dataproc.projects.regions.jobs.getIamPolicy" call.
 13621  // Any non-2xx status code is an error. Response headers are in either
 13622  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 13623  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13624  // whether the returned error was because http.StatusNotModified was returned.
 13625  func (c *ProjectsRegionsJobsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 13626  	gensupport.SetOptions(c.urlParams_, opts...)
 13627  	res, err := c.doRequest("json")
 13628  	if res != nil && res.StatusCode == http.StatusNotModified {
 13629  		if res.Body != nil {
 13630  			res.Body.Close()
 13631  		}
 13632  		return nil, gensupport.WrapError(&googleapi.Error{
 13633  			Code:   res.StatusCode,
 13634  			Header: res.Header,
 13635  		})
 13636  	}
 13637  	if err != nil {
 13638  		return nil, err
 13639  	}
 13640  	defer googleapi.CloseBody(res)
 13641  	if err := googleapi.CheckResponse(res); err != nil {
 13642  		return nil, gensupport.WrapError(err)
 13643  	}
 13644  	ret := &Policy{
 13645  		ServerResponse: googleapi.ServerResponse{
 13646  			Header:         res.Header,
 13647  			HTTPStatusCode: res.StatusCode,
 13648  		},
 13649  	}
 13650  	target := &ret
 13651  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13652  		return nil, err
 13653  	}
 13654  	return ret, nil
 13655  }
 13656  
 13657  type ProjectsRegionsJobsListCall struct {
 13658  	s            *Service
 13659  	projectId    string
 13660  	region       string
 13661  	urlParams_   gensupport.URLParams
 13662  	ifNoneMatch_ string
 13663  	ctx_         context.Context
 13664  	header_      http.Header
 13665  }
 13666  
 13667  // List: Lists regions/{region}/jobs in a project.
 13668  //
 13669  //   - projectId: The ID of the Google Cloud Platform project that the job
 13670  //     belongs to.
 13671  //   - region: The Dataproc region in which to handle the request.
 13672  func (r *ProjectsRegionsJobsService) List(projectId string, region string) *ProjectsRegionsJobsListCall {
 13673  	c := &ProjectsRegionsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13674  	c.projectId = projectId
 13675  	c.region = region
 13676  	return c
 13677  }
 13678  
 13679  // ClusterName sets the optional parameter "clusterName": If set, the returned
 13680  // jobs list includes only jobs that were submitted to the named cluster.
 13681  func (c *ProjectsRegionsJobsListCall) ClusterName(clusterName string) *ProjectsRegionsJobsListCall {
 13682  	c.urlParams_.Set("clusterName", clusterName)
 13683  	return c
 13684  }
 13685  
 13686  // Filter sets the optional parameter "filter": A filter constraining the jobs
 13687  // to list. Filters are case-sensitive and have the following syntax:field =
 13688  // value AND field = value ...where field is status.state or labels.[KEY], and
 13689  // [KEY] is a label key. value can be * to match all values. status.state can
 13690  // be either ACTIVE or NON_ACTIVE. Only the logical AND operator is supported;
 13691  // space-separated items are treated as having an implicit AND operator.Example
 13692  // filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = *
 13693  func (c *ProjectsRegionsJobsListCall) Filter(filter string) *ProjectsRegionsJobsListCall {
 13694  	c.urlParams_.Set("filter", filter)
 13695  	return c
 13696  }
 13697  
 13698  // JobStateMatcher sets the optional parameter "jobStateMatcher": Specifies
 13699  // enumerated categories of jobs to list. (default = match ALL jobs).If filter
 13700  // is provided, jobStateMatcher will be ignored.
 13701  //
 13702  // Possible values:
 13703  //
 13704  //	"ALL" - Match all jobs, regardless of state.
 13705  //	"ACTIVE" - Only match jobs in non-terminal states: PENDING, RUNNING, or
 13706  //
 13707  // CANCEL_PENDING.
 13708  //
 13709  //	"NON_ACTIVE" - Only match jobs in terminal states: CANCELLED, DONE, or
 13710  //
 13711  // ERROR.
 13712  func (c *ProjectsRegionsJobsListCall) JobStateMatcher(jobStateMatcher string) *ProjectsRegionsJobsListCall {
 13713  	c.urlParams_.Set("jobStateMatcher", jobStateMatcher)
 13714  	return c
 13715  }
 13716  
 13717  // PageSize sets the optional parameter "pageSize": The number of results to
 13718  // return in each response.
 13719  func (c *ProjectsRegionsJobsListCall) PageSize(pageSize int64) *ProjectsRegionsJobsListCall {
 13720  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 13721  	return c
 13722  }
 13723  
 13724  // PageToken sets the optional parameter "pageToken": The page token, returned
 13725  // by a previous call, to request the next page of results.
 13726  func (c *ProjectsRegionsJobsListCall) PageToken(pageToken string) *ProjectsRegionsJobsListCall {
 13727  	c.urlParams_.Set("pageToken", pageToken)
 13728  	return c
 13729  }
 13730  
 13731  // Fields allows partial responses to be retrieved. See
 13732  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13733  // details.
 13734  func (c *ProjectsRegionsJobsListCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsListCall {
 13735  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13736  	return c
 13737  }
 13738  
 13739  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13740  // object's ETag matches the given value. This is useful for getting updates
 13741  // only after the object has changed since the last request.
 13742  func (c *ProjectsRegionsJobsListCall) IfNoneMatch(entityTag string) *ProjectsRegionsJobsListCall {
 13743  	c.ifNoneMatch_ = entityTag
 13744  	return c
 13745  }
 13746  
 13747  // Context sets the context to be used in this call's Do method.
 13748  func (c *ProjectsRegionsJobsListCall) Context(ctx context.Context) *ProjectsRegionsJobsListCall {
 13749  	c.ctx_ = ctx
 13750  	return c
 13751  }
 13752  
 13753  // Header returns a http.Header that can be modified by the caller to add
 13754  // headers to the request.
 13755  func (c *ProjectsRegionsJobsListCall) Header() http.Header {
 13756  	if c.header_ == nil {
 13757  		c.header_ = make(http.Header)
 13758  	}
 13759  	return c.header_
 13760  }
 13761  
 13762  func (c *ProjectsRegionsJobsListCall) doRequest(alt string) (*http.Response, error) {
 13763  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13764  	if c.ifNoneMatch_ != "" {
 13765  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13766  	}
 13767  	var body io.Reader = nil
 13768  	c.urlParams_.Set("alt", alt)
 13769  	c.urlParams_.Set("prettyPrint", "false")
 13770  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs")
 13771  	urls += "?" + c.urlParams_.Encode()
 13772  	req, err := http.NewRequest("GET", urls, body)
 13773  	if err != nil {
 13774  		return nil, err
 13775  	}
 13776  	req.Header = reqHeaders
 13777  	googleapi.Expand(req.URL, map[string]string{
 13778  		"projectId": c.projectId,
 13779  		"region":    c.region,
 13780  	})
 13781  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13782  }
 13783  
 13784  // Do executes the "dataproc.projects.regions.jobs.list" call.
 13785  // Any non-2xx status code is an error. Response headers are in either
 13786  // *ListJobsResponse.ServerResponse.Header or (if a response was returned at
 13787  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13788  // check whether the returned error was because http.StatusNotModified was
 13789  // returned.
 13790  func (c *ProjectsRegionsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, error) {
 13791  	gensupport.SetOptions(c.urlParams_, opts...)
 13792  	res, err := c.doRequest("json")
 13793  	if res != nil && res.StatusCode == http.StatusNotModified {
 13794  		if res.Body != nil {
 13795  			res.Body.Close()
 13796  		}
 13797  		return nil, gensupport.WrapError(&googleapi.Error{
 13798  			Code:   res.StatusCode,
 13799  			Header: res.Header,
 13800  		})
 13801  	}
 13802  	if err != nil {
 13803  		return nil, err
 13804  	}
 13805  	defer googleapi.CloseBody(res)
 13806  	if err := googleapi.CheckResponse(res); err != nil {
 13807  		return nil, gensupport.WrapError(err)
 13808  	}
 13809  	ret := &ListJobsResponse{
 13810  		ServerResponse: googleapi.ServerResponse{
 13811  			Header:         res.Header,
 13812  			HTTPStatusCode: res.StatusCode,
 13813  		},
 13814  	}
 13815  	target := &ret
 13816  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13817  		return nil, err
 13818  	}
 13819  	return ret, nil
 13820  }
 13821  
 13822  // Pages invokes f for each page of results.
 13823  // A non-nil error returned from f will halt the iteration.
 13824  // The provided context supersedes any context provided to the Context method.
 13825  func (c *ProjectsRegionsJobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error {
 13826  	c.ctx_ = ctx
 13827  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13828  	for {
 13829  		x, err := c.Do()
 13830  		if err != nil {
 13831  			return err
 13832  		}
 13833  		if err := f(x); err != nil {
 13834  			return err
 13835  		}
 13836  		if x.NextPageToken == "" {
 13837  			return nil
 13838  		}
 13839  		c.PageToken(x.NextPageToken)
 13840  	}
 13841  }
 13842  
 13843  type ProjectsRegionsJobsPatchCall struct {
 13844  	s          *Service
 13845  	projectId  string
 13846  	region     string
 13847  	jobId      string
 13848  	job        *Job
 13849  	urlParams_ gensupport.URLParams
 13850  	ctx_       context.Context
 13851  	header_    http.Header
 13852  }
 13853  
 13854  // Patch: Updates a job in a project.
 13855  //
 13856  //   - jobId: The job ID.
 13857  //   - projectId: The ID of the Google Cloud Platform project that the job
 13858  //     belongs to.
 13859  //   - region: The Dataproc region in which to handle the request.
 13860  func (r *ProjectsRegionsJobsService) Patch(projectId string, region string, jobId string, job *Job) *ProjectsRegionsJobsPatchCall {
 13861  	c := &ProjectsRegionsJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13862  	c.projectId = projectId
 13863  	c.region = region
 13864  	c.jobId = jobId
 13865  	c.job = job
 13866  	return c
 13867  }
 13868  
 13869  // UpdateMask sets the optional parameter "updateMask": Required. Specifies the
 13870  // path, relative to Job, of the field to update. For example, to update the
 13871  // labels of a Job the update_mask parameter would be specified as labels, and
 13872  // the PATCH request body would specify the new value. *Note:* Currently,
 13873  // labels is the only field that can be updated.
 13874  func (c *ProjectsRegionsJobsPatchCall) UpdateMask(updateMask string) *ProjectsRegionsJobsPatchCall {
 13875  	c.urlParams_.Set("updateMask", updateMask)
 13876  	return c
 13877  }
 13878  
 13879  // Fields allows partial responses to be retrieved. See
 13880  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13881  // details.
 13882  func (c *ProjectsRegionsJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsPatchCall {
 13883  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13884  	return c
 13885  }
 13886  
 13887  // Context sets the context to be used in this call's Do method.
 13888  func (c *ProjectsRegionsJobsPatchCall) Context(ctx context.Context) *ProjectsRegionsJobsPatchCall {
 13889  	c.ctx_ = ctx
 13890  	return c
 13891  }
 13892  
 13893  // Header returns a http.Header that can be modified by the caller to add
 13894  // headers to the request.
 13895  func (c *ProjectsRegionsJobsPatchCall) Header() http.Header {
 13896  	if c.header_ == nil {
 13897  		c.header_ = make(http.Header)
 13898  	}
 13899  	return c.header_
 13900  }
 13901  
 13902  func (c *ProjectsRegionsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 13903  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13904  	var body io.Reader = nil
 13905  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.job)
 13906  	if err != nil {
 13907  		return nil, err
 13908  	}
 13909  	c.urlParams_.Set("alt", alt)
 13910  	c.urlParams_.Set("prettyPrint", "false")
 13911  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs/{jobId}")
 13912  	urls += "?" + c.urlParams_.Encode()
 13913  	req, err := http.NewRequest("PATCH", urls, body)
 13914  	if err != nil {
 13915  		return nil, err
 13916  	}
 13917  	req.Header = reqHeaders
 13918  	googleapi.Expand(req.URL, map[string]string{
 13919  		"projectId": c.projectId,
 13920  		"region":    c.region,
 13921  		"jobId":     c.jobId,
 13922  	})
 13923  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13924  }
 13925  
 13926  // Do executes the "dataproc.projects.regions.jobs.patch" call.
 13927  // Any non-2xx status code is an error. Response headers are in either
 13928  // *Job.ServerResponse.Header or (if a response was returned at all) in
 13929  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13930  // whether the returned error was because http.StatusNotModified was returned.
 13931  func (c *ProjectsRegionsJobsPatchCall) Do(opts ...googleapi.CallOption) (*Job, error) {
 13932  	gensupport.SetOptions(c.urlParams_, opts...)
 13933  	res, err := c.doRequest("json")
 13934  	if res != nil && res.StatusCode == http.StatusNotModified {
 13935  		if res.Body != nil {
 13936  			res.Body.Close()
 13937  		}
 13938  		return nil, gensupport.WrapError(&googleapi.Error{
 13939  			Code:   res.StatusCode,
 13940  			Header: res.Header,
 13941  		})
 13942  	}
 13943  	if err != nil {
 13944  		return nil, err
 13945  	}
 13946  	defer googleapi.CloseBody(res)
 13947  	if err := googleapi.CheckResponse(res); err != nil {
 13948  		return nil, gensupport.WrapError(err)
 13949  	}
 13950  	ret := &Job{
 13951  		ServerResponse: googleapi.ServerResponse{
 13952  			Header:         res.Header,
 13953  			HTTPStatusCode: res.StatusCode,
 13954  		},
 13955  	}
 13956  	target := &ret
 13957  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13958  		return nil, err
 13959  	}
 13960  	return ret, nil
 13961  }
 13962  
 13963  type ProjectsRegionsJobsSetIamPolicyCall struct {
 13964  	s                   *Service
 13965  	resource            string
 13966  	setiampolicyrequest *SetIamPolicyRequest
 13967  	urlParams_          gensupport.URLParams
 13968  	ctx_                context.Context
 13969  	header_             http.Header
 13970  }
 13971  
 13972  // SetIamPolicy: Sets the access control policy on the specified resource.
 13973  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
 13974  // PERMISSION_DENIED errors.
 13975  //
 13976  //   - resource: REQUIRED: The resource for which the policy is being specified.
 13977  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 13978  //     for the appropriate value for this field.
 13979  func (r *ProjectsRegionsJobsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsRegionsJobsSetIamPolicyCall {
 13980  	c := &ProjectsRegionsJobsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13981  	c.resource = resource
 13982  	c.setiampolicyrequest = setiampolicyrequest
 13983  	return c
 13984  }
 13985  
 13986  // Fields allows partial responses to be retrieved. See
 13987  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13988  // details.
 13989  func (c *ProjectsRegionsJobsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsSetIamPolicyCall {
 13990  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13991  	return c
 13992  }
 13993  
 13994  // Context sets the context to be used in this call's Do method.
 13995  func (c *ProjectsRegionsJobsSetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsJobsSetIamPolicyCall {
 13996  	c.ctx_ = ctx
 13997  	return c
 13998  }
 13999  
 14000  // Header returns a http.Header that can be modified by the caller to add
 14001  // headers to the request.
 14002  func (c *ProjectsRegionsJobsSetIamPolicyCall) Header() http.Header {
 14003  	if c.header_ == nil {
 14004  		c.header_ = make(http.Header)
 14005  	}
 14006  	return c.header_
 14007  }
 14008  
 14009  func (c *ProjectsRegionsJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 14010  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14011  	var body io.Reader = nil
 14012  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 14013  	if err != nil {
 14014  		return nil, err
 14015  	}
 14016  	c.urlParams_.Set("alt", alt)
 14017  	c.urlParams_.Set("prettyPrint", "false")
 14018  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 14019  	urls += "?" + c.urlParams_.Encode()
 14020  	req, err := http.NewRequest("POST", urls, body)
 14021  	if err != nil {
 14022  		return nil, err
 14023  	}
 14024  	req.Header = reqHeaders
 14025  	googleapi.Expand(req.URL, map[string]string{
 14026  		"resource": c.resource,
 14027  	})
 14028  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14029  }
 14030  
 14031  // Do executes the "dataproc.projects.regions.jobs.setIamPolicy" call.
 14032  // Any non-2xx status code is an error. Response headers are in either
 14033  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 14034  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14035  // whether the returned error was because http.StatusNotModified was returned.
 14036  func (c *ProjectsRegionsJobsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 14037  	gensupport.SetOptions(c.urlParams_, opts...)
 14038  	res, err := c.doRequest("json")
 14039  	if res != nil && res.StatusCode == http.StatusNotModified {
 14040  		if res.Body != nil {
 14041  			res.Body.Close()
 14042  		}
 14043  		return nil, gensupport.WrapError(&googleapi.Error{
 14044  			Code:   res.StatusCode,
 14045  			Header: res.Header,
 14046  		})
 14047  	}
 14048  	if err != nil {
 14049  		return nil, err
 14050  	}
 14051  	defer googleapi.CloseBody(res)
 14052  	if err := googleapi.CheckResponse(res); err != nil {
 14053  		return nil, gensupport.WrapError(err)
 14054  	}
 14055  	ret := &Policy{
 14056  		ServerResponse: googleapi.ServerResponse{
 14057  			Header:         res.Header,
 14058  			HTTPStatusCode: res.StatusCode,
 14059  		},
 14060  	}
 14061  	target := &ret
 14062  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14063  		return nil, err
 14064  	}
 14065  	return ret, nil
 14066  }
 14067  
 14068  type ProjectsRegionsJobsSubmitCall struct {
 14069  	s                *Service
 14070  	projectId        string
 14071  	region           string
 14072  	submitjobrequest *SubmitJobRequest
 14073  	urlParams_       gensupport.URLParams
 14074  	ctx_             context.Context
 14075  	header_          http.Header
 14076  }
 14077  
 14078  // Submit: Submits a job to a cluster.
 14079  //
 14080  //   - projectId: The ID of the Google Cloud Platform project that the job
 14081  //     belongs to.
 14082  //   - region: The Dataproc region in which to handle the request.
 14083  func (r *ProjectsRegionsJobsService) Submit(projectId string, region string, submitjobrequest *SubmitJobRequest) *ProjectsRegionsJobsSubmitCall {
 14084  	c := &ProjectsRegionsJobsSubmitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14085  	c.projectId = projectId
 14086  	c.region = region
 14087  	c.submitjobrequest = submitjobrequest
 14088  	return c
 14089  }
 14090  
 14091  // Fields allows partial responses to be retrieved. See
 14092  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14093  // details.
 14094  func (c *ProjectsRegionsJobsSubmitCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsSubmitCall {
 14095  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14096  	return c
 14097  }
 14098  
 14099  // Context sets the context to be used in this call's Do method.
 14100  func (c *ProjectsRegionsJobsSubmitCall) Context(ctx context.Context) *ProjectsRegionsJobsSubmitCall {
 14101  	c.ctx_ = ctx
 14102  	return c
 14103  }
 14104  
 14105  // Header returns a http.Header that can be modified by the caller to add
 14106  // headers to the request.
 14107  func (c *ProjectsRegionsJobsSubmitCall) Header() http.Header {
 14108  	if c.header_ == nil {
 14109  		c.header_ = make(http.Header)
 14110  	}
 14111  	return c.header_
 14112  }
 14113  
 14114  func (c *ProjectsRegionsJobsSubmitCall) doRequest(alt string) (*http.Response, error) {
 14115  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14116  	var body io.Reader = nil
 14117  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.submitjobrequest)
 14118  	if err != nil {
 14119  		return nil, err
 14120  	}
 14121  	c.urlParams_.Set("alt", alt)
 14122  	c.urlParams_.Set("prettyPrint", "false")
 14123  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs:submit")
 14124  	urls += "?" + c.urlParams_.Encode()
 14125  	req, err := http.NewRequest("POST", urls, body)
 14126  	if err != nil {
 14127  		return nil, err
 14128  	}
 14129  	req.Header = reqHeaders
 14130  	googleapi.Expand(req.URL, map[string]string{
 14131  		"projectId": c.projectId,
 14132  		"region":    c.region,
 14133  	})
 14134  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14135  }
 14136  
 14137  // Do executes the "dataproc.projects.regions.jobs.submit" call.
 14138  // Any non-2xx status code is an error. Response headers are in either
 14139  // *Job.ServerResponse.Header or (if a response was returned at all) in
 14140  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14141  // whether the returned error was because http.StatusNotModified was returned.
 14142  func (c *ProjectsRegionsJobsSubmitCall) Do(opts ...googleapi.CallOption) (*Job, error) {
 14143  	gensupport.SetOptions(c.urlParams_, opts...)
 14144  	res, err := c.doRequest("json")
 14145  	if res != nil && res.StatusCode == http.StatusNotModified {
 14146  		if res.Body != nil {
 14147  			res.Body.Close()
 14148  		}
 14149  		return nil, gensupport.WrapError(&googleapi.Error{
 14150  			Code:   res.StatusCode,
 14151  			Header: res.Header,
 14152  		})
 14153  	}
 14154  	if err != nil {
 14155  		return nil, err
 14156  	}
 14157  	defer googleapi.CloseBody(res)
 14158  	if err := googleapi.CheckResponse(res); err != nil {
 14159  		return nil, gensupport.WrapError(err)
 14160  	}
 14161  	ret := &Job{
 14162  		ServerResponse: googleapi.ServerResponse{
 14163  			Header:         res.Header,
 14164  			HTTPStatusCode: res.StatusCode,
 14165  		},
 14166  	}
 14167  	target := &ret
 14168  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14169  		return nil, err
 14170  	}
 14171  	return ret, nil
 14172  }
 14173  
 14174  type ProjectsRegionsJobsSubmitAsOperationCall struct {
 14175  	s                *Service
 14176  	projectId        string
 14177  	region           string
 14178  	submitjobrequest *SubmitJobRequest
 14179  	urlParams_       gensupport.URLParams
 14180  	ctx_             context.Context
 14181  	header_          http.Header
 14182  }
 14183  
 14184  // SubmitAsOperation: Submits job to a cluster.
 14185  //
 14186  //   - projectId: The ID of the Google Cloud Platform project that the job
 14187  //     belongs to.
 14188  //   - region: The Dataproc region in which to handle the request.
 14189  func (r *ProjectsRegionsJobsService) SubmitAsOperation(projectId string, region string, submitjobrequest *SubmitJobRequest) *ProjectsRegionsJobsSubmitAsOperationCall {
 14190  	c := &ProjectsRegionsJobsSubmitAsOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14191  	c.projectId = projectId
 14192  	c.region = region
 14193  	c.submitjobrequest = submitjobrequest
 14194  	return c
 14195  }
 14196  
 14197  // Fields allows partial responses to be retrieved. See
 14198  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14199  // details.
 14200  func (c *ProjectsRegionsJobsSubmitAsOperationCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsSubmitAsOperationCall {
 14201  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14202  	return c
 14203  }
 14204  
 14205  // Context sets the context to be used in this call's Do method.
 14206  func (c *ProjectsRegionsJobsSubmitAsOperationCall) Context(ctx context.Context) *ProjectsRegionsJobsSubmitAsOperationCall {
 14207  	c.ctx_ = ctx
 14208  	return c
 14209  }
 14210  
 14211  // Header returns a http.Header that can be modified by the caller to add
 14212  // headers to the request.
 14213  func (c *ProjectsRegionsJobsSubmitAsOperationCall) Header() http.Header {
 14214  	if c.header_ == nil {
 14215  		c.header_ = make(http.Header)
 14216  	}
 14217  	return c.header_
 14218  }
 14219  
 14220  func (c *ProjectsRegionsJobsSubmitAsOperationCall) doRequest(alt string) (*http.Response, error) {
 14221  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14222  	var body io.Reader = nil
 14223  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.submitjobrequest)
 14224  	if err != nil {
 14225  		return nil, err
 14226  	}
 14227  	c.urlParams_.Set("alt", alt)
 14228  	c.urlParams_.Set("prettyPrint", "false")
 14229  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/regions/{region}/jobs:submitAsOperation")
 14230  	urls += "?" + c.urlParams_.Encode()
 14231  	req, err := http.NewRequest("POST", urls, body)
 14232  	if err != nil {
 14233  		return nil, err
 14234  	}
 14235  	req.Header = reqHeaders
 14236  	googleapi.Expand(req.URL, map[string]string{
 14237  		"projectId": c.projectId,
 14238  		"region":    c.region,
 14239  	})
 14240  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14241  }
 14242  
 14243  // Do executes the "dataproc.projects.regions.jobs.submitAsOperation" call.
 14244  // Any non-2xx status code is an error. Response headers are in either
 14245  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 14246  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14247  // whether the returned error was because http.StatusNotModified was returned.
 14248  func (c *ProjectsRegionsJobsSubmitAsOperationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 14249  	gensupport.SetOptions(c.urlParams_, opts...)
 14250  	res, err := c.doRequest("json")
 14251  	if res != nil && res.StatusCode == http.StatusNotModified {
 14252  		if res.Body != nil {
 14253  			res.Body.Close()
 14254  		}
 14255  		return nil, gensupport.WrapError(&googleapi.Error{
 14256  			Code:   res.StatusCode,
 14257  			Header: res.Header,
 14258  		})
 14259  	}
 14260  	if err != nil {
 14261  		return nil, err
 14262  	}
 14263  	defer googleapi.CloseBody(res)
 14264  	if err := googleapi.CheckResponse(res); err != nil {
 14265  		return nil, gensupport.WrapError(err)
 14266  	}
 14267  	ret := &Operation{
 14268  		ServerResponse: googleapi.ServerResponse{
 14269  			Header:         res.Header,
 14270  			HTTPStatusCode: res.StatusCode,
 14271  		},
 14272  	}
 14273  	target := &ret
 14274  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14275  		return nil, err
 14276  	}
 14277  	return ret, nil
 14278  }
 14279  
 14280  type ProjectsRegionsJobsTestIamPermissionsCall struct {
 14281  	s                         *Service
 14282  	resource                  string
 14283  	testiampermissionsrequest *TestIamPermissionsRequest
 14284  	urlParams_                gensupport.URLParams
 14285  	ctx_                      context.Context
 14286  	header_                   http.Header
 14287  }
 14288  
 14289  // TestIamPermissions: Returns permissions that a caller has on the specified
 14290  // resource. If the resource does not exist, this will return an empty set of
 14291  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
 14292  // used for building permission-aware UIs and command-line tools, not for
 14293  // authorization checking. This operation may "fail open" without warning.
 14294  //
 14295  //   - resource: REQUIRED: The resource for which the policy detail is being
 14296  //     requested. See Resource names
 14297  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 14298  //     value for this field.
 14299  func (r *ProjectsRegionsJobsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsRegionsJobsTestIamPermissionsCall {
 14300  	c := &ProjectsRegionsJobsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14301  	c.resource = resource
 14302  	c.testiampermissionsrequest = testiampermissionsrequest
 14303  	return c
 14304  }
 14305  
 14306  // Fields allows partial responses to be retrieved. See
 14307  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14308  // details.
 14309  func (c *ProjectsRegionsJobsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsTestIamPermissionsCall {
 14310  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14311  	return c
 14312  }
 14313  
 14314  // Context sets the context to be used in this call's Do method.
 14315  func (c *ProjectsRegionsJobsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsRegionsJobsTestIamPermissionsCall {
 14316  	c.ctx_ = ctx
 14317  	return c
 14318  }
 14319  
 14320  // Header returns a http.Header that can be modified by the caller to add
 14321  // headers to the request.
 14322  func (c *ProjectsRegionsJobsTestIamPermissionsCall) Header() http.Header {
 14323  	if c.header_ == nil {
 14324  		c.header_ = make(http.Header)
 14325  	}
 14326  	return c.header_
 14327  }
 14328  
 14329  func (c *ProjectsRegionsJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 14330  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14331  	var body io.Reader = nil
 14332  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 14333  	if err != nil {
 14334  		return nil, err
 14335  	}
 14336  	c.urlParams_.Set("alt", alt)
 14337  	c.urlParams_.Set("prettyPrint", "false")
 14338  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 14339  	urls += "?" + c.urlParams_.Encode()
 14340  	req, err := http.NewRequest("POST", urls, body)
 14341  	if err != nil {
 14342  		return nil, err
 14343  	}
 14344  	req.Header = reqHeaders
 14345  	googleapi.Expand(req.URL, map[string]string{
 14346  		"resource": c.resource,
 14347  	})
 14348  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14349  }
 14350  
 14351  // Do executes the "dataproc.projects.regions.jobs.testIamPermissions" call.
 14352  // Any non-2xx status code is an error. Response headers are in either
 14353  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 14354  // returned at all) in error.(*googleapi.Error).Header. Use
 14355  // googleapi.IsNotModified to check whether the returned error was because
 14356  // http.StatusNotModified was returned.
 14357  func (c *ProjectsRegionsJobsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 14358  	gensupport.SetOptions(c.urlParams_, opts...)
 14359  	res, err := c.doRequest("json")
 14360  	if res != nil && res.StatusCode == http.StatusNotModified {
 14361  		if res.Body != nil {
 14362  			res.Body.Close()
 14363  		}
 14364  		return nil, gensupport.WrapError(&googleapi.Error{
 14365  			Code:   res.StatusCode,
 14366  			Header: res.Header,
 14367  		})
 14368  	}
 14369  	if err != nil {
 14370  		return nil, err
 14371  	}
 14372  	defer googleapi.CloseBody(res)
 14373  	if err := googleapi.CheckResponse(res); err != nil {
 14374  		return nil, gensupport.WrapError(err)
 14375  	}
 14376  	ret := &TestIamPermissionsResponse{
 14377  		ServerResponse: googleapi.ServerResponse{
 14378  			Header:         res.Header,
 14379  			HTTPStatusCode: res.StatusCode,
 14380  		},
 14381  	}
 14382  	target := &ret
 14383  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14384  		return nil, err
 14385  	}
 14386  	return ret, nil
 14387  }
 14388  
 14389  type ProjectsRegionsOperationsCancelCall struct {
 14390  	s          *Service
 14391  	name       string
 14392  	urlParams_ gensupport.URLParams
 14393  	ctx_       context.Context
 14394  	header_    http.Header
 14395  }
 14396  
 14397  // Cancel: Starts asynchronous cancellation on a long-running operation. The
 14398  // server makes a best effort to cancel the operation, but success is not
 14399  // guaranteed. If the server doesn't support this method, it returns
 14400  // google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or
 14401  // other methods to check whether the cancellation succeeded or whether the
 14402  // operation completed despite cancellation. On successful cancellation, the
 14403  // operation is not deleted; instead, it becomes an operation with an
 14404  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
 14405  // Code.CANCELLED.
 14406  //
 14407  // - name: The name of the operation resource to be cancelled.
 14408  func (r *ProjectsRegionsOperationsService) Cancel(name string) *ProjectsRegionsOperationsCancelCall {
 14409  	c := &ProjectsRegionsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14410  	c.name = name
 14411  	return c
 14412  }
 14413  
 14414  // Fields allows partial responses to be retrieved. See
 14415  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14416  // details.
 14417  func (c *ProjectsRegionsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsCancelCall {
 14418  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14419  	return c
 14420  }
 14421  
 14422  // Context sets the context to be used in this call's Do method.
 14423  func (c *ProjectsRegionsOperationsCancelCall) Context(ctx context.Context) *ProjectsRegionsOperationsCancelCall {
 14424  	c.ctx_ = ctx
 14425  	return c
 14426  }
 14427  
 14428  // Header returns a http.Header that can be modified by the caller to add
 14429  // headers to the request.
 14430  func (c *ProjectsRegionsOperationsCancelCall) Header() http.Header {
 14431  	if c.header_ == nil {
 14432  		c.header_ = make(http.Header)
 14433  	}
 14434  	return c.header_
 14435  }
 14436  
 14437  func (c *ProjectsRegionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 14438  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14439  	var body io.Reader = nil
 14440  	c.urlParams_.Set("alt", alt)
 14441  	c.urlParams_.Set("prettyPrint", "false")
 14442  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
 14443  	urls += "?" + c.urlParams_.Encode()
 14444  	req, err := http.NewRequest("POST", urls, body)
 14445  	if err != nil {
 14446  		return nil, err
 14447  	}
 14448  	req.Header = reqHeaders
 14449  	googleapi.Expand(req.URL, map[string]string{
 14450  		"name": c.name,
 14451  	})
 14452  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14453  }
 14454  
 14455  // Do executes the "dataproc.projects.regions.operations.cancel" call.
 14456  // Any non-2xx status code is an error. Response headers are in either
 14457  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 14458  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14459  // whether the returned error was because http.StatusNotModified was returned.
 14460  func (c *ProjectsRegionsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 14461  	gensupport.SetOptions(c.urlParams_, opts...)
 14462  	res, err := c.doRequest("json")
 14463  	if res != nil && res.StatusCode == http.StatusNotModified {
 14464  		if res.Body != nil {
 14465  			res.Body.Close()
 14466  		}
 14467  		return nil, gensupport.WrapError(&googleapi.Error{
 14468  			Code:   res.StatusCode,
 14469  			Header: res.Header,
 14470  		})
 14471  	}
 14472  	if err != nil {
 14473  		return nil, err
 14474  	}
 14475  	defer googleapi.CloseBody(res)
 14476  	if err := googleapi.CheckResponse(res); err != nil {
 14477  		return nil, gensupport.WrapError(err)
 14478  	}
 14479  	ret := &Empty{
 14480  		ServerResponse: googleapi.ServerResponse{
 14481  			Header:         res.Header,
 14482  			HTTPStatusCode: res.StatusCode,
 14483  		},
 14484  	}
 14485  	target := &ret
 14486  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14487  		return nil, err
 14488  	}
 14489  	return ret, nil
 14490  }
 14491  
 14492  type ProjectsRegionsOperationsDeleteCall struct {
 14493  	s          *Service
 14494  	name       string
 14495  	urlParams_ gensupport.URLParams
 14496  	ctx_       context.Context
 14497  	header_    http.Header
 14498  }
 14499  
 14500  // Delete: Deletes a long-running operation. This method indicates that the
 14501  // client is no longer interested in the operation result. It does not cancel
 14502  // the operation. If the server doesn't support this method, it returns
 14503  // google.rpc.Code.UNIMPLEMENTED.
 14504  //
 14505  // - name: The name of the operation resource to be deleted.
 14506  func (r *ProjectsRegionsOperationsService) Delete(name string) *ProjectsRegionsOperationsDeleteCall {
 14507  	c := &ProjectsRegionsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14508  	c.name = name
 14509  	return c
 14510  }
 14511  
 14512  // Fields allows partial responses to be retrieved. See
 14513  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14514  // details.
 14515  func (c *ProjectsRegionsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsDeleteCall {
 14516  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14517  	return c
 14518  }
 14519  
 14520  // Context sets the context to be used in this call's Do method.
 14521  func (c *ProjectsRegionsOperationsDeleteCall) Context(ctx context.Context) *ProjectsRegionsOperationsDeleteCall {
 14522  	c.ctx_ = ctx
 14523  	return c
 14524  }
 14525  
 14526  // Header returns a http.Header that can be modified by the caller to add
 14527  // headers to the request.
 14528  func (c *ProjectsRegionsOperationsDeleteCall) Header() http.Header {
 14529  	if c.header_ == nil {
 14530  		c.header_ = make(http.Header)
 14531  	}
 14532  	return c.header_
 14533  }
 14534  
 14535  func (c *ProjectsRegionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 14536  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14537  	var body io.Reader = nil
 14538  	c.urlParams_.Set("alt", alt)
 14539  	c.urlParams_.Set("prettyPrint", "false")
 14540  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 14541  	urls += "?" + c.urlParams_.Encode()
 14542  	req, err := http.NewRequest("DELETE", urls, body)
 14543  	if err != nil {
 14544  		return nil, err
 14545  	}
 14546  	req.Header = reqHeaders
 14547  	googleapi.Expand(req.URL, map[string]string{
 14548  		"name": c.name,
 14549  	})
 14550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14551  }
 14552  
 14553  // Do executes the "dataproc.projects.regions.operations.delete" call.
 14554  // Any non-2xx status code is an error. Response headers are in either
 14555  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 14556  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14557  // whether the returned error was because http.StatusNotModified was returned.
 14558  func (c *ProjectsRegionsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 14559  	gensupport.SetOptions(c.urlParams_, opts...)
 14560  	res, err := c.doRequest("json")
 14561  	if res != nil && res.StatusCode == http.StatusNotModified {
 14562  		if res.Body != nil {
 14563  			res.Body.Close()
 14564  		}
 14565  		return nil, gensupport.WrapError(&googleapi.Error{
 14566  			Code:   res.StatusCode,
 14567  			Header: res.Header,
 14568  		})
 14569  	}
 14570  	if err != nil {
 14571  		return nil, err
 14572  	}
 14573  	defer googleapi.CloseBody(res)
 14574  	if err := googleapi.CheckResponse(res); err != nil {
 14575  		return nil, gensupport.WrapError(err)
 14576  	}
 14577  	ret := &Empty{
 14578  		ServerResponse: googleapi.ServerResponse{
 14579  			Header:         res.Header,
 14580  			HTTPStatusCode: res.StatusCode,
 14581  		},
 14582  	}
 14583  	target := &ret
 14584  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14585  		return nil, err
 14586  	}
 14587  	return ret, nil
 14588  }
 14589  
 14590  type ProjectsRegionsOperationsGetCall struct {
 14591  	s            *Service
 14592  	name         string
 14593  	urlParams_   gensupport.URLParams
 14594  	ifNoneMatch_ string
 14595  	ctx_         context.Context
 14596  	header_      http.Header
 14597  }
 14598  
 14599  // Get: Gets the latest state of a long-running operation. Clients can use this
 14600  // method to poll the operation result at intervals as recommended by the API
 14601  // service.
 14602  //
 14603  // - name: The name of the operation resource.
 14604  func (r *ProjectsRegionsOperationsService) Get(name string) *ProjectsRegionsOperationsGetCall {
 14605  	c := &ProjectsRegionsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14606  	c.name = name
 14607  	return c
 14608  }
 14609  
 14610  // Fields allows partial responses to be retrieved. See
 14611  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14612  // details.
 14613  func (c *ProjectsRegionsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsGetCall {
 14614  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14615  	return c
 14616  }
 14617  
 14618  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14619  // object's ETag matches the given value. This is useful for getting updates
 14620  // only after the object has changed since the last request.
 14621  func (c *ProjectsRegionsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsOperationsGetCall {
 14622  	c.ifNoneMatch_ = entityTag
 14623  	return c
 14624  }
 14625  
 14626  // Context sets the context to be used in this call's Do method.
 14627  func (c *ProjectsRegionsOperationsGetCall) Context(ctx context.Context) *ProjectsRegionsOperationsGetCall {
 14628  	c.ctx_ = ctx
 14629  	return c
 14630  }
 14631  
 14632  // Header returns a http.Header that can be modified by the caller to add
 14633  // headers to the request.
 14634  func (c *ProjectsRegionsOperationsGetCall) Header() http.Header {
 14635  	if c.header_ == nil {
 14636  		c.header_ = make(http.Header)
 14637  	}
 14638  	return c.header_
 14639  }
 14640  
 14641  func (c *ProjectsRegionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 14642  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14643  	if c.ifNoneMatch_ != "" {
 14644  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14645  	}
 14646  	var body io.Reader = nil
 14647  	c.urlParams_.Set("alt", alt)
 14648  	c.urlParams_.Set("prettyPrint", "false")
 14649  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 14650  	urls += "?" + c.urlParams_.Encode()
 14651  	req, err := http.NewRequest("GET", urls, body)
 14652  	if err != nil {
 14653  		return nil, err
 14654  	}
 14655  	req.Header = reqHeaders
 14656  	googleapi.Expand(req.URL, map[string]string{
 14657  		"name": c.name,
 14658  	})
 14659  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14660  }
 14661  
 14662  // Do executes the "dataproc.projects.regions.operations.get" call.
 14663  // Any non-2xx status code is an error. Response headers are in either
 14664  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 14665  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14666  // whether the returned error was because http.StatusNotModified was returned.
 14667  func (c *ProjectsRegionsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 14668  	gensupport.SetOptions(c.urlParams_, opts...)
 14669  	res, err := c.doRequest("json")
 14670  	if res != nil && res.StatusCode == http.StatusNotModified {
 14671  		if res.Body != nil {
 14672  			res.Body.Close()
 14673  		}
 14674  		return nil, gensupport.WrapError(&googleapi.Error{
 14675  			Code:   res.StatusCode,
 14676  			Header: res.Header,
 14677  		})
 14678  	}
 14679  	if err != nil {
 14680  		return nil, err
 14681  	}
 14682  	defer googleapi.CloseBody(res)
 14683  	if err := googleapi.CheckResponse(res); err != nil {
 14684  		return nil, gensupport.WrapError(err)
 14685  	}
 14686  	ret := &Operation{
 14687  		ServerResponse: googleapi.ServerResponse{
 14688  			Header:         res.Header,
 14689  			HTTPStatusCode: res.StatusCode,
 14690  		},
 14691  	}
 14692  	target := &ret
 14693  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14694  		return nil, err
 14695  	}
 14696  	return ret, nil
 14697  }
 14698  
 14699  type ProjectsRegionsOperationsGetIamPolicyCall struct {
 14700  	s                   *Service
 14701  	resource            string
 14702  	getiampolicyrequest *GetIamPolicyRequest
 14703  	urlParams_          gensupport.URLParams
 14704  	ctx_                context.Context
 14705  	header_             http.Header
 14706  }
 14707  
 14708  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 14709  // empty policy if the resource exists and does not have a policy set.
 14710  //
 14711  //   - resource: REQUIRED: The resource for which the policy is being requested.
 14712  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 14713  //     for the appropriate value for this field.
 14714  func (r *ProjectsRegionsOperationsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsRegionsOperationsGetIamPolicyCall {
 14715  	c := &ProjectsRegionsOperationsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14716  	c.resource = resource
 14717  	c.getiampolicyrequest = getiampolicyrequest
 14718  	return c
 14719  }
 14720  
 14721  // Fields allows partial responses to be retrieved. See
 14722  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14723  // details.
 14724  func (c *ProjectsRegionsOperationsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsGetIamPolicyCall {
 14725  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14726  	return c
 14727  }
 14728  
 14729  // Context sets the context to be used in this call's Do method.
 14730  func (c *ProjectsRegionsOperationsGetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsOperationsGetIamPolicyCall {
 14731  	c.ctx_ = ctx
 14732  	return c
 14733  }
 14734  
 14735  // Header returns a http.Header that can be modified by the caller to add
 14736  // headers to the request.
 14737  func (c *ProjectsRegionsOperationsGetIamPolicyCall) Header() http.Header {
 14738  	if c.header_ == nil {
 14739  		c.header_ = make(http.Header)
 14740  	}
 14741  	return c.header_
 14742  }
 14743  
 14744  func (c *ProjectsRegionsOperationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 14745  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14746  	var body io.Reader = nil
 14747  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
 14748  	if err != nil {
 14749  		return nil, err
 14750  	}
 14751  	c.urlParams_.Set("alt", alt)
 14752  	c.urlParams_.Set("prettyPrint", "false")
 14753  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 14754  	urls += "?" + c.urlParams_.Encode()
 14755  	req, err := http.NewRequest("POST", urls, body)
 14756  	if err != nil {
 14757  		return nil, err
 14758  	}
 14759  	req.Header = reqHeaders
 14760  	googleapi.Expand(req.URL, map[string]string{
 14761  		"resource": c.resource,
 14762  	})
 14763  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14764  }
 14765  
 14766  // Do executes the "dataproc.projects.regions.operations.getIamPolicy" call.
 14767  // Any non-2xx status code is an error. Response headers are in either
 14768  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 14769  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14770  // whether the returned error was because http.StatusNotModified was returned.
 14771  func (c *ProjectsRegionsOperationsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 14772  	gensupport.SetOptions(c.urlParams_, opts...)
 14773  	res, err := c.doRequest("json")
 14774  	if res != nil && res.StatusCode == http.StatusNotModified {
 14775  		if res.Body != nil {
 14776  			res.Body.Close()
 14777  		}
 14778  		return nil, gensupport.WrapError(&googleapi.Error{
 14779  			Code:   res.StatusCode,
 14780  			Header: res.Header,
 14781  		})
 14782  	}
 14783  	if err != nil {
 14784  		return nil, err
 14785  	}
 14786  	defer googleapi.CloseBody(res)
 14787  	if err := googleapi.CheckResponse(res); err != nil {
 14788  		return nil, gensupport.WrapError(err)
 14789  	}
 14790  	ret := &Policy{
 14791  		ServerResponse: googleapi.ServerResponse{
 14792  			Header:         res.Header,
 14793  			HTTPStatusCode: res.StatusCode,
 14794  		},
 14795  	}
 14796  	target := &ret
 14797  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14798  		return nil, err
 14799  	}
 14800  	return ret, nil
 14801  }
 14802  
 14803  type ProjectsRegionsOperationsListCall struct {
 14804  	s            *Service
 14805  	name         string
 14806  	urlParams_   gensupport.URLParams
 14807  	ifNoneMatch_ string
 14808  	ctx_         context.Context
 14809  	header_      http.Header
 14810  }
 14811  
 14812  // List: Lists operations that match the specified filter in the request. If
 14813  // the server doesn't support this method, it returns UNIMPLEMENTED.
 14814  //
 14815  // - name: The name of the operation's parent resource.
 14816  func (r *ProjectsRegionsOperationsService) List(name string) *ProjectsRegionsOperationsListCall {
 14817  	c := &ProjectsRegionsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14818  	c.name = name
 14819  	return c
 14820  }
 14821  
 14822  // Filter sets the optional parameter "filter": The standard list filter.
 14823  func (c *ProjectsRegionsOperationsListCall) Filter(filter string) *ProjectsRegionsOperationsListCall {
 14824  	c.urlParams_.Set("filter", filter)
 14825  	return c
 14826  }
 14827  
 14828  // PageSize sets the optional parameter "pageSize": The standard list page
 14829  // size.
 14830  func (c *ProjectsRegionsOperationsListCall) PageSize(pageSize int64) *ProjectsRegionsOperationsListCall {
 14831  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 14832  	return c
 14833  }
 14834  
 14835  // PageToken sets the optional parameter "pageToken": The standard list page
 14836  // token.
 14837  func (c *ProjectsRegionsOperationsListCall) PageToken(pageToken string) *ProjectsRegionsOperationsListCall {
 14838  	c.urlParams_.Set("pageToken", pageToken)
 14839  	return c
 14840  }
 14841  
 14842  // Fields allows partial responses to be retrieved. See
 14843  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14844  // details.
 14845  func (c *ProjectsRegionsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsListCall {
 14846  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14847  	return c
 14848  }
 14849  
 14850  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14851  // object's ETag matches the given value. This is useful for getting updates
 14852  // only after the object has changed since the last request.
 14853  func (c *ProjectsRegionsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsRegionsOperationsListCall {
 14854  	c.ifNoneMatch_ = entityTag
 14855  	return c
 14856  }
 14857  
 14858  // Context sets the context to be used in this call's Do method.
 14859  func (c *ProjectsRegionsOperationsListCall) Context(ctx context.Context) *ProjectsRegionsOperationsListCall {
 14860  	c.ctx_ = ctx
 14861  	return c
 14862  }
 14863  
 14864  // Header returns a http.Header that can be modified by the caller to add
 14865  // headers to the request.
 14866  func (c *ProjectsRegionsOperationsListCall) Header() http.Header {
 14867  	if c.header_ == nil {
 14868  		c.header_ = make(http.Header)
 14869  	}
 14870  	return c.header_
 14871  }
 14872  
 14873  func (c *ProjectsRegionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 14874  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14875  	if c.ifNoneMatch_ != "" {
 14876  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14877  	}
 14878  	var body io.Reader = nil
 14879  	c.urlParams_.Set("alt", alt)
 14880  	c.urlParams_.Set("prettyPrint", "false")
 14881  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 14882  	urls += "?" + c.urlParams_.Encode()
 14883  	req, err := http.NewRequest("GET", urls, body)
 14884  	if err != nil {
 14885  		return nil, err
 14886  	}
 14887  	req.Header = reqHeaders
 14888  	googleapi.Expand(req.URL, map[string]string{
 14889  		"name": c.name,
 14890  	})
 14891  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14892  }
 14893  
 14894  // Do executes the "dataproc.projects.regions.operations.list" call.
 14895  // Any non-2xx status code is an error. Response headers are in either
 14896  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
 14897  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 14898  // check whether the returned error was because http.StatusNotModified was
 14899  // returned.
 14900  func (c *ProjectsRegionsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
 14901  	gensupport.SetOptions(c.urlParams_, opts...)
 14902  	res, err := c.doRequest("json")
 14903  	if res != nil && res.StatusCode == http.StatusNotModified {
 14904  		if res.Body != nil {
 14905  			res.Body.Close()
 14906  		}
 14907  		return nil, gensupport.WrapError(&googleapi.Error{
 14908  			Code:   res.StatusCode,
 14909  			Header: res.Header,
 14910  		})
 14911  	}
 14912  	if err != nil {
 14913  		return nil, err
 14914  	}
 14915  	defer googleapi.CloseBody(res)
 14916  	if err := googleapi.CheckResponse(res); err != nil {
 14917  		return nil, gensupport.WrapError(err)
 14918  	}
 14919  	ret := &ListOperationsResponse{
 14920  		ServerResponse: googleapi.ServerResponse{
 14921  			Header:         res.Header,
 14922  			HTTPStatusCode: res.StatusCode,
 14923  		},
 14924  	}
 14925  	target := &ret
 14926  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14927  		return nil, err
 14928  	}
 14929  	return ret, nil
 14930  }
 14931  
 14932  // Pages invokes f for each page of results.
 14933  // A non-nil error returned from f will halt the iteration.
 14934  // The provided context supersedes any context provided to the Context method.
 14935  func (c *ProjectsRegionsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
 14936  	c.ctx_ = ctx
 14937  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 14938  	for {
 14939  		x, err := c.Do()
 14940  		if err != nil {
 14941  			return err
 14942  		}
 14943  		if err := f(x); err != nil {
 14944  			return err
 14945  		}
 14946  		if x.NextPageToken == "" {
 14947  			return nil
 14948  		}
 14949  		c.PageToken(x.NextPageToken)
 14950  	}
 14951  }
 14952  
 14953  type ProjectsRegionsOperationsSetIamPolicyCall struct {
 14954  	s                   *Service
 14955  	resource            string
 14956  	setiampolicyrequest *SetIamPolicyRequest
 14957  	urlParams_          gensupport.URLParams
 14958  	ctx_                context.Context
 14959  	header_             http.Header
 14960  }
 14961  
 14962  // SetIamPolicy: Sets the access control policy on the specified resource.
 14963  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
 14964  // PERMISSION_DENIED errors.
 14965  //
 14966  //   - resource: REQUIRED: The resource for which the policy is being specified.
 14967  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 14968  //     for the appropriate value for this field.
 14969  func (r *ProjectsRegionsOperationsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsRegionsOperationsSetIamPolicyCall {
 14970  	c := &ProjectsRegionsOperationsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14971  	c.resource = resource
 14972  	c.setiampolicyrequest = setiampolicyrequest
 14973  	return c
 14974  }
 14975  
 14976  // Fields allows partial responses to be retrieved. See
 14977  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14978  // details.
 14979  func (c *ProjectsRegionsOperationsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsSetIamPolicyCall {
 14980  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14981  	return c
 14982  }
 14983  
 14984  // Context sets the context to be used in this call's Do method.
 14985  func (c *ProjectsRegionsOperationsSetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsOperationsSetIamPolicyCall {
 14986  	c.ctx_ = ctx
 14987  	return c
 14988  }
 14989  
 14990  // Header returns a http.Header that can be modified by the caller to add
 14991  // headers to the request.
 14992  func (c *ProjectsRegionsOperationsSetIamPolicyCall) Header() http.Header {
 14993  	if c.header_ == nil {
 14994  		c.header_ = make(http.Header)
 14995  	}
 14996  	return c.header_
 14997  }
 14998  
 14999  func (c *ProjectsRegionsOperationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 15000  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15001  	var body io.Reader = nil
 15002  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 15003  	if err != nil {
 15004  		return nil, err
 15005  	}
 15006  	c.urlParams_.Set("alt", alt)
 15007  	c.urlParams_.Set("prettyPrint", "false")
 15008  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 15009  	urls += "?" + c.urlParams_.Encode()
 15010  	req, err := http.NewRequest("POST", urls, body)
 15011  	if err != nil {
 15012  		return nil, err
 15013  	}
 15014  	req.Header = reqHeaders
 15015  	googleapi.Expand(req.URL, map[string]string{
 15016  		"resource": c.resource,
 15017  	})
 15018  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15019  }
 15020  
 15021  // Do executes the "dataproc.projects.regions.operations.setIamPolicy" call.
 15022  // Any non-2xx status code is an error. Response headers are in either
 15023  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 15024  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15025  // whether the returned error was because http.StatusNotModified was returned.
 15026  func (c *ProjectsRegionsOperationsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 15027  	gensupport.SetOptions(c.urlParams_, opts...)
 15028  	res, err := c.doRequest("json")
 15029  	if res != nil && res.StatusCode == http.StatusNotModified {
 15030  		if res.Body != nil {
 15031  			res.Body.Close()
 15032  		}
 15033  		return nil, gensupport.WrapError(&googleapi.Error{
 15034  			Code:   res.StatusCode,
 15035  			Header: res.Header,
 15036  		})
 15037  	}
 15038  	if err != nil {
 15039  		return nil, err
 15040  	}
 15041  	defer googleapi.CloseBody(res)
 15042  	if err := googleapi.CheckResponse(res); err != nil {
 15043  		return nil, gensupport.WrapError(err)
 15044  	}
 15045  	ret := &Policy{
 15046  		ServerResponse: googleapi.ServerResponse{
 15047  			Header:         res.Header,
 15048  			HTTPStatusCode: res.StatusCode,
 15049  		},
 15050  	}
 15051  	target := &ret
 15052  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15053  		return nil, err
 15054  	}
 15055  	return ret, nil
 15056  }
 15057  
 15058  type ProjectsRegionsOperationsTestIamPermissionsCall struct {
 15059  	s                         *Service
 15060  	resource                  string
 15061  	testiampermissionsrequest *TestIamPermissionsRequest
 15062  	urlParams_                gensupport.URLParams
 15063  	ctx_                      context.Context
 15064  	header_                   http.Header
 15065  }
 15066  
 15067  // TestIamPermissions: Returns permissions that a caller has on the specified
 15068  // resource. If the resource does not exist, this will return an empty set of
 15069  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
 15070  // used for building permission-aware UIs and command-line tools, not for
 15071  // authorization checking. This operation may "fail open" without warning.
 15072  //
 15073  //   - resource: REQUIRED: The resource for which the policy detail is being
 15074  //     requested. See Resource names
 15075  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 15076  //     value for this field.
 15077  func (r *ProjectsRegionsOperationsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsRegionsOperationsTestIamPermissionsCall {
 15078  	c := &ProjectsRegionsOperationsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15079  	c.resource = resource
 15080  	c.testiampermissionsrequest = testiampermissionsrequest
 15081  	return c
 15082  }
 15083  
 15084  // Fields allows partial responses to be retrieved. See
 15085  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15086  // details.
 15087  func (c *ProjectsRegionsOperationsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsTestIamPermissionsCall {
 15088  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15089  	return c
 15090  }
 15091  
 15092  // Context sets the context to be used in this call's Do method.
 15093  func (c *ProjectsRegionsOperationsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsRegionsOperationsTestIamPermissionsCall {
 15094  	c.ctx_ = ctx
 15095  	return c
 15096  }
 15097  
 15098  // Header returns a http.Header that can be modified by the caller to add
 15099  // headers to the request.
 15100  func (c *ProjectsRegionsOperationsTestIamPermissionsCall) Header() http.Header {
 15101  	if c.header_ == nil {
 15102  		c.header_ = make(http.Header)
 15103  	}
 15104  	return c.header_
 15105  }
 15106  
 15107  func (c *ProjectsRegionsOperationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 15108  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15109  	var body io.Reader = nil
 15110  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 15111  	if err != nil {
 15112  		return nil, err
 15113  	}
 15114  	c.urlParams_.Set("alt", alt)
 15115  	c.urlParams_.Set("prettyPrint", "false")
 15116  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 15117  	urls += "?" + c.urlParams_.Encode()
 15118  	req, err := http.NewRequest("POST", urls, body)
 15119  	if err != nil {
 15120  		return nil, err
 15121  	}
 15122  	req.Header = reqHeaders
 15123  	googleapi.Expand(req.URL, map[string]string{
 15124  		"resource": c.resource,
 15125  	})
 15126  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15127  }
 15128  
 15129  // Do executes the "dataproc.projects.regions.operations.testIamPermissions" call.
 15130  // Any non-2xx status code is an error. Response headers are in either
 15131  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 15132  // returned at all) in error.(*googleapi.Error).Header. Use
 15133  // googleapi.IsNotModified to check whether the returned error was because
 15134  // http.StatusNotModified was returned.
 15135  func (c *ProjectsRegionsOperationsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 15136  	gensupport.SetOptions(c.urlParams_, opts...)
 15137  	res, err := c.doRequest("json")
 15138  	if res != nil && res.StatusCode == http.StatusNotModified {
 15139  		if res.Body != nil {
 15140  			res.Body.Close()
 15141  		}
 15142  		return nil, gensupport.WrapError(&googleapi.Error{
 15143  			Code:   res.StatusCode,
 15144  			Header: res.Header,
 15145  		})
 15146  	}
 15147  	if err != nil {
 15148  		return nil, err
 15149  	}
 15150  	defer googleapi.CloseBody(res)
 15151  	if err := googleapi.CheckResponse(res); err != nil {
 15152  		return nil, gensupport.WrapError(err)
 15153  	}
 15154  	ret := &TestIamPermissionsResponse{
 15155  		ServerResponse: googleapi.ServerResponse{
 15156  			Header:         res.Header,
 15157  			HTTPStatusCode: res.StatusCode,
 15158  		},
 15159  	}
 15160  	target := &ret
 15161  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15162  		return nil, err
 15163  	}
 15164  	return ret, nil
 15165  }
 15166  
 15167  type ProjectsRegionsWorkflowTemplatesCreateCall struct {
 15168  	s                *Service
 15169  	parent           string
 15170  	workflowtemplate *WorkflowTemplate
 15171  	urlParams_       gensupport.URLParams
 15172  	ctx_             context.Context
 15173  	header_          http.Header
 15174  }
 15175  
 15176  // Create: Creates new workflow template.
 15177  //
 15178  //   - parent: The resource name of the region or location, as described in
 15179  //     https://cloud.google.com/apis/design/resource_names. For
 15180  //     projects.regions.workflowTemplates.create, the resource name of the region
 15181  //     has the following format: projects/{project_id}/regions/{region} For
 15182  //     projects.locations.workflowTemplates.create, the resource name of the
 15183  //     location has the following format:
 15184  //     projects/{project_id}/locations/{location}.
 15185  func (r *ProjectsRegionsWorkflowTemplatesService) Create(parent string, workflowtemplate *WorkflowTemplate) *ProjectsRegionsWorkflowTemplatesCreateCall {
 15186  	c := &ProjectsRegionsWorkflowTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15187  	c.parent = parent
 15188  	c.workflowtemplate = workflowtemplate
 15189  	return c
 15190  }
 15191  
 15192  // Fields allows partial responses to be retrieved. See
 15193  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15194  // details.
 15195  func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesCreateCall {
 15196  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15197  	return c
 15198  }
 15199  
 15200  // Context sets the context to be used in this call's Do method.
 15201  func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesCreateCall {
 15202  	c.ctx_ = ctx
 15203  	return c
 15204  }
 15205  
 15206  // Header returns a http.Header that can be modified by the caller to add
 15207  // headers to the request.
 15208  func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Header() http.Header {
 15209  	if c.header_ == nil {
 15210  		c.header_ = make(http.Header)
 15211  	}
 15212  	return c.header_
 15213  }
 15214  
 15215  func (c *ProjectsRegionsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 15216  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15217  	var body io.Reader = nil
 15218  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
 15219  	if err != nil {
 15220  		return nil, err
 15221  	}
 15222  	c.urlParams_.Set("alt", alt)
 15223  	c.urlParams_.Set("prettyPrint", "false")
 15224  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workflowTemplates")
 15225  	urls += "?" + c.urlParams_.Encode()
 15226  	req, err := http.NewRequest("POST", urls, body)
 15227  	if err != nil {
 15228  		return nil, err
 15229  	}
 15230  	req.Header = reqHeaders
 15231  	googleapi.Expand(req.URL, map[string]string{
 15232  		"parent": c.parent,
 15233  	})
 15234  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15235  }
 15236  
 15237  // Do executes the "dataproc.projects.regions.workflowTemplates.create" call.
 15238  // Any non-2xx status code is an error. Response headers are in either
 15239  // *WorkflowTemplate.ServerResponse.Header or (if a response was returned at
 15240  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15241  // check whether the returned error was because http.StatusNotModified was
 15242  // returned.
 15243  func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
 15244  	gensupport.SetOptions(c.urlParams_, opts...)
 15245  	res, err := c.doRequest("json")
 15246  	if res != nil && res.StatusCode == http.StatusNotModified {
 15247  		if res.Body != nil {
 15248  			res.Body.Close()
 15249  		}
 15250  		return nil, gensupport.WrapError(&googleapi.Error{
 15251  			Code:   res.StatusCode,
 15252  			Header: res.Header,
 15253  		})
 15254  	}
 15255  	if err != nil {
 15256  		return nil, err
 15257  	}
 15258  	defer googleapi.CloseBody(res)
 15259  	if err := googleapi.CheckResponse(res); err != nil {
 15260  		return nil, gensupport.WrapError(err)
 15261  	}
 15262  	ret := &WorkflowTemplate{
 15263  		ServerResponse: googleapi.ServerResponse{
 15264  			Header:         res.Header,
 15265  			HTTPStatusCode: res.StatusCode,
 15266  		},
 15267  	}
 15268  	target := &ret
 15269  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15270  		return nil, err
 15271  	}
 15272  	return ret, nil
 15273  }
 15274  
 15275  type ProjectsRegionsWorkflowTemplatesDeleteCall struct {
 15276  	s          *Service
 15277  	name       string
 15278  	urlParams_ gensupport.URLParams
 15279  	ctx_       context.Context
 15280  	header_    http.Header
 15281  }
 15282  
 15283  // Delete: Deletes a workflow template. It does not cancel in-progress
 15284  // workflows.
 15285  //
 15286  //   - name: The resource name of the workflow template, as described in
 15287  //     https://cloud.google.com/apis/design/resource_names. For
 15288  //     projects.regions.workflowTemplates.delete, the resource name of the
 15289  //     template has the following format:
 15290  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
 15291  //     projects.locations.workflowTemplates.instantiate, the resource name of the
 15292  //     template has the following format:
 15293  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
 15294  func (r *ProjectsRegionsWorkflowTemplatesService) Delete(name string) *ProjectsRegionsWorkflowTemplatesDeleteCall {
 15295  	c := &ProjectsRegionsWorkflowTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15296  	c.name = name
 15297  	return c
 15298  }
 15299  
 15300  // Version sets the optional parameter "version": The version of workflow
 15301  // template to delete. If specified, will only delete the template if the
 15302  // current server version matches specified version.
 15303  func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Version(version int64) *ProjectsRegionsWorkflowTemplatesDeleteCall {
 15304  	c.urlParams_.Set("version", fmt.Sprint(version))
 15305  	return c
 15306  }
 15307  
 15308  // Fields allows partial responses to be retrieved. See
 15309  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15310  // details.
 15311  func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesDeleteCall {
 15312  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15313  	return c
 15314  }
 15315  
 15316  // Context sets the context to be used in this call's Do method.
 15317  func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesDeleteCall {
 15318  	c.ctx_ = ctx
 15319  	return c
 15320  }
 15321  
 15322  // Header returns a http.Header that can be modified by the caller to add
 15323  // headers to the request.
 15324  func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Header() http.Header {
 15325  	if c.header_ == nil {
 15326  		c.header_ = make(http.Header)
 15327  	}
 15328  	return c.header_
 15329  }
 15330  
 15331  func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 15332  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15333  	var body io.Reader = nil
 15334  	c.urlParams_.Set("alt", alt)
 15335  	c.urlParams_.Set("prettyPrint", "false")
 15336  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 15337  	urls += "?" + c.urlParams_.Encode()
 15338  	req, err := http.NewRequest("DELETE", urls, body)
 15339  	if err != nil {
 15340  		return nil, err
 15341  	}
 15342  	req.Header = reqHeaders
 15343  	googleapi.Expand(req.URL, map[string]string{
 15344  		"name": c.name,
 15345  	})
 15346  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15347  }
 15348  
 15349  // Do executes the "dataproc.projects.regions.workflowTemplates.delete" call.
 15350  // Any non-2xx status code is an error. Response headers are in either
 15351  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 15352  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15353  // whether the returned error was because http.StatusNotModified was returned.
 15354  func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 15355  	gensupport.SetOptions(c.urlParams_, opts...)
 15356  	res, err := c.doRequest("json")
 15357  	if res != nil && res.StatusCode == http.StatusNotModified {
 15358  		if res.Body != nil {
 15359  			res.Body.Close()
 15360  		}
 15361  		return nil, gensupport.WrapError(&googleapi.Error{
 15362  			Code:   res.StatusCode,
 15363  			Header: res.Header,
 15364  		})
 15365  	}
 15366  	if err != nil {
 15367  		return nil, err
 15368  	}
 15369  	defer googleapi.CloseBody(res)
 15370  	if err := googleapi.CheckResponse(res); err != nil {
 15371  		return nil, gensupport.WrapError(err)
 15372  	}
 15373  	ret := &Empty{
 15374  		ServerResponse: googleapi.ServerResponse{
 15375  			Header:         res.Header,
 15376  			HTTPStatusCode: res.StatusCode,
 15377  		},
 15378  	}
 15379  	target := &ret
 15380  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15381  		return nil, err
 15382  	}
 15383  	return ret, nil
 15384  }
 15385  
 15386  type ProjectsRegionsWorkflowTemplatesGetCall struct {
 15387  	s            *Service
 15388  	name         string
 15389  	urlParams_   gensupport.URLParams
 15390  	ifNoneMatch_ string
 15391  	ctx_         context.Context
 15392  	header_      http.Header
 15393  }
 15394  
 15395  // Get: Retrieves the latest workflow template.Can retrieve previously
 15396  // instantiated template by specifying optional version parameter.
 15397  //
 15398  //   - name: The resource name of the workflow template, as described in
 15399  //     https://cloud.google.com/apis/design/resource_names. For
 15400  //     projects.regions.workflowTemplates.get, the resource name of the template
 15401  //     has the following format:
 15402  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
 15403  //     projects.locations.workflowTemplates.get, the resource name of the
 15404  //     template has the following format:
 15405  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
 15406  func (r *ProjectsRegionsWorkflowTemplatesService) Get(name string) *ProjectsRegionsWorkflowTemplatesGetCall {
 15407  	c := &ProjectsRegionsWorkflowTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15408  	c.name = name
 15409  	return c
 15410  }
 15411  
 15412  // Version sets the optional parameter "version": The version of workflow
 15413  // template to retrieve. Only previously instantiated versions can be
 15414  // retrieved.If unspecified, retrieves the current version.
 15415  func (c *ProjectsRegionsWorkflowTemplatesGetCall) Version(version int64) *ProjectsRegionsWorkflowTemplatesGetCall {
 15416  	c.urlParams_.Set("version", fmt.Sprint(version))
 15417  	return c
 15418  }
 15419  
 15420  // Fields allows partial responses to be retrieved. See
 15421  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15422  // details.
 15423  func (c *ProjectsRegionsWorkflowTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesGetCall {
 15424  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15425  	return c
 15426  }
 15427  
 15428  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15429  // object's ETag matches the given value. This is useful for getting updates
 15430  // only after the object has changed since the last request.
 15431  func (c *ProjectsRegionsWorkflowTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsWorkflowTemplatesGetCall {
 15432  	c.ifNoneMatch_ = entityTag
 15433  	return c
 15434  }
 15435  
 15436  // Context sets the context to be used in this call's Do method.
 15437  func (c *ProjectsRegionsWorkflowTemplatesGetCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesGetCall {
 15438  	c.ctx_ = ctx
 15439  	return c
 15440  }
 15441  
 15442  // Header returns a http.Header that can be modified by the caller to add
 15443  // headers to the request.
 15444  func (c *ProjectsRegionsWorkflowTemplatesGetCall) Header() http.Header {
 15445  	if c.header_ == nil {
 15446  		c.header_ = make(http.Header)
 15447  	}
 15448  	return c.header_
 15449  }
 15450  
 15451  func (c *ProjectsRegionsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 15452  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15453  	if c.ifNoneMatch_ != "" {
 15454  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15455  	}
 15456  	var body io.Reader = nil
 15457  	c.urlParams_.Set("alt", alt)
 15458  	c.urlParams_.Set("prettyPrint", "false")
 15459  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 15460  	urls += "?" + c.urlParams_.Encode()
 15461  	req, err := http.NewRequest("GET", urls, body)
 15462  	if err != nil {
 15463  		return nil, err
 15464  	}
 15465  	req.Header = reqHeaders
 15466  	googleapi.Expand(req.URL, map[string]string{
 15467  		"name": c.name,
 15468  	})
 15469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15470  }
 15471  
 15472  // Do executes the "dataproc.projects.regions.workflowTemplates.get" call.
 15473  // Any non-2xx status code is an error. Response headers are in either
 15474  // *WorkflowTemplate.ServerResponse.Header or (if a response was returned at
 15475  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15476  // check whether the returned error was because http.StatusNotModified was
 15477  // returned.
 15478  func (c *ProjectsRegionsWorkflowTemplatesGetCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
 15479  	gensupport.SetOptions(c.urlParams_, opts...)
 15480  	res, err := c.doRequest("json")
 15481  	if res != nil && res.StatusCode == http.StatusNotModified {
 15482  		if res.Body != nil {
 15483  			res.Body.Close()
 15484  		}
 15485  		return nil, gensupport.WrapError(&googleapi.Error{
 15486  			Code:   res.StatusCode,
 15487  			Header: res.Header,
 15488  		})
 15489  	}
 15490  	if err != nil {
 15491  		return nil, err
 15492  	}
 15493  	defer googleapi.CloseBody(res)
 15494  	if err := googleapi.CheckResponse(res); err != nil {
 15495  		return nil, gensupport.WrapError(err)
 15496  	}
 15497  	ret := &WorkflowTemplate{
 15498  		ServerResponse: googleapi.ServerResponse{
 15499  			Header:         res.Header,
 15500  			HTTPStatusCode: res.StatusCode,
 15501  		},
 15502  	}
 15503  	target := &ret
 15504  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15505  		return nil, err
 15506  	}
 15507  	return ret, nil
 15508  }
 15509  
 15510  type ProjectsRegionsWorkflowTemplatesGetIamPolicyCall struct {
 15511  	s                   *Service
 15512  	resource            string
 15513  	getiampolicyrequest *GetIamPolicyRequest
 15514  	urlParams_          gensupport.URLParams
 15515  	ctx_                context.Context
 15516  	header_             http.Header
 15517  }
 15518  
 15519  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 15520  // empty policy if the resource exists and does not have a policy set.
 15521  //
 15522  //   - resource: REQUIRED: The resource for which the policy is being requested.
 15523  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 15524  //     for the appropriate value for this field.
 15525  func (r *ProjectsRegionsWorkflowTemplatesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall {
 15526  	c := &ProjectsRegionsWorkflowTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15527  	c.resource = resource
 15528  	c.getiampolicyrequest = getiampolicyrequest
 15529  	return c
 15530  }
 15531  
 15532  // Fields allows partial responses to be retrieved. See
 15533  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15534  // details.
 15535  func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall {
 15536  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15537  	return c
 15538  }
 15539  
 15540  // Context sets the context to be used in this call's Do method.
 15541  func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall {
 15542  	c.ctx_ = ctx
 15543  	return c
 15544  }
 15545  
 15546  // Header returns a http.Header that can be modified by the caller to add
 15547  // headers to the request.
 15548  func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) Header() http.Header {
 15549  	if c.header_ == nil {
 15550  		c.header_ = make(http.Header)
 15551  	}
 15552  	return c.header_
 15553  }
 15554  
 15555  func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 15556  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15557  	var body io.Reader = nil
 15558  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
 15559  	if err != nil {
 15560  		return nil, err
 15561  	}
 15562  	c.urlParams_.Set("alt", alt)
 15563  	c.urlParams_.Set("prettyPrint", "false")
 15564  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 15565  	urls += "?" + c.urlParams_.Encode()
 15566  	req, err := http.NewRequest("POST", urls, body)
 15567  	if err != nil {
 15568  		return nil, err
 15569  	}
 15570  	req.Header = reqHeaders
 15571  	googleapi.Expand(req.URL, map[string]string{
 15572  		"resource": c.resource,
 15573  	})
 15574  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15575  }
 15576  
 15577  // Do executes the "dataproc.projects.regions.workflowTemplates.getIamPolicy" call.
 15578  // Any non-2xx status code is an error. Response headers are in either
 15579  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 15580  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15581  // whether the returned error was because http.StatusNotModified was returned.
 15582  func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 15583  	gensupport.SetOptions(c.urlParams_, opts...)
 15584  	res, err := c.doRequest("json")
 15585  	if res != nil && res.StatusCode == http.StatusNotModified {
 15586  		if res.Body != nil {
 15587  			res.Body.Close()
 15588  		}
 15589  		return nil, gensupport.WrapError(&googleapi.Error{
 15590  			Code:   res.StatusCode,
 15591  			Header: res.Header,
 15592  		})
 15593  	}
 15594  	if err != nil {
 15595  		return nil, err
 15596  	}
 15597  	defer googleapi.CloseBody(res)
 15598  	if err := googleapi.CheckResponse(res); err != nil {
 15599  		return nil, gensupport.WrapError(err)
 15600  	}
 15601  	ret := &Policy{
 15602  		ServerResponse: googleapi.ServerResponse{
 15603  			Header:         res.Header,
 15604  			HTTPStatusCode: res.StatusCode,
 15605  		},
 15606  	}
 15607  	target := &ret
 15608  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15609  		return nil, err
 15610  	}
 15611  	return ret, nil
 15612  }
 15613  
 15614  type ProjectsRegionsWorkflowTemplatesInstantiateCall struct {
 15615  	s                                  *Service
 15616  	name                               string
 15617  	instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest
 15618  	urlParams_                         gensupport.URLParams
 15619  	ctx_                               context.Context
 15620  	header_                            http.Header
 15621  }
 15622  
 15623  // Instantiate: Instantiates a template and begins execution.The returned
 15624  // Operation can be used to track execution of workflow by polling
 15625  // operations.get. The Operation will complete when entire workflow is
 15626  // finished.The running workflow can be aborted via operations.cancel. This
 15627  // will cause any inflight jobs to be cancelled and workflow-owned clusters to
 15628  // be deleted.The Operation.metadata will be WorkflowMetadata
 15629  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
 15630  // Also see Using WorkflowMetadata
 15631  // (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On
 15632  // successful completion, Operation.response will be Empty.
 15633  //
 15634  //   - name: The resource name of the workflow template, as described in
 15635  //     https://cloud.google.com/apis/design/resource_names. For
 15636  //     projects.regions.workflowTemplates.instantiate, the resource name of the
 15637  //     template has the following format:
 15638  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
 15639  //     projects.locations.workflowTemplates.instantiate, the resource name of the
 15640  //     template has the following format:
 15641  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
 15642  func (r *ProjectsRegionsWorkflowTemplatesService) Instantiate(name string, instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest) *ProjectsRegionsWorkflowTemplatesInstantiateCall {
 15643  	c := &ProjectsRegionsWorkflowTemplatesInstantiateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15644  	c.name = name
 15645  	c.instantiateworkflowtemplaterequest = instantiateworkflowtemplaterequest
 15646  	return c
 15647  }
 15648  
 15649  // Fields allows partial responses to be retrieved. See
 15650  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15651  // details.
 15652  func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesInstantiateCall {
 15653  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15654  	return c
 15655  }
 15656  
 15657  // Context sets the context to be used in this call's Do method.
 15658  func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesInstantiateCall {
 15659  	c.ctx_ = ctx
 15660  	return c
 15661  }
 15662  
 15663  // Header returns a http.Header that can be modified by the caller to add
 15664  // headers to the request.
 15665  func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Header() http.Header {
 15666  	if c.header_ == nil {
 15667  		c.header_ = make(http.Header)
 15668  	}
 15669  	return c.header_
 15670  }
 15671  
 15672  func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) {
 15673  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15674  	var body io.Reader = nil
 15675  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instantiateworkflowtemplaterequest)
 15676  	if err != nil {
 15677  		return nil, err
 15678  	}
 15679  	c.urlParams_.Set("alt", alt)
 15680  	c.urlParams_.Set("prettyPrint", "false")
 15681  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:instantiate")
 15682  	urls += "?" + c.urlParams_.Encode()
 15683  	req, err := http.NewRequest("POST", urls, body)
 15684  	if err != nil {
 15685  		return nil, err
 15686  	}
 15687  	req.Header = reqHeaders
 15688  	googleapi.Expand(req.URL, map[string]string{
 15689  		"name": c.name,
 15690  	})
 15691  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15692  }
 15693  
 15694  // Do executes the "dataproc.projects.regions.workflowTemplates.instantiate" call.
 15695  // Any non-2xx status code is an error. Response headers are in either
 15696  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 15697  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15698  // whether the returned error was because http.StatusNotModified was returned.
 15699  func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 15700  	gensupport.SetOptions(c.urlParams_, opts...)
 15701  	res, err := c.doRequest("json")
 15702  	if res != nil && res.StatusCode == http.StatusNotModified {
 15703  		if res.Body != nil {
 15704  			res.Body.Close()
 15705  		}
 15706  		return nil, gensupport.WrapError(&googleapi.Error{
 15707  			Code:   res.StatusCode,
 15708  			Header: res.Header,
 15709  		})
 15710  	}
 15711  	if err != nil {
 15712  		return nil, err
 15713  	}
 15714  	defer googleapi.CloseBody(res)
 15715  	if err := googleapi.CheckResponse(res); err != nil {
 15716  		return nil, gensupport.WrapError(err)
 15717  	}
 15718  	ret := &Operation{
 15719  		ServerResponse: googleapi.ServerResponse{
 15720  			Header:         res.Header,
 15721  			HTTPStatusCode: res.StatusCode,
 15722  		},
 15723  	}
 15724  	target := &ret
 15725  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15726  		return nil, err
 15727  	}
 15728  	return ret, nil
 15729  }
 15730  
 15731  type ProjectsRegionsWorkflowTemplatesInstantiateInlineCall struct {
 15732  	s                *Service
 15733  	parent           string
 15734  	workflowtemplate *WorkflowTemplate
 15735  	urlParams_       gensupport.URLParams
 15736  	ctx_             context.Context
 15737  	header_          http.Header
 15738  }
 15739  
 15740  // InstantiateInline: Instantiates a template and begins execution.This method
 15741  // is equivalent to executing the sequence CreateWorkflowTemplate,
 15742  // InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned Operation
 15743  // can be used to track execution of workflow by polling operations.get. The
 15744  // Operation will complete when entire workflow is finished.The running
 15745  // workflow can be aborted via operations.cancel. This will cause any inflight
 15746  // jobs to be cancelled and workflow-owned clusters to be deleted.The
 15747  // Operation.metadata will be WorkflowMetadata
 15748  // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
 15749  // Also see Using WorkflowMetadata
 15750  // (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On
 15751  // successful completion, Operation.response will be Empty.
 15752  //
 15753  //   - parent: The resource name of the region or location, as described in
 15754  //     https://cloud.google.com/apis/design/resource_names. For
 15755  //     projects.regions.workflowTemplates,instantiateinline, the resource name of
 15756  //     the region has the following format:
 15757  //     projects/{project_id}/regions/{region} For
 15758  //     projects.locations.workflowTemplates.instantiateinline, the resource name
 15759  //     of the location has the following format:
 15760  //     projects/{project_id}/locations/{location}.
 15761  func (r *ProjectsRegionsWorkflowTemplatesService) InstantiateInline(parent string, workflowtemplate *WorkflowTemplate) *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall {
 15762  	c := &ProjectsRegionsWorkflowTemplatesInstantiateInlineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15763  	c.parent = parent
 15764  	c.workflowtemplate = workflowtemplate
 15765  	return c
 15766  }
 15767  
 15768  // RequestId sets the optional parameter "requestId": A tag that prevents
 15769  // multiple concurrent workflow instances with the same tag from running. This
 15770  // mitigates risk of concurrent instances started due to retries.It is
 15771  // recommended to always set this value to a UUID
 15772  // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must
 15773  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens
 15774  // (-). The maximum length is 40 characters.
 15775  func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) RequestId(requestId string) *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall {
 15776  	c.urlParams_.Set("requestId", requestId)
 15777  	return c
 15778  }
 15779  
 15780  // Fields allows partial responses to be retrieved. See
 15781  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15782  // details.
 15783  func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall {
 15784  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15785  	return c
 15786  }
 15787  
 15788  // Context sets the context to be used in this call's Do method.
 15789  func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall {
 15790  	c.ctx_ = ctx
 15791  	return c
 15792  }
 15793  
 15794  // Header returns a http.Header that can be modified by the caller to add
 15795  // headers to the request.
 15796  func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) Header() http.Header {
 15797  	if c.header_ == nil {
 15798  		c.header_ = make(http.Header)
 15799  	}
 15800  	return c.header_
 15801  }
 15802  
 15803  func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) doRequest(alt string) (*http.Response, error) {
 15804  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15805  	var body io.Reader = nil
 15806  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
 15807  	if err != nil {
 15808  		return nil, err
 15809  	}
 15810  	c.urlParams_.Set("alt", alt)
 15811  	c.urlParams_.Set("prettyPrint", "false")
 15812  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workflowTemplates:instantiateInline")
 15813  	urls += "?" + c.urlParams_.Encode()
 15814  	req, err := http.NewRequest("POST", urls, body)
 15815  	if err != nil {
 15816  		return nil, err
 15817  	}
 15818  	req.Header = reqHeaders
 15819  	googleapi.Expand(req.URL, map[string]string{
 15820  		"parent": c.parent,
 15821  	})
 15822  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15823  }
 15824  
 15825  // Do executes the "dataproc.projects.regions.workflowTemplates.instantiateInline" call.
 15826  // Any non-2xx status code is an error. Response headers are in either
 15827  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 15828  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15829  // whether the returned error was because http.StatusNotModified was returned.
 15830  func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 15831  	gensupport.SetOptions(c.urlParams_, opts...)
 15832  	res, err := c.doRequest("json")
 15833  	if res != nil && res.StatusCode == http.StatusNotModified {
 15834  		if res.Body != nil {
 15835  			res.Body.Close()
 15836  		}
 15837  		return nil, gensupport.WrapError(&googleapi.Error{
 15838  			Code:   res.StatusCode,
 15839  			Header: res.Header,
 15840  		})
 15841  	}
 15842  	if err != nil {
 15843  		return nil, err
 15844  	}
 15845  	defer googleapi.CloseBody(res)
 15846  	if err := googleapi.CheckResponse(res); err != nil {
 15847  		return nil, gensupport.WrapError(err)
 15848  	}
 15849  	ret := &Operation{
 15850  		ServerResponse: googleapi.ServerResponse{
 15851  			Header:         res.Header,
 15852  			HTTPStatusCode: res.StatusCode,
 15853  		},
 15854  	}
 15855  	target := &ret
 15856  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15857  		return nil, err
 15858  	}
 15859  	return ret, nil
 15860  }
 15861  
 15862  type ProjectsRegionsWorkflowTemplatesListCall struct {
 15863  	s            *Service
 15864  	parent       string
 15865  	urlParams_   gensupport.URLParams
 15866  	ifNoneMatch_ string
 15867  	ctx_         context.Context
 15868  	header_      http.Header
 15869  }
 15870  
 15871  // List: Lists workflows that match the specified filter in the request.
 15872  //
 15873  //   - parent: The resource name of the region or location, as described in
 15874  //     https://cloud.google.com/apis/design/resource_names. For
 15875  //     projects.regions.workflowTemplates,list, the resource name of the region
 15876  //     has the following format: projects/{project_id}/regions/{region} For
 15877  //     projects.locations.workflowTemplates.list, the resource name of the
 15878  //     location has the following format:
 15879  //     projects/{project_id}/locations/{location}.
 15880  func (r *ProjectsRegionsWorkflowTemplatesService) List(parent string) *ProjectsRegionsWorkflowTemplatesListCall {
 15881  	c := &ProjectsRegionsWorkflowTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15882  	c.parent = parent
 15883  	return c
 15884  }
 15885  
 15886  // PageSize sets the optional parameter "pageSize": The maximum number of
 15887  // results to return in each response.
 15888  func (c *ProjectsRegionsWorkflowTemplatesListCall) PageSize(pageSize int64) *ProjectsRegionsWorkflowTemplatesListCall {
 15889  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 15890  	return c
 15891  }
 15892  
 15893  // PageToken sets the optional parameter "pageToken": The page token, returned
 15894  // by a previous call, to request the next page of results.
 15895  func (c *ProjectsRegionsWorkflowTemplatesListCall) PageToken(pageToken string) *ProjectsRegionsWorkflowTemplatesListCall {
 15896  	c.urlParams_.Set("pageToken", pageToken)
 15897  	return c
 15898  }
 15899  
 15900  // Fields allows partial responses to be retrieved. See
 15901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15902  // details.
 15903  func (c *ProjectsRegionsWorkflowTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesListCall {
 15904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15905  	return c
 15906  }
 15907  
 15908  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15909  // object's ETag matches the given value. This is useful for getting updates
 15910  // only after the object has changed since the last request.
 15911  func (c *ProjectsRegionsWorkflowTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsRegionsWorkflowTemplatesListCall {
 15912  	c.ifNoneMatch_ = entityTag
 15913  	return c
 15914  }
 15915  
 15916  // Context sets the context to be used in this call's Do method.
 15917  func (c *ProjectsRegionsWorkflowTemplatesListCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesListCall {
 15918  	c.ctx_ = ctx
 15919  	return c
 15920  }
 15921  
 15922  // Header returns a http.Header that can be modified by the caller to add
 15923  // headers to the request.
 15924  func (c *ProjectsRegionsWorkflowTemplatesListCall) Header() http.Header {
 15925  	if c.header_ == nil {
 15926  		c.header_ = make(http.Header)
 15927  	}
 15928  	return c.header_
 15929  }
 15930  
 15931  func (c *ProjectsRegionsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 15932  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15933  	if c.ifNoneMatch_ != "" {
 15934  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15935  	}
 15936  	var body io.Reader = nil
 15937  	c.urlParams_.Set("alt", alt)
 15938  	c.urlParams_.Set("prettyPrint", "false")
 15939  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workflowTemplates")
 15940  	urls += "?" + c.urlParams_.Encode()
 15941  	req, err := http.NewRequest("GET", urls, body)
 15942  	if err != nil {
 15943  		return nil, err
 15944  	}
 15945  	req.Header = reqHeaders
 15946  	googleapi.Expand(req.URL, map[string]string{
 15947  		"parent": c.parent,
 15948  	})
 15949  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15950  }
 15951  
 15952  // Do executes the "dataproc.projects.regions.workflowTemplates.list" call.
 15953  // Any non-2xx status code is an error. Response headers are in either
 15954  // *ListWorkflowTemplatesResponse.ServerResponse.Header or (if a response was
 15955  // returned at all) in error.(*googleapi.Error).Header. Use
 15956  // googleapi.IsNotModified to check whether the returned error was because
 15957  // http.StatusNotModified was returned.
 15958  func (c *ProjectsRegionsWorkflowTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListWorkflowTemplatesResponse, error) {
 15959  	gensupport.SetOptions(c.urlParams_, opts...)
 15960  	res, err := c.doRequest("json")
 15961  	if res != nil && res.StatusCode == http.StatusNotModified {
 15962  		if res.Body != nil {
 15963  			res.Body.Close()
 15964  		}
 15965  		return nil, gensupport.WrapError(&googleapi.Error{
 15966  			Code:   res.StatusCode,
 15967  			Header: res.Header,
 15968  		})
 15969  	}
 15970  	if err != nil {
 15971  		return nil, err
 15972  	}
 15973  	defer googleapi.CloseBody(res)
 15974  	if err := googleapi.CheckResponse(res); err != nil {
 15975  		return nil, gensupport.WrapError(err)
 15976  	}
 15977  	ret := &ListWorkflowTemplatesResponse{
 15978  		ServerResponse: googleapi.ServerResponse{
 15979  			Header:         res.Header,
 15980  			HTTPStatusCode: res.StatusCode,
 15981  		},
 15982  	}
 15983  	target := &ret
 15984  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15985  		return nil, err
 15986  	}
 15987  	return ret, nil
 15988  }
 15989  
 15990  // Pages invokes f for each page of results.
 15991  // A non-nil error returned from f will halt the iteration.
 15992  // The provided context supersedes any context provided to the Context method.
 15993  func (c *ProjectsRegionsWorkflowTemplatesListCall) Pages(ctx context.Context, f func(*ListWorkflowTemplatesResponse) error) error {
 15994  	c.ctx_ = ctx
 15995  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 15996  	for {
 15997  		x, err := c.Do()
 15998  		if err != nil {
 15999  			return err
 16000  		}
 16001  		if err := f(x); err != nil {
 16002  			return err
 16003  		}
 16004  		if x.NextPageToken == "" {
 16005  			return nil
 16006  		}
 16007  		c.PageToken(x.NextPageToken)
 16008  	}
 16009  }
 16010  
 16011  type ProjectsRegionsWorkflowTemplatesSetIamPolicyCall struct {
 16012  	s                   *Service
 16013  	resource            string
 16014  	setiampolicyrequest *SetIamPolicyRequest
 16015  	urlParams_          gensupport.URLParams
 16016  	ctx_                context.Context
 16017  	header_             http.Header
 16018  }
 16019  
 16020  // SetIamPolicy: Sets the access control policy on the specified resource.
 16021  // Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and
 16022  // PERMISSION_DENIED errors.
 16023  //
 16024  //   - resource: REQUIRED: The resource for which the policy is being specified.
 16025  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 16026  //     for the appropriate value for this field.
 16027  func (r *ProjectsRegionsWorkflowTemplatesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall {
 16028  	c := &ProjectsRegionsWorkflowTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16029  	c.resource = resource
 16030  	c.setiampolicyrequest = setiampolicyrequest
 16031  	return c
 16032  }
 16033  
 16034  // Fields allows partial responses to be retrieved. See
 16035  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16036  // details.
 16037  func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall {
 16038  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16039  	return c
 16040  }
 16041  
 16042  // Context sets the context to be used in this call's Do method.
 16043  func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall {
 16044  	c.ctx_ = ctx
 16045  	return c
 16046  }
 16047  
 16048  // Header returns a http.Header that can be modified by the caller to add
 16049  // headers to the request.
 16050  func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) Header() http.Header {
 16051  	if c.header_ == nil {
 16052  		c.header_ = make(http.Header)
 16053  	}
 16054  	return c.header_
 16055  }
 16056  
 16057  func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 16058  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16059  	var body io.Reader = nil
 16060  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 16061  	if err != nil {
 16062  		return nil, err
 16063  	}
 16064  	c.urlParams_.Set("alt", alt)
 16065  	c.urlParams_.Set("prettyPrint", "false")
 16066  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 16067  	urls += "?" + c.urlParams_.Encode()
 16068  	req, err := http.NewRequest("POST", urls, body)
 16069  	if err != nil {
 16070  		return nil, err
 16071  	}
 16072  	req.Header = reqHeaders
 16073  	googleapi.Expand(req.URL, map[string]string{
 16074  		"resource": c.resource,
 16075  	})
 16076  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16077  }
 16078  
 16079  // Do executes the "dataproc.projects.regions.workflowTemplates.setIamPolicy" call.
 16080  // Any non-2xx status code is an error. Response headers are in either
 16081  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 16082  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16083  // whether the returned error was because http.StatusNotModified was returned.
 16084  func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 16085  	gensupport.SetOptions(c.urlParams_, opts...)
 16086  	res, err := c.doRequest("json")
 16087  	if res != nil && res.StatusCode == http.StatusNotModified {
 16088  		if res.Body != nil {
 16089  			res.Body.Close()
 16090  		}
 16091  		return nil, gensupport.WrapError(&googleapi.Error{
 16092  			Code:   res.StatusCode,
 16093  			Header: res.Header,
 16094  		})
 16095  	}
 16096  	if err != nil {
 16097  		return nil, err
 16098  	}
 16099  	defer googleapi.CloseBody(res)
 16100  	if err := googleapi.CheckResponse(res); err != nil {
 16101  		return nil, gensupport.WrapError(err)
 16102  	}
 16103  	ret := &Policy{
 16104  		ServerResponse: googleapi.ServerResponse{
 16105  			Header:         res.Header,
 16106  			HTTPStatusCode: res.StatusCode,
 16107  		},
 16108  	}
 16109  	target := &ret
 16110  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16111  		return nil, err
 16112  	}
 16113  	return ret, nil
 16114  }
 16115  
 16116  type ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall struct {
 16117  	s                         *Service
 16118  	resource                  string
 16119  	testiampermissionsrequest *TestIamPermissionsRequest
 16120  	urlParams_                gensupport.URLParams
 16121  	ctx_                      context.Context
 16122  	header_                   http.Header
 16123  }
 16124  
 16125  // TestIamPermissions: Returns permissions that a caller has on the specified
 16126  // resource. If the resource does not exist, this will return an empty set of
 16127  // permissions, not a NOT_FOUND error.Note: This operation is designed to be
 16128  // used for building permission-aware UIs and command-line tools, not for
 16129  // authorization checking. This operation may "fail open" without warning.
 16130  //
 16131  //   - resource: REQUIRED: The resource for which the policy detail is being
 16132  //     requested. See Resource names
 16133  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 16134  //     value for this field.
 16135  func (r *ProjectsRegionsWorkflowTemplatesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall {
 16136  	c := &ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16137  	c.resource = resource
 16138  	c.testiampermissionsrequest = testiampermissionsrequest
 16139  	return c
 16140  }
 16141  
 16142  // Fields allows partial responses to be retrieved. See
 16143  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16144  // details.
 16145  func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall {
 16146  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16147  	return c
 16148  }
 16149  
 16150  // Context sets the context to be used in this call's Do method.
 16151  func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall {
 16152  	c.ctx_ = ctx
 16153  	return c
 16154  }
 16155  
 16156  // Header returns a http.Header that can be modified by the caller to add
 16157  // headers to the request.
 16158  func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) Header() http.Header {
 16159  	if c.header_ == nil {
 16160  		c.header_ = make(http.Header)
 16161  	}
 16162  	return c.header_
 16163  }
 16164  
 16165  func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 16166  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16167  	var body io.Reader = nil
 16168  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 16169  	if err != nil {
 16170  		return nil, err
 16171  	}
 16172  	c.urlParams_.Set("alt", alt)
 16173  	c.urlParams_.Set("prettyPrint", "false")
 16174  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 16175  	urls += "?" + c.urlParams_.Encode()
 16176  	req, err := http.NewRequest("POST", urls, body)
 16177  	if err != nil {
 16178  		return nil, err
 16179  	}
 16180  	req.Header = reqHeaders
 16181  	googleapi.Expand(req.URL, map[string]string{
 16182  		"resource": c.resource,
 16183  	})
 16184  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16185  }
 16186  
 16187  // Do executes the "dataproc.projects.regions.workflowTemplates.testIamPermissions" call.
 16188  // Any non-2xx status code is an error. Response headers are in either
 16189  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 16190  // returned at all) in error.(*googleapi.Error).Header. Use
 16191  // googleapi.IsNotModified to check whether the returned error was because
 16192  // http.StatusNotModified was returned.
 16193  func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 16194  	gensupport.SetOptions(c.urlParams_, opts...)
 16195  	res, err := c.doRequest("json")
 16196  	if res != nil && res.StatusCode == http.StatusNotModified {
 16197  		if res.Body != nil {
 16198  			res.Body.Close()
 16199  		}
 16200  		return nil, gensupport.WrapError(&googleapi.Error{
 16201  			Code:   res.StatusCode,
 16202  			Header: res.Header,
 16203  		})
 16204  	}
 16205  	if err != nil {
 16206  		return nil, err
 16207  	}
 16208  	defer googleapi.CloseBody(res)
 16209  	if err := googleapi.CheckResponse(res); err != nil {
 16210  		return nil, gensupport.WrapError(err)
 16211  	}
 16212  	ret := &TestIamPermissionsResponse{
 16213  		ServerResponse: googleapi.ServerResponse{
 16214  			Header:         res.Header,
 16215  			HTTPStatusCode: res.StatusCode,
 16216  		},
 16217  	}
 16218  	target := &ret
 16219  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16220  		return nil, err
 16221  	}
 16222  	return ret, nil
 16223  }
 16224  
 16225  type ProjectsRegionsWorkflowTemplatesUpdateCall struct {
 16226  	s                *Service
 16227  	name             string
 16228  	workflowtemplate *WorkflowTemplate
 16229  	urlParams_       gensupport.URLParams
 16230  	ctx_             context.Context
 16231  	header_          http.Header
 16232  }
 16233  
 16234  // Update: Updates (replaces) workflow template. The updated template must
 16235  // contain version that matches the current server version.
 16236  //
 16237  //   - name: Output only. The resource name of the workflow template, as
 16238  //     described in https://cloud.google.com/apis/design/resource_names. For
 16239  //     projects.regions.workflowTemplates, the resource name of the template has
 16240  //     the following format:
 16241  //     projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For
 16242  //     projects.locations.workflowTemplates, the resource name of the template
 16243  //     has the following format:
 16244  //     projects/{project_id}/locations/{location}/workflowTemplates/{template_id}.
 16245  func (r *ProjectsRegionsWorkflowTemplatesService) Update(name string, workflowtemplate *WorkflowTemplate) *ProjectsRegionsWorkflowTemplatesUpdateCall {
 16246  	c := &ProjectsRegionsWorkflowTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16247  	c.name = name
 16248  	c.workflowtemplate = workflowtemplate
 16249  	return c
 16250  }
 16251  
 16252  // Fields allows partial responses to be retrieved. See
 16253  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16254  // details.
 16255  func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesUpdateCall {
 16256  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16257  	return c
 16258  }
 16259  
 16260  // Context sets the context to be used in this call's Do method.
 16261  func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesUpdateCall {
 16262  	c.ctx_ = ctx
 16263  	return c
 16264  }
 16265  
 16266  // Header returns a http.Header that can be modified by the caller to add
 16267  // headers to the request.
 16268  func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Header() http.Header {
 16269  	if c.header_ == nil {
 16270  		c.header_ = make(http.Header)
 16271  	}
 16272  	return c.header_
 16273  }
 16274  
 16275  func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 16276  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16277  	var body io.Reader = nil
 16278  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
 16279  	if err != nil {
 16280  		return nil, err
 16281  	}
 16282  	c.urlParams_.Set("alt", alt)
 16283  	c.urlParams_.Set("prettyPrint", "false")
 16284  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 16285  	urls += "?" + c.urlParams_.Encode()
 16286  	req, err := http.NewRequest("PUT", urls, body)
 16287  	if err != nil {
 16288  		return nil, err
 16289  	}
 16290  	req.Header = reqHeaders
 16291  	googleapi.Expand(req.URL, map[string]string{
 16292  		"name": c.name,
 16293  	})
 16294  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16295  }
 16296  
 16297  // Do executes the "dataproc.projects.regions.workflowTemplates.update" call.
 16298  // Any non-2xx status code is an error. Response headers are in either
 16299  // *WorkflowTemplate.ServerResponse.Header or (if a response was returned at
 16300  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16301  // check whether the returned error was because http.StatusNotModified was
 16302  // returned.
 16303  func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
 16304  	gensupport.SetOptions(c.urlParams_, opts...)
 16305  	res, err := c.doRequest("json")
 16306  	if res != nil && res.StatusCode == http.StatusNotModified {
 16307  		if res.Body != nil {
 16308  			res.Body.Close()
 16309  		}
 16310  		return nil, gensupport.WrapError(&googleapi.Error{
 16311  			Code:   res.StatusCode,
 16312  			Header: res.Header,
 16313  		})
 16314  	}
 16315  	if err != nil {
 16316  		return nil, err
 16317  	}
 16318  	defer googleapi.CloseBody(res)
 16319  	if err := googleapi.CheckResponse(res); err != nil {
 16320  		return nil, gensupport.WrapError(err)
 16321  	}
 16322  	ret := &WorkflowTemplate{
 16323  		ServerResponse: googleapi.ServerResponse{
 16324  			Header:         res.Header,
 16325  			HTTPStatusCode: res.StatusCode,
 16326  		},
 16327  	}
 16328  	target := &ret
 16329  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16330  		return nil, err
 16331  	}
 16332  	return ret, nil
 16333  }
 16334  

View as plain text