...

Source file src/google.golang.org/api/cloudbuild/v1beta1/cloudbuild-gen.go

Documentation: google.golang.org/api/cloudbuild/v1beta1

     1  // Copyright 2023 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 cloudbuild provides access to the Cloud Build API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/cloud-build/docs/
    10  //
    11  // # Creating a client
    12  //
    13  // Usage example:
    14  //
    15  //	import "google.golang.org/api/cloudbuild/v1beta1"
    16  //	...
    17  //	ctx := context.Background()
    18  //	cloudbuildService, err := cloudbuild.NewService(ctx)
    19  //
    20  // In this example, Google Application Default Credentials are used for authentication.
    21  //
    22  // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    23  //
    24  // # Other authentication options
    25  //
    26  // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
    27  //
    28  //	cloudbuildService, err := cloudbuild.NewService(ctx, option.WithAPIKey("AIza..."))
    29  //
    30  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
    31  //
    32  //	config := &oauth2.Config{...}
    33  //	// ...
    34  //	token, err := config.Exchange(ctx, ...)
    35  //	cloudbuildService, err := cloudbuild.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    36  //
    37  // See https://godoc.org/google.golang.org/api/option/ for details on options.
    38  package cloudbuild // import "google.golang.org/api/cloudbuild/v1beta1"
    39  
    40  import (
    41  	"bytes"
    42  	"context"
    43  	"encoding/json"
    44  	"errors"
    45  	"fmt"
    46  	"io"
    47  	"net/http"
    48  	"net/url"
    49  	"strconv"
    50  	"strings"
    51  
    52  	googleapi "google.golang.org/api/googleapi"
    53  	internal "google.golang.org/api/internal"
    54  	gensupport "google.golang.org/api/internal/gensupport"
    55  	option "google.golang.org/api/option"
    56  	internaloption "google.golang.org/api/option/internaloption"
    57  	htransport "google.golang.org/api/transport/http"
    58  )
    59  
    60  // Always reference these packages, just in case the auto-generated code
    61  // below doesn't.
    62  var _ = bytes.NewBuffer
    63  var _ = strconv.Itoa
    64  var _ = fmt.Sprintf
    65  var _ = json.NewDecoder
    66  var _ = io.Copy
    67  var _ = url.Parse
    68  var _ = gensupport.MarshalJSON
    69  var _ = googleapi.Version
    70  var _ = errors.New
    71  var _ = strings.Replace
    72  var _ = context.Canceled
    73  var _ = internaloption.WithDefaultEndpoint
    74  
    75  const apiId = "cloudbuild:v1beta1"
    76  const apiName = "cloudbuild"
    77  const apiVersion = "v1beta1"
    78  const basePath = "https://cloudbuild.googleapis.com/"
    79  const mtlsBasePath = "https://cloudbuild.mtls.googleapis.com/"
    80  
    81  // OAuth2 scopes used by this API.
    82  const (
    83  	// See, edit, configure, and delete your Google Cloud data and see the
    84  	// email address for your Google Account.
    85  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
    86  )
    87  
    88  // NewService creates a new Service.
    89  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
    90  	scopesOption := internaloption.WithDefaultScopes(
    91  		"https://www.googleapis.com/auth/cloud-platform",
    92  	)
    93  	// NOTE: prepend, so we don't override user-specified scopes.
    94  	opts = append([]option.ClientOption{scopesOption}, opts...)
    95  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
    96  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
    97  	client, endpoint, err := htransport.NewClient(ctx, opts...)
    98  	if err != nil {
    99  		return nil, err
   100  	}
   101  	s, err := New(client)
   102  	if err != nil {
   103  		return nil, err
   104  	}
   105  	if endpoint != "" {
   106  		s.BasePath = endpoint
   107  	}
   108  	return s, nil
   109  }
   110  
   111  // New creates a new Service. It uses the provided http.Client for requests.
   112  //
   113  // Deprecated: please use NewService instead.
   114  // To provide a custom HTTP client, use option.WithHTTPClient.
   115  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   116  func New(client *http.Client) (*Service, error) {
   117  	if client == nil {
   118  		return nil, errors.New("client is nil")
   119  	}
   120  	s := &Service{client: client, BasePath: basePath}
   121  	s.Projects = NewProjectsService(s)
   122  	return s, nil
   123  }
   124  
   125  type Service struct {
   126  	client    *http.Client
   127  	BasePath  string // API endpoint base URL
   128  	UserAgent string // optional additional User-Agent fragment
   129  
   130  	Projects *ProjectsService
   131  }
   132  
   133  func (s *Service) userAgent() string {
   134  	if s.UserAgent == "" {
   135  		return googleapi.UserAgent
   136  	}
   137  	return googleapi.UserAgent + " " + s.UserAgent
   138  }
   139  
   140  func NewProjectsService(s *Service) *ProjectsService {
   141  	rs := &ProjectsService{s: s}
   142  	rs.Locations = NewProjectsLocationsService(s)
   143  	return rs
   144  }
   145  
   146  type ProjectsService struct {
   147  	s *Service
   148  
   149  	Locations *ProjectsLocationsService
   150  }
   151  
   152  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   153  	rs := &ProjectsLocationsService{s: s}
   154  	rs.Operations = NewProjectsLocationsOperationsService(s)
   155  	rs.WorkerPools = NewProjectsLocationsWorkerPoolsService(s)
   156  	return rs
   157  }
   158  
   159  type ProjectsLocationsService struct {
   160  	s *Service
   161  
   162  	Operations *ProjectsLocationsOperationsService
   163  
   164  	WorkerPools *ProjectsLocationsWorkerPoolsService
   165  }
   166  
   167  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   168  	rs := &ProjectsLocationsOperationsService{s: s}
   169  	return rs
   170  }
   171  
   172  type ProjectsLocationsOperationsService struct {
   173  	s *Service
   174  }
   175  
   176  func NewProjectsLocationsWorkerPoolsService(s *Service) *ProjectsLocationsWorkerPoolsService {
   177  	rs := &ProjectsLocationsWorkerPoolsService{s: s}
   178  	return rs
   179  }
   180  
   181  type ProjectsLocationsWorkerPoolsService struct {
   182  	s *Service
   183  }
   184  
   185  // ApprovalConfig: ApprovalConfig describes configuration for manual
   186  // approval of a build.
   187  type ApprovalConfig struct {
   188  	// ApprovalRequired: Whether or not approval is needed. If this is set
   189  	// on a build, it will become pending when created, and will need to be
   190  	// explicitly approved to start.
   191  	ApprovalRequired bool `json:"approvalRequired,omitempty"`
   192  
   193  	// ForceSendFields is a list of field names (e.g. "ApprovalRequired") to
   194  	// unconditionally include in API requests. By default, fields with
   195  	// empty or default values are omitted from API requests. However, any
   196  	// non-pointer, non-interface field appearing in ForceSendFields will be
   197  	// sent to the server regardless of whether the field is empty or not.
   198  	// This may be used to include empty fields in Patch requests.
   199  	ForceSendFields []string `json:"-"`
   200  
   201  	// NullFields is a list of field names (e.g. "ApprovalRequired") to
   202  	// include in API requests with the JSON null value. By default, fields
   203  	// with empty values are omitted from API requests. However, any field
   204  	// with an empty value appearing in NullFields will be sent to the
   205  	// server as null. It is an error if a field in this list has a
   206  	// non-empty value. This may be used to include null fields in Patch
   207  	// requests.
   208  	NullFields []string `json:"-"`
   209  }
   210  
   211  func (s *ApprovalConfig) MarshalJSON() ([]byte, error) {
   212  	type NoMethod ApprovalConfig
   213  	raw := NoMethod(*s)
   214  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   215  }
   216  
   217  // ApprovalResult: ApprovalResult describes the decision and associated
   218  // metadata of a manual approval of a build.
   219  type ApprovalResult struct {
   220  	// ApprovalTime: Output only. The time when the approval decision was
   221  	// made.
   222  	ApprovalTime string `json:"approvalTime,omitempty"`
   223  
   224  	// ApproverAccount: Output only. Email of the user that called the
   225  	// ApproveBuild API to approve or reject a build at the time that the
   226  	// API was called.
   227  	ApproverAccount string `json:"approverAccount,omitempty"`
   228  
   229  	// Comment: Optional. An optional comment for this manual approval
   230  	// result.
   231  	Comment string `json:"comment,omitempty"`
   232  
   233  	// Decision: Required. The decision of this manual approval.
   234  	//
   235  	// Possible values:
   236  	//   "DECISION_UNSPECIFIED" - Default enum type. This should not be
   237  	// used.
   238  	//   "APPROVED" - Build is approved.
   239  	//   "REJECTED" - Build is rejected.
   240  	Decision string `json:"decision,omitempty"`
   241  
   242  	// Url: Optional. An optional URL tied to this manual approval result.
   243  	// This field is essentially the same as comment, except that it will be
   244  	// rendered by the UI differently. An example use case is a link to an
   245  	// external job that approved this Build.
   246  	Url string `json:"url,omitempty"`
   247  
   248  	// ForceSendFields is a list of field names (e.g. "ApprovalTime") to
   249  	// unconditionally include in API requests. By default, fields with
   250  	// empty or default values are omitted from API requests. However, any
   251  	// non-pointer, non-interface field appearing in ForceSendFields will be
   252  	// sent to the server regardless of whether the field is empty or not.
   253  	// This may be used to include empty fields in Patch requests.
   254  	ForceSendFields []string `json:"-"`
   255  
   256  	// NullFields is a list of field names (e.g. "ApprovalTime") to include
   257  	// in API requests with the JSON null value. By default, fields with
   258  	// empty values are omitted from API requests. However, any field with
   259  	// an empty value appearing in NullFields will be sent to the server as
   260  	// null. It is an error if a field in this list has a non-empty value.
   261  	// This may be used to include null fields in Patch requests.
   262  	NullFields []string `json:"-"`
   263  }
   264  
   265  func (s *ApprovalResult) MarshalJSON() ([]byte, error) {
   266  	type NoMethod ApprovalResult
   267  	raw := NoMethod(*s)
   268  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   269  }
   270  
   271  // ArtifactObjects: Files in the workspace to upload to Cloud Storage
   272  // upon successful completion of all build steps.
   273  type ArtifactObjects struct {
   274  	// Location: Cloud Storage bucket and optional object path, in the form
   275  	// "gs://bucket/path/to/somewhere/". (see Bucket Name Requirements
   276  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
   277  	// Files in the workspace matching any path pattern will be uploaded to
   278  	// Cloud Storage with this location as a prefix.
   279  	Location string `json:"location,omitempty"`
   280  
   281  	// Paths: Path globs used to match files in the build's workspace.
   282  	Paths []string `json:"paths,omitempty"`
   283  
   284  	// Timing: Output only. Stores timing information for pushing all
   285  	// artifact objects.
   286  	Timing *TimeSpan `json:"timing,omitempty"`
   287  
   288  	// ForceSendFields is a list of field names (e.g. "Location") to
   289  	// unconditionally include in API requests. By default, fields with
   290  	// empty or default values are omitted from API requests. However, any
   291  	// non-pointer, non-interface field appearing in ForceSendFields will be
   292  	// sent to the server regardless of whether the field is empty or not.
   293  	// This may be used to include empty fields in Patch requests.
   294  	ForceSendFields []string `json:"-"`
   295  
   296  	// NullFields is a list of field names (e.g. "Location") to include in
   297  	// API requests with the JSON null value. By default, fields with empty
   298  	// values are omitted from API requests. However, any field with an
   299  	// empty value appearing in NullFields will be sent to the server as
   300  	// null. It is an error if a field in this list has a non-empty value.
   301  	// This may be used to include null fields in Patch requests.
   302  	NullFields []string `json:"-"`
   303  }
   304  
   305  func (s *ArtifactObjects) MarshalJSON() ([]byte, error) {
   306  	type NoMethod ArtifactObjects
   307  	raw := NoMethod(*s)
   308  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   309  }
   310  
   311  // ArtifactResult: An artifact that was uploaded during a build. This is
   312  // a single record in the artifact manifest JSON file.
   313  type ArtifactResult struct {
   314  	// FileHash: The file hash of the artifact.
   315  	FileHash []*FileHashes `json:"fileHash,omitempty"`
   316  
   317  	// Location: The path of an artifact in a Google Cloud Storage bucket,
   318  	// with the generation number. For example,
   319  	// `gs://mybucket/path/to/output.jar#generation`.
   320  	Location string `json:"location,omitempty"`
   321  
   322  	// ForceSendFields is a list of field names (e.g. "FileHash") to
   323  	// unconditionally include in API requests. By default, fields with
   324  	// empty or default values are omitted from API requests. However, any
   325  	// non-pointer, non-interface field appearing in ForceSendFields will be
   326  	// sent to the server regardless of whether the field is empty or not.
   327  	// This may be used to include empty fields in Patch requests.
   328  	ForceSendFields []string `json:"-"`
   329  
   330  	// NullFields is a list of field names (e.g. "FileHash") to include in
   331  	// API requests with the JSON null value. By default, fields with empty
   332  	// values are omitted from API requests. However, any field with an
   333  	// empty value appearing in NullFields will be sent to the server as
   334  	// null. It is an error if a field in this list has a non-empty value.
   335  	// This may be used to include null fields in Patch requests.
   336  	NullFields []string `json:"-"`
   337  }
   338  
   339  func (s *ArtifactResult) MarshalJSON() ([]byte, error) {
   340  	type NoMethod ArtifactResult
   341  	raw := NoMethod(*s)
   342  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   343  }
   344  
   345  // Artifacts: Artifacts produced by a build that should be uploaded upon
   346  // successful completion of all build steps.
   347  type Artifacts struct {
   348  	// Images: A list of images to be pushed upon the successful completion
   349  	// of all build steps. The images will be pushed using the builder
   350  	// service account's credentials. The digests of the pushed images will
   351  	// be stored in the Build resource's results field. If any of the images
   352  	// fail to be pushed, the build is marked FAILURE.
   353  	Images []string `json:"images,omitempty"`
   354  
   355  	// MavenArtifacts: A list of Maven artifacts to be uploaded to Artifact
   356  	// Registry upon successful completion of all build steps. Artifacts in
   357  	// the workspace matching specified paths globs will be uploaded to the
   358  	// specified Artifact Registry repository using the builder service
   359  	// account's credentials. If any artifacts fail to be pushed, the build
   360  	// is marked FAILURE.
   361  	MavenArtifacts []*MavenArtifact `json:"mavenArtifacts,omitempty"`
   362  
   363  	// Objects: A list of objects to be uploaded to Cloud Storage upon
   364  	// successful completion of all build steps. Files in the workspace
   365  	// matching specified paths globs will be uploaded to the specified
   366  	// Cloud Storage location using the builder service account's
   367  	// credentials. The location and generation of the uploaded objects will
   368  	// be stored in the Build resource's results field. If any objects fail
   369  	// to be pushed, the build is marked FAILURE.
   370  	Objects *ArtifactObjects `json:"objects,omitempty"`
   371  
   372  	// PythonPackages: A list of Python packages to be uploaded to Artifact
   373  	// Registry upon successful completion of all build steps. The build
   374  	// service account credentials will be used to perform the upload. If
   375  	// any objects fail to be pushed, the build is marked FAILURE.
   376  	PythonPackages []*PythonPackage `json:"pythonPackages,omitempty"`
   377  
   378  	// ForceSendFields is a list of field names (e.g. "Images") to
   379  	// unconditionally include in API requests. By default, fields with
   380  	// empty or default values are omitted from API requests. However, any
   381  	// non-pointer, non-interface field appearing in ForceSendFields will be
   382  	// sent to the server regardless of whether the field is empty or not.
   383  	// This may be used to include empty fields in Patch requests.
   384  	ForceSendFields []string `json:"-"`
   385  
   386  	// NullFields is a list of field names (e.g. "Images") to include in API
   387  	// requests with the JSON null value. By default, fields with empty
   388  	// values are omitted from API requests. However, any field with an
   389  	// empty value appearing in NullFields will be sent to the server as
   390  	// null. It is an error if a field in this list has a non-empty value.
   391  	// This may be used to include null fields in Patch requests.
   392  	NullFields []string `json:"-"`
   393  }
   394  
   395  func (s *Artifacts) MarshalJSON() ([]byte, error) {
   396  	type NoMethod Artifacts
   397  	raw := NoMethod(*s)
   398  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   399  }
   400  
   401  // BatchCreateBitbucketServerConnectedRepositoriesResponse: Response of
   402  // BatchCreateBitbucketServerConnectedRepositories RPC method including
   403  // all successfully connected Bitbucket Server repositories.
   404  type BatchCreateBitbucketServerConnectedRepositoriesResponse struct {
   405  	// BitbucketServerConnectedRepositories: The connected Bitbucket Server
   406  	// repositories.
   407  	BitbucketServerConnectedRepositories []*BitbucketServerConnectedRepository `json:"bitbucketServerConnectedRepositories,omitempty"`
   408  
   409  	// ForceSendFields is a list of field names (e.g.
   410  	// "BitbucketServerConnectedRepositories") to unconditionally include in
   411  	// API requests. By default, fields with empty or default values are
   412  	// omitted from API requests. However, any non-pointer, non-interface
   413  	// field appearing in ForceSendFields will be sent to the server
   414  	// regardless of whether the field is empty or not. This may be used to
   415  	// include empty fields in Patch requests.
   416  	ForceSendFields []string `json:"-"`
   417  
   418  	// NullFields is a list of field names (e.g.
   419  	// "BitbucketServerConnectedRepositories") to include in API requests
   420  	// with the JSON null value. By default, fields with empty values are
   421  	// omitted from API requests. However, any field with an empty value
   422  	// appearing in NullFields will be sent to the server as null. It is an
   423  	// error if a field in this list has a non-empty value. This may be used
   424  	// to include null fields in Patch requests.
   425  	NullFields []string `json:"-"`
   426  }
   427  
   428  func (s *BatchCreateBitbucketServerConnectedRepositoriesResponse) MarshalJSON() ([]byte, error) {
   429  	type NoMethod BatchCreateBitbucketServerConnectedRepositoriesResponse
   430  	raw := NoMethod(*s)
   431  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   432  }
   433  
   434  // BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata:
   435  // Metadata for `BatchCreateBitbucketServerConnectedRepositories`
   436  // operation.
   437  type BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata struct {
   438  	// CompleteTime: Time the operation was completed.
   439  	CompleteTime string `json:"completeTime,omitempty"`
   440  
   441  	// Config: The name of the `BitbucketServerConfig` that added connected
   442  	// repositories. Format:
   443  	// `projects/{project}/locations/{location}/bitbucketServerConfigs/{confi
   444  	// g}`
   445  	Config string `json:"config,omitempty"`
   446  
   447  	// CreateTime: Time the operation was created.
   448  	CreateTime string `json:"createTime,omitempty"`
   449  
   450  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
   451  	// unconditionally include in API requests. By default, fields with
   452  	// empty or default values are omitted from API requests. However, any
   453  	// non-pointer, non-interface field appearing in ForceSendFields will be
   454  	// sent to the server regardless of whether the field is empty or not.
   455  	// This may be used to include empty fields in Patch requests.
   456  	ForceSendFields []string `json:"-"`
   457  
   458  	// NullFields is a list of field names (e.g. "CompleteTime") to include
   459  	// in API requests with the JSON null value. By default, fields with
   460  	// empty values are omitted from API requests. However, any field with
   461  	// an empty value appearing in NullFields will be sent to the server as
   462  	// null. It is an error if a field in this list has a non-empty value.
   463  	// This may be used to include null fields in Patch requests.
   464  	NullFields []string `json:"-"`
   465  }
   466  
   467  func (s *BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata) MarshalJSON() ([]byte, error) {
   468  	type NoMethod BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata
   469  	raw := NoMethod(*s)
   470  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   471  }
   472  
   473  // BatchCreateGitLabConnectedRepositoriesResponse: Response of
   474  // BatchCreateGitLabConnectedRepositories RPC method.
   475  type BatchCreateGitLabConnectedRepositoriesResponse struct {
   476  	// GitlabConnectedRepositories: The GitLab connected repository
   477  	// requests' responses.
   478  	GitlabConnectedRepositories []*GitLabConnectedRepository `json:"gitlabConnectedRepositories,omitempty"`
   479  
   480  	// ForceSendFields is a list of field names (e.g.
   481  	// "GitlabConnectedRepositories") to unconditionally include in API
   482  	// requests. By default, fields with empty or default values are omitted
   483  	// from API requests. However, any non-pointer, non-interface field
   484  	// appearing in ForceSendFields will be sent to the server regardless of
   485  	// whether the field is empty or not. This may be used to include empty
   486  	// fields in Patch requests.
   487  	ForceSendFields []string `json:"-"`
   488  
   489  	// NullFields is a list of field names (e.g.
   490  	// "GitlabConnectedRepositories") to include in API requests with the
   491  	// JSON null value. By default, fields with empty values are omitted
   492  	// from API requests. However, any field with an empty value appearing
   493  	// in NullFields will be sent to the server as null. It is an error if a
   494  	// field in this list has a non-empty value. This may be used to include
   495  	// null fields in Patch requests.
   496  	NullFields []string `json:"-"`
   497  }
   498  
   499  func (s *BatchCreateGitLabConnectedRepositoriesResponse) MarshalJSON() ([]byte, error) {
   500  	type NoMethod BatchCreateGitLabConnectedRepositoriesResponse
   501  	raw := NoMethod(*s)
   502  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   503  }
   504  
   505  // BatchCreateGitLabConnectedRepositoriesResponseMetadata: Metadata for
   506  // `BatchCreateGitLabConnectedRepositories` operation.
   507  type BatchCreateGitLabConnectedRepositoriesResponseMetadata struct {
   508  	// CompleteTime: Time the operation was completed.
   509  	CompleteTime string `json:"completeTime,omitempty"`
   510  
   511  	// Config: The name of the `GitLabConfig` that added connected
   512  	// repositories. Format:
   513  	// `projects/{project}/locations/{location}/gitLabConfigs/{config}`
   514  	Config string `json:"config,omitempty"`
   515  
   516  	// CreateTime: Time the operation was created.
   517  	CreateTime string `json:"createTime,omitempty"`
   518  
   519  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
   520  	// unconditionally include in API requests. By default, fields with
   521  	// empty or default values are omitted from API requests. However, any
   522  	// non-pointer, non-interface field appearing in ForceSendFields will be
   523  	// sent to the server regardless of whether the field is empty or not.
   524  	// This may be used to include empty fields in Patch requests.
   525  	ForceSendFields []string `json:"-"`
   526  
   527  	// NullFields is a list of field names (e.g. "CompleteTime") to include
   528  	// in API requests with the JSON null value. By default, fields with
   529  	// empty values are omitted from API requests. However, any field with
   530  	// an empty value appearing in NullFields will be sent to the server as
   531  	// null. It is an error if a field in this list has a non-empty value.
   532  	// This may be used to include null fields in Patch requests.
   533  	NullFields []string `json:"-"`
   534  }
   535  
   536  func (s *BatchCreateGitLabConnectedRepositoriesResponseMetadata) MarshalJSON() ([]byte, error) {
   537  	type NoMethod BatchCreateGitLabConnectedRepositoriesResponseMetadata
   538  	raw := NoMethod(*s)
   539  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   540  }
   541  
   542  // BatchCreateRepositoriesResponse: Message for response of creating
   543  // repositories in batch.
   544  type BatchCreateRepositoriesResponse struct {
   545  	// Repositories: Repository resources created.
   546  	Repositories []*Repository `json:"repositories,omitempty"`
   547  
   548  	// ForceSendFields is a list of field names (e.g. "Repositories") to
   549  	// unconditionally include in API requests. By default, fields with
   550  	// empty or default values are omitted from API requests. However, any
   551  	// non-pointer, non-interface field appearing in ForceSendFields will be
   552  	// sent to the server regardless of whether the field is empty or not.
   553  	// This may be used to include empty fields in Patch requests.
   554  	ForceSendFields []string `json:"-"`
   555  
   556  	// NullFields is a list of field names (e.g. "Repositories") to include
   557  	// in API requests with the JSON null value. By default, fields with
   558  	// empty values are omitted from API requests. However, any field with
   559  	// an empty value appearing in NullFields will be sent to the server as
   560  	// null. It is an error if a field in this list has a non-empty value.
   561  	// This may be used to include null fields in Patch requests.
   562  	NullFields []string `json:"-"`
   563  }
   564  
   565  func (s *BatchCreateRepositoriesResponse) MarshalJSON() ([]byte, error) {
   566  	type NoMethod BatchCreateRepositoriesResponse
   567  	raw := NoMethod(*s)
   568  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   569  }
   570  
   571  // BitbucketServerConnectedRepository: /
   572  // BitbucketServerConnectedRepository represents a connected Bitbucket
   573  // Server / repository.
   574  type BitbucketServerConnectedRepository struct {
   575  	// Parent: The name of the `BitbucketServerConfig` that added connected
   576  	// repository. Format:
   577  	// `projects/{project}/locations/{location}/bitbucketServerConfigs/{confi
   578  	// g}`
   579  	Parent string `json:"parent,omitempty"`
   580  
   581  	// Repo: The Bitbucket Server repositories to connect.
   582  	Repo *BitbucketServerRepositoryId `json:"repo,omitempty"`
   583  
   584  	// Status: Output only. The status of the repo connection request.
   585  	Status *Status `json:"status,omitempty"`
   586  
   587  	// ForceSendFields is a list of field names (e.g. "Parent") to
   588  	// unconditionally include in API requests. By default, fields with
   589  	// empty or default values are omitted from API requests. However, any
   590  	// non-pointer, non-interface field appearing in ForceSendFields will be
   591  	// sent to the server regardless of whether the field is empty or not.
   592  	// This may be used to include empty fields in Patch requests.
   593  	ForceSendFields []string `json:"-"`
   594  
   595  	// NullFields is a list of field names (e.g. "Parent") to include in API
   596  	// requests with the JSON null value. By default, fields with empty
   597  	// values are omitted from API requests. However, any field with an
   598  	// empty value appearing in NullFields will be sent to the server as
   599  	// null. It is an error if a field in this list has a non-empty value.
   600  	// This may be used to include null fields in Patch requests.
   601  	NullFields []string `json:"-"`
   602  }
   603  
   604  func (s *BitbucketServerConnectedRepository) MarshalJSON() ([]byte, error) {
   605  	type NoMethod BitbucketServerConnectedRepository
   606  	raw := NoMethod(*s)
   607  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   608  }
   609  
   610  // BitbucketServerRepositoryId: BitbucketServerRepositoryId identifies a
   611  // specific repository hosted on a Bitbucket Server.
   612  type BitbucketServerRepositoryId struct {
   613  	// ProjectKey: Required. Identifier for the project storing the
   614  	// repository.
   615  	ProjectKey string `json:"projectKey,omitempty"`
   616  
   617  	// RepoSlug: Required. Identifier for the repository.
   618  	RepoSlug string `json:"repoSlug,omitempty"`
   619  
   620  	// WebhookId: Output only. The ID of the webhook that was created for
   621  	// receiving events from this repo. We only create and manage a single
   622  	// webhook for each repo.
   623  	WebhookId int64 `json:"webhookId,omitempty"`
   624  
   625  	// ForceSendFields is a list of field names (e.g. "ProjectKey") to
   626  	// unconditionally include in API requests. By default, fields with
   627  	// empty or default values are omitted from API requests. However, any
   628  	// non-pointer, non-interface field appearing in ForceSendFields will be
   629  	// sent to the server regardless of whether the field is empty or not.
   630  	// This may be used to include empty fields in Patch requests.
   631  	ForceSendFields []string `json:"-"`
   632  
   633  	// NullFields is a list of field names (e.g. "ProjectKey") to include in
   634  	// API requests with the JSON null value. By default, fields with empty
   635  	// values are omitted from API requests. However, any field with an
   636  	// empty value appearing in NullFields will be sent to the server as
   637  	// null. It is an error if a field in this list has a non-empty value.
   638  	// This may be used to include null fields in Patch requests.
   639  	NullFields []string `json:"-"`
   640  }
   641  
   642  func (s *BitbucketServerRepositoryId) MarshalJSON() ([]byte, error) {
   643  	type NoMethod BitbucketServerRepositoryId
   644  	raw := NoMethod(*s)
   645  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   646  }
   647  
   648  // Build: A build resource in the Cloud Build API. At a high level, a
   649  // `Build` describes where to find source code, how to build it (for
   650  // example, the builder image to run on the source), and where to store
   651  // the built artifacts. Fields can include the following variables,
   652  // which will be expanded when the build is created: - $PROJECT_ID: the
   653  // project ID of the build. - $PROJECT_NUMBER: the project number of the
   654  // build. - $LOCATION: the location/region of the build. - $BUILD_ID:
   655  // the autogenerated ID of the build. - $REPO_NAME: the source
   656  // repository name specified by RepoSource. - $BRANCH_NAME: the branch
   657  // name specified by RepoSource. - $TAG_NAME: the tag name specified by
   658  // RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified
   659  // by RepoSource or resolved from the specified branch or tag. -
   660  // $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
   661  type Build struct {
   662  	// Approval: Output only. Describes this build's approval configuration,
   663  	// status, and result.
   664  	Approval *BuildApproval `json:"approval,omitempty"`
   665  
   666  	// Artifacts: Artifacts produced by the build that should be uploaded
   667  	// upon successful completion of all build steps.
   668  	Artifacts *Artifacts `json:"artifacts,omitempty"`
   669  
   670  	// AvailableSecrets: Secrets and secret environment variables.
   671  	AvailableSecrets *Secrets `json:"availableSecrets,omitempty"`
   672  
   673  	// BuildTriggerId: Output only. The ID of the `BuildTrigger` that
   674  	// triggered this build, if it was triggered automatically.
   675  	BuildTriggerId string `json:"buildTriggerId,omitempty"`
   676  
   677  	// CreateTime: Output only. Time at which the request to create the
   678  	// build was received.
   679  	CreateTime string `json:"createTime,omitempty"`
   680  
   681  	// FailureInfo: Output only. Contains information about the build when
   682  	// status=FAILURE.
   683  	FailureInfo *FailureInfo `json:"failureInfo,omitempty"`
   684  
   685  	// FinishTime: Output only. Time at which execution of the build was
   686  	// finished. The difference between finish_time and start_time is the
   687  	// duration of the build's execution.
   688  	FinishTime string `json:"finishTime,omitempty"`
   689  
   690  	// Id: Output only. Unique identifier of the build.
   691  	Id string `json:"id,omitempty"`
   692  
   693  	// Images: A list of images to be pushed upon the successful completion
   694  	// of all build steps. The images are pushed using the builder service
   695  	// account's credentials. The digests of the pushed images will be
   696  	// stored in the `Build` resource's results field. If any of the images
   697  	// fail to be pushed, the build status is marked `FAILURE`.
   698  	Images []string `json:"images,omitempty"`
   699  
   700  	// LogUrl: Output only. URL to logs for this build in Google Cloud
   701  	// Console.
   702  	LogUrl string `json:"logUrl,omitempty"`
   703  
   704  	// LogsBucket: Google Cloud Storage bucket where logs should be written
   705  	// (see Bucket Name Requirements
   706  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
   707  	// Logs file names will be of the format
   708  	// `${logs_bucket}/log-${build_id}.txt`.
   709  	LogsBucket string `json:"logsBucket,omitempty"`
   710  
   711  	// Name: Output only. The 'Build' name with format:
   712  	// `projects/{project}/locations/{location}/builds/{build}`, where
   713  	// {build} is a unique identifier generated by the service.
   714  	Name string `json:"name,omitempty"`
   715  
   716  	// Options: Special options for this build.
   717  	Options *BuildOptions `json:"options,omitempty"`
   718  
   719  	// ProjectId: Output only. ID of the project.
   720  	ProjectId string `json:"projectId,omitempty"`
   721  
   722  	// QueueTtl: TTL in queue for this build. If provided and the build is
   723  	// enqueued longer than this value, the build will expire and the build
   724  	// status will be `EXPIRED`. The TTL starts ticking from create_time.
   725  	QueueTtl string `json:"queueTtl,omitempty"`
   726  
   727  	// Results: Output only. Results of the build.
   728  	Results *Results `json:"results,omitempty"`
   729  
   730  	// Secrets: Secrets to decrypt using Cloud Key Management Service. Note:
   731  	// Secret Manager is the recommended technique for managing sensitive
   732  	// data with Cloud Build. Use `available_secrets` to configure builds to
   733  	// access secrets from Secret Manager. For instructions, see:
   734  	// https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets
   735  	Secrets []*Secret `json:"secrets,omitempty"`
   736  
   737  	// ServiceAccount: IAM service account whose credentials will be used at
   738  	// build runtime. Must be of the format
   739  	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be
   740  	// email address or uniqueId of the service account.
   741  	ServiceAccount string `json:"serviceAccount,omitempty"`
   742  
   743  	// Source: The location of the source files to build.
   744  	Source *Source `json:"source,omitempty"`
   745  
   746  	// SourceProvenance: Output only. A permanent fixed identifier for
   747  	// source.
   748  	SourceProvenance *SourceProvenance `json:"sourceProvenance,omitempty"`
   749  
   750  	// StartTime: Output only. Time at which execution of the build was
   751  	// started.
   752  	StartTime string `json:"startTime,omitempty"`
   753  
   754  	// Status: Output only. Status of the build.
   755  	//
   756  	// Possible values:
   757  	//   "STATUS_UNKNOWN" - Status of the build is unknown.
   758  	//   "PENDING" - Build has been created and is pending execution and
   759  	// queuing. It has not been queued.
   760  	//   "QUEUED" - Build or step is queued; work has not yet begun.
   761  	//   "WORKING" - Build or step is being executed.
   762  	//   "SUCCESS" - Build or step finished successfully.
   763  	//   "FAILURE" - Build or step failed to complete successfully.
   764  	//   "INTERNAL_ERROR" - Build or step failed due to an internal cause.
   765  	//   "TIMEOUT" - Build or step took longer than was allowed.
   766  	//   "CANCELLED" - Build or step was canceled by a user.
   767  	//   "EXPIRED" - Build was enqueued for longer than the value of
   768  	// `queue_ttl`.
   769  	Status string `json:"status,omitempty"`
   770  
   771  	// StatusDetail: Output only. Customer-readable message about the
   772  	// current status.
   773  	StatusDetail string `json:"statusDetail,omitempty"`
   774  
   775  	// Steps: Required. The operations to be performed on the workspace.
   776  	Steps []*BuildStep `json:"steps,omitempty"`
   777  
   778  	// Substitutions: Substitutions data for `Build` resource.
   779  	Substitutions map[string]string `json:"substitutions,omitempty"`
   780  
   781  	// Tags: Tags for annotation of a `Build`. These are not docker tags.
   782  	Tags []string `json:"tags,omitempty"`
   783  
   784  	// Timeout: Amount of time that this build should be allowed to run, to
   785  	// second granularity. If this amount of time elapses, work on the build
   786  	// will cease and the build status will be `TIMEOUT`. `timeout` starts
   787  	// ticking from `startTime`. Default time is ten minutes.
   788  	Timeout string `json:"timeout,omitempty"`
   789  
   790  	// Timing: Output only. Stores timing information for phases of the
   791  	// build. Valid keys are: * BUILD: time to execute all build steps. *
   792  	// PUSH: time to push all artifacts including docker images and non
   793  	// docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD:
   794  	// time to set up build. If the build does not specify source or images,
   795  	// these keys will not be included.
   796  	Timing map[string]TimeSpan `json:"timing,omitempty"`
   797  
   798  	// Warnings: Output only. Non-fatal problems encountered during the
   799  	// execution of the build.
   800  	Warnings []*Warning `json:"warnings,omitempty"`
   801  
   802  	// ForceSendFields is a list of field names (e.g. "Approval") to
   803  	// unconditionally include in API requests. By default, fields with
   804  	// empty or default values are omitted from API requests. However, any
   805  	// non-pointer, non-interface field appearing in ForceSendFields will be
   806  	// sent to the server regardless of whether the field is empty or not.
   807  	// This may be used to include empty fields in Patch requests.
   808  	ForceSendFields []string `json:"-"`
   809  
   810  	// NullFields is a list of field names (e.g. "Approval") to include in
   811  	// API requests with the JSON null value. By default, fields with empty
   812  	// values are omitted from API requests. However, any field with an
   813  	// empty value appearing in NullFields will be sent to the server as
   814  	// null. It is an error if a field in this list has a non-empty value.
   815  	// This may be used to include null fields in Patch requests.
   816  	NullFields []string `json:"-"`
   817  }
   818  
   819  func (s *Build) MarshalJSON() ([]byte, error) {
   820  	type NoMethod Build
   821  	raw := NoMethod(*s)
   822  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   823  }
   824  
   825  // BuildApproval: BuildApproval describes a build's approval
   826  // configuration, state, and result.
   827  type BuildApproval struct {
   828  	// Config: Output only. Configuration for manual approval of this build.
   829  	Config *ApprovalConfig `json:"config,omitempty"`
   830  
   831  	// Result: Output only. Result of manual approval for this Build.
   832  	Result *ApprovalResult `json:"result,omitempty"`
   833  
   834  	// State: Output only. The state of this build's approval.
   835  	//
   836  	// Possible values:
   837  	//   "STATE_UNSPECIFIED" - Default enum type. This should not be used.
   838  	//   "PENDING" - Build approval is pending.
   839  	//   "APPROVED" - Build approval has been approved.
   840  	//   "REJECTED" - Build approval has been rejected.
   841  	//   "CANCELLED" - Build was cancelled while it was still pending
   842  	// approval.
   843  	State string `json:"state,omitempty"`
   844  
   845  	// ForceSendFields is a list of field names (e.g. "Config") to
   846  	// unconditionally include in API requests. By default, fields with
   847  	// empty or default values are omitted from API requests. However, any
   848  	// non-pointer, non-interface field appearing in ForceSendFields will be
   849  	// sent to the server regardless of whether the field is empty or not.
   850  	// This may be used to include empty fields in Patch requests.
   851  	ForceSendFields []string `json:"-"`
   852  
   853  	// NullFields is a list of field names (e.g. "Config") to include in API
   854  	// requests with the JSON null value. By default, fields with empty
   855  	// values are omitted from API requests. However, any field with an
   856  	// empty value appearing in NullFields will be sent to the server as
   857  	// null. It is an error if a field in this list has a non-empty value.
   858  	// This may be used to include null fields in Patch requests.
   859  	NullFields []string `json:"-"`
   860  }
   861  
   862  func (s *BuildApproval) MarshalJSON() ([]byte, error) {
   863  	type NoMethod BuildApproval
   864  	raw := NoMethod(*s)
   865  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   866  }
   867  
   868  // BuildOperationMetadata: Metadata for build operations.
   869  type BuildOperationMetadata struct {
   870  	// Build: The build that the operation is tracking.
   871  	Build *Build `json:"build,omitempty"`
   872  
   873  	// ForceSendFields is a list of field names (e.g. "Build") to
   874  	// unconditionally include in API requests. By default, fields with
   875  	// empty or default values are omitted from API requests. However, any
   876  	// non-pointer, non-interface field appearing in ForceSendFields will be
   877  	// sent to the server regardless of whether the field is empty or not.
   878  	// This may be used to include empty fields in Patch requests.
   879  	ForceSendFields []string `json:"-"`
   880  
   881  	// NullFields is a list of field names (e.g. "Build") to include in API
   882  	// requests with the JSON null value. By default, fields with empty
   883  	// values are omitted from API requests. However, any field with an
   884  	// empty value appearing in NullFields will be sent to the server as
   885  	// null. It is an error if a field in this list has a non-empty value.
   886  	// This may be used to include null fields in Patch requests.
   887  	NullFields []string `json:"-"`
   888  }
   889  
   890  func (s *BuildOperationMetadata) MarshalJSON() ([]byte, error) {
   891  	type NoMethod BuildOperationMetadata
   892  	raw := NoMethod(*s)
   893  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   894  }
   895  
   896  // BuildOptions: Optional arguments to enable specific features of
   897  // builds.
   898  type BuildOptions struct {
   899  	// DiskSizeGb: Requested disk size for the VM that runs the build. Note
   900  	// that this is *NOT* "disk free"; some of the space will be used by the
   901  	// operating system and build utilities. Also note that this is the
   902  	// minimum disk size that will be allocated for the build -- the build
   903  	// may run with a larger disk than requested. At present, the maximum
   904  	// disk size is 2000GB; builds that request more than the maximum are
   905  	// rejected with an error.
   906  	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
   907  
   908  	// DynamicSubstitutions: Option to specify whether or not to apply bash
   909  	// style string operations to the substitutions. NOTE: this is always
   910  	// enabled for triggered builds and cannot be overridden in the build
   911  	// configuration file.
   912  	DynamicSubstitutions bool `json:"dynamicSubstitutions,omitempty"`
   913  
   914  	// Env: A list of global environment variable definitions that will
   915  	// exist for all build steps in this build. If a variable is defined in
   916  	// both globally and in a build step, the variable will use the build
   917  	// step value. The elements are of the form "KEY=VALUE" for the
   918  	// environment variable "KEY" being given the value "VALUE".
   919  	Env []string `json:"env,omitempty"`
   920  
   921  	// LogStreamingOption: Option to define build log streaming behavior to
   922  	// Google Cloud Storage.
   923  	//
   924  	// Possible values:
   925  	//   "STREAM_DEFAULT" - Service may automatically determine build log
   926  	// streaming behavior.
   927  	//   "STREAM_ON" - Build logs should be streamed to Google Cloud
   928  	// Storage.
   929  	//   "STREAM_OFF" - Build logs should not be streamed to Google Cloud
   930  	// Storage; they will be written when the build is completed.
   931  	LogStreamingOption string `json:"logStreamingOption,omitempty"`
   932  
   933  	// Logging: Option to specify the logging mode, which determines if and
   934  	// where build logs are stored.
   935  	//
   936  	// Possible values:
   937  	//   "LOGGING_UNSPECIFIED" - The service determines the logging mode.
   938  	// The default is `LEGACY`. Do not rely on the default logging behavior
   939  	// as it may change in the future.
   940  	//   "LEGACY" - Build logs are stored in Cloud Logging and Cloud
   941  	// Storage.
   942  	//   "GCS_ONLY" - Build logs are stored in Cloud Storage.
   943  	//   "STACKDRIVER_ONLY" - This option is the same as CLOUD_LOGGING_ONLY.
   944  	//   "CLOUD_LOGGING_ONLY" - Build logs are stored in Cloud Logging.
   945  	// Selecting this option will not allow [logs
   946  	// streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).
   947  	//   "NONE" - Turn off all logging. No build logs will be captured.
   948  	Logging string `json:"logging,omitempty"`
   949  
   950  	// MachineType: Compute Engine machine type on which to run the build.
   951  	//
   952  	// Possible values:
   953  	//   "UNSPECIFIED" - Standard machine type.
   954  	//   "N1_HIGHCPU_8" - Highcpu machine with 8 CPUs.
   955  	//   "N1_HIGHCPU_32" - Highcpu machine with 32 CPUs.
   956  	//   "E2_HIGHCPU_8" - Highcpu e2 machine with 8 CPUs.
   957  	//   "E2_HIGHCPU_32" - Highcpu e2 machine with 32 CPUs.
   958  	MachineType string `json:"machineType,omitempty"`
   959  
   960  	// Pool: Optional. Specification for execution on a `WorkerPool`. See
   961  	// running builds in a private pool
   962  	// (https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
   963  	// for more information.
   964  	Pool *PoolOption `json:"pool,omitempty"`
   965  
   966  	// RequestedVerifyOption: Requested verifiability options.
   967  	//
   968  	// Possible values:
   969  	//   "NOT_VERIFIED" - Not a verifiable build (the default).
   970  	//   "VERIFIED" - Build must be verified.
   971  	RequestedVerifyOption string `json:"requestedVerifyOption,omitempty"`
   972  
   973  	// SecretEnv: A list of global environment variables, which are
   974  	// encrypted using a Cloud Key Management Service crypto key. These
   975  	// values must be specified in the build's `Secret`. These variables
   976  	// will be available to all build steps in this build.
   977  	SecretEnv []string `json:"secretEnv,omitempty"`
   978  
   979  	// SourceProvenanceHash: Requested hash for SourceProvenance.
   980  	//
   981  	// Possible values:
   982  	//   "NONE" - No hash requested.
   983  	//   "SHA256" - Use a sha256 hash.
   984  	//   "MD5" - Use a md5 hash.
   985  	SourceProvenanceHash []string `json:"sourceProvenanceHash,omitempty"`
   986  
   987  	// SubstitutionOption: Option to specify behavior when there is an error
   988  	// in the substitution checks. NOTE: this is always set to ALLOW_LOOSE
   989  	// for triggered builds and cannot be overridden in the build
   990  	// configuration file.
   991  	//
   992  	// Possible values:
   993  	//   "MUST_MATCH" - Fails the build if error in substitutions checks,
   994  	// like missing a substitution in the template or in the map.
   995  	//   "ALLOW_LOOSE" - Do not fail the build if error in substitutions
   996  	// checks.
   997  	SubstitutionOption string `json:"substitutionOption,omitempty"`
   998  
   999  	// Volumes: Global list of volumes to mount for ALL build steps Each
  1000  	// volume is created as an empty volume prior to starting the build
  1001  	// process. Upon completion of the build, volumes and their contents are
  1002  	// discarded. Global volume names and paths cannot conflict with the
  1003  	// volumes defined a build step. Using a global volume in a build with
  1004  	// only one step is not valid as it is indicative of a build request
  1005  	// with an incorrect configuration.
  1006  	Volumes []*Volume `json:"volumes,omitempty"`
  1007  
  1008  	// WorkerPool: This field deprecated; please use `pool.name` instead.
  1009  	WorkerPool string `json:"workerPool,omitempty"`
  1010  
  1011  	// ForceSendFields is a list of field names (e.g. "DiskSizeGb") to
  1012  	// unconditionally include in API requests. By default, fields with
  1013  	// empty or default values are omitted from API requests. However, any
  1014  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1015  	// sent to the server regardless of whether the field is empty or not.
  1016  	// This may be used to include empty fields in Patch requests.
  1017  	ForceSendFields []string `json:"-"`
  1018  
  1019  	// NullFields is a list of field names (e.g. "DiskSizeGb") to include in
  1020  	// API requests with the JSON null value. By default, fields with empty
  1021  	// values are omitted from API requests. However, any field with an
  1022  	// empty value appearing in NullFields will be sent to the server as
  1023  	// null. It is an error if a field in this list has a non-empty value.
  1024  	// This may be used to include null fields in Patch requests.
  1025  	NullFields []string `json:"-"`
  1026  }
  1027  
  1028  func (s *BuildOptions) MarshalJSON() ([]byte, error) {
  1029  	type NoMethod BuildOptions
  1030  	raw := NoMethod(*s)
  1031  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1032  }
  1033  
  1034  // BuildStep: A step in the build pipeline.
  1035  type BuildStep struct {
  1036  	// AllowExitCodes: Allow this build step to fail without failing the
  1037  	// entire build if and only if the exit code is one of the specified
  1038  	// codes. If allow_failure is also specified, this field will take
  1039  	// precedence.
  1040  	AllowExitCodes []int64 `json:"allowExitCodes,omitempty"`
  1041  
  1042  	// AllowFailure: Allow this build step to fail without failing the
  1043  	// entire build. If false, the entire build will fail if this step
  1044  	// fails. Otherwise, the build will succeed, but this step will still
  1045  	// have a failure status. Error information will be reported in the
  1046  	// failure_detail field.
  1047  	AllowFailure bool `json:"allowFailure,omitempty"`
  1048  
  1049  	// Args: A list of arguments that will be presented to the step when it
  1050  	// is started. If the image used to run the step's container has an
  1051  	// entrypoint, the `args` are used as arguments to that entrypoint. If
  1052  	// the image does not define an entrypoint, the first element in args is
  1053  	// used as the entrypoint, and the remainder will be used as arguments.
  1054  	Args []string `json:"args,omitempty"`
  1055  
  1056  	// Dir: Working directory to use when running this step's container. If
  1057  	// this value is a relative path, it is relative to the build's working
  1058  	// directory. If this value is absolute, it may be outside the build's
  1059  	// working directory, in which case the contents of the path may not be
  1060  	// persisted across build step executions, unless a `volume` for that
  1061  	// path is specified. If the build specifies a `RepoSource` with `dir`
  1062  	// and a step with a `dir`, which specifies an absolute path, the
  1063  	// `RepoSource` `dir` is ignored for the step's execution.
  1064  	Dir string `json:"dir,omitempty"`
  1065  
  1066  	// Entrypoint: Entrypoint to be used instead of the build step image's
  1067  	// default entrypoint. If unset, the image's default entrypoint is used.
  1068  	Entrypoint string `json:"entrypoint,omitempty"`
  1069  
  1070  	// Env: A list of environment variable definitions to be used when
  1071  	// running a step. The elements are of the form "KEY=VALUE" for the
  1072  	// environment variable "KEY" being given the value "VALUE".
  1073  	Env []string `json:"env,omitempty"`
  1074  
  1075  	// ExitCode: Output only. Return code from running the step.
  1076  	ExitCode int64 `json:"exitCode,omitempty"`
  1077  
  1078  	// Id: Unique identifier for this build step, used in `wait_for` to
  1079  	// reference this build step as a dependency.
  1080  	Id string `json:"id,omitempty"`
  1081  
  1082  	// Name: Required. The name of the container image that will run this
  1083  	// particular build step. If the image is available in the host's Docker
  1084  	// daemon's cache, it will be run directly. If not, the host will
  1085  	// attempt to pull the image first, using the builder service account's
  1086  	// credentials if necessary. The Docker daemon's cache will already have
  1087  	// the latest versions of all of the officially supported build steps
  1088  	// (https://github.com/GoogleCloudPlatform/cloud-builders
  1089  	// (https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker
  1090  	// daemon will also have cached many of the layers for some popular
  1091  	// images, like "ubuntu", "debian", but they will be refreshed at the
  1092  	// time you attempt to use them. If you built an image in a previous
  1093  	// build step, it will be stored in the host's Docker daemon's cache and
  1094  	// is available to use as the name for a later build step.
  1095  	Name string `json:"name,omitempty"`
  1096  
  1097  	// PullTiming: Output only. Stores timing information for pulling this
  1098  	// build step's builder image only.
  1099  	PullTiming *TimeSpan `json:"pullTiming,omitempty"`
  1100  
  1101  	// Script: A shell script to be executed in the step. When script is
  1102  	// provided, the user cannot specify the entrypoint or args.
  1103  	Script string `json:"script,omitempty"`
  1104  
  1105  	// SecretEnv: A list of environment variables which are encrypted using
  1106  	// a Cloud Key Management Service crypto key. These values must be
  1107  	// specified in the build's `Secret`.
  1108  	SecretEnv []string `json:"secretEnv,omitempty"`
  1109  
  1110  	// Status: Output only. Status of the build step. At this time, build
  1111  	// step status is only updated on build completion; step status is not
  1112  	// updated in real-time as the build progresses.
  1113  	//
  1114  	// Possible values:
  1115  	//   "STATUS_UNKNOWN" - Status of the build is unknown.
  1116  	//   "PENDING" - Build has been created and is pending execution and
  1117  	// queuing. It has not been queued.
  1118  	//   "QUEUED" - Build or step is queued; work has not yet begun.
  1119  	//   "WORKING" - Build or step is being executed.
  1120  	//   "SUCCESS" - Build or step finished successfully.
  1121  	//   "FAILURE" - Build or step failed to complete successfully.
  1122  	//   "INTERNAL_ERROR" - Build or step failed due to an internal cause.
  1123  	//   "TIMEOUT" - Build or step took longer than was allowed.
  1124  	//   "CANCELLED" - Build or step was canceled by a user.
  1125  	//   "EXPIRED" - Build was enqueued for longer than the value of
  1126  	// `queue_ttl`.
  1127  	Status string `json:"status,omitempty"`
  1128  
  1129  	// Timeout: Time limit for executing this build step. If not defined,
  1130  	// the step has no time limit and will be allowed to continue to run
  1131  	// until either it completes or the build itself times out.
  1132  	Timeout string `json:"timeout,omitempty"`
  1133  
  1134  	// Timing: Output only. Stores timing information for executing this
  1135  	// build step.
  1136  	Timing *TimeSpan `json:"timing,omitempty"`
  1137  
  1138  	// Volumes: List of volumes to mount into the build step. Each volume is
  1139  	// created as an empty volume prior to execution of the build step. Upon
  1140  	// completion of the build, volumes and their contents are discarded.
  1141  	// Using a named volume in only one step is not valid as it is
  1142  	// indicative of a build request with an incorrect configuration.
  1143  	Volumes []*Volume `json:"volumes,omitempty"`
  1144  
  1145  	// WaitFor: The ID(s) of the step(s) that this build step depends on.
  1146  	// This build step will not start until all the build steps in
  1147  	// `wait_for` have completed successfully. If `wait_for` is empty, this
  1148  	// build step will start when all previous build steps in the
  1149  	// `Build.Steps` list have completed successfully.
  1150  	WaitFor []string `json:"waitFor,omitempty"`
  1151  
  1152  	// ForceSendFields is a list of field names (e.g. "AllowExitCodes") to
  1153  	// unconditionally include in API requests. By default, fields with
  1154  	// empty or default values are omitted from API requests. However, any
  1155  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1156  	// sent to the server regardless of whether the field is empty or not.
  1157  	// This may be used to include empty fields in Patch requests.
  1158  	ForceSendFields []string `json:"-"`
  1159  
  1160  	// NullFields is a list of field names (e.g. "AllowExitCodes") to
  1161  	// include in API requests with the JSON null value. By default, fields
  1162  	// with empty values are omitted from API requests. However, any field
  1163  	// with an empty value appearing in NullFields will be sent to the
  1164  	// server as null. It is an error if a field in this list has a
  1165  	// non-empty value. This may be used to include null fields in Patch
  1166  	// requests.
  1167  	NullFields []string `json:"-"`
  1168  }
  1169  
  1170  func (s *BuildStep) MarshalJSON() ([]byte, error) {
  1171  	type NoMethod BuildStep
  1172  	raw := NoMethod(*s)
  1173  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1174  }
  1175  
  1176  // BuiltImage: An image built by the pipeline.
  1177  type BuiltImage struct {
  1178  	// Digest: Docker Registry 2.0 digest.
  1179  	Digest string `json:"digest,omitempty"`
  1180  
  1181  	// Name: Name used to push the container image to Google Container
  1182  	// Registry, as presented to `docker push`.
  1183  	Name string `json:"name,omitempty"`
  1184  
  1185  	// PushTiming: Output only. Stores timing information for pushing the
  1186  	// specified image.
  1187  	PushTiming *TimeSpan `json:"pushTiming,omitempty"`
  1188  
  1189  	// ForceSendFields is a list of field names (e.g. "Digest") to
  1190  	// unconditionally include in API requests. By default, fields with
  1191  	// empty or default values are omitted from API requests. However, any
  1192  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1193  	// sent to the server regardless of whether the field is empty or not.
  1194  	// This may be used to include empty fields in Patch requests.
  1195  	ForceSendFields []string `json:"-"`
  1196  
  1197  	// NullFields is a list of field names (e.g. "Digest") to include in API
  1198  	// requests with the JSON null value. By default, fields with empty
  1199  	// values are omitted from API requests. However, any field with an
  1200  	// empty value appearing in NullFields will be sent to the server as
  1201  	// null. It is an error if a field in this list has a non-empty value.
  1202  	// This may be used to include null fields in Patch requests.
  1203  	NullFields []string `json:"-"`
  1204  }
  1205  
  1206  func (s *BuiltImage) MarshalJSON() ([]byte, error) {
  1207  	type NoMethod BuiltImage
  1208  	raw := NoMethod(*s)
  1209  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1210  }
  1211  
  1212  // CancelOperationRequest: The request message for
  1213  // Operations.CancelOperation.
  1214  type CancelOperationRequest struct {
  1215  }
  1216  
  1217  // CreateBitbucketServerConfigOperationMetadata: Metadata for
  1218  // `CreateBitbucketServerConfig` operation.
  1219  type CreateBitbucketServerConfigOperationMetadata struct {
  1220  	// BitbucketServerConfig: The resource name of the BitbucketServerConfig
  1221  	// to be created. Format:
  1222  	// `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.
  1223  	BitbucketServerConfig string `json:"bitbucketServerConfig,omitempty"`
  1224  
  1225  	// CompleteTime: Time the operation was completed.
  1226  	CompleteTime string `json:"completeTime,omitempty"`
  1227  
  1228  	// CreateTime: Time the operation was created.
  1229  	CreateTime string `json:"createTime,omitempty"`
  1230  
  1231  	// ForceSendFields is a list of field names (e.g.
  1232  	// "BitbucketServerConfig") to unconditionally include in API requests.
  1233  	// By default, fields with empty or default values are omitted from API
  1234  	// requests. However, any non-pointer, non-interface field appearing in
  1235  	// ForceSendFields will be sent to the server regardless of whether the
  1236  	// field is empty or not. This may be used to include empty fields in
  1237  	// Patch requests.
  1238  	ForceSendFields []string `json:"-"`
  1239  
  1240  	// NullFields is a list of field names (e.g. "BitbucketServerConfig") to
  1241  	// include in API requests with the JSON null value. By default, fields
  1242  	// with empty values are omitted from API requests. However, any field
  1243  	// with an empty value appearing in NullFields will be sent to the
  1244  	// server as null. It is an error if a field in this list has a
  1245  	// non-empty value. This may be used to include null fields in Patch
  1246  	// requests.
  1247  	NullFields []string `json:"-"`
  1248  }
  1249  
  1250  func (s *CreateBitbucketServerConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  1251  	type NoMethod CreateBitbucketServerConfigOperationMetadata
  1252  	raw := NoMethod(*s)
  1253  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1254  }
  1255  
  1256  // CreateGitHubEnterpriseConfigOperationMetadata: Metadata for
  1257  // `CreateGithubEnterpriseConfig` operation.
  1258  type CreateGitHubEnterpriseConfigOperationMetadata struct {
  1259  	// CompleteTime: Time the operation was completed.
  1260  	CompleteTime string `json:"completeTime,omitempty"`
  1261  
  1262  	// CreateTime: Time the operation was created.
  1263  	CreateTime string `json:"createTime,omitempty"`
  1264  
  1265  	// GithubEnterpriseConfig: The resource name of the GitHubEnterprise to
  1266  	// be created. Format:
  1267  	// `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`
  1268  	// .
  1269  	GithubEnterpriseConfig string `json:"githubEnterpriseConfig,omitempty"`
  1270  
  1271  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  1272  	// unconditionally include in API requests. By default, fields with
  1273  	// empty or default values are omitted from API requests. However, any
  1274  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1275  	// sent to the server regardless of whether the field is empty or not.
  1276  	// This may be used to include empty fields in Patch requests.
  1277  	ForceSendFields []string `json:"-"`
  1278  
  1279  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  1280  	// in API requests with the JSON null value. By default, fields with
  1281  	// empty values are omitted from API requests. However, any field with
  1282  	// an empty value appearing in NullFields will be sent to the server as
  1283  	// null. It is an error if a field in this list has a non-empty value.
  1284  	// This may be used to include null fields in Patch requests.
  1285  	NullFields []string `json:"-"`
  1286  }
  1287  
  1288  func (s *CreateGitHubEnterpriseConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  1289  	type NoMethod CreateGitHubEnterpriseConfigOperationMetadata
  1290  	raw := NoMethod(*s)
  1291  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1292  }
  1293  
  1294  // CreateGitLabConfigOperationMetadata: Metadata for
  1295  // `CreateGitLabConfig` operation.
  1296  type CreateGitLabConfigOperationMetadata struct {
  1297  	// CompleteTime: Time the operation was completed.
  1298  	CompleteTime string `json:"completeTime,omitempty"`
  1299  
  1300  	// CreateTime: Time the operation was created.
  1301  	CreateTime string `json:"createTime,omitempty"`
  1302  
  1303  	// GitlabConfig: The resource name of the GitLabConfig to be created.
  1304  	// Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.
  1305  	GitlabConfig string `json:"gitlabConfig,omitempty"`
  1306  
  1307  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  1308  	// unconditionally include in API requests. By default, fields with
  1309  	// empty or default values are omitted from API requests. However, any
  1310  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1311  	// sent to the server regardless of whether the field is empty or not.
  1312  	// This may be used to include empty fields in Patch requests.
  1313  	ForceSendFields []string `json:"-"`
  1314  
  1315  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  1316  	// in API requests with the JSON null value. By default, fields with
  1317  	// empty values are omitted from API requests. However, any field with
  1318  	// an empty value appearing in NullFields will be sent to the server as
  1319  	// null. It is an error if a field in this list has a non-empty value.
  1320  	// This may be used to include null fields in Patch requests.
  1321  	NullFields []string `json:"-"`
  1322  }
  1323  
  1324  func (s *CreateGitLabConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  1325  	type NoMethod CreateGitLabConfigOperationMetadata
  1326  	raw := NoMethod(*s)
  1327  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1328  }
  1329  
  1330  // CreateWorkerPoolOperationMetadata: Metadata for the
  1331  // `CreateWorkerPool` operation.
  1332  type CreateWorkerPoolOperationMetadata struct {
  1333  	// CompleteTime: Time the operation was completed.
  1334  	CompleteTime string `json:"completeTime,omitempty"`
  1335  
  1336  	// CreateTime: Time the operation was created.
  1337  	CreateTime string `json:"createTime,omitempty"`
  1338  
  1339  	// WorkerPool: The resource name of the `WorkerPool` to create. Format:
  1340  	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
  1341  	WorkerPool string `json:"workerPool,omitempty"`
  1342  
  1343  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  1344  	// unconditionally include in API requests. By default, fields with
  1345  	// empty or default values are omitted from API requests. However, any
  1346  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1347  	// sent to the server regardless of whether the field is empty or not.
  1348  	// This may be used to include empty fields in Patch requests.
  1349  	ForceSendFields []string `json:"-"`
  1350  
  1351  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  1352  	// in API requests with the JSON null value. By default, fields with
  1353  	// empty values are omitted from API requests. However, any field with
  1354  	// an empty value appearing in NullFields will be sent to the server as
  1355  	// null. It is an error if a field in this list has a non-empty value.
  1356  	// This may be used to include null fields in Patch requests.
  1357  	NullFields []string `json:"-"`
  1358  }
  1359  
  1360  func (s *CreateWorkerPoolOperationMetadata) MarshalJSON() ([]byte, error) {
  1361  	type NoMethod CreateWorkerPoolOperationMetadata
  1362  	raw := NoMethod(*s)
  1363  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1364  }
  1365  
  1366  // DeleteBitbucketServerConfigOperationMetadata: Metadata for
  1367  // `DeleteBitbucketServerConfig` operation.
  1368  type DeleteBitbucketServerConfigOperationMetadata struct {
  1369  	// BitbucketServerConfig: The resource name of the BitbucketServerConfig
  1370  	// to be deleted. Format:
  1371  	// `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.
  1372  	BitbucketServerConfig string `json:"bitbucketServerConfig,omitempty"`
  1373  
  1374  	// CompleteTime: Time the operation was completed.
  1375  	CompleteTime string `json:"completeTime,omitempty"`
  1376  
  1377  	// CreateTime: Time the operation was created.
  1378  	CreateTime string `json:"createTime,omitempty"`
  1379  
  1380  	// ForceSendFields is a list of field names (e.g.
  1381  	// "BitbucketServerConfig") to unconditionally include in API requests.
  1382  	// By default, fields with empty or default values are omitted from API
  1383  	// requests. However, any non-pointer, non-interface field appearing in
  1384  	// ForceSendFields will be sent to the server regardless of whether the
  1385  	// field is empty or not. This may be used to include empty fields in
  1386  	// Patch requests.
  1387  	ForceSendFields []string `json:"-"`
  1388  
  1389  	// NullFields is a list of field names (e.g. "BitbucketServerConfig") to
  1390  	// include in API requests with the JSON null value. By default, fields
  1391  	// with empty values are omitted from API requests. However, any field
  1392  	// with an empty value appearing in NullFields will be sent to the
  1393  	// server as null. It is an error if a field in this list has a
  1394  	// non-empty value. This may be used to include null fields in Patch
  1395  	// requests.
  1396  	NullFields []string `json:"-"`
  1397  }
  1398  
  1399  func (s *DeleteBitbucketServerConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  1400  	type NoMethod DeleteBitbucketServerConfigOperationMetadata
  1401  	raw := NoMethod(*s)
  1402  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1403  }
  1404  
  1405  // DeleteGitHubEnterpriseConfigOperationMetadata: Metadata for
  1406  // `DeleteGitHubEnterpriseConfig` operation.
  1407  type DeleteGitHubEnterpriseConfigOperationMetadata struct {
  1408  	// CompleteTime: Time the operation was completed.
  1409  	CompleteTime string `json:"completeTime,omitempty"`
  1410  
  1411  	// CreateTime: Time the operation was created.
  1412  	CreateTime string `json:"createTime,omitempty"`
  1413  
  1414  	// GithubEnterpriseConfig: The resource name of the GitHubEnterprise to
  1415  	// be deleted. Format:
  1416  	// `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`
  1417  	// .
  1418  	GithubEnterpriseConfig string `json:"githubEnterpriseConfig,omitempty"`
  1419  
  1420  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  1421  	// unconditionally include in API requests. By default, fields with
  1422  	// empty or default values are omitted from API requests. However, any
  1423  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1424  	// sent to the server regardless of whether the field is empty or not.
  1425  	// This may be used to include empty fields in Patch requests.
  1426  	ForceSendFields []string `json:"-"`
  1427  
  1428  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  1429  	// in API requests with the JSON null value. By default, fields with
  1430  	// empty values are omitted from API requests. However, any field with
  1431  	// an empty value appearing in NullFields will be sent to the server as
  1432  	// null. It is an error if a field in this list has a non-empty value.
  1433  	// This may be used to include null fields in Patch requests.
  1434  	NullFields []string `json:"-"`
  1435  }
  1436  
  1437  func (s *DeleteGitHubEnterpriseConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  1438  	type NoMethod DeleteGitHubEnterpriseConfigOperationMetadata
  1439  	raw := NoMethod(*s)
  1440  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1441  }
  1442  
  1443  // DeleteGitLabConfigOperationMetadata: Metadata for
  1444  // `DeleteGitLabConfig` operation.
  1445  type DeleteGitLabConfigOperationMetadata struct {
  1446  	// CompleteTime: Time the operation was completed.
  1447  	CompleteTime string `json:"completeTime,omitempty"`
  1448  
  1449  	// CreateTime: Time the operation was created.
  1450  	CreateTime string `json:"createTime,omitempty"`
  1451  
  1452  	// GitlabConfig: The resource name of the GitLabConfig to be created.
  1453  	// Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.
  1454  	GitlabConfig string `json:"gitlabConfig,omitempty"`
  1455  
  1456  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  1457  	// unconditionally include in API requests. By default, fields with
  1458  	// empty or default values are omitted from API requests. However, any
  1459  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1460  	// sent to the server regardless of whether the field is empty or not.
  1461  	// This may be used to include empty fields in Patch requests.
  1462  	ForceSendFields []string `json:"-"`
  1463  
  1464  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  1465  	// in API requests with the JSON null value. By default, fields with
  1466  	// empty values are omitted from API requests. However, any field with
  1467  	// an empty value appearing in NullFields will be sent to the server as
  1468  	// null. It is an error if a field in this list has a non-empty value.
  1469  	// This may be used to include null fields in Patch requests.
  1470  	NullFields []string `json:"-"`
  1471  }
  1472  
  1473  func (s *DeleteGitLabConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  1474  	type NoMethod DeleteGitLabConfigOperationMetadata
  1475  	raw := NoMethod(*s)
  1476  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1477  }
  1478  
  1479  // DeleteWorkerPoolOperationMetadata: Metadata for the
  1480  // `DeleteWorkerPool` operation.
  1481  type DeleteWorkerPoolOperationMetadata struct {
  1482  	// CompleteTime: Time the operation was completed.
  1483  	CompleteTime string `json:"completeTime,omitempty"`
  1484  
  1485  	// CreateTime: Time the operation was created.
  1486  	CreateTime string `json:"createTime,omitempty"`
  1487  
  1488  	// WorkerPool: The resource name of the `WorkerPool` being deleted.
  1489  	// Format:
  1490  	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
  1491  	WorkerPool string `json:"workerPool,omitempty"`
  1492  
  1493  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  1494  	// unconditionally include in API requests. By default, fields with
  1495  	// empty or default values are omitted from API requests. However, any
  1496  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1497  	// sent to the server regardless of whether the field is empty or not.
  1498  	// This may be used to include empty fields in Patch requests.
  1499  	ForceSendFields []string `json:"-"`
  1500  
  1501  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  1502  	// in API requests with the JSON null value. By default, fields with
  1503  	// empty values are omitted from API requests. However, any field with
  1504  	// an empty value appearing in NullFields will be sent to the server as
  1505  	// null. It is an error if a field in this list has a non-empty value.
  1506  	// This may be used to include null fields in Patch requests.
  1507  	NullFields []string `json:"-"`
  1508  }
  1509  
  1510  func (s *DeleteWorkerPoolOperationMetadata) MarshalJSON() ([]byte, error) {
  1511  	type NoMethod DeleteWorkerPoolOperationMetadata
  1512  	raw := NoMethod(*s)
  1513  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1514  }
  1515  
  1516  // Empty: A generic empty message that you can re-use to avoid defining
  1517  // duplicated empty messages in your APIs. A typical example is to use
  1518  // it as the request or the response type of an API method. For
  1519  // instance: service Foo { rpc Bar(google.protobuf.Empty) returns
  1520  // (google.protobuf.Empty); }
  1521  type Empty struct {
  1522  	// ServerResponse contains the HTTP response code and headers from the
  1523  	// server.
  1524  	googleapi.ServerResponse `json:"-"`
  1525  }
  1526  
  1527  // FailureInfo: A fatal problem encountered during the execution of the
  1528  // build.
  1529  type FailureInfo struct {
  1530  	// Detail: Explains the failure issue in more detail using hard-coded
  1531  	// text.
  1532  	Detail string `json:"detail,omitempty"`
  1533  
  1534  	// Type: The name of the failure.
  1535  	//
  1536  	// Possible values:
  1537  	//   "FAILURE_TYPE_UNSPECIFIED" - Type unspecified
  1538  	//   "PUSH_FAILED" - Unable to push the image to the repository.
  1539  	//   "PUSH_IMAGE_NOT_FOUND" - Final image not found.
  1540  	//   "PUSH_NOT_AUTHORIZED" - Unauthorized push of the final image.
  1541  	//   "LOGGING_FAILURE" - Backend logging failures. Should retry.
  1542  	//   "USER_BUILD_STEP" - A build step has failed.
  1543  	//   "FETCH_SOURCE_FAILED" - The source fetching has failed.
  1544  	Type string `json:"type,omitempty"`
  1545  
  1546  	// ForceSendFields is a list of field names (e.g. "Detail") to
  1547  	// unconditionally include in API requests. By default, fields with
  1548  	// empty or default values are omitted from API requests. However, any
  1549  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1550  	// sent to the server regardless of whether the field is empty or not.
  1551  	// This may be used to include empty fields in Patch requests.
  1552  	ForceSendFields []string `json:"-"`
  1553  
  1554  	// NullFields is a list of field names (e.g. "Detail") to include in API
  1555  	// requests with the JSON null value. By default, fields with empty
  1556  	// values are omitted from API requests. However, any field with an
  1557  	// empty value appearing in NullFields will be sent to the server as
  1558  	// null. It is an error if a field in this list has a non-empty value.
  1559  	// This may be used to include null fields in Patch requests.
  1560  	NullFields []string `json:"-"`
  1561  }
  1562  
  1563  func (s *FailureInfo) MarshalJSON() ([]byte, error) {
  1564  	type NoMethod FailureInfo
  1565  	raw := NoMethod(*s)
  1566  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1567  }
  1568  
  1569  // FileHashes: Container message for hashes of byte content of files,
  1570  // used in SourceProvenance messages to verify integrity of source input
  1571  // to the build.
  1572  type FileHashes struct {
  1573  	// FileHash: Collection of file hashes.
  1574  	FileHash []*Hash `json:"fileHash,omitempty"`
  1575  
  1576  	// ForceSendFields is a list of field names (e.g. "FileHash") to
  1577  	// unconditionally include in API requests. By default, fields with
  1578  	// empty or default values are omitted from API requests. However, any
  1579  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1580  	// sent to the server regardless of whether the field is empty or not.
  1581  	// This may be used to include empty fields in Patch requests.
  1582  	ForceSendFields []string `json:"-"`
  1583  
  1584  	// NullFields is a list of field names (e.g. "FileHash") to include in
  1585  	// API requests with the JSON null value. By default, fields with empty
  1586  	// values are omitted from API requests. However, any field with an
  1587  	// empty value appearing in NullFields will be sent to the server as
  1588  	// null. It is an error if a field in this list has a non-empty value.
  1589  	// This may be used to include null fields in Patch requests.
  1590  	NullFields []string `json:"-"`
  1591  }
  1592  
  1593  func (s *FileHashes) MarshalJSON() ([]byte, error) {
  1594  	type NoMethod FileHashes
  1595  	raw := NoMethod(*s)
  1596  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1597  }
  1598  
  1599  // GitLabConnectedRepository: GitLabConnectedRepository represents a
  1600  // GitLab connected repository request response.
  1601  type GitLabConnectedRepository struct {
  1602  	// Parent: The name of the `GitLabConfig` that added connected
  1603  	// repository. Format:
  1604  	// `projects/{project}/locations/{location}/gitLabConfigs/{config}`
  1605  	Parent string `json:"parent,omitempty"`
  1606  
  1607  	// Repo: The GitLab repositories to connect.
  1608  	Repo *GitLabRepositoryId `json:"repo,omitempty"`
  1609  
  1610  	// Status: Output only. The status of the repo connection request.
  1611  	Status *Status `json:"status,omitempty"`
  1612  
  1613  	// ForceSendFields is a list of field names (e.g. "Parent") to
  1614  	// unconditionally include in API requests. By default, fields with
  1615  	// empty or default values are omitted from API requests. However, any
  1616  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1617  	// sent to the server regardless of whether the field is empty or not.
  1618  	// This may be used to include empty fields in Patch requests.
  1619  	ForceSendFields []string `json:"-"`
  1620  
  1621  	// NullFields is a list of field names (e.g. "Parent") to include in API
  1622  	// requests with the JSON null value. By default, fields with empty
  1623  	// values are omitted from API requests. However, any field with an
  1624  	// empty value appearing in NullFields will be sent to the server as
  1625  	// null. It is an error if a field in this list has a non-empty value.
  1626  	// This may be used to include null fields in Patch requests.
  1627  	NullFields []string `json:"-"`
  1628  }
  1629  
  1630  func (s *GitLabConnectedRepository) MarshalJSON() ([]byte, error) {
  1631  	type NoMethod GitLabConnectedRepository
  1632  	raw := NoMethod(*s)
  1633  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1634  }
  1635  
  1636  // GitLabRepositoryId: GitLabRepositoryId identifies a specific
  1637  // repository hosted on GitLab.com or GitLabEnterprise
  1638  type GitLabRepositoryId struct {
  1639  	// Id: Required. Identifier for the repository. example:
  1640  	// "namespace/project-slug", namespace is usually the username or group
  1641  	// ID
  1642  	Id string `json:"id,omitempty"`
  1643  
  1644  	// WebhookId: Output only. The ID of the webhook that was created for
  1645  	// receiving events from this repo. We only create and manage a single
  1646  	// webhook for each repo.
  1647  	WebhookId int64 `json:"webhookId,omitempty"`
  1648  
  1649  	// ForceSendFields is a list of field names (e.g. "Id") to
  1650  	// unconditionally include in API requests. By default, fields with
  1651  	// empty or default values are omitted from API requests. However, any
  1652  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1653  	// sent to the server regardless of whether the field is empty or not.
  1654  	// This may be used to include empty fields in Patch requests.
  1655  	ForceSendFields []string `json:"-"`
  1656  
  1657  	// NullFields is a list of field names (e.g. "Id") to include in API
  1658  	// requests with the JSON null value. By default, fields with empty
  1659  	// values are omitted from API requests. However, any field with an
  1660  	// empty value appearing in NullFields will be sent to the server as
  1661  	// null. It is an error if a field in this list has a non-empty value.
  1662  	// This may be used to include null fields in Patch requests.
  1663  	NullFields []string `json:"-"`
  1664  }
  1665  
  1666  func (s *GitLabRepositoryId) MarshalJSON() ([]byte, error) {
  1667  	type NoMethod GitLabRepositoryId
  1668  	raw := NoMethod(*s)
  1669  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1670  }
  1671  
  1672  // GoogleDevtoolsCloudbuildV2OperationMetadata: Represents the metadata
  1673  // of the long-running operation.
  1674  type GoogleDevtoolsCloudbuildV2OperationMetadata struct {
  1675  	// ApiVersion: Output only. API version used to start the operation.
  1676  	ApiVersion string `json:"apiVersion,omitempty"`
  1677  
  1678  	// CreateTime: Output only. The time the operation was created.
  1679  	CreateTime string `json:"createTime,omitempty"`
  1680  
  1681  	// EndTime: Output only. The time the operation finished running.
  1682  	EndTime string `json:"endTime,omitempty"`
  1683  
  1684  	// RequestedCancellation: Output only. Identifies whether the user has
  1685  	// requested cancellation of the operation. Operations that have
  1686  	// successfully been cancelled have Operation.error value with a
  1687  	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
  1688  	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
  1689  
  1690  	// StatusMessage: Output only. Human-readable status of the operation,
  1691  	// if any.
  1692  	StatusMessage string `json:"statusMessage,omitempty"`
  1693  
  1694  	// Target: Output only. Server-defined resource path for the target of
  1695  	// the operation.
  1696  	Target string `json:"target,omitempty"`
  1697  
  1698  	// Verb: Output only. Name of the verb executed by the operation.
  1699  	Verb string `json:"verb,omitempty"`
  1700  
  1701  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  1702  	// unconditionally include in API requests. By default, fields with
  1703  	// empty or default values are omitted from API requests. However, any
  1704  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1705  	// sent to the server regardless of whether the field is empty or not.
  1706  	// This may be used to include empty fields in Patch requests.
  1707  	ForceSendFields []string `json:"-"`
  1708  
  1709  	// NullFields is a list of field names (e.g. "ApiVersion") to include in
  1710  	// API requests with the JSON null value. By default, fields with empty
  1711  	// values are omitted from API requests. However, any field with an
  1712  	// empty value appearing in NullFields will be sent to the server as
  1713  	// null. It is an error if a field in this list has a non-empty value.
  1714  	// This may be used to include null fields in Patch requests.
  1715  	NullFields []string `json:"-"`
  1716  }
  1717  
  1718  func (s *GoogleDevtoolsCloudbuildV2OperationMetadata) MarshalJSON() ([]byte, error) {
  1719  	type NoMethod GoogleDevtoolsCloudbuildV2OperationMetadata
  1720  	raw := NoMethod(*s)
  1721  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1722  }
  1723  
  1724  // HTTPDelivery: HTTPDelivery is the delivery configuration for an HTTP
  1725  // notification.
  1726  type HTTPDelivery struct {
  1727  	// Uri: The URI to which JSON-containing HTTP POST requests should be
  1728  	// sent.
  1729  	Uri string `json:"uri,omitempty"`
  1730  
  1731  	// ForceSendFields is a list of field names (e.g. "Uri") to
  1732  	// unconditionally include in API requests. By default, fields with
  1733  	// empty or default values are omitted from API requests. However, any
  1734  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1735  	// sent to the server regardless of whether the field is empty or not.
  1736  	// This may be used to include empty fields in Patch requests.
  1737  	ForceSendFields []string `json:"-"`
  1738  
  1739  	// NullFields is a list of field names (e.g. "Uri") to include in API
  1740  	// requests with the JSON null value. By default, fields with empty
  1741  	// values are omitted from API requests. However, any field with an
  1742  	// empty value appearing in NullFields will be sent to the server as
  1743  	// null. It is an error if a field in this list has a non-empty value.
  1744  	// This may be used to include null fields in Patch requests.
  1745  	NullFields []string `json:"-"`
  1746  }
  1747  
  1748  func (s *HTTPDelivery) MarshalJSON() ([]byte, error) {
  1749  	type NoMethod HTTPDelivery
  1750  	raw := NoMethod(*s)
  1751  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1752  }
  1753  
  1754  // Hash: Container message for hash values.
  1755  type Hash struct {
  1756  	// Type: The type of hash that was performed.
  1757  	//
  1758  	// Possible values:
  1759  	//   "NONE" - No hash requested.
  1760  	//   "SHA256" - Use a sha256 hash.
  1761  	//   "MD5" - Use a md5 hash.
  1762  	Type string `json:"type,omitempty"`
  1763  
  1764  	// Value: The hash value.
  1765  	Value string `json:"value,omitempty"`
  1766  
  1767  	// ForceSendFields is a list of field names (e.g. "Type") to
  1768  	// unconditionally include in API requests. By default, fields with
  1769  	// empty or default values are omitted from API requests. However, any
  1770  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1771  	// sent to the server regardless of whether the field is empty or not.
  1772  	// This may be used to include empty fields in Patch requests.
  1773  	ForceSendFields []string `json:"-"`
  1774  
  1775  	// NullFields is a list of field names (e.g. "Type") to include in API
  1776  	// requests with the JSON null value. By default, fields with empty
  1777  	// values are omitted from API requests. However, any field with an
  1778  	// empty value appearing in NullFields will be sent to the server as
  1779  	// null. It is an error if a field in this list has a non-empty value.
  1780  	// This may be used to include null fields in Patch requests.
  1781  	NullFields []string `json:"-"`
  1782  }
  1783  
  1784  func (s *Hash) MarshalJSON() ([]byte, error) {
  1785  	type NoMethod Hash
  1786  	raw := NoMethod(*s)
  1787  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1788  }
  1789  
  1790  // InlineSecret: Pairs a set of secret environment variables mapped to
  1791  // encrypted values with the Cloud KMS key to use to decrypt the value.
  1792  type InlineSecret struct {
  1793  	// EnvMap: Map of environment variable name to its encrypted value.
  1794  	// Secret environment variables must be unique across all of a build's
  1795  	// secrets, and must be used by at least one build step. Values can be
  1796  	// at most 64 KB in size. There can be at most 100 secret values across
  1797  	// all of a build's secrets.
  1798  	EnvMap map[string]string `json:"envMap,omitempty"`
  1799  
  1800  	// KmsKeyName: Resource name of Cloud KMS crypto key to decrypt the
  1801  	// encrypted value. In format:
  1802  	// projects/*/locations/*/keyRings/*/cryptoKeys/*
  1803  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  1804  
  1805  	// ForceSendFields is a list of field names (e.g. "EnvMap") to
  1806  	// unconditionally include in API requests. By default, fields with
  1807  	// empty or default values are omitted from API requests. However, any
  1808  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1809  	// sent to the server regardless of whether the field is empty or not.
  1810  	// This may be used to include empty fields in Patch requests.
  1811  	ForceSendFields []string `json:"-"`
  1812  
  1813  	// NullFields is a list of field names (e.g. "EnvMap") to include in API
  1814  	// requests with the JSON null value. By default, fields with empty
  1815  	// values are omitted from API requests. However, any field with an
  1816  	// empty value appearing in NullFields will be sent to the server as
  1817  	// null. It is an error if a field in this list has a non-empty value.
  1818  	// This may be used to include null fields in Patch requests.
  1819  	NullFields []string `json:"-"`
  1820  }
  1821  
  1822  func (s *InlineSecret) MarshalJSON() ([]byte, error) {
  1823  	type NoMethod InlineSecret
  1824  	raw := NoMethod(*s)
  1825  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1826  }
  1827  
  1828  // ListWorkerPoolsResponse: Response containing existing `WorkerPools`.
  1829  type ListWorkerPoolsResponse struct {
  1830  	// WorkerPools: `WorkerPools` for the specified project.
  1831  	WorkerPools []*WorkerPool `json:"workerPools,omitempty"`
  1832  
  1833  	// ServerResponse contains the HTTP response code and headers from the
  1834  	// server.
  1835  	googleapi.ServerResponse `json:"-"`
  1836  
  1837  	// ForceSendFields is a list of field names (e.g. "WorkerPools") to
  1838  	// unconditionally include in API requests. By default, fields with
  1839  	// empty or default values are omitted from API requests. However, any
  1840  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1841  	// sent to the server regardless of whether the field is empty or not.
  1842  	// This may be used to include empty fields in Patch requests.
  1843  	ForceSendFields []string `json:"-"`
  1844  
  1845  	// NullFields is a list of field names (e.g. "WorkerPools") to include
  1846  	// in API requests with the JSON null value. By default, fields with
  1847  	// empty values are omitted from API requests. However, any field with
  1848  	// an empty value appearing in NullFields will be sent to the server as
  1849  	// null. It is an error if a field in this list has a non-empty value.
  1850  	// This may be used to include null fields in Patch requests.
  1851  	NullFields []string `json:"-"`
  1852  }
  1853  
  1854  func (s *ListWorkerPoolsResponse) MarshalJSON() ([]byte, error) {
  1855  	type NoMethod ListWorkerPoolsResponse
  1856  	raw := NoMethod(*s)
  1857  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1858  }
  1859  
  1860  // MavenArtifact: A Maven artifact to upload to Artifact Registry upon
  1861  // successful completion of all build steps.
  1862  type MavenArtifact struct {
  1863  	// ArtifactId: Maven `artifactId` value used when uploading the artifact
  1864  	// to Artifact Registry.
  1865  	ArtifactId string `json:"artifactId,omitempty"`
  1866  
  1867  	// GroupId: Maven `groupId` value used when uploading the artifact to
  1868  	// Artifact Registry.
  1869  	GroupId string `json:"groupId,omitempty"`
  1870  
  1871  	// Path: Path to an artifact in the build's workspace to be uploaded to
  1872  	// Artifact Registry. This can be either an absolute path, e.g.
  1873  	// /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path
  1874  	// from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.
  1875  	Path string `json:"path,omitempty"`
  1876  
  1877  	// Repository: Artifact Registry repository, in the form
  1878  	// "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY" Artifact in the
  1879  	// workspace specified by path will be uploaded to Artifact Registry
  1880  	// with this location as a prefix.
  1881  	Repository string `json:"repository,omitempty"`
  1882  
  1883  	// Version: Maven `version` value used when uploading the artifact to
  1884  	// Artifact Registry.
  1885  	Version string `json:"version,omitempty"`
  1886  
  1887  	// ForceSendFields is a list of field names (e.g. "ArtifactId") to
  1888  	// unconditionally include in API requests. By default, fields with
  1889  	// empty or default values are omitted from API requests. However, any
  1890  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1891  	// sent to the server regardless of whether the field is empty or not.
  1892  	// This may be used to include empty fields in Patch requests.
  1893  	ForceSendFields []string `json:"-"`
  1894  
  1895  	// NullFields is a list of field names (e.g. "ArtifactId") to include in
  1896  	// API requests with the JSON null value. By default, fields with empty
  1897  	// values are omitted from API requests. However, any field with an
  1898  	// empty value appearing in NullFields will be sent to the server as
  1899  	// null. It is an error if a field in this list has a non-empty value.
  1900  	// This may be used to include null fields in Patch requests.
  1901  	NullFields []string `json:"-"`
  1902  }
  1903  
  1904  func (s *MavenArtifact) MarshalJSON() ([]byte, error) {
  1905  	type NoMethod MavenArtifact
  1906  	raw := NoMethod(*s)
  1907  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1908  }
  1909  
  1910  // NetworkConfig: Network describes the network configuration for a
  1911  // `WorkerPool`.
  1912  type NetworkConfig struct {
  1913  	// PeeredNetwork: Required. Immutable. The network definition that the
  1914  	// workers are peered to. If this section is left empty, the workers
  1915  	// will be peered to `WorkerPool.project_id` on the service producer
  1916  	// network. Must be in the format
  1917  	// `projects/{project}/global/networks/{network}`, where `{project}` is
  1918  	// a project number, such as `12345`, and `{network}` is the name of a
  1919  	// VPC network in the project. See Understanding network configuration
  1920  	// options
  1921  	// (https://cloud.google.com/cloud-build/docs/custom-workers/set-up-custom-worker-pool-environment#understanding_the_network_configuration_options)
  1922  	PeeredNetwork string `json:"peeredNetwork,omitempty"`
  1923  
  1924  	// ForceSendFields is a list of field names (e.g. "PeeredNetwork") to
  1925  	// unconditionally include in API requests. By default, fields with
  1926  	// empty or default values are omitted from API requests. However, any
  1927  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1928  	// sent to the server regardless of whether the field is empty or not.
  1929  	// This may be used to include empty fields in Patch requests.
  1930  	ForceSendFields []string `json:"-"`
  1931  
  1932  	// NullFields is a list of field names (e.g. "PeeredNetwork") to include
  1933  	// in API requests with the JSON null value. By default, fields with
  1934  	// empty values are omitted from API requests. However, any field with
  1935  	// an empty value appearing in NullFields will be sent to the server as
  1936  	// null. It is an error if a field in this list has a non-empty value.
  1937  	// This may be used to include null fields in Patch requests.
  1938  	NullFields []string `json:"-"`
  1939  }
  1940  
  1941  func (s *NetworkConfig) MarshalJSON() ([]byte, error) {
  1942  	type NoMethod NetworkConfig
  1943  	raw := NoMethod(*s)
  1944  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1945  }
  1946  
  1947  // Notification: Notification is the container which holds the data that
  1948  // is relevant to this particular notification.
  1949  type Notification struct {
  1950  	// Filter: The filter string to use for notification filtering.
  1951  	// Currently, this is assumed to be a CEL program. See
  1952  	// https://opensource.google/projects/cel for more.
  1953  	Filter string `json:"filter,omitempty"`
  1954  
  1955  	// HttpDelivery: Configuration for HTTP delivery.
  1956  	HttpDelivery *HTTPDelivery `json:"httpDelivery,omitempty"`
  1957  
  1958  	// SlackDelivery: Configuration for Slack delivery.
  1959  	SlackDelivery *SlackDelivery `json:"slackDelivery,omitempty"`
  1960  
  1961  	// SmtpDelivery: Configuration for SMTP (email) delivery.
  1962  	SmtpDelivery *SMTPDelivery `json:"smtpDelivery,omitempty"`
  1963  
  1964  	// StructDelivery: Escape hatch for users to supply custom delivery
  1965  	// configs.
  1966  	StructDelivery googleapi.RawMessage `json:"structDelivery,omitempty"`
  1967  
  1968  	// ForceSendFields is a list of field names (e.g. "Filter") to
  1969  	// unconditionally include in API requests. By default, fields with
  1970  	// empty or default values are omitted from API requests. However, any
  1971  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1972  	// sent to the server regardless of whether the field is empty or not.
  1973  	// This may be used to include empty fields in Patch requests.
  1974  	ForceSendFields []string `json:"-"`
  1975  
  1976  	// NullFields is a list of field names (e.g. "Filter") to include in API
  1977  	// requests with the JSON null value. By default, fields with empty
  1978  	// values are omitted from API requests. However, any field with an
  1979  	// empty value appearing in NullFields will be sent to the server as
  1980  	// null. It is an error if a field in this list has a non-empty value.
  1981  	// This may be used to include null fields in Patch requests.
  1982  	NullFields []string `json:"-"`
  1983  }
  1984  
  1985  func (s *Notification) MarshalJSON() ([]byte, error) {
  1986  	type NoMethod Notification
  1987  	raw := NoMethod(*s)
  1988  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1989  }
  1990  
  1991  // NotifierConfig: NotifierConfig is the top-level configuration
  1992  // message.
  1993  type NotifierConfig struct {
  1994  	// ApiVersion: The API version of this configuration format.
  1995  	ApiVersion string `json:"apiVersion,omitempty"`
  1996  
  1997  	// Kind: The type of notifier to use (e.g. SMTPNotifier).
  1998  	Kind string `json:"kind,omitempty"`
  1999  
  2000  	// Metadata: Metadata for referring to/handling/deploying this notifier.
  2001  	Metadata *NotifierMetadata `json:"metadata,omitempty"`
  2002  
  2003  	// Spec: The actual configuration for this notifier.
  2004  	Spec *NotifierSpec `json:"spec,omitempty"`
  2005  
  2006  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  2007  	// unconditionally include in API requests. By default, fields with
  2008  	// empty or default values are omitted from API requests. However, any
  2009  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2010  	// sent to the server regardless of whether the field is empty or not.
  2011  	// This may be used to include empty fields in Patch requests.
  2012  	ForceSendFields []string `json:"-"`
  2013  
  2014  	// NullFields is a list of field names (e.g. "ApiVersion") to include in
  2015  	// API requests with the JSON null value. By default, fields with empty
  2016  	// values are omitted from API requests. However, any field with an
  2017  	// empty value appearing in NullFields will be sent to the server as
  2018  	// null. It is an error if a field in this list has a non-empty value.
  2019  	// This may be used to include null fields in Patch requests.
  2020  	NullFields []string `json:"-"`
  2021  }
  2022  
  2023  func (s *NotifierConfig) MarshalJSON() ([]byte, error) {
  2024  	type NoMethod NotifierConfig
  2025  	raw := NoMethod(*s)
  2026  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2027  }
  2028  
  2029  // NotifierMetadata: NotifierMetadata contains the data which can be
  2030  // used to reference or describe this notifier.
  2031  type NotifierMetadata struct {
  2032  	// Name: The human-readable and user-given name for the notifier. For
  2033  	// example: "repo-merge-email-notifier".
  2034  	Name string `json:"name,omitempty"`
  2035  
  2036  	// Notifier: The string representing the name and version of notifier to
  2037  	// deploy. Expected to be of the form of "/:". For example:
  2038  	// "gcr.io/my-project/notifiers/smtp:1.2.34".
  2039  	Notifier string `json:"notifier,omitempty"`
  2040  
  2041  	// ForceSendFields is a list of field names (e.g. "Name") to
  2042  	// unconditionally include in API requests. By default, fields with
  2043  	// empty or default values are omitted from API requests. However, any
  2044  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2045  	// sent to the server regardless of whether the field is empty or not.
  2046  	// This may be used to include empty fields in Patch requests.
  2047  	ForceSendFields []string `json:"-"`
  2048  
  2049  	// NullFields is a list of field names (e.g. "Name") to include in API
  2050  	// requests with the JSON null value. By default, fields with empty
  2051  	// values are omitted from API requests. However, any field with an
  2052  	// empty value appearing in NullFields will be sent to the server as
  2053  	// null. It is an error if a field in this list has a non-empty value.
  2054  	// This may be used to include null fields in Patch requests.
  2055  	NullFields []string `json:"-"`
  2056  }
  2057  
  2058  func (s *NotifierMetadata) MarshalJSON() ([]byte, error) {
  2059  	type NoMethod NotifierMetadata
  2060  	raw := NoMethod(*s)
  2061  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2062  }
  2063  
  2064  // NotifierSecret: NotifierSecret is the container that maps a secret
  2065  // name (reference) to its Google Cloud Secret Manager resource path.
  2066  type NotifierSecret struct {
  2067  	// Name: Name is the local name of the secret, such as the verbatim
  2068  	// string "my-smtp-password".
  2069  	Name string `json:"name,omitempty"`
  2070  
  2071  	// Value: Value is interpreted to be a resource path for fetching the
  2072  	// actual (versioned) secret data for this secret. For example, this
  2073  	// would be a Google Cloud Secret Manager secret version resource path
  2074  	// like: "projects/my-project/secrets/my-secret/versions/latest".
  2075  	Value string `json:"value,omitempty"`
  2076  
  2077  	// ForceSendFields is a list of field names (e.g. "Name") to
  2078  	// unconditionally include in API requests. By default, fields with
  2079  	// empty or default values are omitted from API requests. However, any
  2080  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2081  	// sent to the server regardless of whether the field is empty or not.
  2082  	// This may be used to include empty fields in Patch requests.
  2083  	ForceSendFields []string `json:"-"`
  2084  
  2085  	// NullFields is a list of field names (e.g. "Name") to include in API
  2086  	// requests with the JSON null value. By default, fields with empty
  2087  	// values are omitted from API requests. However, any field with an
  2088  	// empty value appearing in NullFields will be sent to the server as
  2089  	// null. It is an error if a field in this list has a non-empty value.
  2090  	// This may be used to include null fields in Patch requests.
  2091  	NullFields []string `json:"-"`
  2092  }
  2093  
  2094  func (s *NotifierSecret) MarshalJSON() ([]byte, error) {
  2095  	type NoMethod NotifierSecret
  2096  	raw := NoMethod(*s)
  2097  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2098  }
  2099  
  2100  // NotifierSecretRef: NotifierSecretRef contains the reference to a
  2101  // secret stored in the corresponding NotifierSpec.
  2102  type NotifierSecretRef struct {
  2103  	// SecretRef: The value of `secret_ref` should be a `name` that is
  2104  	// registered in a `Secret` in the `secrets` list of the `Spec`.
  2105  	SecretRef string `json:"secretRef,omitempty"`
  2106  
  2107  	// ForceSendFields is a list of field names (e.g. "SecretRef") to
  2108  	// unconditionally include in API requests. By default, fields with
  2109  	// empty or default values are omitted from API requests. However, any
  2110  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2111  	// sent to the server regardless of whether the field is empty or not.
  2112  	// This may be used to include empty fields in Patch requests.
  2113  	ForceSendFields []string `json:"-"`
  2114  
  2115  	// NullFields is a list of field names (e.g. "SecretRef") to include in
  2116  	// API requests with the JSON null value. By default, fields with empty
  2117  	// values are omitted from API requests. However, any field with an
  2118  	// empty value appearing in NullFields will be sent to the server as
  2119  	// null. It is an error if a field in this list has a non-empty value.
  2120  	// This may be used to include null fields in Patch requests.
  2121  	NullFields []string `json:"-"`
  2122  }
  2123  
  2124  func (s *NotifierSecretRef) MarshalJSON() ([]byte, error) {
  2125  	type NoMethod NotifierSecretRef
  2126  	raw := NoMethod(*s)
  2127  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2128  }
  2129  
  2130  // NotifierSpec: NotifierSpec is the configuration container for
  2131  // notifications.
  2132  type NotifierSpec struct {
  2133  	// Notification: The configuration of this particular notifier.
  2134  	Notification *Notification `json:"notification,omitempty"`
  2135  
  2136  	// Secrets: Configurations for secret resources used by this particular
  2137  	// notifier.
  2138  	Secrets []*NotifierSecret `json:"secrets,omitempty"`
  2139  
  2140  	// ForceSendFields is a list of field names (e.g. "Notification") to
  2141  	// unconditionally include in API requests. By default, fields with
  2142  	// empty or default values are omitted from API requests. However, any
  2143  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2144  	// sent to the server regardless of whether the field is empty or not.
  2145  	// This may be used to include empty fields in Patch requests.
  2146  	ForceSendFields []string `json:"-"`
  2147  
  2148  	// NullFields is a list of field names (e.g. "Notification") to include
  2149  	// in API requests with the JSON null value. By default, fields with
  2150  	// empty values are omitted from API requests. However, any field with
  2151  	// an empty value appearing in NullFields will be sent to the server as
  2152  	// null. It is an error if a field in this list has a non-empty value.
  2153  	// This may be used to include null fields in Patch requests.
  2154  	NullFields []string `json:"-"`
  2155  }
  2156  
  2157  func (s *NotifierSpec) MarshalJSON() ([]byte, error) {
  2158  	type NoMethod NotifierSpec
  2159  	raw := NoMethod(*s)
  2160  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2161  }
  2162  
  2163  // Operation: This resource represents a long-running operation that is
  2164  // the result of a network API call.
  2165  type Operation struct {
  2166  	// Done: If the value is `false`, it means the operation is still in
  2167  	// progress. If `true`, the operation is completed, and either `error`
  2168  	// or `response` is available.
  2169  	Done bool `json:"done,omitempty"`
  2170  
  2171  	// Error: The error result of the operation in case of failure or
  2172  	// cancellation.
  2173  	Error *Status `json:"error,omitempty"`
  2174  
  2175  	// Metadata: Service-specific metadata associated with the operation. It
  2176  	// typically contains progress information and common metadata such as
  2177  	// create time. Some services might not provide such metadata. Any
  2178  	// method that returns a long-running operation should document the
  2179  	// metadata type, if any.
  2180  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2181  
  2182  	// Name: The server-assigned name, which is only unique within the same
  2183  	// service that originally returns it. If you use the default HTTP
  2184  	// mapping, the `name` should be a resource name ending with
  2185  	// `operations/{unique_id}`.
  2186  	Name string `json:"name,omitempty"`
  2187  
  2188  	// Response: The normal response of the operation in case of success. If
  2189  	// the original method returns no data on success, such as `Delete`, the
  2190  	// response is `google.protobuf.Empty`. If the original method is
  2191  	// standard `Get`/`Create`/`Update`, the response should be the
  2192  	// resource. For other methods, the response should have the type
  2193  	// `XxxResponse`, where `Xxx` is the original method name. For example,
  2194  	// if the original method name is `TakeSnapshot()`, the inferred
  2195  	// response type is `TakeSnapshotResponse`.
  2196  	Response googleapi.RawMessage `json:"response,omitempty"`
  2197  
  2198  	// ServerResponse contains the HTTP response code and headers from the
  2199  	// server.
  2200  	googleapi.ServerResponse `json:"-"`
  2201  
  2202  	// ForceSendFields is a list of field names (e.g. "Done") to
  2203  	// unconditionally include in API requests. By default, fields with
  2204  	// empty or default values are omitted from API requests. However, any
  2205  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2206  	// sent to the server regardless of whether the field is empty or not.
  2207  	// This may be used to include empty fields in Patch requests.
  2208  	ForceSendFields []string `json:"-"`
  2209  
  2210  	// NullFields is a list of field names (e.g. "Done") to include in API
  2211  	// requests with the JSON null value. By default, fields with empty
  2212  	// values are omitted from API requests. However, any field with an
  2213  	// empty value appearing in NullFields will be sent to the server as
  2214  	// null. It is an error if a field in this list has a non-empty value.
  2215  	// This may be used to include null fields in Patch requests.
  2216  	NullFields []string `json:"-"`
  2217  }
  2218  
  2219  func (s *Operation) MarshalJSON() ([]byte, error) {
  2220  	type NoMethod Operation
  2221  	raw := NoMethod(*s)
  2222  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2223  }
  2224  
  2225  // OperationMetadata: Represents the metadata of the long-running
  2226  // operation.
  2227  type OperationMetadata struct {
  2228  	// ApiVersion: Output only. API version used to start the operation.
  2229  	ApiVersion string `json:"apiVersion,omitempty"`
  2230  
  2231  	// CancelRequested: Output only. Identifies whether the user has
  2232  	// requested cancellation of the operation. Operations that have been
  2233  	// cancelled successfully have Operation.error value with a
  2234  	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
  2235  	CancelRequested bool `json:"cancelRequested,omitempty"`
  2236  
  2237  	// CreateTime: Output only. The time the operation was created.
  2238  	CreateTime string `json:"createTime,omitempty"`
  2239  
  2240  	// EndTime: Output only. The time the operation finished running.
  2241  	EndTime string `json:"endTime,omitempty"`
  2242  
  2243  	// StatusDetail: Output only. Human-readable status of the operation, if
  2244  	// any.
  2245  	StatusDetail string `json:"statusDetail,omitempty"`
  2246  
  2247  	// Target: Output only. Server-defined resource path for the target of
  2248  	// the operation.
  2249  	Target string `json:"target,omitempty"`
  2250  
  2251  	// Verb: Output only. Name of the verb executed by the operation.
  2252  	Verb string `json:"verb,omitempty"`
  2253  
  2254  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  2255  	// unconditionally include in API requests. By default, fields with
  2256  	// empty or default values are omitted from API requests. However, any
  2257  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2258  	// sent to the server regardless of whether the field is empty or not.
  2259  	// This may be used to include empty fields in Patch requests.
  2260  	ForceSendFields []string `json:"-"`
  2261  
  2262  	// NullFields is a list of field names (e.g. "ApiVersion") to include in
  2263  	// API requests with the JSON null value. By default, fields with empty
  2264  	// values are omitted from API requests. However, any field with an
  2265  	// empty value appearing in NullFields will be sent to the server as
  2266  	// null. It is an error if a field in this list has a non-empty value.
  2267  	// This may be used to include null fields in Patch requests.
  2268  	NullFields []string `json:"-"`
  2269  }
  2270  
  2271  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  2272  	type NoMethod OperationMetadata
  2273  	raw := NoMethod(*s)
  2274  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2275  }
  2276  
  2277  // PoolOption: Details about how a build should be executed on a
  2278  // `WorkerPool`. See running builds in a private pool
  2279  // (https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
  2280  // for more information.
  2281  type PoolOption struct {
  2282  	// Name: The `WorkerPool` resource to execute the build on. You must
  2283  	// have `cloudbuild.workerpools.use` on the project hosting the
  2284  	// WorkerPool. Format
  2285  	// projects/{project}/locations/{location}/workerPools/{workerPoolId}
  2286  	Name string `json:"name,omitempty"`
  2287  
  2288  	// ForceSendFields is a list of field names (e.g. "Name") to
  2289  	// unconditionally include in API requests. By default, fields with
  2290  	// empty or default values are omitted from API requests. However, any
  2291  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2292  	// sent to the server regardless of whether the field is empty or not.
  2293  	// This may be used to include empty fields in Patch requests.
  2294  	ForceSendFields []string `json:"-"`
  2295  
  2296  	// NullFields is a list of field names (e.g. "Name") to include in API
  2297  	// requests with the JSON null value. By default, fields with empty
  2298  	// values are omitted from API requests. However, any field with an
  2299  	// empty value appearing in NullFields will be sent to the server as
  2300  	// null. It is an error if a field in this list has a non-empty value.
  2301  	// This may be used to include null fields in Patch requests.
  2302  	NullFields []string `json:"-"`
  2303  }
  2304  
  2305  func (s *PoolOption) MarshalJSON() ([]byte, error) {
  2306  	type NoMethod PoolOption
  2307  	raw := NoMethod(*s)
  2308  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2309  }
  2310  
  2311  // ProcessAppManifestCallbackOperationMetadata: Metadata for
  2312  // `ProcessAppManifestCallback` operation.
  2313  type ProcessAppManifestCallbackOperationMetadata struct {
  2314  	// CompleteTime: Time the operation was completed.
  2315  	CompleteTime string `json:"completeTime,omitempty"`
  2316  
  2317  	// CreateTime: Time the operation was created.
  2318  	CreateTime string `json:"createTime,omitempty"`
  2319  
  2320  	// GithubEnterpriseConfig: The resource name of the GitHubEnterprise to
  2321  	// be created. Format:
  2322  	// `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`
  2323  	// .
  2324  	GithubEnterpriseConfig string `json:"githubEnterpriseConfig,omitempty"`
  2325  
  2326  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  2327  	// unconditionally include in API requests. By default, fields with
  2328  	// empty or default values are omitted from API requests. However, any
  2329  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2330  	// sent to the server regardless of whether the field is empty or not.
  2331  	// This may be used to include empty fields in Patch requests.
  2332  	ForceSendFields []string `json:"-"`
  2333  
  2334  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  2335  	// in API requests with the JSON null value. By default, fields with
  2336  	// empty values are omitted from API requests. However, any field with
  2337  	// an empty value appearing in NullFields will be sent to the server as
  2338  	// null. It is an error if a field in this list has a non-empty value.
  2339  	// This may be used to include null fields in Patch requests.
  2340  	NullFields []string `json:"-"`
  2341  }
  2342  
  2343  func (s *ProcessAppManifestCallbackOperationMetadata) MarshalJSON() ([]byte, error) {
  2344  	type NoMethod ProcessAppManifestCallbackOperationMetadata
  2345  	raw := NoMethod(*s)
  2346  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2347  }
  2348  
  2349  // PythonPackage: Python package to upload to Artifact Registry upon
  2350  // successful completion of all build steps. A package can encapsulate
  2351  // multiple objects to be uploaded to a single repository.
  2352  type PythonPackage struct {
  2353  	// Paths: Path globs used to match files in the build's workspace. For
  2354  	// Python/ Twine, this is usually `dist/*`, and sometimes additionally
  2355  	// an `.asc` file.
  2356  	Paths []string `json:"paths,omitempty"`
  2357  
  2358  	// Repository: Artifact Registry repository, in the form
  2359  	// "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY" Files in the
  2360  	// workspace matching any path pattern will be uploaded to Artifact
  2361  	// Registry with this location as a prefix.
  2362  	Repository string `json:"repository,omitempty"`
  2363  
  2364  	// ForceSendFields is a list of field names (e.g. "Paths") to
  2365  	// unconditionally include in API requests. By default, fields with
  2366  	// empty or default values are omitted from API requests. However, any
  2367  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2368  	// sent to the server regardless of whether the field is empty or not.
  2369  	// This may be used to include empty fields in Patch requests.
  2370  	ForceSendFields []string `json:"-"`
  2371  
  2372  	// NullFields is a list of field names (e.g. "Paths") to include in API
  2373  	// requests with the JSON null value. By default, fields with empty
  2374  	// values are omitted from API requests. However, any field with an
  2375  	// empty value appearing in NullFields will be sent to the server as
  2376  	// null. It is an error if a field in this list has a non-empty value.
  2377  	// This may be used to include null fields in Patch requests.
  2378  	NullFields []string `json:"-"`
  2379  }
  2380  
  2381  func (s *PythonPackage) MarshalJSON() ([]byte, error) {
  2382  	type NoMethod PythonPackage
  2383  	raw := NoMethod(*s)
  2384  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2385  }
  2386  
  2387  // RepoSource: Location of the source in a Google Cloud Source
  2388  // Repository.
  2389  type RepoSource struct {
  2390  	// BranchName: Regex matching branches to build. The syntax of the
  2391  	// regular expressions accepted is the syntax accepted by RE2 and
  2392  	// described at https://github.com/google/re2/wiki/Syntax
  2393  	BranchName string `json:"branchName,omitempty"`
  2394  
  2395  	// CommitSha: Explicit commit SHA to build.
  2396  	CommitSha string `json:"commitSha,omitempty"`
  2397  
  2398  	// Dir: Directory, relative to the source root, in which to run the
  2399  	// build. This must be a relative path. If a step's `dir` is specified
  2400  	// and is an absolute path, this value is ignored for that step's
  2401  	// execution.
  2402  	Dir string `json:"dir,omitempty"`
  2403  
  2404  	// InvertRegex: Only trigger a build if the revision regex does NOT
  2405  	// match the revision regex.
  2406  	InvertRegex bool `json:"invertRegex,omitempty"`
  2407  
  2408  	// ProjectId: ID of the project that owns the Cloud Source Repository.
  2409  	// If omitted, the project ID requesting the build is assumed.
  2410  	ProjectId string `json:"projectId,omitempty"`
  2411  
  2412  	// RepoName: Name of the Cloud Source Repository.
  2413  	RepoName string `json:"repoName,omitempty"`
  2414  
  2415  	// Substitutions: Substitutions to use in a triggered build. Should only
  2416  	// be used with RunBuildTrigger
  2417  	Substitutions map[string]string `json:"substitutions,omitempty"`
  2418  
  2419  	// TagName: Regex matching tags to build. The syntax of the regular
  2420  	// expressions accepted is the syntax accepted by RE2 and described at
  2421  	// https://github.com/google/re2/wiki/Syntax
  2422  	TagName string `json:"tagName,omitempty"`
  2423  
  2424  	// ForceSendFields is a list of field names (e.g. "BranchName") to
  2425  	// unconditionally include in API requests. By default, fields with
  2426  	// empty or default values are omitted from API requests. However, any
  2427  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2428  	// sent to the server regardless of whether the field is empty or not.
  2429  	// This may be used to include empty fields in Patch requests.
  2430  	ForceSendFields []string `json:"-"`
  2431  
  2432  	// NullFields is a list of field names (e.g. "BranchName") to include in
  2433  	// API requests with the JSON null value. By default, fields with empty
  2434  	// values are omitted from API requests. However, any field with an
  2435  	// empty value appearing in NullFields will be sent to the server as
  2436  	// null. It is an error if a field in this list has a non-empty value.
  2437  	// This may be used to include null fields in Patch requests.
  2438  	NullFields []string `json:"-"`
  2439  }
  2440  
  2441  func (s *RepoSource) MarshalJSON() ([]byte, error) {
  2442  	type NoMethod RepoSource
  2443  	raw := NoMethod(*s)
  2444  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2445  }
  2446  
  2447  // Repository: A repository associated to a parent connection.
  2448  type Repository struct {
  2449  	// Annotations: Allows clients to store small amounts of arbitrary data.
  2450  	Annotations map[string]string `json:"annotations,omitempty"`
  2451  
  2452  	// CreateTime: Output only. Server assigned timestamp for when the
  2453  	// connection was created.
  2454  	CreateTime string `json:"createTime,omitempty"`
  2455  
  2456  	// Etag: This checksum is computed by the server based on the value of
  2457  	// other fields, and may be sent on update and delete requests to ensure
  2458  	// the client has an up-to-date value before proceeding.
  2459  	Etag string `json:"etag,omitempty"`
  2460  
  2461  	// Name: Immutable. Resource name of the repository, in the format
  2462  	// `projects/*/locations/*/connections/*/repositories/*`.
  2463  	Name string `json:"name,omitempty"`
  2464  
  2465  	// RemoteUri: Required. Git Clone HTTPS URI.
  2466  	RemoteUri string `json:"remoteUri,omitempty"`
  2467  
  2468  	// UpdateTime: Output only. Server assigned timestamp for when the
  2469  	// connection was updated.
  2470  	UpdateTime string `json:"updateTime,omitempty"`
  2471  
  2472  	// ForceSendFields is a list of field names (e.g. "Annotations") to
  2473  	// unconditionally include in API requests. By default, fields with
  2474  	// empty or default values are omitted from API requests. However, any
  2475  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2476  	// sent to the server regardless of whether the field is empty or not.
  2477  	// This may be used to include empty fields in Patch requests.
  2478  	ForceSendFields []string `json:"-"`
  2479  
  2480  	// NullFields is a list of field names (e.g. "Annotations") to include
  2481  	// in API requests with the JSON null value. By default, fields with
  2482  	// empty values are omitted from API requests. However, any field with
  2483  	// an empty value appearing in NullFields will be sent to the server as
  2484  	// null. It is an error if a field in this list has a non-empty value.
  2485  	// This may be used to include null fields in Patch requests.
  2486  	NullFields []string `json:"-"`
  2487  }
  2488  
  2489  func (s *Repository) MarshalJSON() ([]byte, error) {
  2490  	type NoMethod Repository
  2491  	raw := NoMethod(*s)
  2492  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2493  }
  2494  
  2495  // Results: Artifacts created by the build pipeline.
  2496  type Results struct {
  2497  	// ArtifactManifest: Path to the artifact manifest for non-container
  2498  	// artifacts uploaded to Cloud Storage. Only populated when artifacts
  2499  	// are uploaded to Cloud Storage.
  2500  	ArtifactManifest string `json:"artifactManifest,omitempty"`
  2501  
  2502  	// ArtifactTiming: Time to push all non-container artifacts to Cloud
  2503  	// Storage.
  2504  	ArtifactTiming *TimeSpan `json:"artifactTiming,omitempty"`
  2505  
  2506  	// BuildStepImages: List of build step digests, in the order
  2507  	// corresponding to build step indices.
  2508  	BuildStepImages []string `json:"buildStepImages,omitempty"`
  2509  
  2510  	// BuildStepOutputs: List of build step outputs, produced by builder
  2511  	// images, in the order corresponding to build step indices. Cloud
  2512  	// Builders (https://cloud.google.com/cloud-build/docs/cloud-builders)
  2513  	// can produce this output by writing to `$BUILDER_OUTPUT/output`. Only
  2514  	// the first 4KB of data is stored.
  2515  	BuildStepOutputs []string `json:"buildStepOutputs,omitempty"`
  2516  
  2517  	// Images: Container images that were built as a part of the build.
  2518  	Images []*BuiltImage `json:"images,omitempty"`
  2519  
  2520  	// MavenArtifacts: Maven artifacts uploaded to Artifact Registry at the
  2521  	// end of the build.
  2522  	MavenArtifacts []*UploadedMavenArtifact `json:"mavenArtifacts,omitempty"`
  2523  
  2524  	// NumArtifacts: Number of non-container artifacts uploaded to Cloud
  2525  	// Storage. Only populated when artifacts are uploaded to Cloud Storage.
  2526  	NumArtifacts int64 `json:"numArtifacts,omitempty,string"`
  2527  
  2528  	// PythonPackages: Python artifacts uploaded to Artifact Registry at the
  2529  	// end of the build.
  2530  	PythonPackages []*UploadedPythonPackage `json:"pythonPackages,omitempty"`
  2531  
  2532  	// ForceSendFields is a list of field names (e.g. "ArtifactManifest") to
  2533  	// unconditionally include in API requests. By default, fields with
  2534  	// empty or default values are omitted from API requests. However, any
  2535  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2536  	// sent to the server regardless of whether the field is empty or not.
  2537  	// This may be used to include empty fields in Patch requests.
  2538  	ForceSendFields []string `json:"-"`
  2539  
  2540  	// NullFields is a list of field names (e.g. "ArtifactManifest") to
  2541  	// include in API requests with the JSON null value. By default, fields
  2542  	// with empty values are omitted from API requests. However, any field
  2543  	// with an empty value appearing in NullFields will be sent to the
  2544  	// server as null. It is an error if a field in this list has a
  2545  	// non-empty value. This may be used to include null fields in Patch
  2546  	// requests.
  2547  	NullFields []string `json:"-"`
  2548  }
  2549  
  2550  func (s *Results) MarshalJSON() ([]byte, error) {
  2551  	type NoMethod Results
  2552  	raw := NoMethod(*s)
  2553  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2554  }
  2555  
  2556  // RunWorkflowCustomOperationMetadata: Represents the custom metadata of
  2557  // the RunWorkflow long-running operation.
  2558  type RunWorkflowCustomOperationMetadata struct {
  2559  	// ApiVersion: Output only. API version used to start the operation.
  2560  	ApiVersion string `json:"apiVersion,omitempty"`
  2561  
  2562  	// CreateTime: Output only. The time the operation was created.
  2563  	CreateTime string `json:"createTime,omitempty"`
  2564  
  2565  	// EndTime: Output only. The time the operation finished running.
  2566  	EndTime string `json:"endTime,omitempty"`
  2567  
  2568  	// PipelineRunId: Output only. ID of the pipeline run created by
  2569  	// RunWorkflow.
  2570  	PipelineRunId string `json:"pipelineRunId,omitempty"`
  2571  
  2572  	// RequestedCancellation: Output only. Identifies whether the user has
  2573  	// requested cancellation of the operation. Operations that have
  2574  	// successfully been cancelled have Operation.error value with a
  2575  	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
  2576  	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
  2577  
  2578  	// Target: Output only. Server-defined resource path for the target of
  2579  	// the operation.
  2580  	Target string `json:"target,omitempty"`
  2581  
  2582  	// Verb: Output only. Name of the verb executed by the operation.
  2583  	Verb string `json:"verb,omitempty"`
  2584  
  2585  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  2586  	// unconditionally include in API requests. By default, fields with
  2587  	// empty or default values are omitted from API requests. However, any
  2588  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2589  	// sent to the server regardless of whether the field is empty or not.
  2590  	// This may be used to include empty fields in Patch requests.
  2591  	ForceSendFields []string `json:"-"`
  2592  
  2593  	// NullFields is a list of field names (e.g. "ApiVersion") to include in
  2594  	// API requests with the JSON null value. By default, fields with empty
  2595  	// values are omitted from API requests. However, any field with an
  2596  	// empty value appearing in NullFields will be sent to the server as
  2597  	// null. It is an error if a field in this list has a non-empty value.
  2598  	// This may be used to include null fields in Patch requests.
  2599  	NullFields []string `json:"-"`
  2600  }
  2601  
  2602  func (s *RunWorkflowCustomOperationMetadata) MarshalJSON() ([]byte, error) {
  2603  	type NoMethod RunWorkflowCustomOperationMetadata
  2604  	raw := NoMethod(*s)
  2605  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2606  }
  2607  
  2608  // SMTPDelivery: SMTPDelivery is the delivery configuration for an SMTP
  2609  // (email) notification.
  2610  type SMTPDelivery struct {
  2611  	// FromAddress: This is the SMTP account/email that appears in the
  2612  	// `From:` of the email. If empty, it is assumed to be sender.
  2613  	FromAddress string `json:"fromAddress,omitempty"`
  2614  
  2615  	// Password: The SMTP sender's password.
  2616  	Password *NotifierSecretRef `json:"password,omitempty"`
  2617  
  2618  	// Port: The SMTP port of the server.
  2619  	Port string `json:"port,omitempty"`
  2620  
  2621  	// RecipientAddresses: This is the list of addresses to which we send
  2622  	// the email (i.e. in the `To:` of the email).
  2623  	RecipientAddresses []string `json:"recipientAddresses,omitempty"`
  2624  
  2625  	// SenderAddress: This is the SMTP account/email that is used to send
  2626  	// the message.
  2627  	SenderAddress string `json:"senderAddress,omitempty"`
  2628  
  2629  	// Server: The address of the SMTP server.
  2630  	Server string `json:"server,omitempty"`
  2631  
  2632  	// ForceSendFields is a list of field names (e.g. "FromAddress") to
  2633  	// unconditionally include in API requests. By default, fields with
  2634  	// empty or default values are omitted from API requests. However, any
  2635  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2636  	// sent to the server regardless of whether the field is empty or not.
  2637  	// This may be used to include empty fields in Patch requests.
  2638  	ForceSendFields []string `json:"-"`
  2639  
  2640  	// NullFields is a list of field names (e.g. "FromAddress") to include
  2641  	// in API requests with the JSON null value. By default, fields with
  2642  	// empty values are omitted from API requests. However, any field with
  2643  	// an empty value appearing in NullFields will be sent to the server as
  2644  	// null. It is an error if a field in this list has a non-empty value.
  2645  	// This may be used to include null fields in Patch requests.
  2646  	NullFields []string `json:"-"`
  2647  }
  2648  
  2649  func (s *SMTPDelivery) MarshalJSON() ([]byte, error) {
  2650  	type NoMethod SMTPDelivery
  2651  	raw := NoMethod(*s)
  2652  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2653  }
  2654  
  2655  // Secret: Pairs a set of secret environment variables containing
  2656  // encrypted values with the Cloud KMS key to use to decrypt the value.
  2657  // Note: Use `kmsKeyName` with `available_secrets` instead of using
  2658  // `kmsKeyName` with `secret`. For instructions see:
  2659  // https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.
  2660  type Secret struct {
  2661  	// KmsKeyName: Cloud KMS key name to use to decrypt these envs.
  2662  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  2663  
  2664  	// SecretEnv: Map of environment variable name to its encrypted value.
  2665  	// Secret environment variables must be unique across all of a build's
  2666  	// secrets, and must be used by at least one build step. Values can be
  2667  	// at most 64 KB in size. There can be at most 100 secret values across
  2668  	// all of a build's secrets.
  2669  	SecretEnv map[string]string `json:"secretEnv,omitempty"`
  2670  
  2671  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
  2672  	// unconditionally include in API requests. By default, fields with
  2673  	// empty or default values are omitted from API requests. However, any
  2674  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2675  	// sent to the server regardless of whether the field is empty or not.
  2676  	// This may be used to include empty fields in Patch requests.
  2677  	ForceSendFields []string `json:"-"`
  2678  
  2679  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in
  2680  	// API requests with the JSON null value. By default, fields with empty
  2681  	// values are omitted from API requests. However, any field with an
  2682  	// empty value appearing in NullFields will be sent to the server as
  2683  	// null. It is an error if a field in this list has a non-empty value.
  2684  	// This may be used to include null fields in Patch requests.
  2685  	NullFields []string `json:"-"`
  2686  }
  2687  
  2688  func (s *Secret) MarshalJSON() ([]byte, error) {
  2689  	type NoMethod Secret
  2690  	raw := NoMethod(*s)
  2691  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2692  }
  2693  
  2694  // SecretManagerSecret: Pairs a secret environment variable with a
  2695  // SecretVersion in Secret Manager.
  2696  type SecretManagerSecret struct {
  2697  	// Env: Environment variable name to associate with the secret. Secret
  2698  	// environment variables must be unique across all of a build's secrets,
  2699  	// and must be used by at least one build step.
  2700  	Env string `json:"env,omitempty"`
  2701  
  2702  	// VersionName: Resource name of the SecretVersion. In format:
  2703  	// projects/*/secrets/*/versions/*
  2704  	VersionName string `json:"versionName,omitempty"`
  2705  
  2706  	// ForceSendFields is a list of field names (e.g. "Env") to
  2707  	// unconditionally include in API requests. By default, fields with
  2708  	// empty or default values are omitted from API requests. However, any
  2709  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2710  	// sent to the server regardless of whether the field is empty or not.
  2711  	// This may be used to include empty fields in Patch requests.
  2712  	ForceSendFields []string `json:"-"`
  2713  
  2714  	// NullFields is a list of field names (e.g. "Env") to include in API
  2715  	// requests with the JSON null value. By default, fields with empty
  2716  	// values are omitted from API requests. However, any field with an
  2717  	// empty value appearing in NullFields will be sent to the server as
  2718  	// null. It is an error if a field in this list has a non-empty value.
  2719  	// This may be used to include null fields in Patch requests.
  2720  	NullFields []string `json:"-"`
  2721  }
  2722  
  2723  func (s *SecretManagerSecret) MarshalJSON() ([]byte, error) {
  2724  	type NoMethod SecretManagerSecret
  2725  	raw := NoMethod(*s)
  2726  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2727  }
  2728  
  2729  // Secrets: Secrets and secret environment variables.
  2730  type Secrets struct {
  2731  	// Inline: Secrets encrypted with KMS key and the associated secret
  2732  	// environment variable.
  2733  	Inline []*InlineSecret `json:"inline,omitempty"`
  2734  
  2735  	// SecretManager: Secrets in Secret Manager and associated secret
  2736  	// environment variable.
  2737  	SecretManager []*SecretManagerSecret `json:"secretManager,omitempty"`
  2738  
  2739  	// ForceSendFields is a list of field names (e.g. "Inline") to
  2740  	// unconditionally include in API requests. By default, fields with
  2741  	// empty or default values are omitted from API requests. However, any
  2742  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2743  	// sent to the server regardless of whether the field is empty or not.
  2744  	// This may be used to include empty fields in Patch requests.
  2745  	ForceSendFields []string `json:"-"`
  2746  
  2747  	// NullFields is a list of field names (e.g. "Inline") to include in API
  2748  	// requests with the JSON null value. By default, fields with empty
  2749  	// values are omitted from API requests. However, any field with an
  2750  	// empty value appearing in NullFields will be sent to the server as
  2751  	// null. It is an error if a field in this list has a non-empty value.
  2752  	// This may be used to include null fields in Patch requests.
  2753  	NullFields []string `json:"-"`
  2754  }
  2755  
  2756  func (s *Secrets) MarshalJSON() ([]byte, error) {
  2757  	type NoMethod Secrets
  2758  	raw := NoMethod(*s)
  2759  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2760  }
  2761  
  2762  // SlackDelivery: SlackDelivery is the delivery configuration for
  2763  // delivering Slack messages via webhooks. See Slack webhook
  2764  // documentation at: https://api.slack.com/messaging/webhooks.
  2765  type SlackDelivery struct {
  2766  	// WebhookUri: The secret reference for the Slack webhook URI for
  2767  	// sending messages to a channel.
  2768  	WebhookUri *NotifierSecretRef `json:"webhookUri,omitempty"`
  2769  
  2770  	// ForceSendFields is a list of field names (e.g. "WebhookUri") to
  2771  	// unconditionally include in API requests. By default, fields with
  2772  	// empty or default values are omitted from API requests. However, any
  2773  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2774  	// sent to the server regardless of whether the field is empty or not.
  2775  	// This may be used to include empty fields in Patch requests.
  2776  	ForceSendFields []string `json:"-"`
  2777  
  2778  	// NullFields is a list of field names (e.g. "WebhookUri") to include in
  2779  	// API requests with the JSON null value. By default, fields with empty
  2780  	// values are omitted from API requests. However, any field with an
  2781  	// empty value appearing in NullFields will be sent to the server as
  2782  	// null. It is an error if a field in this list has a non-empty value.
  2783  	// This may be used to include null fields in Patch requests.
  2784  	NullFields []string `json:"-"`
  2785  }
  2786  
  2787  func (s *SlackDelivery) MarshalJSON() ([]byte, error) {
  2788  	type NoMethod SlackDelivery
  2789  	raw := NoMethod(*s)
  2790  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2791  }
  2792  
  2793  // Source: Location of the source in a supported storage service.
  2794  type Source struct {
  2795  	// RepoSource: If provided, get the source from this location in a Cloud
  2796  	// Source Repository.
  2797  	RepoSource *RepoSource `json:"repoSource,omitempty"`
  2798  
  2799  	// StorageSource: If provided, get the source from this location in
  2800  	// Google Cloud Storage.
  2801  	StorageSource *StorageSource `json:"storageSource,omitempty"`
  2802  
  2803  	// StorageSourceManifest: If provided, get the source from this manifest
  2804  	// in Google Cloud Storage. This feature is in Preview; see description
  2805  	// here
  2806  	// (https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
  2807  	StorageSourceManifest *StorageSourceManifest `json:"storageSourceManifest,omitempty"`
  2808  
  2809  	// ForceSendFields is a list of field names (e.g. "RepoSource") to
  2810  	// unconditionally include in API requests. By default, fields with
  2811  	// empty or default values are omitted from API requests. However, any
  2812  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2813  	// sent to the server regardless of whether the field is empty or not.
  2814  	// This may be used to include empty fields in Patch requests.
  2815  	ForceSendFields []string `json:"-"`
  2816  
  2817  	// NullFields is a list of field names (e.g. "RepoSource") to include in
  2818  	// API requests with the JSON null value. By default, fields with empty
  2819  	// values are omitted from API requests. However, any field with an
  2820  	// empty value appearing in NullFields will be sent to the server as
  2821  	// null. It is an error if a field in this list has a non-empty value.
  2822  	// This may be used to include null fields in Patch requests.
  2823  	NullFields []string `json:"-"`
  2824  }
  2825  
  2826  func (s *Source) MarshalJSON() ([]byte, error) {
  2827  	type NoMethod Source
  2828  	raw := NoMethod(*s)
  2829  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2830  }
  2831  
  2832  // SourceProvenance: Provenance of the source. Ways to find the original
  2833  // source, or verify that some source was used for this build.
  2834  type SourceProvenance struct {
  2835  	// FileHashes: Output only. Hash(es) of the build source, which can be
  2836  	// used to verify that the original source integrity was maintained in
  2837  	// the build. Note that `FileHashes` will only be populated if
  2838  	// `BuildOptions` has requested a `SourceProvenanceHash`. The keys to
  2839  	// this map are file paths used as build source and the values contain
  2840  	// the hash values for those files. If the build source came in a single
  2841  	// package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be
  2842  	// for the single path to that file.
  2843  	FileHashes map[string]FileHashes `json:"fileHashes,omitempty"`
  2844  
  2845  	// ResolvedRepoSource: A copy of the build's `source.repo_source`, if
  2846  	// exists, with any revisions resolved.
  2847  	ResolvedRepoSource *RepoSource `json:"resolvedRepoSource,omitempty"`
  2848  
  2849  	// ResolvedStorageSource: A copy of the build's `source.storage_source`,
  2850  	// if exists, with any generations resolved.
  2851  	ResolvedStorageSource *StorageSource `json:"resolvedStorageSource,omitempty"`
  2852  
  2853  	// ResolvedStorageSourceManifest: A copy of the build's
  2854  	// `source.storage_source_manifest`, if exists, with any revisions
  2855  	// resolved. This feature is in Preview.
  2856  	ResolvedStorageSourceManifest *StorageSourceManifest `json:"resolvedStorageSourceManifest,omitempty"`
  2857  
  2858  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  2859  	// unconditionally include in API requests. By default, fields with
  2860  	// empty or default values are omitted from API requests. However, any
  2861  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2862  	// sent to the server regardless of whether the field is empty or not.
  2863  	// This may be used to include empty fields in Patch requests.
  2864  	ForceSendFields []string `json:"-"`
  2865  
  2866  	// NullFields is a list of field names (e.g. "FileHashes") to include in
  2867  	// API requests with the JSON null value. By default, fields with empty
  2868  	// values are omitted from API requests. However, any field with an
  2869  	// empty value appearing in NullFields will be sent to the server as
  2870  	// null. It is an error if a field in this list has a non-empty value.
  2871  	// This may be used to include null fields in Patch requests.
  2872  	NullFields []string `json:"-"`
  2873  }
  2874  
  2875  func (s *SourceProvenance) MarshalJSON() ([]byte, error) {
  2876  	type NoMethod SourceProvenance
  2877  	raw := NoMethod(*s)
  2878  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2879  }
  2880  
  2881  // Status: The `Status` type defines a logical error model that is
  2882  // suitable for different programming environments, including REST APIs
  2883  // and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
  2884  // `Status` message contains three pieces of data: error code, error
  2885  // message, and error details. You can find out more about this error
  2886  // model and how to work with it in the API Design Guide
  2887  // (https://cloud.google.com/apis/design/errors).
  2888  type Status struct {
  2889  	// Code: The status code, which should be an enum value of
  2890  	// google.rpc.Code.
  2891  	Code int64 `json:"code,omitempty"`
  2892  
  2893  	// Details: A list of messages that carry the error details. There is a
  2894  	// common set of message types for APIs to use.
  2895  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2896  
  2897  	// Message: A developer-facing error message, which should be in
  2898  	// English. Any user-facing error message should be localized and sent
  2899  	// in the google.rpc.Status.details field, or localized by the client.
  2900  	Message string `json:"message,omitempty"`
  2901  
  2902  	// ForceSendFields is a list of field names (e.g. "Code") to
  2903  	// unconditionally include in API requests. By default, fields with
  2904  	// empty or default values are omitted from API requests. However, any
  2905  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2906  	// sent to the server regardless of whether the field is empty or not.
  2907  	// This may be used to include empty fields in Patch requests.
  2908  	ForceSendFields []string `json:"-"`
  2909  
  2910  	// NullFields is a list of field names (e.g. "Code") to include in API
  2911  	// requests with the JSON null value. By default, fields with empty
  2912  	// values are omitted from API requests. However, any field with an
  2913  	// empty value appearing in NullFields will be sent to the server as
  2914  	// null. It is an error if a field in this list has a non-empty value.
  2915  	// This may be used to include null fields in Patch requests.
  2916  	NullFields []string `json:"-"`
  2917  }
  2918  
  2919  func (s *Status) MarshalJSON() ([]byte, error) {
  2920  	type NoMethod Status
  2921  	raw := NoMethod(*s)
  2922  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2923  }
  2924  
  2925  // StorageSource: Location of the source in an archive file in Google
  2926  // Cloud Storage.
  2927  type StorageSource struct {
  2928  	// Bucket: Google Cloud Storage bucket containing the source (see Bucket
  2929  	// Name Requirements
  2930  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
  2931  	Bucket string `json:"bucket,omitempty"`
  2932  
  2933  	// Generation: Google Cloud Storage generation for the object. If the
  2934  	// generation is omitted, the latest generation will be used.
  2935  	Generation int64 `json:"generation,omitempty,string"`
  2936  
  2937  	// Object: Google Cloud Storage object containing the source. This
  2938  	// object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`)
  2939  	// containing source to build.
  2940  	Object string `json:"object,omitempty"`
  2941  
  2942  	// ForceSendFields is a list of field names (e.g. "Bucket") to
  2943  	// unconditionally include in API requests. By default, fields with
  2944  	// empty or default values are omitted from API requests. However, any
  2945  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2946  	// sent to the server regardless of whether the field is empty or not.
  2947  	// This may be used to include empty fields in Patch requests.
  2948  	ForceSendFields []string `json:"-"`
  2949  
  2950  	// NullFields is a list of field names (e.g. "Bucket") to include in API
  2951  	// requests with the JSON null value. By default, fields with empty
  2952  	// values are omitted from API requests. However, any field with an
  2953  	// empty value appearing in NullFields will be sent to the server as
  2954  	// null. It is an error if a field in this list has a non-empty value.
  2955  	// This may be used to include null fields in Patch requests.
  2956  	NullFields []string `json:"-"`
  2957  }
  2958  
  2959  func (s *StorageSource) MarshalJSON() ([]byte, error) {
  2960  	type NoMethod StorageSource
  2961  	raw := NoMethod(*s)
  2962  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2963  }
  2964  
  2965  // StorageSourceManifest: Location of the source manifest in Google
  2966  // Cloud Storage. This feature is in Preview; see description here
  2967  // (https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
  2968  type StorageSourceManifest struct {
  2969  	// Bucket: Google Cloud Storage bucket containing the source manifest
  2970  	// (see Bucket Name Requirements
  2971  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
  2972  	Bucket string `json:"bucket,omitempty"`
  2973  
  2974  	// Generation: Google Cloud Storage generation for the object. If the
  2975  	// generation is omitted, the latest generation will be used.
  2976  	Generation int64 `json:"generation,omitempty,string"`
  2977  
  2978  	// Object: Google Cloud Storage object containing the source manifest.
  2979  	// This object must be a JSON file.
  2980  	Object string `json:"object,omitempty"`
  2981  
  2982  	// ForceSendFields is a list of field names (e.g. "Bucket") to
  2983  	// unconditionally include in API requests. By default, fields with
  2984  	// empty or default values are omitted from API requests. However, any
  2985  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2986  	// sent to the server regardless of whether the field is empty or not.
  2987  	// This may be used to include empty fields in Patch requests.
  2988  	ForceSendFields []string `json:"-"`
  2989  
  2990  	// NullFields is a list of field names (e.g. "Bucket") to include in API
  2991  	// requests with the JSON null value. By default, fields with empty
  2992  	// values are omitted from API requests. However, any field with an
  2993  	// empty value appearing in NullFields will be sent to the server as
  2994  	// null. It is an error if a field in this list has a non-empty value.
  2995  	// This may be used to include null fields in Patch requests.
  2996  	NullFields []string `json:"-"`
  2997  }
  2998  
  2999  func (s *StorageSourceManifest) MarshalJSON() ([]byte, error) {
  3000  	type NoMethod StorageSourceManifest
  3001  	raw := NoMethod(*s)
  3002  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3003  }
  3004  
  3005  // TimeSpan: Start and end times for a build execution phase.
  3006  type TimeSpan struct {
  3007  	// EndTime: End of time span.
  3008  	EndTime string `json:"endTime,omitempty"`
  3009  
  3010  	// StartTime: Start of time span.
  3011  	StartTime string `json:"startTime,omitempty"`
  3012  
  3013  	// ForceSendFields is a list of field names (e.g. "EndTime") to
  3014  	// unconditionally include in API requests. By default, fields with
  3015  	// empty or default values are omitted from API requests. However, any
  3016  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3017  	// sent to the server regardless of whether the field is empty or not.
  3018  	// This may be used to include empty fields in Patch requests.
  3019  	ForceSendFields []string `json:"-"`
  3020  
  3021  	// NullFields is a list of field names (e.g. "EndTime") to include in
  3022  	// API requests with the JSON null value. By default, fields with empty
  3023  	// values are omitted from API requests. However, any field with an
  3024  	// empty value appearing in NullFields will be sent to the server as
  3025  	// null. It is an error if a field in this list has a non-empty value.
  3026  	// This may be used to include null fields in Patch requests.
  3027  	NullFields []string `json:"-"`
  3028  }
  3029  
  3030  func (s *TimeSpan) MarshalJSON() ([]byte, error) {
  3031  	type NoMethod TimeSpan
  3032  	raw := NoMethod(*s)
  3033  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3034  }
  3035  
  3036  // UpdateBitbucketServerConfigOperationMetadata: Metadata for
  3037  // `UpdateBitbucketServerConfig` operation.
  3038  type UpdateBitbucketServerConfigOperationMetadata struct {
  3039  	// BitbucketServerConfig: The resource name of the BitbucketServerConfig
  3040  	// to be updated. Format:
  3041  	// `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.
  3042  	BitbucketServerConfig string `json:"bitbucketServerConfig,omitempty"`
  3043  
  3044  	// CompleteTime: Time the operation was completed.
  3045  	CompleteTime string `json:"completeTime,omitempty"`
  3046  
  3047  	// CreateTime: Time the operation was created.
  3048  	CreateTime string `json:"createTime,omitempty"`
  3049  
  3050  	// ForceSendFields is a list of field names (e.g.
  3051  	// "BitbucketServerConfig") to unconditionally include in API requests.
  3052  	// By default, fields with empty or default values are omitted from API
  3053  	// requests. However, any non-pointer, non-interface field appearing in
  3054  	// ForceSendFields will be sent to the server regardless of whether the
  3055  	// field is empty or not. This may be used to include empty fields in
  3056  	// Patch requests.
  3057  	ForceSendFields []string `json:"-"`
  3058  
  3059  	// NullFields is a list of field names (e.g. "BitbucketServerConfig") to
  3060  	// include in API requests with the JSON null value. By default, fields
  3061  	// with empty values are omitted from API requests. However, any field
  3062  	// with an empty value appearing in NullFields will be sent to the
  3063  	// server as null. It is an error if a field in this list has a
  3064  	// non-empty value. This may be used to include null fields in Patch
  3065  	// requests.
  3066  	NullFields []string `json:"-"`
  3067  }
  3068  
  3069  func (s *UpdateBitbucketServerConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  3070  	type NoMethod UpdateBitbucketServerConfigOperationMetadata
  3071  	raw := NoMethod(*s)
  3072  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3073  }
  3074  
  3075  // UpdateGitHubEnterpriseConfigOperationMetadata: Metadata for
  3076  // `UpdateGitHubEnterpriseConfig` operation.
  3077  type UpdateGitHubEnterpriseConfigOperationMetadata struct {
  3078  	// CompleteTime: Time the operation was completed.
  3079  	CompleteTime string `json:"completeTime,omitempty"`
  3080  
  3081  	// CreateTime: Time the operation was created.
  3082  	CreateTime string `json:"createTime,omitempty"`
  3083  
  3084  	// GithubEnterpriseConfig: The resource name of the GitHubEnterprise to
  3085  	// be updated. Format:
  3086  	// `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`
  3087  	// .
  3088  	GithubEnterpriseConfig string `json:"githubEnterpriseConfig,omitempty"`
  3089  
  3090  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  3091  	// unconditionally include in API requests. By default, fields with
  3092  	// empty or default values are omitted from API requests. However, any
  3093  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3094  	// sent to the server regardless of whether the field is empty or not.
  3095  	// This may be used to include empty fields in Patch requests.
  3096  	ForceSendFields []string `json:"-"`
  3097  
  3098  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  3099  	// in API requests with the JSON null value. By default, fields with
  3100  	// empty values are omitted from API requests. However, any field with
  3101  	// an empty value appearing in NullFields will be sent to the server as
  3102  	// null. It is an error if a field in this list has a non-empty value.
  3103  	// This may be used to include null fields in Patch requests.
  3104  	NullFields []string `json:"-"`
  3105  }
  3106  
  3107  func (s *UpdateGitHubEnterpriseConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  3108  	type NoMethod UpdateGitHubEnterpriseConfigOperationMetadata
  3109  	raw := NoMethod(*s)
  3110  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3111  }
  3112  
  3113  // UpdateGitLabConfigOperationMetadata: Metadata for
  3114  // `UpdateGitLabConfig` operation.
  3115  type UpdateGitLabConfigOperationMetadata struct {
  3116  	// CompleteTime: Time the operation was completed.
  3117  	CompleteTime string `json:"completeTime,omitempty"`
  3118  
  3119  	// CreateTime: Time the operation was created.
  3120  	CreateTime string `json:"createTime,omitempty"`
  3121  
  3122  	// GitlabConfig: The resource name of the GitLabConfig to be created.
  3123  	// Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.
  3124  	GitlabConfig string `json:"gitlabConfig,omitempty"`
  3125  
  3126  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  3127  	// unconditionally include in API requests. By default, fields with
  3128  	// empty or default values are omitted from API requests. However, any
  3129  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3130  	// sent to the server regardless of whether the field is empty or not.
  3131  	// This may be used to include empty fields in Patch requests.
  3132  	ForceSendFields []string `json:"-"`
  3133  
  3134  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  3135  	// in API requests with the JSON null value. By default, fields with
  3136  	// empty values are omitted from API requests. However, any field with
  3137  	// an empty value appearing in NullFields will be sent to the server as
  3138  	// null. It is an error if a field in this list has a non-empty value.
  3139  	// This may be used to include null fields in Patch requests.
  3140  	NullFields []string `json:"-"`
  3141  }
  3142  
  3143  func (s *UpdateGitLabConfigOperationMetadata) MarshalJSON() ([]byte, error) {
  3144  	type NoMethod UpdateGitLabConfigOperationMetadata
  3145  	raw := NoMethod(*s)
  3146  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3147  }
  3148  
  3149  // UpdateWorkerPoolOperationMetadata: Metadata for the
  3150  // `UpdateWorkerPool` operation.
  3151  type UpdateWorkerPoolOperationMetadata struct {
  3152  	// CompleteTime: Time the operation was completed.
  3153  	CompleteTime string `json:"completeTime,omitempty"`
  3154  
  3155  	// CreateTime: Time the operation was created.
  3156  	CreateTime string `json:"createTime,omitempty"`
  3157  
  3158  	// WorkerPool: The resource name of the `WorkerPool` being updated.
  3159  	// Format:
  3160  	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
  3161  	WorkerPool string `json:"workerPool,omitempty"`
  3162  
  3163  	// ForceSendFields is a list of field names (e.g. "CompleteTime") to
  3164  	// unconditionally include in API requests. By default, fields with
  3165  	// empty or default values are omitted from API requests. However, any
  3166  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3167  	// sent to the server regardless of whether the field is empty or not.
  3168  	// This may be used to include empty fields in Patch requests.
  3169  	ForceSendFields []string `json:"-"`
  3170  
  3171  	// NullFields is a list of field names (e.g. "CompleteTime") to include
  3172  	// in API requests with the JSON null value. By default, fields with
  3173  	// empty values are omitted from API requests. However, any field with
  3174  	// an empty value appearing in NullFields will be sent to the server as
  3175  	// null. It is an error if a field in this list has a non-empty value.
  3176  	// This may be used to include null fields in Patch requests.
  3177  	NullFields []string `json:"-"`
  3178  }
  3179  
  3180  func (s *UpdateWorkerPoolOperationMetadata) MarshalJSON() ([]byte, error) {
  3181  	type NoMethod UpdateWorkerPoolOperationMetadata
  3182  	raw := NoMethod(*s)
  3183  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3184  }
  3185  
  3186  // UploadedMavenArtifact: A Maven artifact uploaded using the
  3187  // MavenArtifact directive.
  3188  type UploadedMavenArtifact struct {
  3189  	// FileHashes: Hash types and values of the Maven Artifact.
  3190  	FileHashes *FileHashes `json:"fileHashes,omitempty"`
  3191  
  3192  	// PushTiming: Output only. Stores timing information for pushing the
  3193  	// specified artifact.
  3194  	PushTiming *TimeSpan `json:"pushTiming,omitempty"`
  3195  
  3196  	// Uri: URI of the uploaded artifact.
  3197  	Uri string `json:"uri,omitempty"`
  3198  
  3199  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  3200  	// unconditionally include in API requests. By default, fields with
  3201  	// empty or default values are omitted from API requests. However, any
  3202  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3203  	// sent to the server regardless of whether the field is empty or not.
  3204  	// This may be used to include empty fields in Patch requests.
  3205  	ForceSendFields []string `json:"-"`
  3206  
  3207  	// NullFields is a list of field names (e.g. "FileHashes") to include in
  3208  	// API requests with the JSON null value. By default, fields with empty
  3209  	// values are omitted from API requests. However, any field with an
  3210  	// empty value appearing in NullFields will be sent to the server as
  3211  	// null. It is an error if a field in this list has a non-empty value.
  3212  	// This may be used to include null fields in Patch requests.
  3213  	NullFields []string `json:"-"`
  3214  }
  3215  
  3216  func (s *UploadedMavenArtifact) MarshalJSON() ([]byte, error) {
  3217  	type NoMethod UploadedMavenArtifact
  3218  	raw := NoMethod(*s)
  3219  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3220  }
  3221  
  3222  // UploadedPythonPackage: Artifact uploaded using the PythonPackage
  3223  // directive.
  3224  type UploadedPythonPackage struct {
  3225  	// FileHashes: Hash types and values of the Python Artifact.
  3226  	FileHashes *FileHashes `json:"fileHashes,omitempty"`
  3227  
  3228  	// PushTiming: Output only. Stores timing information for pushing the
  3229  	// specified artifact.
  3230  	PushTiming *TimeSpan `json:"pushTiming,omitempty"`
  3231  
  3232  	// Uri: URI of the uploaded artifact.
  3233  	Uri string `json:"uri,omitempty"`
  3234  
  3235  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  3236  	// unconditionally include in API requests. By default, fields with
  3237  	// empty or default values are omitted from API requests. However, any
  3238  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3239  	// sent to the server regardless of whether the field is empty or not.
  3240  	// This may be used to include empty fields in Patch requests.
  3241  	ForceSendFields []string `json:"-"`
  3242  
  3243  	// NullFields is a list of field names (e.g. "FileHashes") to include in
  3244  	// API requests with the JSON null value. By default, fields with empty
  3245  	// values are omitted from API requests. However, any field with an
  3246  	// empty value appearing in NullFields will be sent to the server as
  3247  	// null. It is an error if a field in this list has a non-empty value.
  3248  	// This may be used to include null fields in Patch requests.
  3249  	NullFields []string `json:"-"`
  3250  }
  3251  
  3252  func (s *UploadedPythonPackage) MarshalJSON() ([]byte, error) {
  3253  	type NoMethod UploadedPythonPackage
  3254  	raw := NoMethod(*s)
  3255  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3256  }
  3257  
  3258  // Volume: Volume describes a Docker container volume which is mounted
  3259  // into build steps in order to persist files across build step
  3260  // execution.
  3261  type Volume struct {
  3262  	// Name: Name of the volume to mount. Volume names must be unique per
  3263  	// build step and must be valid names for Docker volumes. Each named
  3264  	// volume must be used by at least two build steps.
  3265  	Name string `json:"name,omitempty"`
  3266  
  3267  	// Path: Path at which to mount the volume. Paths must be absolute and
  3268  	// cannot conflict with other volume paths on the same build step or
  3269  	// with certain reserved volume paths.
  3270  	Path string `json:"path,omitempty"`
  3271  
  3272  	// ForceSendFields is a list of field names (e.g. "Name") to
  3273  	// unconditionally include in API requests. By default, fields with
  3274  	// empty or default values are omitted from API requests. However, any
  3275  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3276  	// sent to the server regardless of whether the field is empty or not.
  3277  	// This may be used to include empty fields in Patch requests.
  3278  	ForceSendFields []string `json:"-"`
  3279  
  3280  	// NullFields is a list of field names (e.g. "Name") to include in API
  3281  	// requests with the JSON null value. By default, fields with empty
  3282  	// values are omitted from API requests. However, any field with an
  3283  	// empty value appearing in NullFields will be sent to the server as
  3284  	// null. It is an error if a field in this list has a non-empty value.
  3285  	// This may be used to include null fields in Patch requests.
  3286  	NullFields []string `json:"-"`
  3287  }
  3288  
  3289  func (s *Volume) MarshalJSON() ([]byte, error) {
  3290  	type NoMethod Volume
  3291  	raw := NoMethod(*s)
  3292  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3293  }
  3294  
  3295  // Warning: A non-fatal problem encountered during the execution of the
  3296  // build.
  3297  type Warning struct {
  3298  	// Priority: The priority for this warning.
  3299  	//
  3300  	// Possible values:
  3301  	//   "PRIORITY_UNSPECIFIED" - Should not be used.
  3302  	//   "INFO" - e.g. deprecation warnings and alternative feature
  3303  	// highlights.
  3304  	//   "WARNING" - e.g. automated detection of possible issues with the
  3305  	// build.
  3306  	//   "ALERT" - e.g. alerts that a feature used in the build is pending
  3307  	// removal
  3308  	Priority string `json:"priority,omitempty"`
  3309  
  3310  	// Text: Explanation of the warning generated.
  3311  	Text string `json:"text,omitempty"`
  3312  
  3313  	// ForceSendFields is a list of field names (e.g. "Priority") to
  3314  	// unconditionally include in API requests. By default, fields with
  3315  	// empty or default values are omitted from API requests. However, any
  3316  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3317  	// sent to the server regardless of whether the field is empty or not.
  3318  	// This may be used to include empty fields in Patch requests.
  3319  	ForceSendFields []string `json:"-"`
  3320  
  3321  	// NullFields is a list of field names (e.g. "Priority") to include in
  3322  	// API requests with the JSON null value. By default, fields with empty
  3323  	// values are omitted from API requests. However, any field with an
  3324  	// empty value appearing in NullFields will be sent to the server as
  3325  	// null. It is an error if a field in this list has a non-empty value.
  3326  	// This may be used to include null fields in Patch requests.
  3327  	NullFields []string `json:"-"`
  3328  }
  3329  
  3330  func (s *Warning) MarshalJSON() ([]byte, error) {
  3331  	type NoMethod Warning
  3332  	raw := NoMethod(*s)
  3333  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3334  }
  3335  
  3336  // WorkerConfig: Defines the configuration to be used for creating
  3337  // workers in the pool.
  3338  type WorkerConfig struct {
  3339  	// DiskSizeGb: Size of the disk attached to the worker, in GB. See
  3340  	// Worker pool config file
  3341  	// (https://cloud.google.com/cloud-build/docs/custom-workers/worker-pool-config-file).
  3342  	// Specify a value of up to 1000. If `0` is specified, Cloud Build will
  3343  	// use a standard disk size.
  3344  	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
  3345  
  3346  	// MachineType: Machine type of a worker, such as `n1-standard-1`. See
  3347  	// Worker pool config file
  3348  	// (https://cloud.google.com/cloud-build/docs/custom-workers/worker-pool-config-file).
  3349  	// If left blank, Cloud Build will use `n1-standard-1`.
  3350  	MachineType string `json:"machineType,omitempty"`
  3351  
  3352  	// NoExternalIp: If true, workers are created without any public
  3353  	// address, which prevents network egress to public IPs.
  3354  	NoExternalIp bool `json:"noExternalIp,omitempty"`
  3355  
  3356  	// ForceSendFields is a list of field names (e.g. "DiskSizeGb") to
  3357  	// unconditionally include in API requests. By default, fields with
  3358  	// empty or default values are omitted from API requests. However, any
  3359  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3360  	// sent to the server regardless of whether the field is empty or not.
  3361  	// This may be used to include empty fields in Patch requests.
  3362  	ForceSendFields []string `json:"-"`
  3363  
  3364  	// NullFields is a list of field names (e.g. "DiskSizeGb") to include in
  3365  	// API requests with the JSON null value. By default, fields with empty
  3366  	// values are omitted from API requests. However, any field with an
  3367  	// empty value appearing in NullFields will be sent to the server as
  3368  	// null. It is an error if a field in this list has a non-empty value.
  3369  	// This may be used to include null fields in Patch requests.
  3370  	NullFields []string `json:"-"`
  3371  }
  3372  
  3373  func (s *WorkerConfig) MarshalJSON() ([]byte, error) {
  3374  	type NoMethod WorkerConfig
  3375  	raw := NoMethod(*s)
  3376  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3377  }
  3378  
  3379  // WorkerPool: Configuration for a `WorkerPool` to run the builds.
  3380  // Workers provide a build environment where Cloud Build runs your
  3381  // builds. Cloud Build owns and maintains a pool of workers for general
  3382  // use. By default, when you submit a build, Cloud Build uses one of the
  3383  // workers from this pool. Builds that run in the default worker pool
  3384  // have access to the public internet. If your build needs access to
  3385  // resources on a private network, create and use a `WorkerPool` to run
  3386  // your builds. Custom `WorkerPool`s give your builds access to any
  3387  // single VPC network that you administer, including any on-prem
  3388  // resources connected to that VPC network. For an overview of custom
  3389  // worker pools, see Custom workers overview
  3390  // (https://cloud.google.com/cloud-build/docs/custom-workers/custom-workers-overview).
  3391  type WorkerPool struct {
  3392  	// Annotations: User specified annotations. See
  3393  	// https://google.aip.dev/128#annotations for more details such as
  3394  	// format and size limitations.
  3395  	Annotations map[string]string `json:"annotations,omitempty"`
  3396  
  3397  	// CreateTime: Output only. Time at which the request to create the
  3398  	// `WorkerPool` was received.
  3399  	CreateTime string `json:"createTime,omitempty"`
  3400  
  3401  	// DeleteTime: Output only. Time at which the request to delete the
  3402  	// `WorkerPool` was received.
  3403  	DeleteTime string `json:"deleteTime,omitempty"`
  3404  
  3405  	// DisplayName: A user-specified, human-readable name for the
  3406  	// `WorkerPool`. If provided, this value must be 1-63 characters.
  3407  	DisplayName string `json:"displayName,omitempty"`
  3408  
  3409  	// Etag: Output only. Checksum computed by the server. May be sent on
  3410  	// update and delete requests to ensure that the client has an
  3411  	// up-to-date value before proceeding.
  3412  	Etag string `json:"etag,omitempty"`
  3413  
  3414  	// Name: Output only. The resource name of the `WorkerPool`, with format
  3415  	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
  3416  	// The value of `{worker_pool}` is provided by `worker_pool_id` in
  3417  	// `CreateWorkerPool` request and the value of `{location}` is
  3418  	// determined by the endpoint accessed.
  3419  	Name string `json:"name,omitempty"`
  3420  
  3421  	// NetworkConfig: Network configuration for the `WorkerPool`.
  3422  	NetworkConfig *NetworkConfig `json:"networkConfig,omitempty"`
  3423  
  3424  	// State: Output only. `WorkerPool` state.
  3425  	//
  3426  	// Possible values:
  3427  	//   "STATE_UNSPECIFIED" - State of the `WorkerPool` is unknown.
  3428  	//   "CREATING" - `WorkerPool` is being created.
  3429  	//   "RUNNING" - `WorkerPool` is running.
  3430  	//   "DELETING" - `WorkerPool` is being deleted: cancelling builds and
  3431  	// draining workers.
  3432  	//   "DELETED" - `WorkerPool` is deleted.
  3433  	State string `json:"state,omitempty"`
  3434  
  3435  	// Uid: Output only. A unique identifier for the `WorkerPool`.
  3436  	Uid string `json:"uid,omitempty"`
  3437  
  3438  	// UpdateTime: Output only. Time at which the request to update the
  3439  	// `WorkerPool` was received.
  3440  	UpdateTime string `json:"updateTime,omitempty"`
  3441  
  3442  	// WorkerConfig: Worker configuration for the `WorkerPool`.
  3443  	WorkerConfig *WorkerConfig `json:"workerConfig,omitempty"`
  3444  
  3445  	// ServerResponse contains the HTTP response code and headers from the
  3446  	// server.
  3447  	googleapi.ServerResponse `json:"-"`
  3448  
  3449  	// ForceSendFields is a list of field names (e.g. "Annotations") to
  3450  	// unconditionally include in API requests. By default, fields with
  3451  	// empty or default values are omitted from API requests. However, any
  3452  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3453  	// sent to the server regardless of whether the field is empty or not.
  3454  	// This may be used to include empty fields in Patch requests.
  3455  	ForceSendFields []string `json:"-"`
  3456  
  3457  	// NullFields is a list of field names (e.g. "Annotations") to include
  3458  	// in API requests with the JSON null value. By default, fields with
  3459  	// empty values are omitted from API requests. However, any field with
  3460  	// an empty value appearing in NullFields will be sent to the server as
  3461  	// null. It is an error if a field in this list has a non-empty value.
  3462  	// This may be used to include null fields in Patch requests.
  3463  	NullFields []string `json:"-"`
  3464  }
  3465  
  3466  func (s *WorkerPool) MarshalJSON() ([]byte, error) {
  3467  	type NoMethod WorkerPool
  3468  	raw := NoMethod(*s)
  3469  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3470  }
  3471  
  3472  // method id "cloudbuild.projects.locations.operations.cancel":
  3473  
  3474  type ProjectsLocationsOperationsCancelCall struct {
  3475  	s                      *Service
  3476  	name                   string
  3477  	canceloperationrequest *CancelOperationRequest
  3478  	urlParams_             gensupport.URLParams
  3479  	ctx_                   context.Context
  3480  	header_                http.Header
  3481  }
  3482  
  3483  // Cancel: Starts asynchronous cancellation on a long-running operation.
  3484  // The server makes a best effort to cancel the operation, but success
  3485  // is not guaranteed. If the server doesn't support this method, it
  3486  // returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
  3487  // Operations.GetOperation or other methods to check whether the
  3488  // cancellation succeeded or whether the operation completed despite
  3489  // cancellation. On successful cancellation, the operation is not
  3490  // deleted; instead, it becomes an operation with an Operation.error
  3491  // value with a google.rpc.Status.code of 1, corresponding to
  3492  // `Code.CANCELLED`.
  3493  //
  3494  // - name: The name of the operation resource to be cancelled.
  3495  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
  3496  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3497  	c.name = name
  3498  	c.canceloperationrequest = canceloperationrequest
  3499  	return c
  3500  }
  3501  
  3502  // Fields allows partial responses to be retrieved. See
  3503  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3504  // for more information.
  3505  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
  3506  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3507  	return c
  3508  }
  3509  
  3510  // Context sets the context to be used in this call's Do method. Any
  3511  // pending HTTP request will be aborted if the provided context is
  3512  // canceled.
  3513  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
  3514  	c.ctx_ = ctx
  3515  	return c
  3516  }
  3517  
  3518  // Header returns an http.Header that can be modified by the caller to
  3519  // add HTTP headers to the request.
  3520  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
  3521  	if c.header_ == nil {
  3522  		c.header_ = make(http.Header)
  3523  	}
  3524  	return c.header_
  3525  }
  3526  
  3527  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
  3528  	reqHeaders := make(http.Header)
  3529  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  3530  	for k, v := range c.header_ {
  3531  		reqHeaders[k] = v
  3532  	}
  3533  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3534  	var body io.Reader = nil
  3535  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
  3536  	if err != nil {
  3537  		return nil, err
  3538  	}
  3539  	reqHeaders.Set("Content-Type", "application/json")
  3540  	c.urlParams_.Set("alt", alt)
  3541  	c.urlParams_.Set("prettyPrint", "false")
  3542  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel")
  3543  	urls += "?" + c.urlParams_.Encode()
  3544  	req, err := http.NewRequest("POST", urls, body)
  3545  	if err != nil {
  3546  		return nil, err
  3547  	}
  3548  	req.Header = reqHeaders
  3549  	googleapi.Expand(req.URL, map[string]string{
  3550  		"name": c.name,
  3551  	})
  3552  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3553  }
  3554  
  3555  // Do executes the "cloudbuild.projects.locations.operations.cancel" call.
  3556  // Exactly one of *Empty or error will be non-nil. Any non-2xx status
  3557  // code is an error. Response headers are in either
  3558  // *Empty.ServerResponse.Header or (if a response was returned at all)
  3559  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3560  // check whether the returned error was because http.StatusNotModified
  3561  // was returned.
  3562  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  3563  	gensupport.SetOptions(c.urlParams_, opts...)
  3564  	res, err := c.doRequest("json")
  3565  	if res != nil && res.StatusCode == http.StatusNotModified {
  3566  		if res.Body != nil {
  3567  			res.Body.Close()
  3568  		}
  3569  		return nil, gensupport.WrapError(&googleapi.Error{
  3570  			Code:   res.StatusCode,
  3571  			Header: res.Header,
  3572  		})
  3573  	}
  3574  	if err != nil {
  3575  		return nil, err
  3576  	}
  3577  	defer googleapi.CloseBody(res)
  3578  	if err := googleapi.CheckResponse(res); err != nil {
  3579  		return nil, gensupport.WrapError(err)
  3580  	}
  3581  	ret := &Empty{
  3582  		ServerResponse: googleapi.ServerResponse{
  3583  			Header:         res.Header,
  3584  			HTTPStatusCode: res.StatusCode,
  3585  		},
  3586  	}
  3587  	target := &ret
  3588  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3589  		return nil, err
  3590  	}
  3591  	return ret, nil
  3592  	// {
  3593  	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
  3594  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
  3595  	//   "httpMethod": "POST",
  3596  	//   "id": "cloudbuild.projects.locations.operations.cancel",
  3597  	//   "parameterOrder": [
  3598  	//     "name"
  3599  	//   ],
  3600  	//   "parameters": {
  3601  	//     "name": {
  3602  	//       "description": "The name of the operation resource to be cancelled.",
  3603  	//       "location": "path",
  3604  	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
  3605  	//       "required": true,
  3606  	//       "type": "string"
  3607  	//     }
  3608  	//   },
  3609  	//   "path": "v1beta1/{+name}:cancel",
  3610  	//   "request": {
  3611  	//     "$ref": "CancelOperationRequest"
  3612  	//   },
  3613  	//   "response": {
  3614  	//     "$ref": "Empty"
  3615  	//   },
  3616  	//   "scopes": [
  3617  	//     "https://www.googleapis.com/auth/cloud-platform"
  3618  	//   ]
  3619  	// }
  3620  
  3621  }
  3622  
  3623  // method id "cloudbuild.projects.locations.operations.get":
  3624  
  3625  type ProjectsLocationsOperationsGetCall struct {
  3626  	s            *Service
  3627  	name         string
  3628  	urlParams_   gensupport.URLParams
  3629  	ifNoneMatch_ string
  3630  	ctx_         context.Context
  3631  	header_      http.Header
  3632  }
  3633  
  3634  // Get: Gets the latest state of a long-running operation. Clients can
  3635  // use this method to poll the operation result at intervals as
  3636  // recommended by the API service.
  3637  //
  3638  // - name: The name of the operation resource.
  3639  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
  3640  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3641  	c.name = name
  3642  	return c
  3643  }
  3644  
  3645  // Fields allows partial responses to be retrieved. See
  3646  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3647  // for more information.
  3648  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  3649  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3650  	return c
  3651  }
  3652  
  3653  // IfNoneMatch sets the optional parameter which makes the operation
  3654  // fail if the object's ETag matches the given value. This is useful for
  3655  // getting updates only after the object has changed since the last
  3656  // request. Use googleapi.IsNotModified to check whether the response
  3657  // error from Do is the result of In-None-Match.
  3658  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  3659  	c.ifNoneMatch_ = entityTag
  3660  	return c
  3661  }
  3662  
  3663  // Context sets the context to be used in this call's Do method. Any
  3664  // pending HTTP request will be aborted if the provided context is
  3665  // canceled.
  3666  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  3667  	c.ctx_ = ctx
  3668  	return c
  3669  }
  3670  
  3671  // Header returns an http.Header that can be modified by the caller to
  3672  // add HTTP headers to the request.
  3673  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  3674  	if c.header_ == nil {
  3675  		c.header_ = make(http.Header)
  3676  	}
  3677  	return c.header_
  3678  }
  3679  
  3680  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  3681  	reqHeaders := make(http.Header)
  3682  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  3683  	for k, v := range c.header_ {
  3684  		reqHeaders[k] = v
  3685  	}
  3686  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3687  	if c.ifNoneMatch_ != "" {
  3688  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3689  	}
  3690  	var body io.Reader = nil
  3691  	c.urlParams_.Set("alt", alt)
  3692  	c.urlParams_.Set("prettyPrint", "false")
  3693  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  3694  	urls += "?" + c.urlParams_.Encode()
  3695  	req, err := http.NewRequest("GET", urls, body)
  3696  	if err != nil {
  3697  		return nil, err
  3698  	}
  3699  	req.Header = reqHeaders
  3700  	googleapi.Expand(req.URL, map[string]string{
  3701  		"name": c.name,
  3702  	})
  3703  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3704  }
  3705  
  3706  // Do executes the "cloudbuild.projects.locations.operations.get" call.
  3707  // Exactly one of *Operation or error will be non-nil. Any non-2xx
  3708  // status code is an error. Response headers are in either
  3709  // *Operation.ServerResponse.Header or (if a response was returned at
  3710  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  3711  // to check whether the returned error was because
  3712  // http.StatusNotModified was returned.
  3713  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3714  	gensupport.SetOptions(c.urlParams_, opts...)
  3715  	res, err := c.doRequest("json")
  3716  	if res != nil && res.StatusCode == http.StatusNotModified {
  3717  		if res.Body != nil {
  3718  			res.Body.Close()
  3719  		}
  3720  		return nil, gensupport.WrapError(&googleapi.Error{
  3721  			Code:   res.StatusCode,
  3722  			Header: res.Header,
  3723  		})
  3724  	}
  3725  	if err != nil {
  3726  		return nil, err
  3727  	}
  3728  	defer googleapi.CloseBody(res)
  3729  	if err := googleapi.CheckResponse(res); err != nil {
  3730  		return nil, gensupport.WrapError(err)
  3731  	}
  3732  	ret := &Operation{
  3733  		ServerResponse: googleapi.ServerResponse{
  3734  			Header:         res.Header,
  3735  			HTTPStatusCode: res.StatusCode,
  3736  		},
  3737  	}
  3738  	target := &ret
  3739  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3740  		return nil, err
  3741  	}
  3742  	return ret, nil
  3743  	// {
  3744  	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
  3745  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
  3746  	//   "httpMethod": "GET",
  3747  	//   "id": "cloudbuild.projects.locations.operations.get",
  3748  	//   "parameterOrder": [
  3749  	//     "name"
  3750  	//   ],
  3751  	//   "parameters": {
  3752  	//     "name": {
  3753  	//       "description": "The name of the operation resource.",
  3754  	//       "location": "path",
  3755  	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
  3756  	//       "required": true,
  3757  	//       "type": "string"
  3758  	//     }
  3759  	//   },
  3760  	//   "path": "v1beta1/{+name}",
  3761  	//   "response": {
  3762  	//     "$ref": "Operation"
  3763  	//   },
  3764  	//   "scopes": [
  3765  	//     "https://www.googleapis.com/auth/cloud-platform"
  3766  	//   ]
  3767  	// }
  3768  
  3769  }
  3770  
  3771  // method id "cloudbuild.projects.locations.workerPools.create":
  3772  
  3773  type ProjectsLocationsWorkerPoolsCreateCall struct {
  3774  	s          *Service
  3775  	parent     string
  3776  	workerpool *WorkerPool
  3777  	urlParams_ gensupport.URLParams
  3778  	ctx_       context.Context
  3779  	header_    http.Header
  3780  }
  3781  
  3782  // Create: Creates a `WorkerPool` to run the builds, and returns the new
  3783  // worker pool. NOTE: As of now, this method returns an `Operation` that
  3784  // is always complete.
  3785  //
  3786  //   - parent: The parent resource where this worker pool will be created.
  3787  //     Format: `projects/{project}/locations/{location}`.
  3788  func (r *ProjectsLocationsWorkerPoolsService) Create(parent string, workerpool *WorkerPool) *ProjectsLocationsWorkerPoolsCreateCall {
  3789  	c := &ProjectsLocationsWorkerPoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3790  	c.parent = parent
  3791  	c.workerpool = workerpool
  3792  	return c
  3793  }
  3794  
  3795  // WorkerPoolId sets the optional parameter "workerPoolId": Required.
  3796  // Immutable. The ID to use for the `WorkerPool`, which will become the
  3797  // final component of the resource name. This value should be 1-63
  3798  // characters, and valid characters are /a-z-/.
  3799  func (c *ProjectsLocationsWorkerPoolsCreateCall) WorkerPoolId(workerPoolId string) *ProjectsLocationsWorkerPoolsCreateCall {
  3800  	c.urlParams_.Set("workerPoolId", workerPoolId)
  3801  	return c
  3802  }
  3803  
  3804  // Fields allows partial responses to be retrieved. See
  3805  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3806  // for more information.
  3807  func (c *ProjectsLocationsWorkerPoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkerPoolsCreateCall {
  3808  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3809  	return c
  3810  }
  3811  
  3812  // Context sets the context to be used in this call's Do method. Any
  3813  // pending HTTP request will be aborted if the provided context is
  3814  // canceled.
  3815  func (c *ProjectsLocationsWorkerPoolsCreateCall) Context(ctx context.Context) *ProjectsLocationsWorkerPoolsCreateCall {
  3816  	c.ctx_ = ctx
  3817  	return c
  3818  }
  3819  
  3820  // Header returns an http.Header that can be modified by the caller to
  3821  // add HTTP headers to the request.
  3822  func (c *ProjectsLocationsWorkerPoolsCreateCall) Header() http.Header {
  3823  	if c.header_ == nil {
  3824  		c.header_ = make(http.Header)
  3825  	}
  3826  	return c.header_
  3827  }
  3828  
  3829  func (c *ProjectsLocationsWorkerPoolsCreateCall) doRequest(alt string) (*http.Response, error) {
  3830  	reqHeaders := make(http.Header)
  3831  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  3832  	for k, v := range c.header_ {
  3833  		reqHeaders[k] = v
  3834  	}
  3835  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3836  	var body io.Reader = nil
  3837  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workerpool)
  3838  	if err != nil {
  3839  		return nil, err
  3840  	}
  3841  	reqHeaders.Set("Content-Type", "application/json")
  3842  	c.urlParams_.Set("alt", alt)
  3843  	c.urlParams_.Set("prettyPrint", "false")
  3844  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/workerPools")
  3845  	urls += "?" + c.urlParams_.Encode()
  3846  	req, err := http.NewRequest("POST", urls, body)
  3847  	if err != nil {
  3848  		return nil, err
  3849  	}
  3850  	req.Header = reqHeaders
  3851  	googleapi.Expand(req.URL, map[string]string{
  3852  		"parent": c.parent,
  3853  	})
  3854  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3855  }
  3856  
  3857  // Do executes the "cloudbuild.projects.locations.workerPools.create" call.
  3858  // Exactly one of *Operation or error will be non-nil. Any non-2xx
  3859  // status code is an error. Response headers are in either
  3860  // *Operation.ServerResponse.Header or (if a response was returned at
  3861  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  3862  // to check whether the returned error was because
  3863  // http.StatusNotModified was returned.
  3864  func (c *ProjectsLocationsWorkerPoolsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3865  	gensupport.SetOptions(c.urlParams_, opts...)
  3866  	res, err := c.doRequest("json")
  3867  	if res != nil && res.StatusCode == http.StatusNotModified {
  3868  		if res.Body != nil {
  3869  			res.Body.Close()
  3870  		}
  3871  		return nil, gensupport.WrapError(&googleapi.Error{
  3872  			Code:   res.StatusCode,
  3873  			Header: res.Header,
  3874  		})
  3875  	}
  3876  	if err != nil {
  3877  		return nil, err
  3878  	}
  3879  	defer googleapi.CloseBody(res)
  3880  	if err := googleapi.CheckResponse(res); err != nil {
  3881  		return nil, gensupport.WrapError(err)
  3882  	}
  3883  	ret := &Operation{
  3884  		ServerResponse: googleapi.ServerResponse{
  3885  			Header:         res.Header,
  3886  			HTTPStatusCode: res.StatusCode,
  3887  		},
  3888  	}
  3889  	target := &ret
  3890  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3891  		return nil, err
  3892  	}
  3893  	return ret, nil
  3894  	// {
  3895  	//   "description": "Creates a `WorkerPool` to run the builds, and returns the new worker pool. NOTE: As of now, this method returns an `Operation` that is always complete.",
  3896  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools",
  3897  	//   "httpMethod": "POST",
  3898  	//   "id": "cloudbuild.projects.locations.workerPools.create",
  3899  	//   "parameterOrder": [
  3900  	//     "parent"
  3901  	//   ],
  3902  	//   "parameters": {
  3903  	//     "parent": {
  3904  	//       "description": "Required. The parent resource where this worker pool will be created. Format: `projects/{project}/locations/{location}`.",
  3905  	//       "location": "path",
  3906  	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
  3907  	//       "required": true,
  3908  	//       "type": "string"
  3909  	//     },
  3910  	//     "workerPoolId": {
  3911  	//       "description": "Required. Immutable. The ID to use for the `WorkerPool`, which will become the final component of the resource name. This value should be 1-63 characters, and valid characters are /a-z-/.",
  3912  	//       "location": "query",
  3913  	//       "type": "string"
  3914  	//     }
  3915  	//   },
  3916  	//   "path": "v1beta1/{+parent}/workerPools",
  3917  	//   "request": {
  3918  	//     "$ref": "WorkerPool"
  3919  	//   },
  3920  	//   "response": {
  3921  	//     "$ref": "Operation"
  3922  	//   },
  3923  	//   "scopes": [
  3924  	//     "https://www.googleapis.com/auth/cloud-platform"
  3925  	//   ]
  3926  	// }
  3927  
  3928  }
  3929  
  3930  // method id "cloudbuild.projects.locations.workerPools.delete":
  3931  
  3932  type ProjectsLocationsWorkerPoolsDeleteCall struct {
  3933  	s          *Service
  3934  	name       string
  3935  	urlParams_ gensupport.URLParams
  3936  	ctx_       context.Context
  3937  	header_    http.Header
  3938  }
  3939  
  3940  // Delete: Deletes a `WorkerPool`. NOTE: As of now, this method returns
  3941  // an `Operation` that is always complete.
  3942  //
  3943  //   - name: The name of the `WorkerPool` to delete. Format:
  3944  //     `projects/{project}/locations/{workerPool}/workerPools/{workerPool}`
  3945  //     .
  3946  func (r *ProjectsLocationsWorkerPoolsService) Delete(name string) *ProjectsLocationsWorkerPoolsDeleteCall {
  3947  	c := &ProjectsLocationsWorkerPoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3948  	c.name = name
  3949  	return c
  3950  }
  3951  
  3952  // Etag sets the optional parameter "etag": If this is provided, it must
  3953  // match the server's etag on the workerpool for the request to be
  3954  // processed.
  3955  func (c *ProjectsLocationsWorkerPoolsDeleteCall) Etag(etag string) *ProjectsLocationsWorkerPoolsDeleteCall {
  3956  	c.urlParams_.Set("etag", etag)
  3957  	return c
  3958  }
  3959  
  3960  // Fields allows partial responses to be retrieved. See
  3961  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3962  // for more information.
  3963  func (c *ProjectsLocationsWorkerPoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkerPoolsDeleteCall {
  3964  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3965  	return c
  3966  }
  3967  
  3968  // Context sets the context to be used in this call's Do method. Any
  3969  // pending HTTP request will be aborted if the provided context is
  3970  // canceled.
  3971  func (c *ProjectsLocationsWorkerPoolsDeleteCall) Context(ctx context.Context) *ProjectsLocationsWorkerPoolsDeleteCall {
  3972  	c.ctx_ = ctx
  3973  	return c
  3974  }
  3975  
  3976  // Header returns an http.Header that can be modified by the caller to
  3977  // add HTTP headers to the request.
  3978  func (c *ProjectsLocationsWorkerPoolsDeleteCall) Header() http.Header {
  3979  	if c.header_ == nil {
  3980  		c.header_ = make(http.Header)
  3981  	}
  3982  	return c.header_
  3983  }
  3984  
  3985  func (c *ProjectsLocationsWorkerPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
  3986  	reqHeaders := make(http.Header)
  3987  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  3988  	for k, v := range c.header_ {
  3989  		reqHeaders[k] = v
  3990  	}
  3991  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3992  	var body io.Reader = nil
  3993  	c.urlParams_.Set("alt", alt)
  3994  	c.urlParams_.Set("prettyPrint", "false")
  3995  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  3996  	urls += "?" + c.urlParams_.Encode()
  3997  	req, err := http.NewRequest("DELETE", urls, body)
  3998  	if err != nil {
  3999  		return nil, err
  4000  	}
  4001  	req.Header = reqHeaders
  4002  	googleapi.Expand(req.URL, map[string]string{
  4003  		"name": c.name,
  4004  	})
  4005  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4006  }
  4007  
  4008  // Do executes the "cloudbuild.projects.locations.workerPools.delete" call.
  4009  // Exactly one of *Operation or error will be non-nil. Any non-2xx
  4010  // status code is an error. Response headers are in either
  4011  // *Operation.ServerResponse.Header or (if a response was returned at
  4012  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  4013  // to check whether the returned error was because
  4014  // http.StatusNotModified was returned.
  4015  func (c *ProjectsLocationsWorkerPoolsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4016  	gensupport.SetOptions(c.urlParams_, opts...)
  4017  	res, err := c.doRequest("json")
  4018  	if res != nil && res.StatusCode == http.StatusNotModified {
  4019  		if res.Body != nil {
  4020  			res.Body.Close()
  4021  		}
  4022  		return nil, gensupport.WrapError(&googleapi.Error{
  4023  			Code:   res.StatusCode,
  4024  			Header: res.Header,
  4025  		})
  4026  	}
  4027  	if err != nil {
  4028  		return nil, err
  4029  	}
  4030  	defer googleapi.CloseBody(res)
  4031  	if err := googleapi.CheckResponse(res); err != nil {
  4032  		return nil, gensupport.WrapError(err)
  4033  	}
  4034  	ret := &Operation{
  4035  		ServerResponse: googleapi.ServerResponse{
  4036  			Header:         res.Header,
  4037  			HTTPStatusCode: res.StatusCode,
  4038  		},
  4039  	}
  4040  	target := &ret
  4041  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4042  		return nil, err
  4043  	}
  4044  	return ret, nil
  4045  	// {
  4046  	//   "description": "Deletes a `WorkerPool`. NOTE: As of now, this method returns an `Operation` that is always complete.",
  4047  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}",
  4048  	//   "httpMethod": "DELETE",
  4049  	//   "id": "cloudbuild.projects.locations.workerPools.delete",
  4050  	//   "parameterOrder": [
  4051  	//     "name"
  4052  	//   ],
  4053  	//   "parameters": {
  4054  	//     "etag": {
  4055  	//       "description": "Optional. If this is provided, it must match the server's etag on the workerpool for the request to be processed.",
  4056  	//       "location": "query",
  4057  	//       "type": "string"
  4058  	//     },
  4059  	//     "name": {
  4060  	//       "description": "Required. The name of the `WorkerPool` to delete. Format: `projects/{project}/locations/{workerPool}/workerPools/{workerPool}`.",
  4061  	//       "location": "path",
  4062  	//       "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$",
  4063  	//       "required": true,
  4064  	//       "type": "string"
  4065  	//     }
  4066  	//   },
  4067  	//   "path": "v1beta1/{+name}",
  4068  	//   "response": {
  4069  	//     "$ref": "Operation"
  4070  	//   },
  4071  	//   "scopes": [
  4072  	//     "https://www.googleapis.com/auth/cloud-platform"
  4073  	//   ]
  4074  	// }
  4075  
  4076  }
  4077  
  4078  // method id "cloudbuild.projects.locations.workerPools.get":
  4079  
  4080  type ProjectsLocationsWorkerPoolsGetCall struct {
  4081  	s            *Service
  4082  	name         string
  4083  	urlParams_   gensupport.URLParams
  4084  	ifNoneMatch_ string
  4085  	ctx_         context.Context
  4086  	header_      http.Header
  4087  }
  4088  
  4089  // Get: Returns details of a `WorkerPool`.
  4090  //
  4091  //   - name: The name of the `WorkerPool` to retrieve. Format:
  4092  //     `projects/{project}/locations/{location}/workerPools/{workerPool}`.
  4093  func (r *ProjectsLocationsWorkerPoolsService) Get(name string) *ProjectsLocationsWorkerPoolsGetCall {
  4094  	c := &ProjectsLocationsWorkerPoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4095  	c.name = name
  4096  	return c
  4097  }
  4098  
  4099  // Fields allows partial responses to be retrieved. See
  4100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  4101  // for more information.
  4102  func (c *ProjectsLocationsWorkerPoolsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkerPoolsGetCall {
  4103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4104  	return c
  4105  }
  4106  
  4107  // IfNoneMatch sets the optional parameter which makes the operation
  4108  // fail if the object's ETag matches the given value. This is useful for
  4109  // getting updates only after the object has changed since the last
  4110  // request. Use googleapi.IsNotModified to check whether the response
  4111  // error from Do is the result of In-None-Match.
  4112  func (c *ProjectsLocationsWorkerPoolsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkerPoolsGetCall {
  4113  	c.ifNoneMatch_ = entityTag
  4114  	return c
  4115  }
  4116  
  4117  // Context sets the context to be used in this call's Do method. Any
  4118  // pending HTTP request will be aborted if the provided context is
  4119  // canceled.
  4120  func (c *ProjectsLocationsWorkerPoolsGetCall) Context(ctx context.Context) *ProjectsLocationsWorkerPoolsGetCall {
  4121  	c.ctx_ = ctx
  4122  	return c
  4123  }
  4124  
  4125  // Header returns an http.Header that can be modified by the caller to
  4126  // add HTTP headers to the request.
  4127  func (c *ProjectsLocationsWorkerPoolsGetCall) Header() http.Header {
  4128  	if c.header_ == nil {
  4129  		c.header_ = make(http.Header)
  4130  	}
  4131  	return c.header_
  4132  }
  4133  
  4134  func (c *ProjectsLocationsWorkerPoolsGetCall) doRequest(alt string) (*http.Response, error) {
  4135  	reqHeaders := make(http.Header)
  4136  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  4137  	for k, v := range c.header_ {
  4138  		reqHeaders[k] = v
  4139  	}
  4140  	reqHeaders.Set("User-Agent", c.s.userAgent())
  4141  	if c.ifNoneMatch_ != "" {
  4142  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4143  	}
  4144  	var body io.Reader = nil
  4145  	c.urlParams_.Set("alt", alt)
  4146  	c.urlParams_.Set("prettyPrint", "false")
  4147  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  4148  	urls += "?" + c.urlParams_.Encode()
  4149  	req, err := http.NewRequest("GET", urls, body)
  4150  	if err != nil {
  4151  		return nil, err
  4152  	}
  4153  	req.Header = reqHeaders
  4154  	googleapi.Expand(req.URL, map[string]string{
  4155  		"name": c.name,
  4156  	})
  4157  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4158  }
  4159  
  4160  // Do executes the "cloudbuild.projects.locations.workerPools.get" call.
  4161  // Exactly one of *WorkerPool or error will be non-nil. Any non-2xx
  4162  // status code is an error. Response headers are in either
  4163  // *WorkerPool.ServerResponse.Header or (if a response was returned at
  4164  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  4165  // to check whether the returned error was because
  4166  // http.StatusNotModified was returned.
  4167  func (c *ProjectsLocationsWorkerPoolsGetCall) Do(opts ...googleapi.CallOption) (*WorkerPool, error) {
  4168  	gensupport.SetOptions(c.urlParams_, opts...)
  4169  	res, err := c.doRequest("json")
  4170  	if res != nil && res.StatusCode == http.StatusNotModified {
  4171  		if res.Body != nil {
  4172  			res.Body.Close()
  4173  		}
  4174  		return nil, gensupport.WrapError(&googleapi.Error{
  4175  			Code:   res.StatusCode,
  4176  			Header: res.Header,
  4177  		})
  4178  	}
  4179  	if err != nil {
  4180  		return nil, err
  4181  	}
  4182  	defer googleapi.CloseBody(res)
  4183  	if err := googleapi.CheckResponse(res); err != nil {
  4184  		return nil, gensupport.WrapError(err)
  4185  	}
  4186  	ret := &WorkerPool{
  4187  		ServerResponse: googleapi.ServerResponse{
  4188  			Header:         res.Header,
  4189  			HTTPStatusCode: res.StatusCode,
  4190  		},
  4191  	}
  4192  	target := &ret
  4193  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4194  		return nil, err
  4195  	}
  4196  	return ret, nil
  4197  	// {
  4198  	//   "description": "Returns details of a `WorkerPool`.",
  4199  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}",
  4200  	//   "httpMethod": "GET",
  4201  	//   "id": "cloudbuild.projects.locations.workerPools.get",
  4202  	//   "parameterOrder": [
  4203  	//     "name"
  4204  	//   ],
  4205  	//   "parameters": {
  4206  	//     "name": {
  4207  	//       "description": "Required. The name of the `WorkerPool` to retrieve. Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`.",
  4208  	//       "location": "path",
  4209  	//       "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$",
  4210  	//       "required": true,
  4211  	//       "type": "string"
  4212  	//     }
  4213  	//   },
  4214  	//   "path": "v1beta1/{+name}",
  4215  	//   "response": {
  4216  	//     "$ref": "WorkerPool"
  4217  	//   },
  4218  	//   "scopes": [
  4219  	//     "https://www.googleapis.com/auth/cloud-platform"
  4220  	//   ]
  4221  	// }
  4222  
  4223  }
  4224  
  4225  // method id "cloudbuild.projects.locations.workerPools.list":
  4226  
  4227  type ProjectsLocationsWorkerPoolsListCall struct {
  4228  	s            *Service
  4229  	parent       string
  4230  	urlParams_   gensupport.URLParams
  4231  	ifNoneMatch_ string
  4232  	ctx_         context.Context
  4233  	header_      http.Header
  4234  }
  4235  
  4236  // List: Lists `WorkerPool`s in the given project.
  4237  //
  4238  //   - parent: The parent of the collection of `WorkerPools`. Format:
  4239  //     `projects/{project}/locations/location`.
  4240  func (r *ProjectsLocationsWorkerPoolsService) List(parent string) *ProjectsLocationsWorkerPoolsListCall {
  4241  	c := &ProjectsLocationsWorkerPoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4242  	c.parent = parent
  4243  	return c
  4244  }
  4245  
  4246  // Fields allows partial responses to be retrieved. See
  4247  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  4248  // for more information.
  4249  func (c *ProjectsLocationsWorkerPoolsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkerPoolsListCall {
  4250  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4251  	return c
  4252  }
  4253  
  4254  // IfNoneMatch sets the optional parameter which makes the operation
  4255  // fail if the object's ETag matches the given value. This is useful for
  4256  // getting updates only after the object has changed since the last
  4257  // request. Use googleapi.IsNotModified to check whether the response
  4258  // error from Do is the result of In-None-Match.
  4259  func (c *ProjectsLocationsWorkerPoolsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkerPoolsListCall {
  4260  	c.ifNoneMatch_ = entityTag
  4261  	return c
  4262  }
  4263  
  4264  // Context sets the context to be used in this call's Do method. Any
  4265  // pending HTTP request will be aborted if the provided context is
  4266  // canceled.
  4267  func (c *ProjectsLocationsWorkerPoolsListCall) Context(ctx context.Context) *ProjectsLocationsWorkerPoolsListCall {
  4268  	c.ctx_ = ctx
  4269  	return c
  4270  }
  4271  
  4272  // Header returns an http.Header that can be modified by the caller to
  4273  // add HTTP headers to the request.
  4274  func (c *ProjectsLocationsWorkerPoolsListCall) Header() http.Header {
  4275  	if c.header_ == nil {
  4276  		c.header_ = make(http.Header)
  4277  	}
  4278  	return c.header_
  4279  }
  4280  
  4281  func (c *ProjectsLocationsWorkerPoolsListCall) doRequest(alt string) (*http.Response, error) {
  4282  	reqHeaders := make(http.Header)
  4283  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  4284  	for k, v := range c.header_ {
  4285  		reqHeaders[k] = v
  4286  	}
  4287  	reqHeaders.Set("User-Agent", c.s.userAgent())
  4288  	if c.ifNoneMatch_ != "" {
  4289  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4290  	}
  4291  	var body io.Reader = nil
  4292  	c.urlParams_.Set("alt", alt)
  4293  	c.urlParams_.Set("prettyPrint", "false")
  4294  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/workerPools")
  4295  	urls += "?" + c.urlParams_.Encode()
  4296  	req, err := http.NewRequest("GET", urls, body)
  4297  	if err != nil {
  4298  		return nil, err
  4299  	}
  4300  	req.Header = reqHeaders
  4301  	googleapi.Expand(req.URL, map[string]string{
  4302  		"parent": c.parent,
  4303  	})
  4304  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4305  }
  4306  
  4307  // Do executes the "cloudbuild.projects.locations.workerPools.list" call.
  4308  // Exactly one of *ListWorkerPoolsResponse or error will be non-nil. Any
  4309  // non-2xx status code is an error. Response headers are in either
  4310  // *ListWorkerPoolsResponse.ServerResponse.Header or (if a response was
  4311  // returned at all) in error.(*googleapi.Error).Header. Use
  4312  // googleapi.IsNotModified to check whether the returned error was
  4313  // because http.StatusNotModified was returned.
  4314  func (c *ProjectsLocationsWorkerPoolsListCall) Do(opts ...googleapi.CallOption) (*ListWorkerPoolsResponse, error) {
  4315  	gensupport.SetOptions(c.urlParams_, opts...)
  4316  	res, err := c.doRequest("json")
  4317  	if res != nil && res.StatusCode == http.StatusNotModified {
  4318  		if res.Body != nil {
  4319  			res.Body.Close()
  4320  		}
  4321  		return nil, gensupport.WrapError(&googleapi.Error{
  4322  			Code:   res.StatusCode,
  4323  			Header: res.Header,
  4324  		})
  4325  	}
  4326  	if err != nil {
  4327  		return nil, err
  4328  	}
  4329  	defer googleapi.CloseBody(res)
  4330  	if err := googleapi.CheckResponse(res); err != nil {
  4331  		return nil, gensupport.WrapError(err)
  4332  	}
  4333  	ret := &ListWorkerPoolsResponse{
  4334  		ServerResponse: googleapi.ServerResponse{
  4335  			Header:         res.Header,
  4336  			HTTPStatusCode: res.StatusCode,
  4337  		},
  4338  	}
  4339  	target := &ret
  4340  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4341  		return nil, err
  4342  	}
  4343  	return ret, nil
  4344  	// {
  4345  	//   "description": "Lists `WorkerPool`s in the given project.",
  4346  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools",
  4347  	//   "httpMethod": "GET",
  4348  	//   "id": "cloudbuild.projects.locations.workerPools.list",
  4349  	//   "parameterOrder": [
  4350  	//     "parent"
  4351  	//   ],
  4352  	//   "parameters": {
  4353  	//     "parent": {
  4354  	//       "description": "Required. The parent of the collection of `WorkerPools`. Format: `projects/{project}/locations/location`.",
  4355  	//       "location": "path",
  4356  	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
  4357  	//       "required": true,
  4358  	//       "type": "string"
  4359  	//     }
  4360  	//   },
  4361  	//   "path": "v1beta1/{+parent}/workerPools",
  4362  	//   "response": {
  4363  	//     "$ref": "ListWorkerPoolsResponse"
  4364  	//   },
  4365  	//   "scopes": [
  4366  	//     "https://www.googleapis.com/auth/cloud-platform"
  4367  	//   ]
  4368  	// }
  4369  
  4370  }
  4371  
  4372  // method id "cloudbuild.projects.locations.workerPools.patch":
  4373  
  4374  type ProjectsLocationsWorkerPoolsPatchCall struct {
  4375  	s          *Service
  4376  	name       string
  4377  	workerpool *WorkerPool
  4378  	urlParams_ gensupport.URLParams
  4379  	ctx_       context.Context
  4380  	header_    http.Header
  4381  }
  4382  
  4383  // Patch: Updates a `WorkerPool`. NOTE: As of now, this method returns
  4384  // an `Operation` that is always complete.
  4385  //
  4386  //   - name: Output only. The resource name of the `WorkerPool`, with
  4387  //     format
  4388  //     `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
  4389  //     The value of `{worker_pool}` is provided by `worker_pool_id` in
  4390  //     `CreateWorkerPool` request and the value of `{location}` is
  4391  //     determined by the endpoint accessed.
  4392  func (r *ProjectsLocationsWorkerPoolsService) Patch(name string, workerpool *WorkerPool) *ProjectsLocationsWorkerPoolsPatchCall {
  4393  	c := &ProjectsLocationsWorkerPoolsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4394  	c.name = name
  4395  	c.workerpool = workerpool
  4396  	return c
  4397  }
  4398  
  4399  // UpdateMask sets the optional parameter "updateMask": A mask
  4400  // specifying which fields in `WorkerPool` to update.
  4401  func (c *ProjectsLocationsWorkerPoolsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsWorkerPoolsPatchCall {
  4402  	c.urlParams_.Set("updateMask", updateMask)
  4403  	return c
  4404  }
  4405  
  4406  // Fields allows partial responses to be retrieved. See
  4407  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  4408  // for more information.
  4409  func (c *ProjectsLocationsWorkerPoolsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkerPoolsPatchCall {
  4410  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4411  	return c
  4412  }
  4413  
  4414  // Context sets the context to be used in this call's Do method. Any
  4415  // pending HTTP request will be aborted if the provided context is
  4416  // canceled.
  4417  func (c *ProjectsLocationsWorkerPoolsPatchCall) Context(ctx context.Context) *ProjectsLocationsWorkerPoolsPatchCall {
  4418  	c.ctx_ = ctx
  4419  	return c
  4420  }
  4421  
  4422  // Header returns an http.Header that can be modified by the caller to
  4423  // add HTTP headers to the request.
  4424  func (c *ProjectsLocationsWorkerPoolsPatchCall) Header() http.Header {
  4425  	if c.header_ == nil {
  4426  		c.header_ = make(http.Header)
  4427  	}
  4428  	return c.header_
  4429  }
  4430  
  4431  func (c *ProjectsLocationsWorkerPoolsPatchCall) doRequest(alt string) (*http.Response, error) {
  4432  	reqHeaders := make(http.Header)
  4433  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  4434  	for k, v := range c.header_ {
  4435  		reqHeaders[k] = v
  4436  	}
  4437  	reqHeaders.Set("User-Agent", c.s.userAgent())
  4438  	var body io.Reader = nil
  4439  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workerpool)
  4440  	if err != nil {
  4441  		return nil, err
  4442  	}
  4443  	reqHeaders.Set("Content-Type", "application/json")
  4444  	c.urlParams_.Set("alt", alt)
  4445  	c.urlParams_.Set("prettyPrint", "false")
  4446  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  4447  	urls += "?" + c.urlParams_.Encode()
  4448  	req, err := http.NewRequest("PATCH", urls, body)
  4449  	if err != nil {
  4450  		return nil, err
  4451  	}
  4452  	req.Header = reqHeaders
  4453  	googleapi.Expand(req.URL, map[string]string{
  4454  		"name": c.name,
  4455  	})
  4456  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4457  }
  4458  
  4459  // Do executes the "cloudbuild.projects.locations.workerPools.patch" call.
  4460  // Exactly one of *Operation or error will be non-nil. Any non-2xx
  4461  // status code is an error. Response headers are in either
  4462  // *Operation.ServerResponse.Header or (if a response was returned at
  4463  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  4464  // to check whether the returned error was because
  4465  // http.StatusNotModified was returned.
  4466  func (c *ProjectsLocationsWorkerPoolsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4467  	gensupport.SetOptions(c.urlParams_, opts...)
  4468  	res, err := c.doRequest("json")
  4469  	if res != nil && res.StatusCode == http.StatusNotModified {
  4470  		if res.Body != nil {
  4471  			res.Body.Close()
  4472  		}
  4473  		return nil, gensupport.WrapError(&googleapi.Error{
  4474  			Code:   res.StatusCode,
  4475  			Header: res.Header,
  4476  		})
  4477  	}
  4478  	if err != nil {
  4479  		return nil, err
  4480  	}
  4481  	defer googleapi.CloseBody(res)
  4482  	if err := googleapi.CheckResponse(res); err != nil {
  4483  		return nil, gensupport.WrapError(err)
  4484  	}
  4485  	ret := &Operation{
  4486  		ServerResponse: googleapi.ServerResponse{
  4487  			Header:         res.Header,
  4488  			HTTPStatusCode: res.StatusCode,
  4489  		},
  4490  	}
  4491  	target := &ret
  4492  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4493  		return nil, err
  4494  	}
  4495  	return ret, nil
  4496  	// {
  4497  	//   "description": "Updates a `WorkerPool`. NOTE: As of now, this method returns an `Operation` that is always complete.",
  4498  	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}",
  4499  	//   "httpMethod": "PATCH",
  4500  	//   "id": "cloudbuild.projects.locations.workerPools.patch",
  4501  	//   "parameterOrder": [
  4502  	//     "name"
  4503  	//   ],
  4504  	//   "parameters": {
  4505  	//     "name": {
  4506  	//       "description": "Output only. The resource name of the `WorkerPool`, with format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. The value of `{worker_pool}` is provided by `worker_pool_id` in `CreateWorkerPool` request and the value of `{location}` is determined by the endpoint accessed.",
  4507  	//       "location": "path",
  4508  	//       "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$",
  4509  	//       "required": true,
  4510  	//       "type": "string"
  4511  	//     },
  4512  	//     "updateMask": {
  4513  	//       "description": "A mask specifying which fields in `WorkerPool` to update.",
  4514  	//       "format": "google-fieldmask",
  4515  	//       "location": "query",
  4516  	//       "type": "string"
  4517  	//     }
  4518  	//   },
  4519  	//   "path": "v1beta1/{+name}",
  4520  	//   "request": {
  4521  	//     "$ref": "WorkerPool"
  4522  	//   },
  4523  	//   "response": {
  4524  	//     "$ref": "Operation"
  4525  	//   },
  4526  	//   "scopes": [
  4527  	//     "https://www.googleapis.com/auth/cloud-platform"
  4528  	//   ]
  4529  	// }
  4530  
  4531  }
  4532  

View as plain text