...

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

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

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package containeranalysis provides access to the Container Analysis API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/container-analysis/api/reference/rest/
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/containeranalysis/v1beta1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	containeranalysisService, err := containeranalysis.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	containeranalysisService, err := containeranalysis.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	containeranalysisService, err := containeranalysis.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package containeranalysis // import "google.golang.org/api/containeranalysis/v1beta1"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "containeranalysis:v1beta1"
    90  const apiName = "containeranalysis"
    91  const apiVersion = "v1beta1"
    92  const basePath = "https://containeranalysis.googleapis.com/"
    93  const basePathTemplate = "https://containeranalysis.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://containeranalysis.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// See, edit, configure, and delete your Google Cloud data and see the email
    99  	// address for your Google Account.
   100  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   101  )
   102  
   103  // NewService creates a new Service.
   104  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   105  	scopesOption := internaloption.WithDefaultScopes(
   106  		"https://www.googleapis.com/auth/cloud-platform",
   107  	)
   108  	// NOTE: prepend, so we don't override user-specified scopes.
   109  	opts = append([]option.ClientOption{scopesOption}, opts...)
   110  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   111  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   112  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   113  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   114  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	s, err := New(client)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	if endpoint != "" {
   123  		s.BasePath = endpoint
   124  	}
   125  	return s, nil
   126  }
   127  
   128  // New creates a new Service. It uses the provided http.Client for requests.
   129  //
   130  // Deprecated: please use NewService instead.
   131  // To provide a custom HTTP client, use option.WithHTTPClient.
   132  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   133  func New(client *http.Client) (*Service, error) {
   134  	if client == nil {
   135  		return nil, errors.New("client is nil")
   136  	}
   137  	s := &Service{client: client, BasePath: basePath}
   138  	s.Projects = NewProjectsService(s)
   139  	return s, nil
   140  }
   141  
   142  type Service struct {
   143  	client    *http.Client
   144  	BasePath  string // API endpoint base URL
   145  	UserAgent string // optional additional User-Agent fragment
   146  
   147  	Projects *ProjectsService
   148  }
   149  
   150  func (s *Service) userAgent() string {
   151  	if s.UserAgent == "" {
   152  		return googleapi.UserAgent
   153  	}
   154  	return googleapi.UserAgent + " " + s.UserAgent
   155  }
   156  
   157  func NewProjectsService(s *Service) *ProjectsService {
   158  	rs := &ProjectsService{s: s}
   159  	rs.Locations = NewProjectsLocationsService(s)
   160  	rs.Notes = NewProjectsNotesService(s)
   161  	rs.Occurrences = NewProjectsOccurrencesService(s)
   162  	rs.Resources = NewProjectsResourcesService(s)
   163  	return rs
   164  }
   165  
   166  type ProjectsService struct {
   167  	s *Service
   168  
   169  	Locations *ProjectsLocationsService
   170  
   171  	Notes *ProjectsNotesService
   172  
   173  	Occurrences *ProjectsOccurrencesService
   174  
   175  	Resources *ProjectsResourcesService
   176  }
   177  
   178  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   179  	rs := &ProjectsLocationsService{s: s}
   180  	rs.Notes = NewProjectsLocationsNotesService(s)
   181  	rs.Occurrences = NewProjectsLocationsOccurrencesService(s)
   182  	rs.Resources = NewProjectsLocationsResourcesService(s)
   183  	return rs
   184  }
   185  
   186  type ProjectsLocationsService struct {
   187  	s *Service
   188  
   189  	Notes *ProjectsLocationsNotesService
   190  
   191  	Occurrences *ProjectsLocationsOccurrencesService
   192  
   193  	Resources *ProjectsLocationsResourcesService
   194  }
   195  
   196  func NewProjectsLocationsNotesService(s *Service) *ProjectsLocationsNotesService {
   197  	rs := &ProjectsLocationsNotesService{s: s}
   198  	rs.Occurrences = NewProjectsLocationsNotesOccurrencesService(s)
   199  	return rs
   200  }
   201  
   202  type ProjectsLocationsNotesService struct {
   203  	s *Service
   204  
   205  	Occurrences *ProjectsLocationsNotesOccurrencesService
   206  }
   207  
   208  func NewProjectsLocationsNotesOccurrencesService(s *Service) *ProjectsLocationsNotesOccurrencesService {
   209  	rs := &ProjectsLocationsNotesOccurrencesService{s: s}
   210  	return rs
   211  }
   212  
   213  type ProjectsLocationsNotesOccurrencesService struct {
   214  	s *Service
   215  }
   216  
   217  func NewProjectsLocationsOccurrencesService(s *Service) *ProjectsLocationsOccurrencesService {
   218  	rs := &ProjectsLocationsOccurrencesService{s: s}
   219  	return rs
   220  }
   221  
   222  type ProjectsLocationsOccurrencesService struct {
   223  	s *Service
   224  }
   225  
   226  func NewProjectsLocationsResourcesService(s *Service) *ProjectsLocationsResourcesService {
   227  	rs := &ProjectsLocationsResourcesService{s: s}
   228  	return rs
   229  }
   230  
   231  type ProjectsLocationsResourcesService struct {
   232  	s *Service
   233  }
   234  
   235  func NewProjectsNotesService(s *Service) *ProjectsNotesService {
   236  	rs := &ProjectsNotesService{s: s}
   237  	rs.Occurrences = NewProjectsNotesOccurrencesService(s)
   238  	return rs
   239  }
   240  
   241  type ProjectsNotesService struct {
   242  	s *Service
   243  
   244  	Occurrences *ProjectsNotesOccurrencesService
   245  }
   246  
   247  func NewProjectsNotesOccurrencesService(s *Service) *ProjectsNotesOccurrencesService {
   248  	rs := &ProjectsNotesOccurrencesService{s: s}
   249  	return rs
   250  }
   251  
   252  type ProjectsNotesOccurrencesService struct {
   253  	s *Service
   254  }
   255  
   256  func NewProjectsOccurrencesService(s *Service) *ProjectsOccurrencesService {
   257  	rs := &ProjectsOccurrencesService{s: s}
   258  	return rs
   259  }
   260  
   261  type ProjectsOccurrencesService struct {
   262  	s *Service
   263  }
   264  
   265  func NewProjectsResourcesService(s *Service) *ProjectsResourcesService {
   266  	rs := &ProjectsResourcesService{s: s}
   267  	return rs
   268  }
   269  
   270  type ProjectsResourcesService struct {
   271  	s *Service
   272  }
   273  
   274  // AliasContext: An alias to a repo revision.
   275  type AliasContext struct {
   276  	// Kind: The alias kind.
   277  	//
   278  	// Possible values:
   279  	//   "KIND_UNSPECIFIED" - Unknown.
   280  	//   "FIXED" - Git tag.
   281  	//   "MOVABLE" - Git branch.
   282  	//   "OTHER" - Used to specify non-standard aliases. For example, if a Git repo
   283  	// has a ref named "refs/foo/bar".
   284  	Kind string `json:"kind,omitempty"`
   285  	// Name: The alias name.
   286  	Name string `json:"name,omitempty"`
   287  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
   288  	// include in API requests. By default, fields with empty or default values are
   289  	// omitted from API requests. See
   290  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   291  	// details.
   292  	ForceSendFields []string `json:"-"`
   293  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
   294  	// with the JSON null value. By default, fields with empty values are omitted
   295  	// from API requests. See
   296  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   297  	NullFields []string `json:"-"`
   298  }
   299  
   300  func (s *AliasContext) MarshalJSON() ([]byte, error) {
   301  	type NoMethod AliasContext
   302  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   303  }
   304  
   305  // AnalysisCompleted: Indicates which analysis completed successfully. Multiple
   306  // types of analysis can be performed on a single resource.
   307  type AnalysisCompleted struct {
   308  	AnalysisType []string `json:"analysisType,omitempty"`
   309  	// ForceSendFields is a list of field names (e.g. "AnalysisType") to
   310  	// unconditionally include in API requests. By default, fields with empty or
   311  	// default values are omitted from API requests. See
   312  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   313  	// details.
   314  	ForceSendFields []string `json:"-"`
   315  	// NullFields is a list of field names (e.g. "AnalysisType") to include in API
   316  	// requests with the JSON null value. By default, fields with empty values are
   317  	// omitted from API requests. See
   318  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   319  	NullFields []string `json:"-"`
   320  }
   321  
   322  func (s *AnalysisCompleted) MarshalJSON() ([]byte, error) {
   323  	type NoMethod AnalysisCompleted
   324  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   325  }
   326  
   327  // Artifact: Artifact describes a build product.
   328  type Artifact struct {
   329  	// Checksum: Hash or checksum value of a binary, or Docker Registry 2.0 digest
   330  	// of a container.
   331  	Checksum string `json:"checksum,omitempty"`
   332  	// Id: Artifact ID, if any; for container images, this will be a URL by digest
   333  	// like `gcr.io/projectID/imagename@sha256:123456`.
   334  	Id string `json:"id,omitempty"`
   335  	// Names: Related artifact names. This may be the path to a binary or jar file,
   336  	// or in the case of a container build, the name used to push the container
   337  	// image to Google Container Registry, as presented to `docker push`. Note that
   338  	// a single Artifact ID can have multiple names, for example if two tags are
   339  	// applied to one image.
   340  	Names []string `json:"names,omitempty"`
   341  	// ForceSendFields is a list of field names (e.g. "Checksum") to
   342  	// unconditionally include in API requests. By default, fields with empty or
   343  	// default values are omitted from API requests. See
   344  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   345  	// details.
   346  	ForceSendFields []string `json:"-"`
   347  	// NullFields is a list of field names (e.g. "Checksum") to include in API
   348  	// requests with the JSON null value. By default, fields with empty values are
   349  	// omitted from API requests. See
   350  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   351  	NullFields []string `json:"-"`
   352  }
   353  
   354  func (s *Artifact) MarshalJSON() ([]byte, error) {
   355  	type NoMethod Artifact
   356  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   357  }
   358  
   359  // ArtifactHashes: Defines a hash object for use in Materials and Products.
   360  type ArtifactHashes struct {
   361  	Sha256 string `json:"sha256,omitempty"`
   362  	// ForceSendFields is a list of field names (e.g. "Sha256") to unconditionally
   363  	// include in API requests. By default, fields with empty or default values are
   364  	// omitted from API requests. See
   365  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   366  	// details.
   367  	ForceSendFields []string `json:"-"`
   368  	// NullFields is a list of field names (e.g. "Sha256") to include in API
   369  	// requests with the JSON null value. By default, fields with empty values are
   370  	// omitted from API requests. See
   371  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   372  	NullFields []string `json:"-"`
   373  }
   374  
   375  func (s *ArtifactHashes) MarshalJSON() ([]byte, error) {
   376  	type NoMethod ArtifactHashes
   377  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   378  }
   379  
   380  // ArtifactRule: Defines an object to declare an in-toto artifact rule
   381  type ArtifactRule struct {
   382  	ArtifactRule []string `json:"artifactRule,omitempty"`
   383  	// ForceSendFields is a list of field names (e.g. "ArtifactRule") to
   384  	// unconditionally include in API requests. By default, fields with empty or
   385  	// default values are omitted from API requests. See
   386  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   387  	// details.
   388  	ForceSendFields []string `json:"-"`
   389  	// NullFields is a list of field names (e.g. "ArtifactRule") to include in API
   390  	// requests with the JSON null value. By default, fields with empty values are
   391  	// omitted from API requests. See
   392  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   393  	NullFields []string `json:"-"`
   394  }
   395  
   396  func (s *ArtifactRule) MarshalJSON() ([]byte, error) {
   397  	type NoMethod ArtifactRule
   398  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   399  }
   400  
   401  // Assessment: Assessment provides all information that is related to a single
   402  // vulnerability for this product.
   403  type Assessment struct {
   404  	// Cve: Holds the MITRE standard Common Vulnerabilities and Exposures (CVE)
   405  	// tracking number for the vulnerability. Deprecated: Use vulnerability_id
   406  	// instead to denote CVEs.
   407  	Cve string `json:"cve,omitempty"`
   408  	// Impacts: Contains information about the impact of this vulnerability, this
   409  	// will change with time.
   410  	Impacts []string `json:"impacts,omitempty"`
   411  	// Justification: Justification provides the justification when the state of
   412  	// the assessment if NOT_AFFECTED.
   413  	Justification *Justification `json:"justification,omitempty"`
   414  	// LongDescription: A detailed description of this Vex.
   415  	LongDescription string `json:"longDescription,omitempty"`
   416  	// RelatedUris: Holds a list of references associated with this vulnerability
   417  	// item and assessment. These uris have additional information about the
   418  	// vulnerability and the assessment itself. E.g. Link to a document which
   419  	// details how this assessment concluded the state of this vulnerability.
   420  	RelatedUris []*RelatedUrl `json:"relatedUris,omitempty"`
   421  	// Remediations: Specifies details on how to handle (and presumably, fix) a
   422  	// vulnerability.
   423  	Remediations []*Remediation `json:"remediations,omitempty"`
   424  	// ShortDescription: A one sentence description of this Vex.
   425  	ShortDescription string `json:"shortDescription,omitempty"`
   426  	// State: Provides the state of this Vulnerability assessment.
   427  	//
   428  	// Possible values:
   429  	//   "STATE_UNSPECIFIED" - No state is specified.
   430  	//   "AFFECTED" - This product is known to be affected by this vulnerability.
   431  	//   "NOT_AFFECTED" - This product is known to be not affected by this
   432  	// vulnerability.
   433  	//   "FIXED" - This product contains a fix for this vulnerability.
   434  	//   "UNDER_INVESTIGATION" - It is not known yet whether these versions are or
   435  	// are not affected by the vulnerability. However, it is still under
   436  	// investigation.
   437  	State string `json:"state,omitempty"`
   438  	// VulnerabilityId: The vulnerability identifier for this Assessment. Will hold
   439  	// one of common identifiers e.g. CVE, GHSA etc.
   440  	VulnerabilityId string `json:"vulnerabilityId,omitempty"`
   441  	// ForceSendFields is a list of field names (e.g. "Cve") to unconditionally
   442  	// include in API requests. By default, fields with empty or default values are
   443  	// omitted from API requests. See
   444  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   445  	// details.
   446  	ForceSendFields []string `json:"-"`
   447  	// NullFields is a list of field names (e.g. "Cve") to include in API requests
   448  	// with the JSON null value. By default, fields with empty values are omitted
   449  	// from API requests. See
   450  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   451  	NullFields []string `json:"-"`
   452  }
   453  
   454  func (s *Assessment) MarshalJSON() ([]byte, error) {
   455  	type NoMethod Assessment
   456  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   457  }
   458  
   459  // Attestation: Occurrence that represents a single "attestation". The
   460  // authenticity of an attestation can be verified using the attached signature.
   461  // If the verifier trusts the public key of the signer, then verifying the
   462  // signature is sufficient to establish trust. In this circumstance, the
   463  // authority to which this attestation is attached is primarily useful for
   464  // look-up (how to find this attestation if you already know the authority and
   465  // artifact to be verified) and intent (which authority was this attestation
   466  // intended to sign for).
   467  type Attestation struct {
   468  	GenericSignedAttestation *GenericSignedAttestation `json:"genericSignedAttestation,omitempty"`
   469  	// PgpSignedAttestation: A PGP signed attestation.
   470  	PgpSignedAttestation *PgpSignedAttestation `json:"pgpSignedAttestation,omitempty"`
   471  	// ForceSendFields is a list of field names (e.g. "GenericSignedAttestation")
   472  	// to unconditionally include in API requests. By default, fields with empty or
   473  	// default values are omitted from API requests. See
   474  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   475  	// details.
   476  	ForceSendFields []string `json:"-"`
   477  	// NullFields is a list of field names (e.g. "GenericSignedAttestation") to
   478  	// include in API requests with the JSON null value. By default, fields with
   479  	// empty values are omitted from API requests. See
   480  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   481  	NullFields []string `json:"-"`
   482  }
   483  
   484  func (s *Attestation) MarshalJSON() ([]byte, error) {
   485  	type NoMethod Attestation
   486  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   487  }
   488  
   489  // Authority: Note kind that represents a logical attestation "role" or
   490  // "authority". For example, an organization might have one `Authority` for
   491  // "QA" and one for "build". This note is intended to act strictly as a
   492  // grouping mechanism for the attached occurrences (Attestations). This
   493  // grouping mechanism also provides a security boundary, since IAM ACLs gate
   494  // the ability for a principle to attach an occurrence to a given note. It also
   495  // provides a single point of lookup to find all attached attestation
   496  // occurrences, even if they don't all live in the same project.
   497  type Authority struct {
   498  	// Hint: Hint hints at the purpose of the attestation authority.
   499  	Hint *Hint `json:"hint,omitempty"`
   500  	// ForceSendFields is a list of field names (e.g. "Hint") to unconditionally
   501  	// include in API requests. By default, fields with empty or default values are
   502  	// omitted from API requests. See
   503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   504  	// details.
   505  	ForceSendFields []string `json:"-"`
   506  	// NullFields is a list of field names (e.g. "Hint") to include in API requests
   507  	// with the JSON null value. By default, fields with empty values are omitted
   508  	// from API requests. See
   509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   510  	NullFields []string `json:"-"`
   511  }
   512  
   513  func (s *Authority) MarshalJSON() ([]byte, error) {
   514  	type NoMethod Authority
   515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   516  }
   517  
   518  // Basis: Basis describes the base image portion (Note) of the DockerImage
   519  // relationship. Linked occurrences are derived from this or an equivalent
   520  // image via: FROM Or an equivalent reference, e.g. a tag of the resource_url.
   521  type Basis struct {
   522  	// Fingerprint: Required. Immutable. The fingerprint of the base image.
   523  	Fingerprint *Fingerprint `json:"fingerprint,omitempty"`
   524  	// ResourceUrl: Required. Immutable. The resource_url for the resource
   525  	// representing the basis of associated occurrence images.
   526  	ResourceUrl string `json:"resourceUrl,omitempty"`
   527  	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
   528  	// unconditionally include in API requests. By default, fields with empty or
   529  	// default values are omitted from API requests. See
   530  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   531  	// details.
   532  	ForceSendFields []string `json:"-"`
   533  	// NullFields is a list of field names (e.g. "Fingerprint") to include in API
   534  	// requests with the JSON null value. By default, fields with empty values are
   535  	// omitted from API requests. See
   536  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   537  	NullFields []string `json:"-"`
   538  }
   539  
   540  func (s *Basis) MarshalJSON() ([]byte, error) {
   541  	type NoMethod Basis
   542  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   543  }
   544  
   545  // BatchCreateNotesRequest: Request to create notes in batch.
   546  type BatchCreateNotesRequest struct {
   547  	// Notes: Required. The notes to create, the key is expected to be the note ID.
   548  	// Max allowed length is 1000.
   549  	Notes map[string]Note `json:"notes,omitempty"`
   550  	// ForceSendFields is a list of field names (e.g. "Notes") to unconditionally
   551  	// include in API requests. By default, fields with empty or default values are
   552  	// omitted from API requests. See
   553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   554  	// details.
   555  	ForceSendFields []string `json:"-"`
   556  	// NullFields is a list of field names (e.g. "Notes") to include in API
   557  	// requests with the JSON null value. By default, fields with empty values are
   558  	// omitted from API requests. See
   559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   560  	NullFields []string `json:"-"`
   561  }
   562  
   563  func (s *BatchCreateNotesRequest) MarshalJSON() ([]byte, error) {
   564  	type NoMethod BatchCreateNotesRequest
   565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   566  }
   567  
   568  // BatchCreateNotesResponse: Response for creating notes in batch.
   569  type BatchCreateNotesResponse struct {
   570  	// Notes: The notes that were created.
   571  	Notes []*Note `json:"notes,omitempty"`
   572  
   573  	// ServerResponse contains the HTTP response code and headers from the server.
   574  	googleapi.ServerResponse `json:"-"`
   575  	// ForceSendFields is a list of field names (e.g. "Notes") to unconditionally
   576  	// include in API requests. By default, fields with empty or default values are
   577  	// omitted from API requests. See
   578  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   579  	// details.
   580  	ForceSendFields []string `json:"-"`
   581  	// NullFields is a list of field names (e.g. "Notes") to include in API
   582  	// requests with the JSON null value. By default, fields with empty values are
   583  	// omitted from API requests. See
   584  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   585  	NullFields []string `json:"-"`
   586  }
   587  
   588  func (s *BatchCreateNotesResponse) MarshalJSON() ([]byte, error) {
   589  	type NoMethod BatchCreateNotesResponse
   590  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   591  }
   592  
   593  // BatchCreateOccurrencesRequest: Request to create occurrences in batch.
   594  type BatchCreateOccurrencesRequest struct {
   595  	// Occurrences: Required. The occurrences to create. Max allowed length is
   596  	// 1000.
   597  	Occurrences []*Occurrence `json:"occurrences,omitempty"`
   598  	// ForceSendFields is a list of field names (e.g. "Occurrences") to
   599  	// unconditionally include in API requests. By default, fields with empty or
   600  	// default values are omitted from API requests. See
   601  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   602  	// details.
   603  	ForceSendFields []string `json:"-"`
   604  	// NullFields is a list of field names (e.g. "Occurrences") to include in API
   605  	// requests with the JSON null value. By default, fields with empty values are
   606  	// omitted from API requests. See
   607  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   608  	NullFields []string `json:"-"`
   609  }
   610  
   611  func (s *BatchCreateOccurrencesRequest) MarshalJSON() ([]byte, error) {
   612  	type NoMethod BatchCreateOccurrencesRequest
   613  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   614  }
   615  
   616  // BatchCreateOccurrencesResponse: Response for creating occurrences in batch.
   617  type BatchCreateOccurrencesResponse struct {
   618  	// Occurrences: The occurrences that were created.
   619  	Occurrences []*Occurrence `json:"occurrences,omitempty"`
   620  
   621  	// ServerResponse contains the HTTP response code and headers from the server.
   622  	googleapi.ServerResponse `json:"-"`
   623  	// ForceSendFields is a list of field names (e.g. "Occurrences") to
   624  	// unconditionally include in API requests. By default, fields with empty or
   625  	// default values are omitted from API requests. See
   626  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   627  	// details.
   628  	ForceSendFields []string `json:"-"`
   629  	// NullFields is a list of field names (e.g. "Occurrences") to include in API
   630  	// requests with the JSON null value. By default, fields with empty values are
   631  	// omitted from API requests. See
   632  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   633  	NullFields []string `json:"-"`
   634  }
   635  
   636  func (s *BatchCreateOccurrencesResponse) MarshalJSON() ([]byte, error) {
   637  	type NoMethod BatchCreateOccurrencesResponse
   638  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   639  }
   640  
   641  // Binding: Associates `members`, or principals, with a `role`.
   642  type Binding struct {
   643  	// Condition: The condition that is associated with this binding. If the
   644  	// condition evaluates to `true`, then this binding applies to the current
   645  	// request. If the condition evaluates to `false`, then this binding does not
   646  	// apply to the current request. However, a different role binding might grant
   647  	// the same role to one or more of the principals in this binding. To learn
   648  	// which resources support conditions in their IAM policies, see the IAM
   649  	// documentation
   650  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   651  	Condition *Expr `json:"condition,omitempty"`
   652  	// Members: Specifies the principals requesting access for a Google Cloud
   653  	// resource. `members` can have the following values: * `allUsers`: A special
   654  	// identifier that represents anyone who is on the internet; with or without a
   655  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   656  	// represents anyone who is authenticated with a Google account or a service
   657  	// account. Does not include identities that come from external identity
   658  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   659  	// address that represents a specific Google account. For example,
   660  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   661  	// represents a Google service account. For example,
   662  	// `my-other-app@appspot.gserviceaccount.com`. *
   663  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   664  	// identifier for a Kubernetes service account
   665  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   666  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   667  	// `group:{emailid}`: An email address that represents a Google group. For
   668  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   669  	// (primary) that represents all the users of that domain. For example,
   670  	// `google.com` or `example.com`. *
   671  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   672  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   673  	// pool. *
   674  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   675  	// group/{group_id}`: All workforce identities in a group. *
   676  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   677  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   678  	// a specific attribute value. *
   679  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   680  	// *`: All identities in a workforce identity pool. *
   681  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   682  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   683  	// identity in a workload identity pool. *
   684  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   685  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   686  	// group. *
   687  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   688  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   689  	// `: All identities in a workload identity pool with a certain attribute. *
   690  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   691  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   692  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   693  	// unique identifier) representing a user that has been recently deleted. For
   694  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   695  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   696  	// retains the role in the binding. *
   697  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   698  	// unique identifier) representing a service account that has been recently
   699  	// deleted. For example,
   700  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   701  	// service account is undeleted, this value reverts to
   702  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   703  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   704  	// address (plus unique identifier) representing a Google group that has been
   705  	// recently deleted. For example,
   706  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   707  	// this value reverts to `group:{emailid}` and the recovered group retains the
   708  	// role in the binding. *
   709  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   710  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   711  	// workforce identity pool. For example,
   712  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   713  	// ol-id/subject/my-subject-attribute-value`.
   714  	Members []string `json:"members,omitempty"`
   715  	// Role: Role that is assigned to the list of `members`, or principals. For
   716  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   717  	// of the IAM roles and permissions, see the IAM documentation
   718  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   719  	// available pre-defined roles, see here
   720  	// (https://cloud.google.com/iam/docs/understanding-roles).
   721  	Role string `json:"role,omitempty"`
   722  	// ForceSendFields is a list of field names (e.g. "Condition") to
   723  	// unconditionally include in API requests. By default, fields with empty or
   724  	// default values are omitted from API requests. See
   725  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   726  	// details.
   727  	ForceSendFields []string `json:"-"`
   728  	// NullFields is a list of field names (e.g. "Condition") to include in API
   729  	// requests with the JSON null value. By default, fields with empty values are
   730  	// omitted from API requests. See
   731  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   732  	NullFields []string `json:"-"`
   733  }
   734  
   735  func (s *Binding) MarshalJSON() ([]byte, error) {
   736  	type NoMethod Binding
   737  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   738  }
   739  
   740  // Build: Note holding the version of the provider's builder and the signature
   741  // of the provenance message in the build details occurrence.
   742  type Build struct {
   743  	// BuilderVersion: Required. Immutable. Version of the builder which produced
   744  	// this build.
   745  	BuilderVersion string `json:"builderVersion,omitempty"`
   746  	// Signature: Signature of the build in occurrences pointing to this build note
   747  	// containing build details.
   748  	Signature *BuildSignature `json:"signature,omitempty"`
   749  	// ForceSendFields is a list of field names (e.g. "BuilderVersion") to
   750  	// unconditionally include in API requests. By default, fields with empty or
   751  	// default values are omitted from API requests. See
   752  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   753  	// details.
   754  	ForceSendFields []string `json:"-"`
   755  	// NullFields is a list of field names (e.g. "BuilderVersion") to include in
   756  	// API requests with the JSON null value. By default, fields with empty values
   757  	// are omitted from API requests. See
   758  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   759  	NullFields []string `json:"-"`
   760  }
   761  
   762  func (s *Build) MarshalJSON() ([]byte, error) {
   763  	type NoMethod Build
   764  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   765  }
   766  
   767  type BuildDefinition struct {
   768  	BuildType            string                `json:"buildType,omitempty"`
   769  	ExternalParameters   googleapi.RawMessage  `json:"externalParameters,omitempty"`
   770  	InternalParameters   googleapi.RawMessage  `json:"internalParameters,omitempty"`
   771  	ResolvedDependencies []*ResourceDescriptor `json:"resolvedDependencies,omitempty"`
   772  	// ForceSendFields is a list of field names (e.g. "BuildType") to
   773  	// unconditionally include in API requests. By default, fields with empty or
   774  	// default values are omitted from API requests. See
   775  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   776  	// details.
   777  	ForceSendFields []string `json:"-"`
   778  	// NullFields is a list of field names (e.g. "BuildType") to include in API
   779  	// requests with the JSON null value. By default, fields with empty values are
   780  	// omitted from API requests. See
   781  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   782  	NullFields []string `json:"-"`
   783  }
   784  
   785  func (s *BuildDefinition) MarshalJSON() ([]byte, error) {
   786  	type NoMethod BuildDefinition
   787  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   788  }
   789  
   790  type BuildMetadata struct {
   791  	FinishedOn   string `json:"finishedOn,omitempty"`
   792  	InvocationId string `json:"invocationId,omitempty"`
   793  	StartedOn    string `json:"startedOn,omitempty"`
   794  	// ForceSendFields is a list of field names (e.g. "FinishedOn") to
   795  	// unconditionally include in API requests. By default, fields with empty or
   796  	// default values are omitted from API requests. See
   797  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   798  	// details.
   799  	ForceSendFields []string `json:"-"`
   800  	// NullFields is a list of field names (e.g. "FinishedOn") to include in API
   801  	// requests with the JSON null value. By default, fields with empty values are
   802  	// omitted from API requests. See
   803  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   804  	NullFields []string `json:"-"`
   805  }
   806  
   807  func (s *BuildMetadata) MarshalJSON() ([]byte, error) {
   808  	type NoMethod BuildMetadata
   809  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   810  }
   811  
   812  // BuildProvenance: Provenance of a build. Contains all information needed to
   813  // verify the full details about the build from source to completion.
   814  type BuildProvenance struct {
   815  	// BuildOptions: Special options applied to this build. This is a catch-all
   816  	// field where build providers can enter any desired additional details.
   817  	BuildOptions map[string]string `json:"buildOptions,omitempty"`
   818  	// BuilderVersion: Version string of the builder at the time this build was
   819  	// executed.
   820  	BuilderVersion string `json:"builderVersion,omitempty"`
   821  	// BuiltArtifacts: Output of the build.
   822  	BuiltArtifacts []*Artifact `json:"builtArtifacts,omitempty"`
   823  	// Commands: Commands requested by the build.
   824  	Commands []*Command `json:"commands,omitempty"`
   825  	// CreateTime: Time at which the build was created.
   826  	CreateTime string `json:"createTime,omitempty"`
   827  	// Creator: E-mail address of the user who initiated this build. Note that this
   828  	// was the user's e-mail address at the time the build was initiated; this
   829  	// address may not represent the same end-user for all time.
   830  	Creator string `json:"creator,omitempty"`
   831  	// EndTime: Time at which execution of the build was finished.
   832  	EndTime string `json:"endTime,omitempty"`
   833  	// Id: Required. Unique identifier of the build.
   834  	Id string `json:"id,omitempty"`
   835  	// LogsUri: URI where any logs for this provenance were written.
   836  	LogsUri string `json:"logsUri,omitempty"`
   837  	// ProjectId: ID of the project.
   838  	ProjectId string `json:"projectId,omitempty"`
   839  	// SourceProvenance: Details of the Source input to the build.
   840  	SourceProvenance *Source `json:"sourceProvenance,omitempty"`
   841  	// StartTime: Time at which execution of the build was started.
   842  	StartTime string `json:"startTime,omitempty"`
   843  	// TriggerId: Trigger identifier if the build was triggered automatically;
   844  	// empty if not.
   845  	TriggerId string `json:"triggerId,omitempty"`
   846  	// ForceSendFields is a list of field names (e.g. "BuildOptions") to
   847  	// unconditionally include in API requests. By default, fields with empty or
   848  	// default values are omitted from API requests. See
   849  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   850  	// details.
   851  	ForceSendFields []string `json:"-"`
   852  	// NullFields is a list of field names (e.g. "BuildOptions") to include in API
   853  	// requests with the JSON null value. By default, fields with empty values are
   854  	// omitted from API requests. See
   855  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   856  	NullFields []string `json:"-"`
   857  }
   858  
   859  func (s *BuildProvenance) MarshalJSON() ([]byte, error) {
   860  	type NoMethod BuildProvenance
   861  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   862  }
   863  
   864  // BuildSignature: Message encapsulating the signature of the verified build.
   865  type BuildSignature struct {
   866  	// KeyId: An ID for the key used to sign. This could be either an ID for the
   867  	// key stored in `public_key` (such as the ID or fingerprint for a PGP key, or
   868  	// the CN for a cert), or a reference to an external key (such as a reference
   869  	// to a key in Cloud Key Management Service).
   870  	KeyId string `json:"keyId,omitempty"`
   871  	// KeyType: The type of the key, either stored in `public_key` or referenced in
   872  	// `key_id`.
   873  	//
   874  	// Possible values:
   875  	//   "KEY_TYPE_UNSPECIFIED" - `KeyType` is not set.
   876  	//   "PGP_ASCII_ARMORED" - `PGP ASCII Armored` public key.
   877  	//   "PKIX_PEM" - `PKIX PEM` public key.
   878  	KeyType string `json:"keyType,omitempty"`
   879  	// PublicKey: Public key of the builder which can be used to verify that the
   880  	// related findings are valid and unchanged. If `key_type` is empty, this
   881  	// defaults to PEM encoded public keys. This field may be empty if `key_id`
   882  	// references an external key. For Cloud Build based signatures, this is a PEM
   883  	// encoded public key. To verify the Cloud Build signature, place the contents
   884  	// of this field into a file (public.pem). The signature field is
   885  	// base64-decoded into its binary representation in signature.bin, and the
   886  	// provenance bytes from `BuildDetails` are base64-decoded into a binary
   887  	// representation in signed.bin. OpenSSL can then verify the signature:
   888  	// `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
   889  	PublicKey string `json:"publicKey,omitempty"`
   890  	// Signature: Required. Signature of the related `BuildProvenance`. In JSON,
   891  	// this is base-64 encoded.
   892  	Signature string `json:"signature,omitempty"`
   893  	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
   894  	// include in API requests. By default, fields with empty or default values are
   895  	// omitted from API requests. See
   896  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   897  	// details.
   898  	ForceSendFields []string `json:"-"`
   899  	// NullFields is a list of field names (e.g. "KeyId") to include in API
   900  	// requests with the JSON null value. By default, fields with empty values are
   901  	// omitted from API requests. See
   902  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   903  	NullFields []string `json:"-"`
   904  }
   905  
   906  func (s *BuildSignature) MarshalJSON() ([]byte, error) {
   907  	type NoMethod BuildSignature
   908  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   909  }
   910  
   911  // BuildStep: A step in the build pipeline. Next ID: 21
   912  type BuildStep struct {
   913  	// AllowExitCodes: Allow this build step to fail without failing the entire
   914  	// build if and only if the exit code is one of the specified codes. If
   915  	// allow_failure is also specified, this field will take precedence.
   916  	AllowExitCodes []int64 `json:"allowExitCodes,omitempty"`
   917  	// AllowFailure: Allow this build step to fail without failing the entire
   918  	// build. If false, the entire build will fail if this step fails. Otherwise,
   919  	// the build will succeed, but this step will still have a failure status.
   920  	// Error information will be reported in the failure_detail field.
   921  	AllowFailure bool `json:"allowFailure,omitempty"`
   922  	// Args: A list of arguments that will be presented to the step when it is
   923  	// started. If the image used to run the step's container has an entrypoint,
   924  	// the `args` are used as arguments to that entrypoint. If the image does not
   925  	// define an entrypoint, the first element in args is used as the entrypoint,
   926  	// and the remainder will be used as arguments.
   927  	Args []string `json:"args,omitempty"`
   928  	// AutomapSubstitutions: Option to include built-in and custom substitutions as
   929  	// env variables for this build step. This option will override the global
   930  	// option in BuildOption.
   931  	AutomapSubstitutions bool `json:"automapSubstitutions,omitempty"`
   932  	// Dir: Working directory to use when running this step's container. If this
   933  	// value is a relative path, it is relative to the build's working directory.
   934  	// If this value is absolute, it may be outside the build's working directory,
   935  	// in which case the contents of the path may not be persisted across build
   936  	// step executions, unless a `volume` for that path is specified. If the build
   937  	// specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
   938  	// an absolute path, the `RepoSource` `dir` is ignored for the step's
   939  	// execution.
   940  	Dir string `json:"dir,omitempty"`
   941  	// Entrypoint: Entrypoint to be used instead of the build step image's default
   942  	// entrypoint. If unset, the image's default entrypoint is used.
   943  	Entrypoint string `json:"entrypoint,omitempty"`
   944  	// Env: A list of environment variable definitions to be used when running a
   945  	// step. The elements are of the form "KEY=VALUE" for the environment variable
   946  	// "KEY" being given the value "VALUE".
   947  	Env []string `json:"env,omitempty"`
   948  	// ExitCode: Output only. Return code from running the step.
   949  	ExitCode int64 `json:"exitCode,omitempty"`
   950  	// Id: Unique identifier for this build step, used in `wait_for` to reference
   951  	// this build step as a dependency.
   952  	Id string `json:"id,omitempty"`
   953  	// Name: Required. The name of the container image that will run this
   954  	// particular build step. If the image is available in the host's Docker
   955  	// daemon's cache, it will be run directly. If not, the host will attempt to
   956  	// pull the image first, using the builder service account's credentials if
   957  	// necessary. The Docker daemon's cache will already have the latest versions
   958  	// of all of the officially supported build steps
   959  	// (https://github.com/GoogleCloudPlatform/cloud-builders
   960  	// (https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon
   961  	// will also have cached many of the layers for some popular images, like
   962  	// "ubuntu", "debian", but they will be refreshed at the time you attempt to
   963  	// use them. If you built an image in a previous build step, it will be stored
   964  	// in the host's Docker daemon's cache and is available to use as the name for
   965  	// a later build step.
   966  	Name string `json:"name,omitempty"`
   967  	// PullTiming: Output only. Stores timing information for pulling this build
   968  	// step's builder image only.
   969  	PullTiming *TimeSpan `json:"pullTiming,omitempty"`
   970  	// Script: A shell script to be executed in the step. When script is provided,
   971  	// the user cannot specify the entrypoint or args.
   972  	Script string `json:"script,omitempty"`
   973  	// SecretEnv: A list of environment variables which are encrypted using a Cloud
   974  	// Key Management Service crypto key. These values must be specified in the
   975  	// build's `Secret`.
   976  	SecretEnv []string `json:"secretEnv,omitempty"`
   977  	// Status: Output only. Status of the build step. At this time, build step
   978  	// status is only updated on build completion; step status is not updated in
   979  	// real-time as the build progresses.
   980  	//
   981  	// Possible values:
   982  	//   "STATUS_UNKNOWN" - Status of the build is unknown.
   983  	//   "PENDING" - Build has been created and is pending execution and queuing.
   984  	// It has not been queued.
   985  	//   "QUEUING" - Build has been received and is being queued.
   986  	//   "QUEUED" - Build or step is queued; work has not yet begun.
   987  	//   "WORKING" - Build or step is being executed.
   988  	//   "SUCCESS" - Build or step finished successfully.
   989  	//   "FAILURE" - Build or step failed to complete successfully.
   990  	//   "INTERNAL_ERROR" - Build or step failed due to an internal cause.
   991  	//   "TIMEOUT" - Build or step took longer than was allowed.
   992  	//   "CANCELLED" - Build or step was canceled by a user.
   993  	//   "EXPIRED" - Build was enqueued for longer than the value of `queue_ttl`.
   994  	Status string `json:"status,omitempty"`
   995  	// Timeout: Time limit for executing this build step. If not defined, the step
   996  	// has no time limit and will be allowed to continue to run until either it
   997  	// completes or the build itself times out.
   998  	Timeout string `json:"timeout,omitempty"`
   999  	// Timing: Output only. Stores timing information for executing this build
  1000  	// step.
  1001  	Timing *TimeSpan `json:"timing,omitempty"`
  1002  	// Volumes: List of volumes to mount into the build step. Each volume is
  1003  	// created as an empty volume prior to execution of the build step. Upon
  1004  	// completion of the build, volumes and their contents are discarded. Using a
  1005  	// named volume in only one step is not valid as it is indicative of a build
  1006  	// request with an incorrect configuration.
  1007  	Volumes []*Volume `json:"volumes,omitempty"`
  1008  	// WaitFor: The ID(s) of the step(s) that this build step depends on. This
  1009  	// build step will not start until all the build steps in `wait_for` have
  1010  	// completed successfully. If `wait_for` is empty, this build step will start
  1011  	// when all previous build steps in the `Build.Steps` list have completed
  1012  	// successfully.
  1013  	WaitFor []string `json:"waitFor,omitempty"`
  1014  	// ForceSendFields is a list of field names (e.g. "AllowExitCodes") to
  1015  	// unconditionally include in API requests. By default, fields with empty or
  1016  	// default values are omitted from API requests. See
  1017  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1018  	// details.
  1019  	ForceSendFields []string `json:"-"`
  1020  	// NullFields is a list of field names (e.g. "AllowExitCodes") to include in
  1021  	// API requests with the JSON null value. By default, fields with empty values
  1022  	// are omitted from API requests. See
  1023  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1024  	NullFields []string `json:"-"`
  1025  }
  1026  
  1027  func (s *BuildStep) MarshalJSON() ([]byte, error) {
  1028  	type NoMethod BuildStep
  1029  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1030  }
  1031  
  1032  // ByProducts: Defines an object for the byproducts field in in-toto links. The
  1033  // suggested fields are "stderr", "stdout", and "return-value".
  1034  type ByProducts struct {
  1035  	CustomValues map[string]string `json:"customValues,omitempty"`
  1036  	// ForceSendFields is a list of field names (e.g. "CustomValues") to
  1037  	// unconditionally include in API requests. By default, fields with empty or
  1038  	// default values are omitted from API requests. See
  1039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1040  	// details.
  1041  	ForceSendFields []string `json:"-"`
  1042  	// NullFields is a list of field names (e.g. "CustomValues") to include in API
  1043  	// requests with the JSON null value. By default, fields with empty values are
  1044  	// omitted from API requests. See
  1045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1046  	NullFields []string `json:"-"`
  1047  }
  1048  
  1049  func (s *ByProducts) MarshalJSON() ([]byte, error) {
  1050  	type NoMethod ByProducts
  1051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1052  }
  1053  
  1054  // CVSS: Common Vulnerability Scoring System. This message is compatible with
  1055  // CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide
  1056  // CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For
  1057  // CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS
  1058  // v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator
  1059  type CVSS struct {
  1060  	// AttackComplexity: Defined in CVSS v3, CVSS v2
  1061  	//
  1062  	// Possible values:
  1063  	//   "ATTACK_COMPLEXITY_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
  1064  	//   "ATTACK_COMPLEXITY_LOW" - Defined in CVSS v3, CVSS v2
  1065  	//   "ATTACK_COMPLEXITY_HIGH" - Defined in CVSS v3, CVSS v2
  1066  	//   "ATTACK_COMPLEXITY_MEDIUM" - Defined in CVSS v2
  1067  	AttackComplexity string `json:"attackComplexity,omitempty"`
  1068  	// AttackVector: Base Metrics Represents the intrinsic characteristics of a
  1069  	// vulnerability that are constant over time and across user environments.
  1070  	// Defined in CVSS v3, CVSS v2
  1071  	//
  1072  	// Possible values:
  1073  	//   "ATTACK_VECTOR_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
  1074  	//   "ATTACK_VECTOR_NETWORK" - Defined in CVSS v3, CVSS v2
  1075  	//   "ATTACK_VECTOR_ADJACENT" - Defined in CVSS v3, CVSS v2
  1076  	//   "ATTACK_VECTOR_LOCAL" - Defined in CVSS v3, CVSS v2
  1077  	//   "ATTACK_VECTOR_PHYSICAL" - Defined in CVSS v3
  1078  	AttackVector string `json:"attackVector,omitempty"`
  1079  	// Authentication: Defined in CVSS v2
  1080  	//
  1081  	// Possible values:
  1082  	//   "AUTHENTICATION_UNSPECIFIED" - Defined in CVSS v2
  1083  	//   "AUTHENTICATION_MULTIPLE" - Defined in CVSS v2
  1084  	//   "AUTHENTICATION_SINGLE" - Defined in CVSS v2
  1085  	//   "AUTHENTICATION_NONE" - Defined in CVSS v2
  1086  	Authentication string `json:"authentication,omitempty"`
  1087  	// AvailabilityImpact: Defined in CVSS v3, CVSS v2
  1088  	//
  1089  	// Possible values:
  1090  	//   "IMPACT_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
  1091  	//   "IMPACT_HIGH" - Defined in CVSS v3
  1092  	//   "IMPACT_LOW" - Defined in CVSS v3
  1093  	//   "IMPACT_NONE" - Defined in CVSS v3, CVSS v2
  1094  	//   "IMPACT_PARTIAL" - Defined in CVSS v2
  1095  	//   "IMPACT_COMPLETE" - Defined in CVSS v2
  1096  	AvailabilityImpact string `json:"availabilityImpact,omitempty"`
  1097  	// BaseScore: The base score is a function of the base metric scores.
  1098  	BaseScore float64 `json:"baseScore,omitempty"`
  1099  	// ConfidentialityImpact: Defined in CVSS v3, CVSS v2
  1100  	//
  1101  	// Possible values:
  1102  	//   "IMPACT_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
  1103  	//   "IMPACT_HIGH" - Defined in CVSS v3
  1104  	//   "IMPACT_LOW" - Defined in CVSS v3
  1105  	//   "IMPACT_NONE" - Defined in CVSS v3, CVSS v2
  1106  	//   "IMPACT_PARTIAL" - Defined in CVSS v2
  1107  	//   "IMPACT_COMPLETE" - Defined in CVSS v2
  1108  	ConfidentialityImpact string  `json:"confidentialityImpact,omitempty"`
  1109  	ExploitabilityScore   float64 `json:"exploitabilityScore,omitempty"`
  1110  	ImpactScore           float64 `json:"impactScore,omitempty"`
  1111  	// IntegrityImpact: Defined in CVSS v3, CVSS v2
  1112  	//
  1113  	// Possible values:
  1114  	//   "IMPACT_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
  1115  	//   "IMPACT_HIGH" - Defined in CVSS v3
  1116  	//   "IMPACT_LOW" - Defined in CVSS v3
  1117  	//   "IMPACT_NONE" - Defined in CVSS v3, CVSS v2
  1118  	//   "IMPACT_PARTIAL" - Defined in CVSS v2
  1119  	//   "IMPACT_COMPLETE" - Defined in CVSS v2
  1120  	IntegrityImpact string `json:"integrityImpact,omitempty"`
  1121  	// PrivilegesRequired: Defined in CVSS v3
  1122  	//
  1123  	// Possible values:
  1124  	//   "PRIVILEGES_REQUIRED_UNSPECIFIED" - Defined in CVSS v3
  1125  	//   "PRIVILEGES_REQUIRED_NONE" - Defined in CVSS v3
  1126  	//   "PRIVILEGES_REQUIRED_LOW" - Defined in CVSS v3
  1127  	//   "PRIVILEGES_REQUIRED_HIGH" - Defined in CVSS v3
  1128  	PrivilegesRequired string `json:"privilegesRequired,omitempty"`
  1129  	// Scope: Defined in CVSS v3
  1130  	//
  1131  	// Possible values:
  1132  	//   "SCOPE_UNSPECIFIED" - Defined in CVSS v3
  1133  	//   "SCOPE_UNCHANGED" - Defined in CVSS v3
  1134  	//   "SCOPE_CHANGED" - Defined in CVSS v3
  1135  	Scope string `json:"scope,omitempty"`
  1136  	// UserInteraction: Defined in CVSS v3
  1137  	//
  1138  	// Possible values:
  1139  	//   "USER_INTERACTION_UNSPECIFIED" - Defined in CVSS v3
  1140  	//   "USER_INTERACTION_NONE" - Defined in CVSS v3
  1141  	//   "USER_INTERACTION_REQUIRED" - Defined in CVSS v3
  1142  	UserInteraction string `json:"userInteraction,omitempty"`
  1143  	// ForceSendFields is a list of field names (e.g. "AttackComplexity") to
  1144  	// unconditionally include in API requests. By default, fields with empty or
  1145  	// default values are omitted from API requests. See
  1146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1147  	// details.
  1148  	ForceSendFields []string `json:"-"`
  1149  	// NullFields is a list of field names (e.g. "AttackComplexity") to include in
  1150  	// API requests with the JSON null value. By default, fields with empty values
  1151  	// are omitted from API requests. See
  1152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1153  	NullFields []string `json:"-"`
  1154  }
  1155  
  1156  func (s *CVSS) MarshalJSON() ([]byte, error) {
  1157  	type NoMethod CVSS
  1158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1159  }
  1160  
  1161  func (s *CVSS) UnmarshalJSON(data []byte) error {
  1162  	type NoMethod CVSS
  1163  	var s1 struct {
  1164  		BaseScore           gensupport.JSONFloat64 `json:"baseScore"`
  1165  		ExploitabilityScore gensupport.JSONFloat64 `json:"exploitabilityScore"`
  1166  		ImpactScore         gensupport.JSONFloat64 `json:"impactScore"`
  1167  		*NoMethod
  1168  	}
  1169  	s1.NoMethod = (*NoMethod)(s)
  1170  	if err := json.Unmarshal(data, &s1); err != nil {
  1171  		return err
  1172  	}
  1173  	s.BaseScore = float64(s1.BaseScore)
  1174  	s.ExploitabilityScore = float64(s1.ExploitabilityScore)
  1175  	s.ImpactScore = float64(s1.ImpactScore)
  1176  	return nil
  1177  }
  1178  
  1179  // CVSSv3: Deprecated. Common Vulnerability Scoring System version 3. For
  1180  // details, see https://www.first.org/cvss/specification-document
  1181  type CVSSv3 struct {
  1182  	// Possible values:
  1183  	//   "ATTACK_COMPLEXITY_UNSPECIFIED"
  1184  	//   "ATTACK_COMPLEXITY_LOW"
  1185  	//   "ATTACK_COMPLEXITY_HIGH"
  1186  	AttackComplexity string `json:"attackComplexity,omitempty"`
  1187  	// AttackVector: Base Metrics Represents the intrinsic characteristics of a
  1188  	// vulnerability that are constant over time and across user environments.
  1189  	//
  1190  	// Possible values:
  1191  	//   "ATTACK_VECTOR_UNSPECIFIED"
  1192  	//   "ATTACK_VECTOR_NETWORK"
  1193  	//   "ATTACK_VECTOR_ADJACENT"
  1194  	//   "ATTACK_VECTOR_LOCAL"
  1195  	//   "ATTACK_VECTOR_PHYSICAL"
  1196  	AttackVector string `json:"attackVector,omitempty"`
  1197  	// Possible values:
  1198  	//   "IMPACT_UNSPECIFIED"
  1199  	//   "IMPACT_HIGH"
  1200  	//   "IMPACT_LOW"
  1201  	//   "IMPACT_NONE"
  1202  	AvailabilityImpact string `json:"availabilityImpact,omitempty"`
  1203  	// BaseScore: The base score is a function of the base metric scores.
  1204  	BaseScore float64 `json:"baseScore,omitempty"`
  1205  	// Possible values:
  1206  	//   "IMPACT_UNSPECIFIED"
  1207  	//   "IMPACT_HIGH"
  1208  	//   "IMPACT_LOW"
  1209  	//   "IMPACT_NONE"
  1210  	ConfidentialityImpact string  `json:"confidentialityImpact,omitempty"`
  1211  	ExploitabilityScore   float64 `json:"exploitabilityScore,omitempty"`
  1212  	ImpactScore           float64 `json:"impactScore,omitempty"`
  1213  	// Possible values:
  1214  	//   "IMPACT_UNSPECIFIED"
  1215  	//   "IMPACT_HIGH"
  1216  	//   "IMPACT_LOW"
  1217  	//   "IMPACT_NONE"
  1218  	IntegrityImpact string `json:"integrityImpact,omitempty"`
  1219  	// Possible values:
  1220  	//   "PRIVILEGES_REQUIRED_UNSPECIFIED"
  1221  	//   "PRIVILEGES_REQUIRED_NONE"
  1222  	//   "PRIVILEGES_REQUIRED_LOW"
  1223  	//   "PRIVILEGES_REQUIRED_HIGH"
  1224  	PrivilegesRequired string `json:"privilegesRequired,omitempty"`
  1225  	// Possible values:
  1226  	//   "SCOPE_UNSPECIFIED"
  1227  	//   "SCOPE_UNCHANGED"
  1228  	//   "SCOPE_CHANGED"
  1229  	Scope string `json:"scope,omitempty"`
  1230  	// Possible values:
  1231  	//   "USER_INTERACTION_UNSPECIFIED"
  1232  	//   "USER_INTERACTION_NONE"
  1233  	//   "USER_INTERACTION_REQUIRED"
  1234  	UserInteraction string `json:"userInteraction,omitempty"`
  1235  	// ForceSendFields is a list of field names (e.g. "AttackComplexity") to
  1236  	// unconditionally include in API requests. By default, fields with empty or
  1237  	// default values are omitted from API requests. See
  1238  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1239  	// details.
  1240  	ForceSendFields []string `json:"-"`
  1241  	// NullFields is a list of field names (e.g. "AttackComplexity") to include in
  1242  	// API requests with the JSON null value. By default, fields with empty values
  1243  	// are omitted from API requests. See
  1244  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1245  	NullFields []string `json:"-"`
  1246  }
  1247  
  1248  func (s *CVSSv3) MarshalJSON() ([]byte, error) {
  1249  	type NoMethod CVSSv3
  1250  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1251  }
  1252  
  1253  func (s *CVSSv3) UnmarshalJSON(data []byte) error {
  1254  	type NoMethod CVSSv3
  1255  	var s1 struct {
  1256  		BaseScore           gensupport.JSONFloat64 `json:"baseScore"`
  1257  		ExploitabilityScore gensupport.JSONFloat64 `json:"exploitabilityScore"`
  1258  		ImpactScore         gensupport.JSONFloat64 `json:"impactScore"`
  1259  		*NoMethod
  1260  	}
  1261  	s1.NoMethod = (*NoMethod)(s)
  1262  	if err := json.Unmarshal(data, &s1); err != nil {
  1263  		return err
  1264  	}
  1265  	s.BaseScore = float64(s1.BaseScore)
  1266  	s.ExploitabilityScore = float64(s1.ExploitabilityScore)
  1267  	s.ImpactScore = float64(s1.ImpactScore)
  1268  	return nil
  1269  }
  1270  
  1271  // CloudRepoSourceContext: A CloudRepoSourceContext denotes a particular
  1272  // revision in a Google Cloud Source Repo.
  1273  type CloudRepoSourceContext struct {
  1274  	// AliasContext: An alias, which may be a branch or tag.
  1275  	AliasContext *AliasContext `json:"aliasContext,omitempty"`
  1276  	// RepoId: The ID of the repo.
  1277  	RepoId *RepoId `json:"repoId,omitempty"`
  1278  	// RevisionId: A revision ID.
  1279  	RevisionId string `json:"revisionId,omitempty"`
  1280  	// ForceSendFields is a list of field names (e.g. "AliasContext") to
  1281  	// unconditionally include in API requests. By default, fields with empty or
  1282  	// default values are omitted from API requests. See
  1283  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1284  	// details.
  1285  	ForceSendFields []string `json:"-"`
  1286  	// NullFields is a list of field names (e.g. "AliasContext") to include in API
  1287  	// requests with the JSON null value. By default, fields with empty values are
  1288  	// omitted from API requests. See
  1289  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1290  	NullFields []string `json:"-"`
  1291  }
  1292  
  1293  func (s *CloudRepoSourceContext) MarshalJSON() ([]byte, error) {
  1294  	type NoMethod CloudRepoSourceContext
  1295  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1296  }
  1297  
  1298  // Command: Command describes a step performed as part of the build pipeline.
  1299  type Command struct {
  1300  	// Args: Command-line arguments used when executing this command.
  1301  	Args []string `json:"args,omitempty"`
  1302  	// Dir: Working directory (relative to project source root) used when running
  1303  	// this command.
  1304  	Dir string `json:"dir,omitempty"`
  1305  	// Env: Environment variables set before running this command.
  1306  	Env []string `json:"env,omitempty"`
  1307  	// Id: Optional unique identifier for this command, used in wait_for to
  1308  	// reference this command as a dependency.
  1309  	Id string `json:"id,omitempty"`
  1310  	// Name: Required. Name of the command, as presented on the command line, or if
  1311  	// the command is packaged as a Docker container, as presented to `docker
  1312  	// pull`.
  1313  	Name string `json:"name,omitempty"`
  1314  	// WaitFor: The ID(s) of the command(s) that this command depends on.
  1315  	WaitFor []string `json:"waitFor,omitempty"`
  1316  	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
  1317  	// include in API requests. By default, fields with empty or default values are
  1318  	// omitted from API requests. See
  1319  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1320  	// details.
  1321  	ForceSendFields []string `json:"-"`
  1322  	// NullFields is a list of field names (e.g. "Args") to include in API requests
  1323  	// with the JSON null value. By default, fields with empty values are omitted
  1324  	// from API requests. See
  1325  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1326  	NullFields []string `json:"-"`
  1327  }
  1328  
  1329  func (s *Command) MarshalJSON() ([]byte, error) {
  1330  	type NoMethod Command
  1331  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1332  }
  1333  
  1334  // ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig: ApprovalConfig
  1335  // describes configuration for manual approval of a build.
  1336  type ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig struct {
  1337  	// ApprovalRequired: Whether or not approval is needed. If this is set on a
  1338  	// build, it will become pending when created, and will need to be explicitly
  1339  	// approved to start.
  1340  	ApprovalRequired bool `json:"approvalRequired,omitempty"`
  1341  	// ForceSendFields is a list of field names (e.g. "ApprovalRequired") to
  1342  	// unconditionally include in API requests. By default, fields with empty or
  1343  	// default values are omitted from API requests. See
  1344  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1345  	// details.
  1346  	ForceSendFields []string `json:"-"`
  1347  	// NullFields is a list of field names (e.g. "ApprovalRequired") to include in
  1348  	// API requests with the JSON null value. By default, fields with empty values
  1349  	// are omitted from API requests. See
  1350  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1351  	NullFields []string `json:"-"`
  1352  }
  1353  
  1354  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) MarshalJSON() ([]byte, error) {
  1355  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig
  1356  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1357  }
  1358  
  1359  // ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult: ApprovalResult
  1360  // describes the decision and associated metadata of a manual approval of a
  1361  // build.
  1362  type ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult struct {
  1363  	// ApprovalTime: Output only. The time when the approval decision was made.
  1364  	ApprovalTime string `json:"approvalTime,omitempty"`
  1365  	// ApproverAccount: Output only. Email of the user that called the ApproveBuild
  1366  	// API to approve or reject a build at the time that the API was called.
  1367  	ApproverAccount string `json:"approverAccount,omitempty"`
  1368  	// Comment: Optional. An optional comment for this manual approval result.
  1369  	Comment string `json:"comment,omitempty"`
  1370  	// Decision: Required. The decision of this manual approval.
  1371  	//
  1372  	// Possible values:
  1373  	//   "DECISION_UNSPECIFIED" - Default enum type. This should not be used.
  1374  	//   "APPROVED" - Build is approved.
  1375  	//   "REJECTED" - Build is rejected.
  1376  	Decision string `json:"decision,omitempty"`
  1377  	// Url: Optional. An optional URL tied to this manual approval result. This
  1378  	// field is essentially the same as comment, except that it will be rendered by
  1379  	// the UI differently. An example use case is a link to an external job that
  1380  	// approved this Build.
  1381  	Url string `json:"url,omitempty"`
  1382  	// ForceSendFields is a list of field names (e.g. "ApprovalTime") to
  1383  	// unconditionally include in API requests. By default, fields with empty or
  1384  	// default values are omitted from API requests. See
  1385  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1386  	// details.
  1387  	ForceSendFields []string `json:"-"`
  1388  	// NullFields is a list of field names (e.g. "ApprovalTime") to include in API
  1389  	// requests with the JSON null value. By default, fields with empty values are
  1390  	// omitted from API requests. See
  1391  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1392  	NullFields []string `json:"-"`
  1393  }
  1394  
  1395  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) MarshalJSON() ([]byte, error) {
  1396  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult
  1397  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1398  }
  1399  
  1400  // ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts: Artifacts produced by
  1401  // a build that should be uploaded upon successful completion of all build
  1402  // steps.
  1403  type ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts struct {
  1404  	// Images: A list of images to be pushed upon the successful completion of all
  1405  	// build steps. The images will be pushed using the builder service account's
  1406  	// credentials. The digests of the pushed images will be stored in the Build
  1407  	// resource's results field. If any of the images fail to be pushed, the build
  1408  	// is marked FAILURE.
  1409  	Images []string `json:"images,omitempty"`
  1410  	// MavenArtifacts: A list of Maven artifacts to be uploaded to Artifact
  1411  	// Registry upon successful completion of all build steps. Artifacts in the
  1412  	// workspace matching specified paths globs will be uploaded to the specified
  1413  	// Artifact Registry repository using the builder service account's
  1414  	// credentials. If any artifacts fail to be pushed, the build is marked
  1415  	// FAILURE.
  1416  	MavenArtifacts []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact `json:"mavenArtifacts,omitempty"`
  1417  	// NpmPackages: A list of npm packages to be uploaded to Artifact Registry upon
  1418  	// successful completion of all build steps. Npm packages in the specified
  1419  	// paths will be uploaded to the specified Artifact Registry repository using
  1420  	// the builder service account's credentials. If any packages fail to be
  1421  	// pushed, the build is marked FAILURE.
  1422  	NpmPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage `json:"npmPackages,omitempty"`
  1423  	// Objects: A list of objects to be uploaded to Cloud Storage upon successful
  1424  	// completion of all build steps. Files in the workspace matching specified
  1425  	// paths globs will be uploaded to the specified Cloud Storage location using
  1426  	// the builder service account's credentials. The location and generation of
  1427  	// the uploaded objects will be stored in the Build resource's results field.
  1428  	// If any objects fail to be pushed, the build is marked FAILURE.
  1429  	Objects *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects `json:"objects,omitempty"`
  1430  	// PythonPackages: A list of Python packages to be uploaded to Artifact
  1431  	// Registry upon successful completion of all build steps. The build service
  1432  	// account credentials will be used to perform the upload. If any objects fail
  1433  	// to be pushed, the build is marked FAILURE.
  1434  	PythonPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage `json:"pythonPackages,omitempty"`
  1435  	// ForceSendFields is a list of field names (e.g. "Images") to unconditionally
  1436  	// include in API requests. By default, fields with empty or default values are
  1437  	// omitted from API requests. See
  1438  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1439  	// details.
  1440  	ForceSendFields []string `json:"-"`
  1441  	// NullFields is a list of field names (e.g. "Images") to include in API
  1442  	// requests with the JSON null value. By default, fields with empty values are
  1443  	// omitted from API requests. See
  1444  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1445  	NullFields []string `json:"-"`
  1446  }
  1447  
  1448  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) MarshalJSON() ([]byte, error) {
  1449  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts
  1450  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1451  }
  1452  
  1453  // ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects: Files
  1454  // in the workspace to upload to Cloud Storage upon successful completion of
  1455  // all build steps.
  1456  type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects struct {
  1457  	// Location: Cloud Storage bucket and optional object path, in the form
  1458  	// "gs://bucket/path/to/somewhere/". (see Bucket Name Requirements
  1459  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)). Files
  1460  	// in the workspace matching any path pattern will be uploaded to Cloud Storage
  1461  	// with this location as a prefix.
  1462  	Location string `json:"location,omitempty"`
  1463  	// Paths: Path globs used to match files in the build's workspace.
  1464  	Paths []string `json:"paths,omitempty"`
  1465  	// Timing: Output only. Stores timing information for pushing all artifact
  1466  	// objects.
  1467  	Timing *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"timing,omitempty"`
  1468  	// ForceSendFields is a list of field names (e.g. "Location") to
  1469  	// unconditionally include in API requests. By default, fields with empty or
  1470  	// default values are omitted from API requests. See
  1471  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1472  	// details.
  1473  	ForceSendFields []string `json:"-"`
  1474  	// NullFields is a list of field names (e.g. "Location") to include in API
  1475  	// requests with the JSON null value. By default, fields with empty values are
  1476  	// omitted from API requests. See
  1477  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1478  	NullFields []string `json:"-"`
  1479  }
  1480  
  1481  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) MarshalJSON() ([]byte, error) {
  1482  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects
  1483  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1484  }
  1485  
  1486  // ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact: A Maven
  1487  // artifact to upload to Artifact Registry upon successful completion of all
  1488  // build steps.
  1489  type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact struct {
  1490  	// ArtifactId: Maven `artifactId` value used when uploading the artifact to
  1491  	// Artifact Registry.
  1492  	ArtifactId string `json:"artifactId,omitempty"`
  1493  	// GroupId: Maven `groupId` value used when uploading the artifact to Artifact
  1494  	// Registry.
  1495  	GroupId string `json:"groupId,omitempty"`
  1496  	// Path: Path to an artifact in the build's workspace to be uploaded to
  1497  	// Artifact Registry. This can be either an absolute path, e.g.
  1498  	// /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path from
  1499  	// /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.
  1500  	Path string `json:"path,omitempty"`
  1501  	// Repository: Artifact Registry repository, in the form
  1502  	// "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY" Artifact in the
  1503  	// workspace specified by path will be uploaded to Artifact Registry with this
  1504  	// location as a prefix.
  1505  	Repository string `json:"repository,omitempty"`
  1506  	// Version: Maven `version` value used when uploading the artifact to Artifact
  1507  	// Registry.
  1508  	Version string `json:"version,omitempty"`
  1509  	// ForceSendFields is a list of field names (e.g. "ArtifactId") to
  1510  	// unconditionally include in API requests. By default, fields with empty or
  1511  	// default values are omitted from API requests. See
  1512  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1513  	// details.
  1514  	ForceSendFields []string `json:"-"`
  1515  	// NullFields is a list of field names (e.g. "ArtifactId") to include in API
  1516  	// requests with the JSON null value. By default, fields with empty values are
  1517  	// omitted from API requests. See
  1518  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1519  	NullFields []string `json:"-"`
  1520  }
  1521  
  1522  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) MarshalJSON() ([]byte, error) {
  1523  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact
  1524  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1525  }
  1526  
  1527  // ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage: Npm package
  1528  // to upload to Artifact Registry upon successful completion of all build
  1529  // steps.
  1530  type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage struct {
  1531  	// PackagePath: Path to the package.json. e.g. workspace/path/to/package
  1532  	PackagePath string `json:"packagePath,omitempty"`
  1533  	// Repository: Artifact Registry repository, in the form
  1534  	// "https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY" Npm package in the
  1535  	// workspace specified by path will be zipped and uploaded to Artifact Registry
  1536  	// with this location as a prefix.
  1537  	Repository string `json:"repository,omitempty"`
  1538  	// ForceSendFields is a list of field names (e.g. "PackagePath") to
  1539  	// unconditionally include in API requests. By default, fields with empty or
  1540  	// default values are omitted from API requests. See
  1541  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1542  	// details.
  1543  	ForceSendFields []string `json:"-"`
  1544  	// NullFields is a list of field names (e.g. "PackagePath") to include in API
  1545  	// requests with the JSON null value. By default, fields with empty values are
  1546  	// omitted from API requests. See
  1547  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1548  	NullFields []string `json:"-"`
  1549  }
  1550  
  1551  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) MarshalJSON() ([]byte, error) {
  1552  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage
  1553  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1554  }
  1555  
  1556  // ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage: Python
  1557  // package to upload to Artifact Registry upon successful completion of all
  1558  // build steps. A package can encapsulate multiple objects to be uploaded to a
  1559  // single repository.
  1560  type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage struct {
  1561  	// Paths: Path globs used to match files in the build's workspace. For Python/
  1562  	// Twine, this is usually `dist/*`, and sometimes additionally an `.asc` file.
  1563  	Paths []string `json:"paths,omitempty"`
  1564  	// Repository: Artifact Registry repository, in the form
  1565  	// "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY" Files in the workspace
  1566  	// matching any path pattern will be uploaded to Artifact Registry with this
  1567  	// location as a prefix.
  1568  	Repository string `json:"repository,omitempty"`
  1569  	// ForceSendFields is a list of field names (e.g. "Paths") to unconditionally
  1570  	// include in API requests. By default, fields with empty or default values are
  1571  	// omitted from API requests. See
  1572  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1573  	// details.
  1574  	ForceSendFields []string `json:"-"`
  1575  	// NullFields is a list of field names (e.g. "Paths") to include in API
  1576  	// requests with the JSON null value. By default, fields with empty values are
  1577  	// omitted from API requests. See
  1578  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1579  	NullFields []string `json:"-"`
  1580  }
  1581  
  1582  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) MarshalJSON() ([]byte, error) {
  1583  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage
  1584  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1585  }
  1586  
  1587  // ContaineranalysisGoogleDevtoolsCloudbuildV1Build: A build resource in the
  1588  // Cloud Build API. At a high level, a `Build` describes where to find source
  1589  // code, how to build it (for example, the builder image to run on the source),
  1590  // and where to store the built artifacts. Fields can include the following
  1591  // variables, which will be expanded when the build is created: - $PROJECT_ID:
  1592  // the project ID of the build. - $PROJECT_NUMBER: the project number of the
  1593  // build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
  1594  // autogenerated ID of the build. - $REPO_NAME: the source repository name
  1595  // specified by RepoSource. - $BRANCH_NAME: the branch name specified by
  1596  // RepoSource. - $TAG_NAME: the tag name specified by RepoSource. -
  1597  // $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
  1598  // resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters
  1599  // of $REVISION_ID or $COMMIT_SHA.
  1600  type ContaineranalysisGoogleDevtoolsCloudbuildV1Build struct {
  1601  	// Approval: Output only. Describes this build's approval configuration,
  1602  	// status, and result.
  1603  	Approval *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval `json:"approval,omitempty"`
  1604  	// Artifacts: Artifacts produced by the build that should be uploaded upon
  1605  	// successful completion of all build steps.
  1606  	Artifacts *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts `json:"artifacts,omitempty"`
  1607  	// AvailableSecrets: Secrets and secret environment variables.
  1608  	AvailableSecrets *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets `json:"availableSecrets,omitempty"`
  1609  	// BuildTriggerId: Output only. The ID of the `BuildTrigger` that triggered
  1610  	// this build, if it was triggered automatically.
  1611  	BuildTriggerId string `json:"buildTriggerId,omitempty"`
  1612  	// CreateTime: Output only. Time at which the request to create the build was
  1613  	// received.
  1614  	CreateTime string `json:"createTime,omitempty"`
  1615  	// FailureInfo: Output only. Contains information about the build when
  1616  	// status=FAILURE.
  1617  	FailureInfo *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo `json:"failureInfo,omitempty"`
  1618  	// FinishTime: Output only. Time at which execution of the build was finished.
  1619  	// The difference between finish_time and start_time is the duration of the
  1620  	// build's execution.
  1621  	FinishTime string `json:"finishTime,omitempty"`
  1622  	// GitConfig: Optional. Configuration for git operations.
  1623  	GitConfig *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig `json:"gitConfig,omitempty"`
  1624  	// Id: Output only. Unique identifier of the build.
  1625  	Id string `json:"id,omitempty"`
  1626  	// Images: A list of images to be pushed upon the successful completion of all
  1627  	// build steps. The images are pushed using the builder service account's
  1628  	// credentials. The digests of the pushed images will be stored in the `Build`
  1629  	// resource's results field. If any of the images fail to be pushed, the build
  1630  	// status is marked `FAILURE`.
  1631  	Images []string `json:"images,omitempty"`
  1632  	// LogUrl: Output only. URL to logs for this build in Google Cloud Console.
  1633  	LogUrl string `json:"logUrl,omitempty"`
  1634  	// LogsBucket: Cloud Storage bucket where logs should be written (see Bucket
  1635  	// Name Requirements
  1636  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs
  1637  	// file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
  1638  	LogsBucket string `json:"logsBucket,omitempty"`
  1639  	// Name: Output only. The 'Build' name with format:
  1640  	// `projects/{project}/locations/{location}/builds/{build}`, where {build} is a
  1641  	// unique identifier generated by the service.
  1642  	Name string `json:"name,omitempty"`
  1643  	// Options: Special options for this build.
  1644  	Options *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions `json:"options,omitempty"`
  1645  	// ProjectId: Output only. ID of the project.
  1646  	ProjectId string `json:"projectId,omitempty"`
  1647  	// QueueTtl: TTL in queue for this build. If provided and the build is enqueued
  1648  	// longer than this value, the build will expire and the build status will be
  1649  	// `EXPIRED`. The TTL starts ticking from create_time.
  1650  	QueueTtl string `json:"queueTtl,omitempty"`
  1651  	// Results: Output only. Results of the build.
  1652  	Results *ContaineranalysisGoogleDevtoolsCloudbuildV1Results `json:"results,omitempty"`
  1653  	// Secrets: Secrets to decrypt using Cloud Key Management Service. Note: Secret
  1654  	// Manager is the recommended technique for managing sensitive data with Cloud
  1655  	// Build. Use `available_secrets` to configure builds to access secrets from
  1656  	// Secret Manager. For instructions, see:
  1657  	// https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets
  1658  	Secrets []*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret `json:"secrets,omitempty"`
  1659  	// ServiceAccount: IAM service account whose credentials will be used at build
  1660  	// runtime. Must be of the format
  1661  	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email
  1662  	// address or uniqueId of the service account.
  1663  	ServiceAccount string `json:"serviceAccount,omitempty"`
  1664  	// Source: The location of the source files to build.
  1665  	Source *ContaineranalysisGoogleDevtoolsCloudbuildV1Source `json:"source,omitempty"`
  1666  	// SourceProvenance: Output only. A permanent fixed identifier for source.
  1667  	SourceProvenance *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance `json:"sourceProvenance,omitempty"`
  1668  	// StartTime: Output only. Time at which execution of the build was started.
  1669  	StartTime string `json:"startTime,omitempty"`
  1670  	// Status: Output only. Status of the build.
  1671  	//
  1672  	// Possible values:
  1673  	//   "STATUS_UNKNOWN" - Status of the build is unknown.
  1674  	//   "PENDING" - Build has been created and is pending execution and queuing.
  1675  	// It has not been queued.
  1676  	//   "QUEUED" - Build or step is queued; work has not yet begun.
  1677  	//   "WORKING" - Build or step is being executed.
  1678  	//   "SUCCESS" - Build or step finished successfully.
  1679  	//   "FAILURE" - Build or step failed to complete successfully.
  1680  	//   "INTERNAL_ERROR" - Build or step failed due to an internal cause.
  1681  	//   "TIMEOUT" - Build or step took longer than was allowed.
  1682  	//   "CANCELLED" - Build or step was canceled by a user.
  1683  	//   "EXPIRED" - Build was enqueued for longer than the value of `queue_ttl`.
  1684  	Status string `json:"status,omitempty"`
  1685  	// StatusDetail: Output only. Customer-readable message about the current
  1686  	// status.
  1687  	StatusDetail string `json:"statusDetail,omitempty"`
  1688  	// Steps: Required. The operations to be performed on the workspace.
  1689  	Steps []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep `json:"steps,omitempty"`
  1690  	// Substitutions: Substitutions data for `Build` resource.
  1691  	Substitutions map[string]string `json:"substitutions,omitempty"`
  1692  	// Tags: Tags for annotation of a `Build`. These are not docker tags.
  1693  	Tags []string `json:"tags,omitempty"`
  1694  	// Timeout: Amount of time that this build should be allowed to run, to second
  1695  	// granularity. If this amount of time elapses, work on the build will cease
  1696  	// and the build status will be `TIMEOUT`. `timeout` starts ticking from
  1697  	// `startTime`. Default time is 60 minutes.
  1698  	Timeout string `json:"timeout,omitempty"`
  1699  	// Timing: Output only. Stores timing information for phases of the build.
  1700  	// Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to
  1701  	// push all artifacts including docker images and non docker artifacts. *
  1702  	// FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If
  1703  	// the build does not specify source or images, these keys will not be
  1704  	// included.
  1705  	Timing map[string]ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"timing,omitempty"`
  1706  	// Warnings: Output only. Non-fatal problems encountered during the execution
  1707  	// of the build.
  1708  	Warnings []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning `json:"warnings,omitempty"`
  1709  	// ForceSendFields is a list of field names (e.g. "Approval") to
  1710  	// unconditionally include in API requests. By default, fields with empty or
  1711  	// default values are omitted from API requests. See
  1712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1713  	// details.
  1714  	ForceSendFields []string `json:"-"`
  1715  	// NullFields is a list of field names (e.g. "Approval") to include in API
  1716  	// requests with the JSON null value. By default, fields with empty values are
  1717  	// omitted from API requests. See
  1718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1719  	NullFields []string `json:"-"`
  1720  }
  1721  
  1722  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) MarshalJSON() ([]byte, error) {
  1723  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Build
  1724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1725  }
  1726  
  1727  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval: BuildApproval
  1728  // describes a build's approval configuration, state, and result.
  1729  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval struct {
  1730  	// Config: Output only. Configuration for manual approval of this build.
  1731  	Config *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig `json:"config,omitempty"`
  1732  	// Result: Output only. Result of manual approval for this Build.
  1733  	Result *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult `json:"result,omitempty"`
  1734  	// State: Output only. The state of this build's approval.
  1735  	//
  1736  	// Possible values:
  1737  	//   "STATE_UNSPECIFIED" - Default enum type. This should not be used.
  1738  	//   "PENDING" - Build approval is pending.
  1739  	//   "APPROVED" - Build approval has been approved.
  1740  	//   "REJECTED" - Build approval has been rejected.
  1741  	//   "CANCELLED" - Build was cancelled while it was still pending approval.
  1742  	State string `json:"state,omitempty"`
  1743  	// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
  1744  	// include in API requests. By default, fields with empty or default values are
  1745  	// omitted from API requests. See
  1746  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1747  	// details.
  1748  	ForceSendFields []string `json:"-"`
  1749  	// NullFields is a list of field names (e.g. "Config") to include in API
  1750  	// requests with the JSON null value. By default, fields with empty values are
  1751  	// omitted from API requests. See
  1752  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1753  	NullFields []string `json:"-"`
  1754  }
  1755  
  1756  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) MarshalJSON() ([]byte, error) {
  1757  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval
  1758  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1759  }
  1760  
  1761  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo: A fatal problem
  1762  // encountered during the execution of the build.
  1763  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo struct {
  1764  	// Detail: Explains the failure issue in more detail using hard-coded text.
  1765  	Detail string `json:"detail,omitempty"`
  1766  	// Type: The name of the failure.
  1767  	//
  1768  	// Possible values:
  1769  	//   "FAILURE_TYPE_UNSPECIFIED" - Type unspecified
  1770  	//   "PUSH_FAILED" - Unable to push the image to the repository.
  1771  	//   "PUSH_IMAGE_NOT_FOUND" - Final image not found.
  1772  	//   "PUSH_NOT_AUTHORIZED" - Unauthorized push of the final image.
  1773  	//   "LOGGING_FAILURE" - Backend logging failures. Should retry.
  1774  	//   "USER_BUILD_STEP" - A build step has failed.
  1775  	//   "FETCH_SOURCE_FAILED" - The source fetching has failed.
  1776  	Type string `json:"type,omitempty"`
  1777  	// ForceSendFields is a list of field names (e.g. "Detail") to unconditionally
  1778  	// include in API requests. By default, fields with empty or default values are
  1779  	// omitted from API requests. See
  1780  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1781  	// details.
  1782  	ForceSendFields []string `json:"-"`
  1783  	// NullFields is a list of field names (e.g. "Detail") to include in API
  1784  	// requests with the JSON null value. By default, fields with empty values are
  1785  	// omitted from API requests. See
  1786  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1787  	NullFields []string `json:"-"`
  1788  }
  1789  
  1790  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) MarshalJSON() ([]byte, error) {
  1791  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo
  1792  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1793  }
  1794  
  1795  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions: Optional arguments
  1796  // to enable specific features of builds.
  1797  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions struct {
  1798  	// AutomapSubstitutions: Option to include built-in and custom substitutions as
  1799  	// env variables for all build steps.
  1800  	AutomapSubstitutions bool `json:"automapSubstitutions,omitempty"`
  1801  	// DefaultLogsBucketBehavior: Optional. Option to specify how default logs
  1802  	// buckets are setup.
  1803  	//
  1804  	// Possible values:
  1805  	//   "DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED" - Unspecified.
  1806  	//   "REGIONAL_USER_OWNED_BUCKET" - Bucket is located in user-owned project in
  1807  	// the same region as the build. The builder service account must have access
  1808  	// to create and write to Cloud Storage buckets in the build project.
  1809  	DefaultLogsBucketBehavior string `json:"defaultLogsBucketBehavior,omitempty"`
  1810  	// DiskSizeGb: Requested disk size for the VM that runs the build. Note that
  1811  	// this is *NOT* "disk free"; some of the space will be used by the operating
  1812  	// system and build utilities. Also note that this is the minimum disk size
  1813  	// that will be allocated for the build -- the build may run with a larger disk
  1814  	// than requested. At present, the maximum disk size is 2000GB; builds that
  1815  	// request more than the maximum are rejected with an error.
  1816  	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
  1817  	// DynamicSubstitutions: Option to specify whether or not to apply bash style
  1818  	// string operations to the substitutions. NOTE: this is always enabled for
  1819  	// triggered builds and cannot be overridden in the build configuration file.
  1820  	DynamicSubstitutions bool `json:"dynamicSubstitutions,omitempty"`
  1821  	// Env: A list of global environment variable definitions that will exist for
  1822  	// all build steps in this build. If a variable is defined in both globally and
  1823  	// in a build step, the variable will use the build step value. The elements
  1824  	// are of the form "KEY=VALUE" for the environment variable "KEY" being given
  1825  	// the value "VALUE".
  1826  	Env []string `json:"env,omitempty"`
  1827  	// LogStreamingOption: Option to define build log streaming behavior to Cloud
  1828  	// Storage.
  1829  	//
  1830  	// Possible values:
  1831  	//   "STREAM_DEFAULT" - Service may automatically determine build log streaming
  1832  	// behavior.
  1833  	//   "STREAM_ON" - Build logs should be streamed to Cloud Storage.
  1834  	//   "STREAM_OFF" - Build logs should not be streamed to Cloud Storage; they
  1835  	// will be written when the build is completed.
  1836  	LogStreamingOption string `json:"logStreamingOption,omitempty"`
  1837  	// Logging: Option to specify the logging mode, which determines if and where
  1838  	// build logs are stored.
  1839  	//
  1840  	// Possible values:
  1841  	//   "LOGGING_UNSPECIFIED" - The service determines the logging mode. The
  1842  	// default is `LEGACY`. Do not rely on the default logging behavior as it may
  1843  	// change in the future.
  1844  	//   "LEGACY" - Build logs are stored in Cloud Logging and Cloud Storage.
  1845  	//   "GCS_ONLY" - Build logs are stored in Cloud Storage.
  1846  	//   "STACKDRIVER_ONLY" - This option is the same as CLOUD_LOGGING_ONLY.
  1847  	//   "CLOUD_LOGGING_ONLY" - Build logs are stored in Cloud Logging. Selecting
  1848  	// this option will not allow [logs
  1849  	// streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).
  1850  	//   "NONE" - Turn off all logging. No build logs will be captured.
  1851  	Logging string `json:"logging,omitempty"`
  1852  	// MachineType: Compute Engine machine type on which to run the build.
  1853  	//
  1854  	// Possible values:
  1855  	//   "UNSPECIFIED" - Standard machine type.
  1856  	//   "N1_HIGHCPU_8" - Highcpu machine with 8 CPUs.
  1857  	//   "N1_HIGHCPU_32" - Highcpu machine with 32 CPUs.
  1858  	//   "E2_HIGHCPU_8" - Highcpu e2 machine with 8 CPUs.
  1859  	//   "E2_HIGHCPU_32" - Highcpu e2 machine with 32 CPUs.
  1860  	//   "E2_MEDIUM" - E2 machine with 1 CPU.
  1861  	MachineType string `json:"machineType,omitempty"`
  1862  	// Pool: Optional. Specification for execution on a `WorkerPool`. See running
  1863  	// builds in a private pool
  1864  	// (https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
  1865  	// for more information.
  1866  	Pool *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption `json:"pool,omitempty"`
  1867  	// RequestedVerifyOption: Requested verifiability options.
  1868  	//
  1869  	// Possible values:
  1870  	//   "NOT_VERIFIED" - Not a verifiable build (the default).
  1871  	//   "VERIFIED" - Build must be verified.
  1872  	RequestedVerifyOption string `json:"requestedVerifyOption,omitempty"`
  1873  	// SecretEnv: A list of global environment variables, which are encrypted using
  1874  	// a Cloud Key Management Service crypto key. These values must be specified in
  1875  	// the build's `Secret`. These variables will be available to all build steps
  1876  	// in this build.
  1877  	SecretEnv []string `json:"secretEnv,omitempty"`
  1878  	// SourceProvenanceHash: Requested hash for SourceProvenance.
  1879  	//
  1880  	// Possible values:
  1881  	//   "NONE" - No hash requested.
  1882  	//   "SHA256" - Use a sha256 hash.
  1883  	//   "MD5" - Use a md5 hash.
  1884  	//   "SHA512" - Use a sha512 hash.
  1885  	SourceProvenanceHash []string `json:"sourceProvenanceHash,omitempty"`
  1886  	// SubstitutionOption: Option to specify behavior when there is an error in the
  1887  	// substitution checks. NOTE: this is always set to ALLOW_LOOSE for triggered
  1888  	// builds and cannot be overridden in the build configuration file.
  1889  	//
  1890  	// Possible values:
  1891  	//   "MUST_MATCH" - Fails the build if error in substitutions checks, like
  1892  	// missing a substitution in the template or in the map.
  1893  	//   "ALLOW_LOOSE" - Do not fail the build if error in substitutions checks.
  1894  	SubstitutionOption string `json:"substitutionOption,omitempty"`
  1895  	// Volumes: Global list of volumes to mount for ALL build steps Each volume is
  1896  	// created as an empty volume prior to starting the build process. Upon
  1897  	// completion of the build, volumes and their contents are discarded. Global
  1898  	// volume names and paths cannot conflict with the volumes defined a build
  1899  	// step. Using a global volume in a build with only one step is not valid as it
  1900  	// is indicative of a build request with an incorrect configuration.
  1901  	Volumes []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume `json:"volumes,omitempty"`
  1902  	// WorkerPool: This field deprecated; please use `pool.name` instead.
  1903  	WorkerPool string `json:"workerPool,omitempty"`
  1904  	// ForceSendFields is a list of field names (e.g. "AutomapSubstitutions") to
  1905  	// unconditionally include in API requests. By default, fields with empty or
  1906  	// default values are omitted from API requests. See
  1907  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1908  	// details.
  1909  	ForceSendFields []string `json:"-"`
  1910  	// NullFields is a list of field names (e.g. "AutomapSubstitutions") to include
  1911  	// in API requests with the JSON null value. By default, fields with empty
  1912  	// values are omitted from API requests. See
  1913  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1914  	NullFields []string `json:"-"`
  1915  }
  1916  
  1917  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) MarshalJSON() ([]byte, error) {
  1918  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions
  1919  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1920  }
  1921  
  1922  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption: Details
  1923  // about how a build should be executed on a `WorkerPool`. See running builds
  1924  // in a private pool
  1925  // (https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
  1926  // for more information.
  1927  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption struct {
  1928  	// Name: The `WorkerPool` resource to execute the build on. You must have
  1929  	// `cloudbuild.workerpools.use` on the project hosting the WorkerPool. Format
  1930  	// projects/{project}/locations/{location}/workerPools/{workerPoolId}
  1931  	Name string `json:"name,omitempty"`
  1932  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1933  	// include in API requests. By default, fields with empty or default values are
  1934  	// omitted from API requests. See
  1935  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1936  	// details.
  1937  	ForceSendFields []string `json:"-"`
  1938  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1939  	// with the JSON null value. By default, fields with empty values are omitted
  1940  	// from API requests. See
  1941  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1942  	NullFields []string `json:"-"`
  1943  }
  1944  
  1945  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) MarshalJSON() ([]byte, error) {
  1946  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption
  1947  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1948  }
  1949  
  1950  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep: A step in the build
  1951  // pipeline.
  1952  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep struct {
  1953  	// AllowExitCodes: Allow this build step to fail without failing the entire
  1954  	// build if and only if the exit code is one of the specified codes. If
  1955  	// allow_failure is also specified, this field will take precedence.
  1956  	AllowExitCodes []int64 `json:"allowExitCodes,omitempty"`
  1957  	// AllowFailure: Allow this build step to fail without failing the entire
  1958  	// build. If false, the entire build will fail if this step fails. Otherwise,
  1959  	// the build will succeed, but this step will still have a failure status.
  1960  	// Error information will be reported in the failure_detail field.
  1961  	AllowFailure bool `json:"allowFailure,omitempty"`
  1962  	// Args: A list of arguments that will be presented to the step when it is
  1963  	// started. If the image used to run the step's container has an entrypoint,
  1964  	// the `args` are used as arguments to that entrypoint. If the image does not
  1965  	// define an entrypoint, the first element in args is used as the entrypoint,
  1966  	// and the remainder will be used as arguments.
  1967  	Args []string `json:"args,omitempty"`
  1968  	// AutomapSubstitutions: Option to include built-in and custom substitutions as
  1969  	// env variables for this build step. This option will override the global
  1970  	// option in BuildOption.
  1971  	AutomapSubstitutions bool `json:"automapSubstitutions,omitempty"`
  1972  	// Dir: Working directory to use when running this step's container. If this
  1973  	// value is a relative path, it is relative to the build's working directory.
  1974  	// If this value is absolute, it may be outside the build's working directory,
  1975  	// in which case the contents of the path may not be persisted across build
  1976  	// step executions, unless a `volume` for that path is specified. If the build
  1977  	// specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
  1978  	// an absolute path, the `RepoSource` `dir` is ignored for the step's
  1979  	// execution.
  1980  	Dir string `json:"dir,omitempty"`
  1981  	// Entrypoint: Entrypoint to be used instead of the build step image's default
  1982  	// entrypoint. If unset, the image's default entrypoint is used.
  1983  	Entrypoint string `json:"entrypoint,omitempty"`
  1984  	// Env: A list of environment variable definitions to be used when running a
  1985  	// step. The elements are of the form "KEY=VALUE" for the environment variable
  1986  	// "KEY" being given the value "VALUE".
  1987  	Env []string `json:"env,omitempty"`
  1988  	// ExitCode: Output only. Return code from running the step.
  1989  	ExitCode int64 `json:"exitCode,omitempty"`
  1990  	// Id: Unique identifier for this build step, used in `wait_for` to reference
  1991  	// this build step as a dependency.
  1992  	Id string `json:"id,omitempty"`
  1993  	// Name: Required. The name of the container image that will run this
  1994  	// particular build step. If the image is available in the host's Docker
  1995  	// daemon's cache, it will be run directly. If not, the host will attempt to
  1996  	// pull the image first, using the builder service account's credentials if
  1997  	// necessary. The Docker daemon's cache will already have the latest versions
  1998  	// of all of the officially supported build steps
  1999  	// (https://github.com/GoogleCloudPlatform/cloud-builders
  2000  	// (https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon
  2001  	// will also have cached many of the layers for some popular images, like
  2002  	// "ubuntu", "debian", but they will be refreshed at the time you attempt to
  2003  	// use them. If you built an image in a previous build step, it will be stored
  2004  	// in the host's Docker daemon's cache and is available to use as the name for
  2005  	// a later build step.
  2006  	Name string `json:"name,omitempty"`
  2007  	// PullTiming: Output only. Stores timing information for pulling this build
  2008  	// step's builder image only.
  2009  	PullTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pullTiming,omitempty"`
  2010  	// Script: A shell script to be executed in the step. When script is provided,
  2011  	// the user cannot specify the entrypoint or args.
  2012  	Script string `json:"script,omitempty"`
  2013  	// SecretEnv: A list of environment variables which are encrypted using a Cloud
  2014  	// Key Management Service crypto key. These values must be specified in the
  2015  	// build's `Secret`.
  2016  	SecretEnv []string `json:"secretEnv,omitempty"`
  2017  	// Status: Output only. Status of the build step. At this time, build step
  2018  	// status is only updated on build completion; step status is not updated in
  2019  	// real-time as the build progresses.
  2020  	//
  2021  	// Possible values:
  2022  	//   "STATUS_UNKNOWN" - Status of the build is unknown.
  2023  	//   "PENDING" - Build has been created and is pending execution and queuing.
  2024  	// It has not been queued.
  2025  	//   "QUEUED" - Build or step is queued; work has not yet begun.
  2026  	//   "WORKING" - Build or step is being executed.
  2027  	//   "SUCCESS" - Build or step finished successfully.
  2028  	//   "FAILURE" - Build or step failed to complete successfully.
  2029  	//   "INTERNAL_ERROR" - Build or step failed due to an internal cause.
  2030  	//   "TIMEOUT" - Build or step took longer than was allowed.
  2031  	//   "CANCELLED" - Build or step was canceled by a user.
  2032  	//   "EXPIRED" - Build was enqueued for longer than the value of `queue_ttl`.
  2033  	Status string `json:"status,omitempty"`
  2034  	// Timeout: Time limit for executing this build step. If not defined, the step
  2035  	// has no time limit and will be allowed to continue to run until either it
  2036  	// completes or the build itself times out.
  2037  	Timeout string `json:"timeout,omitempty"`
  2038  	// Timing: Output only. Stores timing information for executing this build
  2039  	// step.
  2040  	Timing *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"timing,omitempty"`
  2041  	// Volumes: List of volumes to mount into the build step. Each volume is
  2042  	// created as an empty volume prior to execution of the build step. Upon
  2043  	// completion of the build, volumes and their contents are discarded. Using a
  2044  	// named volume in only one step is not valid as it is indicative of a build
  2045  	// request with an incorrect configuration.
  2046  	Volumes []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume `json:"volumes,omitempty"`
  2047  	// WaitFor: The ID(s) of the step(s) that this build step depends on. This
  2048  	// build step will not start until all the build steps in `wait_for` have
  2049  	// completed successfully. If `wait_for` is empty, this build step will start
  2050  	// when all previous build steps in the `Build.Steps` list have completed
  2051  	// successfully.
  2052  	WaitFor []string `json:"waitFor,omitempty"`
  2053  	// ForceSendFields is a list of field names (e.g. "AllowExitCodes") to
  2054  	// unconditionally include in API requests. By default, fields with empty or
  2055  	// default values are omitted from API requests. See
  2056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2057  	// details.
  2058  	ForceSendFields []string `json:"-"`
  2059  	// NullFields is a list of field names (e.g. "AllowExitCodes") to include in
  2060  	// API requests with the JSON null value. By default, fields with empty values
  2061  	// are omitted from API requests. See
  2062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2063  	NullFields []string `json:"-"`
  2064  }
  2065  
  2066  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) MarshalJSON() ([]byte, error) {
  2067  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep
  2068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2069  }
  2070  
  2071  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning: A non-fatal problem
  2072  // encountered during the execution of the build.
  2073  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning struct {
  2074  	// Priority: The priority for this warning.
  2075  	//
  2076  	// Possible values:
  2077  	//   "PRIORITY_UNSPECIFIED" - Should not be used.
  2078  	//   "INFO" - e.g. deprecation warnings and alternative feature highlights.
  2079  	//   "WARNING" - e.g. automated detection of possible issues with the build.
  2080  	//   "ALERT" - e.g. alerts that a feature used in the build is pending removal
  2081  	Priority string `json:"priority,omitempty"`
  2082  	// Text: Explanation of the warning generated.
  2083  	Text string `json:"text,omitempty"`
  2084  	// ForceSendFields is a list of field names (e.g. "Priority") to
  2085  	// unconditionally include in API requests. By default, fields with empty or
  2086  	// default values are omitted from API requests. See
  2087  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2088  	// details.
  2089  	ForceSendFields []string `json:"-"`
  2090  	// NullFields is a list of field names (e.g. "Priority") to include in API
  2091  	// requests with the JSON null value. By default, fields with empty values are
  2092  	// omitted from API requests. See
  2093  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2094  	NullFields []string `json:"-"`
  2095  }
  2096  
  2097  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) MarshalJSON() ([]byte, error) {
  2098  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning
  2099  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2100  }
  2101  
  2102  // ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage: An image built by the
  2103  // pipeline.
  2104  type ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage struct {
  2105  	// Digest: Docker Registry 2.0 digest.
  2106  	Digest string `json:"digest,omitempty"`
  2107  	// Name: Name used to push the container image to Google Container Registry, as
  2108  	// presented to `docker push`.
  2109  	Name string `json:"name,omitempty"`
  2110  	// PushTiming: Output only. Stores timing information for pushing the specified
  2111  	// image.
  2112  	PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
  2113  	// ForceSendFields is a list of field names (e.g. "Digest") to unconditionally
  2114  	// include in API requests. By default, fields with empty or default values are
  2115  	// omitted from API requests. See
  2116  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2117  	// details.
  2118  	ForceSendFields []string `json:"-"`
  2119  	// NullFields is a list of field names (e.g. "Digest") to include in API
  2120  	// requests with the JSON null value. By default, fields with empty values are
  2121  	// omitted from API requests. See
  2122  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2123  	NullFields []string `json:"-"`
  2124  }
  2125  
  2126  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) MarshalJSON() ([]byte, error) {
  2127  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage
  2128  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2129  }
  2130  
  2131  // ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository: Location of
  2132  // the source in a 2nd-gen Google Cloud Build repository resource.
  2133  type ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository struct {
  2134  	// Dir: Directory, relative to the source root, in which to run the build.
  2135  	Dir string `json:"dir,omitempty"`
  2136  	// Repository: Required. Name of the Google Cloud Build repository, formatted
  2137  	// as `projects/*/locations/*/connections/*/repositories/*`.
  2138  	Repository string `json:"repository,omitempty"`
  2139  	// Revision: The revision to fetch from the Git repository such as a branch, a
  2140  	// tag, a commit SHA, or any Git ref.
  2141  	Revision string `json:"revision,omitempty"`
  2142  	// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
  2143  	// include in API requests. By default, fields with empty or default values are
  2144  	// omitted from API requests. See
  2145  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2146  	// details.
  2147  	ForceSendFields []string `json:"-"`
  2148  	// NullFields is a list of field names (e.g. "Dir") to include in API requests
  2149  	// with the JSON null value. By default, fields with empty values are omitted
  2150  	// from API requests. See
  2151  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2152  	NullFields []string `json:"-"`
  2153  }
  2154  
  2155  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) MarshalJSON() ([]byte, error) {
  2156  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository
  2157  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2158  }
  2159  
  2160  // ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig: This
  2161  // config defines the location of a source through Developer Connect.
  2162  type ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig struct {
  2163  	// Dir: Required. Directory, relative to the source root, in which to run the
  2164  	// build.
  2165  	Dir string `json:"dir,omitempty"`
  2166  	// GitRepositoryLink: Required. The Developer Connect Git repository link,
  2167  	// formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
  2168  	GitRepositoryLink string `json:"gitRepositoryLink,omitempty"`
  2169  	// Revision: Required. The revision to fetch from the Git repository such as a
  2170  	// branch, a tag, a commit SHA, or any Git ref.
  2171  	Revision string `json:"revision,omitempty"`
  2172  	// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
  2173  	// include in API requests. By default, fields with empty or default values are
  2174  	// omitted from API requests. See
  2175  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2176  	// details.
  2177  	ForceSendFields []string `json:"-"`
  2178  	// NullFields is a list of field names (e.g. "Dir") to include in API requests
  2179  	// with the JSON null value. By default, fields with empty values are omitted
  2180  	// from API requests. See
  2181  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2182  	NullFields []string `json:"-"`
  2183  }
  2184  
  2185  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) MarshalJSON() ([]byte, error) {
  2186  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig
  2187  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2188  }
  2189  
  2190  // ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes: Container message for
  2191  // hashes of byte content of files, used in SourceProvenance messages to verify
  2192  // integrity of source input to the build.
  2193  type ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes struct {
  2194  	// FileHash: Collection of file hashes.
  2195  	FileHash []*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash `json:"fileHash,omitempty"`
  2196  	// ForceSendFields is a list of field names (e.g. "FileHash") to
  2197  	// unconditionally include in API requests. By default, fields with empty or
  2198  	// default values are omitted from API requests. See
  2199  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2200  	// details.
  2201  	ForceSendFields []string `json:"-"`
  2202  	// NullFields is a list of field names (e.g. "FileHash") to include in API
  2203  	// requests with the JSON null value. By default, fields with empty values are
  2204  	// omitted from API requests. See
  2205  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2206  	NullFields []string `json:"-"`
  2207  }
  2208  
  2209  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) MarshalJSON() ([]byte, error) {
  2210  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes
  2211  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2212  }
  2213  
  2214  // ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig: GitConfig is a
  2215  // configuration for git operations.
  2216  type ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig struct {
  2217  	// Http: Configuration for HTTP related git operations.
  2218  	Http *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig `json:"http,omitempty"`
  2219  	// ForceSendFields is a list of field names (e.g. "Http") to unconditionally
  2220  	// include in API requests. By default, fields with empty or default values are
  2221  	// omitted from API requests. See
  2222  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2223  	// details.
  2224  	ForceSendFields []string `json:"-"`
  2225  	// NullFields is a list of field names (e.g. "Http") to include in API requests
  2226  	// with the JSON null value. By default, fields with empty values are omitted
  2227  	// from API requests. See
  2228  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2229  	NullFields []string `json:"-"`
  2230  }
  2231  
  2232  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) MarshalJSON() ([]byte, error) {
  2233  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig
  2234  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2235  }
  2236  
  2237  // ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig: HttpConfig
  2238  // is a configuration for HTTP related git operations.
  2239  type ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig struct {
  2240  	// ProxySecretVersionName: SecretVersion resource of the HTTP proxy URL. The
  2241  	// proxy URL should be in format protocol://@]proxyhost[:port].
  2242  	ProxySecretVersionName string `json:"proxySecretVersionName,omitempty"`
  2243  	// ForceSendFields is a list of field names (e.g. "ProxySecretVersionName") to
  2244  	// unconditionally include in API requests. By default, fields with empty or
  2245  	// default values are omitted from API requests. See
  2246  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2247  	// details.
  2248  	ForceSendFields []string `json:"-"`
  2249  	// NullFields is a list of field names (e.g. "ProxySecretVersionName") to
  2250  	// include in API requests with the JSON null value. By default, fields with
  2251  	// empty values are omitted from API requests. See
  2252  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2253  	NullFields []string `json:"-"`
  2254  }
  2255  
  2256  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) MarshalJSON() ([]byte, error) {
  2257  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig
  2258  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2259  }
  2260  
  2261  // ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource: Location of the source
  2262  // in any accessible Git repository.
  2263  type ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource struct {
  2264  	// Dir: Directory, relative to the source root, in which to run the build. This
  2265  	// must be a relative path. If a step's `dir` is specified and is an absolute
  2266  	// path, this value is ignored for that step's execution.
  2267  	Dir string `json:"dir,omitempty"`
  2268  	// Revision: The revision to fetch from the Git repository such as a branch, a
  2269  	// tag, a commit SHA, or any Git ref. Cloud Build uses `git fetch` to fetch the
  2270  	// revision from the Git repository; therefore make sure that the string you
  2271  	// provide for `revision` is parsable by the command. For information on string
  2272  	// values accepted by `git fetch`, see
  2273  	// https://git-scm.com/docs/gitrevisions#_specifying_revisions. For information
  2274  	// on `git fetch`, see https://git-scm.com/docs/git-fetch.
  2275  	Revision string `json:"revision,omitempty"`
  2276  	// Url: Location of the Git repo to build. This will be used as a `git remote`,
  2277  	// see https://git-scm.com/docs/git-remote.
  2278  	Url string `json:"url,omitempty"`
  2279  	// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
  2280  	// include in API requests. By default, fields with empty or default values are
  2281  	// omitted from API requests. See
  2282  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2283  	// details.
  2284  	ForceSendFields []string `json:"-"`
  2285  	// NullFields is a list of field names (e.g. "Dir") to include in API requests
  2286  	// with the JSON null value. By default, fields with empty values are omitted
  2287  	// from API requests. See
  2288  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2289  	NullFields []string `json:"-"`
  2290  }
  2291  
  2292  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) MarshalJSON() ([]byte, error) {
  2293  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource
  2294  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2295  }
  2296  
  2297  // ContaineranalysisGoogleDevtoolsCloudbuildV1Hash: Container message for hash
  2298  // values.
  2299  type ContaineranalysisGoogleDevtoolsCloudbuildV1Hash struct {
  2300  	// Type: The type of hash that was performed.
  2301  	//
  2302  	// Possible values:
  2303  	//   "NONE" - No hash requested.
  2304  	//   "SHA256" - Use a sha256 hash.
  2305  	//   "MD5" - Use a md5 hash.
  2306  	//   "SHA512" - Use a sha512 hash.
  2307  	Type string `json:"type,omitempty"`
  2308  	// Value: The hash value.
  2309  	Value string `json:"value,omitempty"`
  2310  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  2311  	// include in API requests. By default, fields with empty or default values are
  2312  	// omitted from API requests. See
  2313  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2314  	// details.
  2315  	ForceSendFields []string `json:"-"`
  2316  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  2317  	// with the JSON null value. By default, fields with empty values are omitted
  2318  	// from API requests. See
  2319  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2320  	NullFields []string `json:"-"`
  2321  }
  2322  
  2323  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) MarshalJSON() ([]byte, error) {
  2324  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Hash
  2325  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2326  }
  2327  
  2328  // ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret: Pairs a set of
  2329  // secret environment variables mapped to encrypted values with the Cloud KMS
  2330  // key to use to decrypt the value.
  2331  type ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret struct {
  2332  	// EnvMap: Map of environment variable name to its encrypted value. Secret
  2333  	// environment variables must be unique across all of a build's secrets, and
  2334  	// must be used by at least one build step. Values can be at most 64 KB in
  2335  	// size. There can be at most 100 secret values across all of a build's
  2336  	// secrets.
  2337  	EnvMap map[string]string `json:"envMap,omitempty"`
  2338  	// KmsKeyName: Resource name of Cloud KMS crypto key to decrypt the encrypted
  2339  	// value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/*
  2340  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  2341  	// ForceSendFields is a list of field names (e.g. "EnvMap") to unconditionally
  2342  	// include in API requests. By default, fields with empty or default values are
  2343  	// omitted from API requests. See
  2344  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2345  	// details.
  2346  	ForceSendFields []string `json:"-"`
  2347  	// NullFields is a list of field names (e.g. "EnvMap") to include in API
  2348  	// requests with the JSON null value. By default, fields with empty values are
  2349  	// omitted from API requests. See
  2350  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2351  	NullFields []string `json:"-"`
  2352  }
  2353  
  2354  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) MarshalJSON() ([]byte, error) {
  2355  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret
  2356  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2357  }
  2358  
  2359  // ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource: Location of the
  2360  // source in a Google Cloud Source Repository.
  2361  type ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource struct {
  2362  	// BranchName: Regex matching branches to build. The syntax of the regular
  2363  	// expressions accepted is the syntax accepted by RE2 and described at
  2364  	// https://github.com/google/re2/wiki/Syntax
  2365  	BranchName string `json:"branchName,omitempty"`
  2366  	// CommitSha: Explicit commit SHA to build.
  2367  	CommitSha string `json:"commitSha,omitempty"`
  2368  	// Dir: Directory, relative to the source root, in which to run the build. This
  2369  	// must be a relative path. If a step's `dir` is specified and is an absolute
  2370  	// path, this value is ignored for that step's execution.
  2371  	Dir string `json:"dir,omitempty"`
  2372  	// InvertRegex: Only trigger a build if the revision regex does NOT match the
  2373  	// revision regex.
  2374  	InvertRegex bool `json:"invertRegex,omitempty"`
  2375  	// ProjectId: ID of the project that owns the Cloud Source Repository. If
  2376  	// omitted, the project ID requesting the build is assumed.
  2377  	ProjectId string `json:"projectId,omitempty"`
  2378  	// RepoName: Name of the Cloud Source Repository.
  2379  	RepoName string `json:"repoName,omitempty"`
  2380  	// Substitutions: Substitutions to use in a triggered build. Should only be
  2381  	// used with RunBuildTrigger
  2382  	Substitutions map[string]string `json:"substitutions,omitempty"`
  2383  	// TagName: Regex matching tags to build. The syntax of the regular expressions
  2384  	// accepted is the syntax accepted by RE2 and described at
  2385  	// https://github.com/google/re2/wiki/Syntax
  2386  	TagName string `json:"tagName,omitempty"`
  2387  	// ForceSendFields is a list of field names (e.g. "BranchName") to
  2388  	// unconditionally include in API requests. By default, fields with empty or
  2389  	// default values are omitted from API requests. See
  2390  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2391  	// details.
  2392  	ForceSendFields []string `json:"-"`
  2393  	// NullFields is a list of field names (e.g. "BranchName") to include in API
  2394  	// requests with the JSON null value. By default, fields with empty values are
  2395  	// omitted from API requests. See
  2396  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2397  	NullFields []string `json:"-"`
  2398  }
  2399  
  2400  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) MarshalJSON() ([]byte, error) {
  2401  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource
  2402  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2403  }
  2404  
  2405  // ContaineranalysisGoogleDevtoolsCloudbuildV1Results: Artifacts created by the
  2406  // build pipeline.
  2407  type ContaineranalysisGoogleDevtoolsCloudbuildV1Results struct {
  2408  	// ArtifactManifest: Path to the artifact manifest for non-container artifacts
  2409  	// uploaded to Cloud Storage. Only populated when artifacts are uploaded to
  2410  	// Cloud Storage.
  2411  	ArtifactManifest string `json:"artifactManifest,omitempty"`
  2412  	// ArtifactTiming: Time to push all non-container artifacts to Cloud Storage.
  2413  	ArtifactTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"artifactTiming,omitempty"`
  2414  	// BuildStepImages: List of build step digests, in the order corresponding to
  2415  	// build step indices.
  2416  	BuildStepImages []string `json:"buildStepImages,omitempty"`
  2417  	// BuildStepOutputs: List of build step outputs, produced by builder images, in
  2418  	// the order corresponding to build step indices. Cloud Builders
  2419  	// (https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this
  2420  	// output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data
  2421  	// is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't
  2422  	// be substituted.
  2423  	BuildStepOutputs []string `json:"buildStepOutputs,omitempty"`
  2424  	// Images: Container images that were built as a part of the build.
  2425  	Images []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage `json:"images,omitempty"`
  2426  	// MavenArtifacts: Maven artifacts uploaded to Artifact Registry at the end of
  2427  	// the build.
  2428  	MavenArtifacts []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact `json:"mavenArtifacts,omitempty"`
  2429  	// NpmPackages: Npm packages uploaded to Artifact Registry at the end of the
  2430  	// build.
  2431  	NpmPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage `json:"npmPackages,omitempty"`
  2432  	// NumArtifacts: Number of non-container artifacts uploaded to Cloud Storage.
  2433  	// Only populated when artifacts are uploaded to Cloud Storage.
  2434  	NumArtifacts int64 `json:"numArtifacts,omitempty,string"`
  2435  	// PythonPackages: Python artifacts uploaded to Artifact Registry at the end of
  2436  	// the build.
  2437  	PythonPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage `json:"pythonPackages,omitempty"`
  2438  	// ForceSendFields is a list of field names (e.g. "ArtifactManifest") to
  2439  	// unconditionally include in API requests. By default, fields with empty or
  2440  	// default values are omitted from API requests. See
  2441  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2442  	// details.
  2443  	ForceSendFields []string `json:"-"`
  2444  	// NullFields is a list of field names (e.g. "ArtifactManifest") to include in
  2445  	// API requests with the JSON null value. By default, fields with empty values
  2446  	// are omitted from API requests. See
  2447  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2448  	NullFields []string `json:"-"`
  2449  }
  2450  
  2451  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) MarshalJSON() ([]byte, error) {
  2452  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Results
  2453  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2454  }
  2455  
  2456  // ContaineranalysisGoogleDevtoolsCloudbuildV1Secret: Pairs a set of secret
  2457  // environment variables containing encrypted values with the Cloud KMS key to
  2458  // use to decrypt the value. Note: Use `kmsKeyName` with `available_secrets`
  2459  // instead of using `kmsKeyName` with `secret`. For instructions see:
  2460  // https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.
  2461  type ContaineranalysisGoogleDevtoolsCloudbuildV1Secret struct {
  2462  	// KmsKeyName: Cloud KMS key name to use to decrypt these envs.
  2463  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  2464  	// SecretEnv: Map of environment variable name to its encrypted value. Secret
  2465  	// environment variables must be unique across all of a build's secrets, and
  2466  	// must be used by at least one build step. Values can be at most 64 KB in
  2467  	// size. There can be at most 100 secret values across all of a build's
  2468  	// secrets.
  2469  	SecretEnv map[string]string `json:"secretEnv,omitempty"`
  2470  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
  2471  	// unconditionally include in API requests. By default, fields with empty or
  2472  	// default values are omitted from API requests. See
  2473  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2474  	// details.
  2475  	ForceSendFields []string `json:"-"`
  2476  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
  2477  	// requests with the JSON null value. By default, fields with empty values are
  2478  	// omitted from API requests. See
  2479  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2480  	NullFields []string `json:"-"`
  2481  }
  2482  
  2483  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) MarshalJSON() ([]byte, error) {
  2484  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Secret
  2485  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2486  }
  2487  
  2488  // ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret: Pairs a
  2489  // secret environment variable with a SecretVersion in Secret Manager.
  2490  type ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret struct {
  2491  	// Env: Environment variable name to associate with the secret. Secret
  2492  	// environment variables must be unique across all of a build's secrets, and
  2493  	// must be used by at least one build step.
  2494  	Env string `json:"env,omitempty"`
  2495  	// VersionName: Resource name of the SecretVersion. In format:
  2496  	// projects/*/secrets/*/versions/*
  2497  	VersionName string `json:"versionName,omitempty"`
  2498  	// ForceSendFields is a list of field names (e.g. "Env") to unconditionally
  2499  	// include in API requests. By default, fields with empty or default values are
  2500  	// omitted from API requests. See
  2501  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2502  	// details.
  2503  	ForceSendFields []string `json:"-"`
  2504  	// NullFields is a list of field names (e.g. "Env") to include in API requests
  2505  	// with the JSON null value. By default, fields with empty values are omitted
  2506  	// from API requests. See
  2507  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2508  	NullFields []string `json:"-"`
  2509  }
  2510  
  2511  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) MarshalJSON() ([]byte, error) {
  2512  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret
  2513  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2514  }
  2515  
  2516  // ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets: Secrets and secret
  2517  // environment variables.
  2518  type ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets struct {
  2519  	// Inline: Secrets encrypted with KMS key and the associated secret environment
  2520  	// variable.
  2521  	Inline []*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret `json:"inline,omitempty"`
  2522  	// SecretManager: Secrets in Secret Manager and associated secret environment
  2523  	// variable.
  2524  	SecretManager []*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret `json:"secretManager,omitempty"`
  2525  	// ForceSendFields is a list of field names (e.g. "Inline") to unconditionally
  2526  	// include in API requests. By default, fields with empty or default values are
  2527  	// omitted from API requests. See
  2528  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2529  	// details.
  2530  	ForceSendFields []string `json:"-"`
  2531  	// NullFields is a list of field names (e.g. "Inline") to include in API
  2532  	// requests with the JSON null value. By default, fields with empty values are
  2533  	// omitted from API requests. See
  2534  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2535  	NullFields []string `json:"-"`
  2536  }
  2537  
  2538  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) MarshalJSON() ([]byte, error) {
  2539  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets
  2540  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2541  }
  2542  
  2543  // ContaineranalysisGoogleDevtoolsCloudbuildV1Source: Location of the source in
  2544  // a supported storage service.
  2545  type ContaineranalysisGoogleDevtoolsCloudbuildV1Source struct {
  2546  	// ConnectedRepository: Optional. If provided, get the source from this 2nd-gen
  2547  	// Google Cloud Build repository resource.
  2548  	ConnectedRepository *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository `json:"connectedRepository,omitempty"`
  2549  	// DeveloperConnectConfig: If provided, get the source from this Developer
  2550  	// Connect config.
  2551  	DeveloperConnectConfig *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig `json:"developerConnectConfig,omitempty"`
  2552  	// GitSource: If provided, get the source from this Git repository.
  2553  	GitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource `json:"gitSource,omitempty"`
  2554  	// RepoSource: If provided, get the source from this location in a Cloud Source
  2555  	// Repository.
  2556  	RepoSource *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource `json:"repoSource,omitempty"`
  2557  	// StorageSource: If provided, get the source from this location in Cloud
  2558  	// Storage.
  2559  	StorageSource *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource `json:"storageSource,omitempty"`
  2560  	// StorageSourceManifest: If provided, get the source from this manifest in
  2561  	// Cloud Storage. This feature is in Preview; see description here
  2562  	// (https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
  2563  	StorageSourceManifest *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest `json:"storageSourceManifest,omitempty"`
  2564  	// ForceSendFields is a list of field names (e.g. "ConnectedRepository") to
  2565  	// unconditionally include in API requests. By default, fields with empty or
  2566  	// default values are omitted from API requests. See
  2567  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2568  	// details.
  2569  	ForceSendFields []string `json:"-"`
  2570  	// NullFields is a list of field names (e.g. "ConnectedRepository") to include
  2571  	// in API requests with the JSON null value. By default, fields with empty
  2572  	// values are omitted from API requests. See
  2573  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2574  	NullFields []string `json:"-"`
  2575  }
  2576  
  2577  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) MarshalJSON() ([]byte, error) {
  2578  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Source
  2579  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2580  }
  2581  
  2582  // ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance: Provenance of
  2583  // the source. Ways to find the original source, or verify that some source was
  2584  // used for this build.
  2585  type ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance struct {
  2586  	// FileHashes: Output only. Hash(es) of the build source, which can be used to
  2587  	// verify that the original source integrity was maintained in the build. Note
  2588  	// that `FileHashes` will only be populated if `BuildOptions` has requested a
  2589  	// `SourceProvenanceHash`. The keys to this map are file paths used as build
  2590  	// source and the values contain the hash values for those files. If the build
  2591  	// source came in a single package such as a gzipped tarfile (`.tar.gz`), the
  2592  	// `FileHash` will be for the single path to that file.
  2593  	FileHashes map[string]ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
  2594  	// ResolvedConnectedRepository: Output only. A copy of the build's
  2595  	// `source.connected_repository`, if exists, with any revisions resolved.
  2596  	ResolvedConnectedRepository *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository `json:"resolvedConnectedRepository,omitempty"`
  2597  	// ResolvedGitSource: Output only. A copy of the build's `source.git_source`,
  2598  	// if exists, with any revisions resolved.
  2599  	ResolvedGitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource `json:"resolvedGitSource,omitempty"`
  2600  	// ResolvedRepoSource: A copy of the build's `source.repo_source`, if exists,
  2601  	// with any revisions resolved.
  2602  	ResolvedRepoSource *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource `json:"resolvedRepoSource,omitempty"`
  2603  	// ResolvedStorageSource: A copy of the build's `source.storage_source`, if
  2604  	// exists, with any generations resolved.
  2605  	ResolvedStorageSource *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource `json:"resolvedStorageSource,omitempty"`
  2606  	// ResolvedStorageSourceManifest: A copy of the build's
  2607  	// `source.storage_source_manifest`, if exists, with any revisions resolved.
  2608  	// This feature is in Preview.
  2609  	ResolvedStorageSourceManifest *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest `json:"resolvedStorageSourceManifest,omitempty"`
  2610  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  2611  	// unconditionally include in API requests. By default, fields with empty or
  2612  	// default values are omitted from API requests. See
  2613  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2614  	// details.
  2615  	ForceSendFields []string `json:"-"`
  2616  	// NullFields is a list of field names (e.g. "FileHashes") to include in API
  2617  	// requests with the JSON null value. By default, fields with empty values are
  2618  	// omitted from API requests. See
  2619  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2620  	NullFields []string `json:"-"`
  2621  }
  2622  
  2623  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) MarshalJSON() ([]byte, error) {
  2624  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance
  2625  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2626  }
  2627  
  2628  // ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource: Location of the
  2629  // source in an archive file in Cloud Storage.
  2630  type ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource struct {
  2631  	// Bucket: Cloud Storage bucket containing the source (see Bucket Name
  2632  	// Requirements
  2633  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
  2634  	Bucket string `json:"bucket,omitempty"`
  2635  	// Generation: Cloud Storage generation for the object. If the generation is
  2636  	// omitted, the latest generation will be used.
  2637  	Generation int64 `json:"generation,omitempty,string"`
  2638  	// Object: Cloud Storage object containing the source. This object must be a
  2639  	// zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to
  2640  	// build.
  2641  	Object string `json:"object,omitempty"`
  2642  	// SourceFetcher: Optional. Option to specify the tool to fetch the source file
  2643  	// for the build.
  2644  	//
  2645  	// Possible values:
  2646  	//   "SOURCE_FETCHER_UNSPECIFIED" - Unspecified defaults to GSUTIL.
  2647  	//   "GSUTIL" - Use the "gsutil" tool to download the source file.
  2648  	//   "GCS_FETCHER" - Use the Cloud Storage Fetcher tool to download the source
  2649  	// file.
  2650  	SourceFetcher string `json:"sourceFetcher,omitempty"`
  2651  	// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
  2652  	// include in API requests. By default, fields with empty or default values are
  2653  	// omitted from API requests. See
  2654  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2655  	// details.
  2656  	ForceSendFields []string `json:"-"`
  2657  	// NullFields is a list of field names (e.g. "Bucket") to include in API
  2658  	// requests with the JSON null value. By default, fields with empty values are
  2659  	// omitted from API requests. See
  2660  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2661  	NullFields []string `json:"-"`
  2662  }
  2663  
  2664  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) MarshalJSON() ([]byte, error) {
  2665  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource
  2666  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2667  }
  2668  
  2669  // ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest: Location
  2670  // of the source manifest in Cloud Storage. This feature is in Preview; see
  2671  // description here
  2672  // (https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
  2673  type ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest struct {
  2674  	// Bucket: Cloud Storage bucket containing the source manifest (see Bucket Name
  2675  	// Requirements
  2676  	// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
  2677  	Bucket string `json:"bucket,omitempty"`
  2678  	// Generation: Cloud Storage generation for the object. If the generation is
  2679  	// omitted, the latest generation will be used.
  2680  	Generation int64 `json:"generation,omitempty,string"`
  2681  	// Object: Cloud Storage object containing the source manifest. This object
  2682  	// must be a JSON file.
  2683  	Object string `json:"object,omitempty"`
  2684  	// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
  2685  	// include in API requests. By default, fields with empty or default values are
  2686  	// omitted from API requests. See
  2687  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2688  	// details.
  2689  	ForceSendFields []string `json:"-"`
  2690  	// NullFields is a list of field names (e.g. "Bucket") to include in API
  2691  	// requests with the JSON null value. By default, fields with empty values are
  2692  	// omitted from API requests. See
  2693  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2694  	NullFields []string `json:"-"`
  2695  }
  2696  
  2697  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) MarshalJSON() ([]byte, error) {
  2698  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest
  2699  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2700  }
  2701  
  2702  // ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan: Start and end times for
  2703  // a build execution phase.
  2704  type ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan struct {
  2705  	// EndTime: End of time span.
  2706  	EndTime string `json:"endTime,omitempty"`
  2707  	// StartTime: Start of time span.
  2708  	StartTime string `json:"startTime,omitempty"`
  2709  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  2710  	// include in API requests. By default, fields with empty or default values are
  2711  	// omitted from API requests. See
  2712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2713  	// details.
  2714  	ForceSendFields []string `json:"-"`
  2715  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  2716  	// requests with the JSON null value. By default, fields with empty values are
  2717  	// omitted from API requests. See
  2718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2719  	NullFields []string `json:"-"`
  2720  }
  2721  
  2722  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) MarshalJSON() ([]byte, error) {
  2723  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan
  2724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2725  }
  2726  
  2727  // ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact: A Maven
  2728  // artifact uploaded using the MavenArtifact directive.
  2729  type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact struct {
  2730  	// FileHashes: Hash types and values of the Maven Artifact.
  2731  	FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
  2732  	// PushTiming: Output only. Stores timing information for pushing the specified
  2733  	// artifact.
  2734  	PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
  2735  	// Uri: URI of the uploaded artifact.
  2736  	Uri string `json:"uri,omitempty"`
  2737  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  2738  	// unconditionally include in API requests. By default, fields with empty or
  2739  	// default values are omitted from API requests. See
  2740  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2741  	// details.
  2742  	ForceSendFields []string `json:"-"`
  2743  	// NullFields is a list of field names (e.g. "FileHashes") to include in API
  2744  	// requests with the JSON null value. By default, fields with empty values are
  2745  	// omitted from API requests. See
  2746  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2747  	NullFields []string `json:"-"`
  2748  }
  2749  
  2750  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) MarshalJSON() ([]byte, error) {
  2751  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact
  2752  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2753  }
  2754  
  2755  // ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage: An npm
  2756  // package uploaded to Artifact Registry using the NpmPackage directive.
  2757  type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage struct {
  2758  	// FileHashes: Hash types and values of the npm package.
  2759  	FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
  2760  	// PushTiming: Output only. Stores timing information for pushing the specified
  2761  	// artifact.
  2762  	PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
  2763  	// Uri: URI of the uploaded npm package.
  2764  	Uri string `json:"uri,omitempty"`
  2765  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  2766  	// unconditionally include in API requests. By default, fields with empty or
  2767  	// default values are omitted from API requests. See
  2768  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2769  	// details.
  2770  	ForceSendFields []string `json:"-"`
  2771  	// NullFields is a list of field names (e.g. "FileHashes") to include in API
  2772  	// requests with the JSON null value. By default, fields with empty values are
  2773  	// omitted from API requests. See
  2774  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2775  	NullFields []string `json:"-"`
  2776  }
  2777  
  2778  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) MarshalJSON() ([]byte, error) {
  2779  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage
  2780  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2781  }
  2782  
  2783  // ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage: Artifact
  2784  // uploaded using the PythonPackage directive.
  2785  type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage struct {
  2786  	// FileHashes: Hash types and values of the Python Artifact.
  2787  	FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
  2788  	// PushTiming: Output only. Stores timing information for pushing the specified
  2789  	// artifact.
  2790  	PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
  2791  	// Uri: URI of the uploaded artifact.
  2792  	Uri string `json:"uri,omitempty"`
  2793  	// ForceSendFields is a list of field names (e.g. "FileHashes") to
  2794  	// unconditionally include in API requests. By default, fields with empty or
  2795  	// default values are omitted from API requests. See
  2796  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2797  	// details.
  2798  	ForceSendFields []string `json:"-"`
  2799  	// NullFields is a list of field names (e.g. "FileHashes") to include in API
  2800  	// requests with the JSON null value. By default, fields with empty values are
  2801  	// omitted from API requests. See
  2802  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2803  	NullFields []string `json:"-"`
  2804  }
  2805  
  2806  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) MarshalJSON() ([]byte, error) {
  2807  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage
  2808  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2809  }
  2810  
  2811  // ContaineranalysisGoogleDevtoolsCloudbuildV1Volume: Volume describes a Docker
  2812  // container volume which is mounted into build steps in order to persist files
  2813  // across build step execution.
  2814  type ContaineranalysisGoogleDevtoolsCloudbuildV1Volume struct {
  2815  	// Name: Name of the volume to mount. Volume names must be unique per build
  2816  	// step and must be valid names for Docker volumes. Each named volume must be
  2817  	// used by at least two build steps.
  2818  	Name string `json:"name,omitempty"`
  2819  	// Path: Path at which to mount the volume. Paths must be absolute and cannot
  2820  	// conflict with other volume paths on the same build step or with certain
  2821  	// reserved volume paths.
  2822  	Path string `json:"path,omitempty"`
  2823  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  2824  	// include in API requests. By default, fields with empty or default values are
  2825  	// omitted from API requests. See
  2826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2827  	// details.
  2828  	ForceSendFields []string `json:"-"`
  2829  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  2830  	// with the JSON null value. By default, fields with empty values are omitted
  2831  	// from API requests. See
  2832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2833  	NullFields []string `json:"-"`
  2834  }
  2835  
  2836  func (s *ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) MarshalJSON() ([]byte, error) {
  2837  	type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Volume
  2838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2839  }
  2840  
  2841  // Deployable: An artifact that can be deployed in some runtime.
  2842  type Deployable struct {
  2843  	// ResourceUri: Required. Resource URI for the artifact being deployed.
  2844  	ResourceUri []string `json:"resourceUri,omitempty"`
  2845  	// ForceSendFields is a list of field names (e.g. "ResourceUri") to
  2846  	// unconditionally include in API requests. By default, fields with empty or
  2847  	// default values are omitted from API requests. See
  2848  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2849  	// details.
  2850  	ForceSendFields []string `json:"-"`
  2851  	// NullFields is a list of field names (e.g. "ResourceUri") to include in API
  2852  	// requests with the JSON null value. By default, fields with empty values are
  2853  	// omitted from API requests. See
  2854  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2855  	NullFields []string `json:"-"`
  2856  }
  2857  
  2858  func (s *Deployable) MarshalJSON() ([]byte, error) {
  2859  	type NoMethod Deployable
  2860  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2861  }
  2862  
  2863  // Deployment: The period during which some deployable was active in a runtime.
  2864  type Deployment struct {
  2865  	// Address: Address of the runtime element hosting this deployment.
  2866  	Address string `json:"address,omitempty"`
  2867  	// Config: Configuration used to create this deployment.
  2868  	Config string `json:"config,omitempty"`
  2869  	// DeployTime: Required. Beginning of the lifetime of this deployment.
  2870  	DeployTime string `json:"deployTime,omitempty"`
  2871  	// Platform: Platform hosting this deployment.
  2872  	//
  2873  	// Possible values:
  2874  	//   "PLATFORM_UNSPECIFIED" - Unknown.
  2875  	//   "GKE" - Google Container Engine.
  2876  	//   "FLEX" - Google App Engine: Flexible Environment.
  2877  	//   "CUSTOM" - Custom user-defined platform.
  2878  	Platform string `json:"platform,omitempty"`
  2879  	// ResourceUri: Output only. Resource URI for the artifact being deployed taken
  2880  	// from the deployable field with the same name.
  2881  	ResourceUri []string `json:"resourceUri,omitempty"`
  2882  	// UndeployTime: End of the lifetime of this deployment.
  2883  	UndeployTime string `json:"undeployTime,omitempty"`
  2884  	// UserEmail: Identity of the user that triggered this deployment.
  2885  	UserEmail string `json:"userEmail,omitempty"`
  2886  	// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
  2887  	// include in API requests. By default, fields with empty or default values are
  2888  	// omitted from API requests. See
  2889  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2890  	// details.
  2891  	ForceSendFields []string `json:"-"`
  2892  	// NullFields is a list of field names (e.g. "Address") to include in API
  2893  	// requests with the JSON null value. By default, fields with empty values are
  2894  	// omitted from API requests. See
  2895  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2896  	NullFields []string `json:"-"`
  2897  }
  2898  
  2899  func (s *Deployment) MarshalJSON() ([]byte, error) {
  2900  	type NoMethod Deployment
  2901  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2902  }
  2903  
  2904  // Derived: Derived describes the derived image portion (Occurrence) of the
  2905  // DockerImage relationship. This image would be produced from a Dockerfile
  2906  // with FROM .
  2907  type Derived struct {
  2908  	// BaseResourceUrl: Output only. This contains the base image URL for the
  2909  	// derived image occurrence.
  2910  	BaseResourceUrl string `json:"baseResourceUrl,omitempty"`
  2911  	// Distance: Output only. The number of layers by which this image differs from
  2912  	// the associated image basis.
  2913  	Distance int64 `json:"distance,omitempty"`
  2914  	// Fingerprint: Required. The fingerprint of the derived image.
  2915  	Fingerprint *Fingerprint `json:"fingerprint,omitempty"`
  2916  	// LayerInfo: This contains layer-specific metadata, if populated it has length
  2917  	// "distance" and is ordered with [distance] being the layer immediately
  2918  	// following the base image and [1] being the final layer.
  2919  	LayerInfo []*Layer `json:"layerInfo,omitempty"`
  2920  	// ForceSendFields is a list of field names (e.g. "BaseResourceUrl") to
  2921  	// unconditionally include in API requests. By default, fields with empty or
  2922  	// default values are omitted from API requests. See
  2923  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2924  	// details.
  2925  	ForceSendFields []string `json:"-"`
  2926  	// NullFields is a list of field names (e.g. "BaseResourceUrl") to include in
  2927  	// API requests with the JSON null value. By default, fields with empty values
  2928  	// are omitted from API requests. See
  2929  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2930  	NullFields []string `json:"-"`
  2931  }
  2932  
  2933  func (s *Derived) MarshalJSON() ([]byte, error) {
  2934  	type NoMethod Derived
  2935  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2936  }
  2937  
  2938  // Detail: Identifies all appearances of this vulnerability in the package for
  2939  // a specific distro/location. For example: glibc in
  2940  // cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
  2941  type Detail struct {
  2942  	// CpeUri: Required. The CPE URI in cpe format
  2943  	// (https://cpe.mitre.org/specification/) in which the vulnerability manifests.
  2944  	// Examples include distro or storage location for vulnerable jar.
  2945  	CpeUri string `json:"cpeUri,omitempty"`
  2946  	// Description: A vendor-specific description of this note.
  2947  	Description string `json:"description,omitempty"`
  2948  	// FixedLocation: The fix for this specific package version.
  2949  	FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"`
  2950  	// IsObsolete: Whether this detail is obsolete. Occurrences are expected not to
  2951  	// point to obsolete details.
  2952  	IsObsolete bool `json:"isObsolete,omitempty"`
  2953  	// MaxAffectedVersion: The max version of the package in which the
  2954  	// vulnerability exists.
  2955  	MaxAffectedVersion *Version `json:"maxAffectedVersion,omitempty"`
  2956  	// MinAffectedVersion: The min version of the package in which the
  2957  	// vulnerability exists.
  2958  	MinAffectedVersion *Version `json:"minAffectedVersion,omitempty"`
  2959  	// Package: Required. The name of the package where the vulnerability was
  2960  	// found.
  2961  	Package string `json:"package,omitempty"`
  2962  	// PackageType: The type of package; whether native or non native(ruby gems,
  2963  	// node.js packages etc).
  2964  	PackageType string `json:"packageType,omitempty"`
  2965  	// SeverityName: The severity (eg: distro assigned severity) for this
  2966  	// vulnerability.
  2967  	SeverityName string `json:"severityName,omitempty"`
  2968  	// Source: The source from which the information in this Detail was obtained.
  2969  	Source string `json:"source,omitempty"`
  2970  	// SourceUpdateTime: The time this information was last changed at the source.
  2971  	// This is an upstream timestamp from the underlying information source - e.g.
  2972  	// Ubuntu security tracker.
  2973  	SourceUpdateTime string `json:"sourceUpdateTime,omitempty"`
  2974  	// Vendor: The name of the vendor of the product.
  2975  	Vendor string `json:"vendor,omitempty"`
  2976  	// ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally
  2977  	// include in API requests. By default, fields with empty or default values are
  2978  	// omitted from API requests. See
  2979  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2980  	// details.
  2981  	ForceSendFields []string `json:"-"`
  2982  	// NullFields is a list of field names (e.g. "CpeUri") to include in API
  2983  	// requests with the JSON null value. By default, fields with empty values are
  2984  	// omitted from API requests. See
  2985  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2986  	NullFields []string `json:"-"`
  2987  }
  2988  
  2989  func (s *Detail) MarshalJSON() ([]byte, error) {
  2990  	type NoMethod Detail
  2991  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2992  }
  2993  
  2994  // Details: Details of an attestation occurrence.
  2995  type Details struct {
  2996  	// Attestation: Required. Attestation for the resource.
  2997  	Attestation *Attestation `json:"attestation,omitempty"`
  2998  	// ForceSendFields is a list of field names (e.g. "Attestation") to
  2999  	// unconditionally include in API requests. By default, fields with empty or
  3000  	// default values are omitted from API requests. See
  3001  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3002  	// details.
  3003  	ForceSendFields []string `json:"-"`
  3004  	// NullFields is a list of field names (e.g. "Attestation") to include in API
  3005  	// requests with the JSON null value. By default, fields with empty values are
  3006  	// omitted from API requests. See
  3007  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3008  	NullFields []string `json:"-"`
  3009  }
  3010  
  3011  func (s *Details) MarshalJSON() ([]byte, error) {
  3012  	type NoMethod Details
  3013  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3014  }
  3015  
  3016  // Digest: Digest information.
  3017  type Digest struct {
  3018  	// Algo: `SHA1`, `SHA512` etc.
  3019  	Algo string `json:"algo,omitempty"`
  3020  	// DigestBytes: Value of the digest.
  3021  	DigestBytes string `json:"digestBytes,omitempty"`
  3022  	// ForceSendFields is a list of field names (e.g. "Algo") to unconditionally
  3023  	// include in API requests. By default, fields with empty or default values are
  3024  	// omitted from API requests. See
  3025  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3026  	// details.
  3027  	ForceSendFields []string `json:"-"`
  3028  	// NullFields is a list of field names (e.g. "Algo") to include in API requests
  3029  	// with the JSON null value. By default, fields with empty values are omitted
  3030  	// from API requests. See
  3031  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3032  	NullFields []string `json:"-"`
  3033  }
  3034  
  3035  func (s *Digest) MarshalJSON() ([]byte, error) {
  3036  	type NoMethod Digest
  3037  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3038  }
  3039  
  3040  // Discovered: Provides information about the analysis status of a discovered
  3041  // resource.
  3042  type Discovered struct {
  3043  	AnalysisCompleted *AnalysisCompleted `json:"analysisCompleted,omitempty"`
  3044  	// AnalysisError: Indicates any errors encountered during analysis of a
  3045  	// resource. There could be 0 or more of these errors.
  3046  	AnalysisError []*Status `json:"analysisError,omitempty"`
  3047  	// AnalysisStatus: The status of discovery for the resource.
  3048  	//
  3049  	// Possible values:
  3050  	//   "ANALYSIS_STATUS_UNSPECIFIED" - Unknown.
  3051  	//   "PENDING" - Resource is known but no action has been taken yet.
  3052  	//   "SCANNING" - Resource is being analyzed.
  3053  	//   "FINISHED_SUCCESS" - Analysis has finished successfully.
  3054  	//   "COMPLETE" - Analysis has completed.
  3055  	//   "FINISHED_FAILED" - Analysis has finished unsuccessfully, the analysis
  3056  	// itself is in a bad state.
  3057  	//   "FINISHED_UNSUPPORTED" - The resource is known not to be supported
  3058  	AnalysisStatus string `json:"analysisStatus,omitempty"`
  3059  	// AnalysisStatusError: When an error is encountered this will contain a
  3060  	// LocalizedMessage under details to show to the user. The LocalizedMessage is
  3061  	// output only and populated by the API.
  3062  	AnalysisStatusError *Status `json:"analysisStatusError,omitempty"`
  3063  	// ContinuousAnalysis: Whether the resource is continuously analyzed.
  3064  	//
  3065  	// Possible values:
  3066  	//   "CONTINUOUS_ANALYSIS_UNSPECIFIED" - Unknown.
  3067  	//   "ACTIVE" - The resource is continuously analyzed.
  3068  	//   "INACTIVE" - The resource is ignored for continuous analysis.
  3069  	ContinuousAnalysis string `json:"continuousAnalysis,omitempty"`
  3070  	// LastAnalysisTime: The last time continuous analysis was done for this
  3071  	// resource. Deprecated, do not use.
  3072  	LastAnalysisTime string `json:"lastAnalysisTime,omitempty"`
  3073  	// LastScanTime: The last time this resource was scanned.
  3074  	LastScanTime string `json:"lastScanTime,omitempty"`
  3075  	// SbomStatus: The status of an SBOM generation.
  3076  	SbomStatus *SBOMStatus `json:"sbomStatus,omitempty"`
  3077  	// ForceSendFields is a list of field names (e.g. "AnalysisCompleted") to
  3078  	// unconditionally include in API requests. By default, fields with empty or
  3079  	// default values are omitted from API requests. See
  3080  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3081  	// details.
  3082  	ForceSendFields []string `json:"-"`
  3083  	// NullFields is a list of field names (e.g. "AnalysisCompleted") to include in
  3084  	// API requests with the JSON null value. By default, fields with empty values
  3085  	// are omitted from API requests. See
  3086  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3087  	NullFields []string `json:"-"`
  3088  }
  3089  
  3090  func (s *Discovered) MarshalJSON() ([]byte, error) {
  3091  	type NoMethod Discovered
  3092  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3093  }
  3094  
  3095  // Discovery: A note that indicates a type of analysis a provider would
  3096  // perform. This note exists in a provider's project. A `Discovery` occurrence
  3097  // is created in a consumer's project at the start of analysis.
  3098  type Discovery struct {
  3099  	// AnalysisKind: Required. Immutable. The kind of analysis that is handled by
  3100  	// this discovery.
  3101  	//
  3102  	// Possible values:
  3103  	//   "NOTE_KIND_UNSPECIFIED" - Default value. This value is unused.
  3104  	//   "VULNERABILITY" - The note and occurrence represent a package
  3105  	// vulnerability.
  3106  	//   "BUILD" - The note and occurrence assert build provenance.
  3107  	//   "IMAGE" - This represents an image basis relationship.
  3108  	//   "PACKAGE" - This represents a package installed via a package manager.
  3109  	//   "DEPLOYMENT" - The note and occurrence track deployment events.
  3110  	//   "DISCOVERY" - The note and occurrence track the initial discovery status
  3111  	// of a resource.
  3112  	//   "ATTESTATION" - This represents a logical "role" that can attest to
  3113  	// artifacts.
  3114  	//   "INTOTO" - This represents an in-toto link.
  3115  	//   "SBOM" - This represents a software bill of materials.
  3116  	//   "SPDX_PACKAGE" - This represents an SPDX Package.
  3117  	//   "SPDX_FILE" - This represents an SPDX File.
  3118  	//   "SPDX_RELATIONSHIP" - This represents an SPDX Relationship.
  3119  	//   "VULNERABILITY_ASSESSMENT" - This represents a Vulnerability Assessment.
  3120  	//   "SBOM_REFERENCE" - This represents an SBOM Reference.
  3121  	AnalysisKind string `json:"analysisKind,omitempty"`
  3122  	// ForceSendFields is a list of field names (e.g. "AnalysisKind") to
  3123  	// unconditionally include in API requests. By default, fields with empty or
  3124  	// default values are omitted from API requests. See
  3125  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3126  	// details.
  3127  	ForceSendFields []string `json:"-"`
  3128  	// NullFields is a list of field names (e.g. "AnalysisKind") to include in API
  3129  	// requests with the JSON null value. By default, fields with empty values are
  3130  	// omitted from API requests. See
  3131  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3132  	NullFields []string `json:"-"`
  3133  }
  3134  
  3135  func (s *Discovery) MarshalJSON() ([]byte, error) {
  3136  	type NoMethod Discovery
  3137  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3138  }
  3139  
  3140  // Distribution: This represents a particular channel of distribution for a
  3141  // given package. E.g., Debian's jessie-backports dpkg mirror.
  3142  type Distribution struct {
  3143  	// Architecture: The CPU architecture for which packages in this distribution
  3144  	// channel were built.
  3145  	//
  3146  	// Possible values:
  3147  	//   "ARCHITECTURE_UNSPECIFIED" - Unknown architecture.
  3148  	//   "X86" - X86 architecture.
  3149  	//   "X64" - X64 architecture.
  3150  	Architecture string `json:"architecture,omitempty"`
  3151  	// CpeUri: Required. The cpe_uri in CPE format
  3152  	// (https://cpe.mitre.org/specification/) denoting the package manager version
  3153  	// distributing a package.
  3154  	CpeUri string `json:"cpeUri,omitempty"`
  3155  	// Description: The distribution channel-specific description of this package.
  3156  	Description string `json:"description,omitempty"`
  3157  	// LatestVersion: The latest available version of this package in this
  3158  	// distribution channel.
  3159  	LatestVersion *Version `json:"latestVersion,omitempty"`
  3160  	// Maintainer: A freeform string denoting the maintainer of this package.
  3161  	Maintainer string `json:"maintainer,omitempty"`
  3162  	// Url: The distribution channel-specific homepage for this package.
  3163  	Url string `json:"url,omitempty"`
  3164  	// ForceSendFields is a list of field names (e.g. "Architecture") to
  3165  	// unconditionally include in API requests. By default, fields with empty or
  3166  	// default values are omitted from API requests. See
  3167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3168  	// details.
  3169  	ForceSendFields []string `json:"-"`
  3170  	// NullFields is a list of field names (e.g. "Architecture") to include in API
  3171  	// requests with the JSON null value. By default, fields with empty values are
  3172  	// omitted from API requests. See
  3173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3174  	NullFields []string `json:"-"`
  3175  }
  3176  
  3177  func (s *Distribution) MarshalJSON() ([]byte, error) {
  3178  	type NoMethod Distribution
  3179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3180  }
  3181  
  3182  // DocumentNote: DocumentNote represents an SPDX Document Creation Information
  3183  // section: https://spdx.github.io/spdx-spec/2-document-creation-information/
  3184  type DocumentNote struct {
  3185  	// DataLicence: Compliance with the SPDX specification includes populating the
  3186  	// SPDX fields therein with data related to such fields ("SPDX-Metadata")
  3187  	DataLicence string `json:"dataLicence,omitempty"`
  3188  	// SpdxVersion: Provide a reference number that can be used to understand how
  3189  	// to parse and interpret the rest of the file
  3190  	SpdxVersion string `json:"spdxVersion,omitempty"`
  3191  	// ForceSendFields is a list of field names (e.g. "DataLicence") to
  3192  	// unconditionally include in API requests. By default, fields with empty or
  3193  	// default values are omitted from API requests. See
  3194  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3195  	// details.
  3196  	ForceSendFields []string `json:"-"`
  3197  	// NullFields is a list of field names (e.g. "DataLicence") to include in API
  3198  	// requests with the JSON null value. By default, fields with empty values are
  3199  	// omitted from API requests. See
  3200  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3201  	NullFields []string `json:"-"`
  3202  }
  3203  
  3204  func (s *DocumentNote) MarshalJSON() ([]byte, error) {
  3205  	type NoMethod DocumentNote
  3206  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3207  }
  3208  
  3209  // DocumentOccurrence: DocumentOccurrence represents an SPDX Document Creation
  3210  // Information section:
  3211  // https://spdx.github.io/spdx-spec/2-document-creation-information/
  3212  type DocumentOccurrence struct {
  3213  	// CreateTime: Identify when the SPDX file was originally created. The date is
  3214  	// to be specified according to combined date and time in UTC format as
  3215  	// specified in ISO 8601 standard
  3216  	CreateTime string `json:"createTime,omitempty"`
  3217  	// CreatorComment: A field for creators of the SPDX file to provide general
  3218  	// comments about the creation of the SPDX file or any other relevant comment
  3219  	// not included in the other fields
  3220  	CreatorComment string `json:"creatorComment,omitempty"`
  3221  	// Creators: Identify who (or what, in the case of a tool) created the SPDX
  3222  	// file. If the SPDX file was created by an individual, indicate the person's
  3223  	// name
  3224  	Creators []string `json:"creators,omitempty"`
  3225  	// DocumentComment: A field for creators of the SPDX file content to provide
  3226  	// comments to the consumers of the SPDX document
  3227  	DocumentComment string `json:"documentComment,omitempty"`
  3228  	// ExternalDocumentRefs: Identify any external SPDX documents referenced within
  3229  	// this SPDX document
  3230  	ExternalDocumentRefs []string `json:"externalDocumentRefs,omitempty"`
  3231  	// Id: Identify the current SPDX document which may be referenced in
  3232  	// relationships by other files, packages internally and documents externally
  3233  	Id string `json:"id,omitempty"`
  3234  	// LicenseListVersion: A field for creators of the SPDX file to provide the
  3235  	// version of the SPDX License List used when the SPDX file was created
  3236  	LicenseListVersion string `json:"licenseListVersion,omitempty"`
  3237  	// Namespace: Provide an SPDX document specific namespace as a unique absolute
  3238  	// Uniform Resource Identifier (URI) as specified in RFC-3986, with the
  3239  	// exception of the ‘#’ delimiter
  3240  	Namespace string `json:"namespace,omitempty"`
  3241  	// Title: Identify name of this document as designated by creator
  3242  	Title string `json:"title,omitempty"`
  3243  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  3244  	// unconditionally include in API requests. By default, fields with empty or
  3245  	// default values are omitted from API requests. See
  3246  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3247  	// details.
  3248  	ForceSendFields []string `json:"-"`
  3249  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  3250  	// requests with the JSON null value. By default, fields with empty values are
  3251  	// omitted from API requests. See
  3252  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3253  	NullFields []string `json:"-"`
  3254  }
  3255  
  3256  func (s *DocumentOccurrence) MarshalJSON() ([]byte, error) {
  3257  	type NoMethod DocumentOccurrence
  3258  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3259  }
  3260  
  3261  // Empty: A generic empty message that you can re-use to avoid defining
  3262  // duplicated empty messages in your APIs. A typical example is to use it as
  3263  // the request or the response type of an API method. For instance: service Foo
  3264  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  3265  type Empty struct {
  3266  	// ServerResponse contains the HTTP response code and headers from the server.
  3267  	googleapi.ServerResponse `json:"-"`
  3268  }
  3269  
  3270  // Envelope: MUST match
  3271  // https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An
  3272  // authenticated message of arbitrary type.
  3273  type Envelope struct {
  3274  	Payload     string               `json:"payload,omitempty"`
  3275  	PayloadType string               `json:"payloadType,omitempty"`
  3276  	Signatures  []*EnvelopeSignature `json:"signatures,omitempty"`
  3277  	// ForceSendFields is a list of field names (e.g. "Payload") to unconditionally
  3278  	// include in API requests. By default, fields with empty or default values are
  3279  	// omitted from API requests. See
  3280  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3281  	// details.
  3282  	ForceSendFields []string `json:"-"`
  3283  	// NullFields is a list of field names (e.g. "Payload") to include in API
  3284  	// requests with the JSON null value. By default, fields with empty values are
  3285  	// omitted from API requests. See
  3286  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3287  	NullFields []string `json:"-"`
  3288  }
  3289  
  3290  func (s *Envelope) MarshalJSON() ([]byte, error) {
  3291  	type NoMethod Envelope
  3292  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3293  }
  3294  
  3295  type EnvelopeSignature struct {
  3296  	Keyid string `json:"keyid,omitempty"`
  3297  	Sig   string `json:"sig,omitempty"`
  3298  	// ForceSendFields is a list of field names (e.g. "Keyid") to unconditionally
  3299  	// include in API requests. By default, fields with empty or default values are
  3300  	// omitted from API requests. See
  3301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3302  	// details.
  3303  	ForceSendFields []string `json:"-"`
  3304  	// NullFields is a list of field names (e.g. "Keyid") to include in API
  3305  	// requests with the JSON null value. By default, fields with empty values are
  3306  	// omitted from API requests. See
  3307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3308  	NullFields []string `json:"-"`
  3309  }
  3310  
  3311  func (s *EnvelopeSignature) MarshalJSON() ([]byte, error) {
  3312  	type NoMethod EnvelopeSignature
  3313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3314  }
  3315  
  3316  // Environment: Defines an object for the environment field in in-toto links.
  3317  // The suggested fields are "variables", "filesystem", and "workdir".
  3318  type Environment struct {
  3319  	CustomValues map[string]string `json:"customValues,omitempty"`
  3320  	// ForceSendFields is a list of field names (e.g. "CustomValues") to
  3321  	// unconditionally include in API requests. By default, fields with empty or
  3322  	// default values are omitted from API requests. See
  3323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3324  	// details.
  3325  	ForceSendFields []string `json:"-"`
  3326  	// NullFields is a list of field names (e.g. "CustomValues") to include in API
  3327  	// requests with the JSON null value. By default, fields with empty values are
  3328  	// omitted from API requests. See
  3329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3330  	NullFields []string `json:"-"`
  3331  }
  3332  
  3333  func (s *Environment) MarshalJSON() ([]byte, error) {
  3334  	type NoMethod Environment
  3335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3336  }
  3337  
  3338  // ExportSBOMRequest: The request to a call of ExportSBOM
  3339  type ExportSBOMRequest struct {
  3340  }
  3341  
  3342  // ExportSBOMResponse: The response from a call to ExportSBOM
  3343  type ExportSBOMResponse struct {
  3344  	// DiscoveryOccurrenceId: The name of the discovery occurrence in the form
  3345  	// "projects/{project_id}/occurrences/{OCCURRENCE_ID} It can be used to track
  3346  	// the progression of the SBOM export.
  3347  	DiscoveryOccurrenceId string `json:"discoveryOccurrenceId,omitempty"`
  3348  
  3349  	// ServerResponse contains the HTTP response code and headers from the server.
  3350  	googleapi.ServerResponse `json:"-"`
  3351  	// ForceSendFields is a list of field names (e.g. "DiscoveryOccurrenceId") to
  3352  	// unconditionally include in API requests. By default, fields with empty or
  3353  	// default values are omitted from API requests. See
  3354  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3355  	// details.
  3356  	ForceSendFields []string `json:"-"`
  3357  	// NullFields is a list of field names (e.g. "DiscoveryOccurrenceId") to
  3358  	// include in API requests with the JSON null value. By default, fields with
  3359  	// empty values are omitted from API requests. See
  3360  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3361  	NullFields []string `json:"-"`
  3362  }
  3363  
  3364  func (s *ExportSBOMResponse) MarshalJSON() ([]byte, error) {
  3365  	type NoMethod ExportSBOMResponse
  3366  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3367  }
  3368  
  3369  // Expr: Represents a textual expression in the Common Expression Language
  3370  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  3371  // of CEL are documented at https://github.com/google/cel-spec. Example
  3372  // (Comparison): title: "Summary size limit" description: "Determines if a
  3373  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  3374  // Example (Equality): title: "Requestor is owner" description: "Determines if
  3375  // requestor is the document owner" expression: "document.owner ==
  3376  // request.auth.claims.email" Example (Logic): title: "Public documents"
  3377  // description: "Determine whether the document should be publicly visible"
  3378  // expression: "document.type != 'private' && document.type != 'internal'"
  3379  // Example (Data Manipulation): title: "Notification string" description:
  3380  // "Create a notification string with a timestamp." expression: "'New message
  3381  // received at ' + string(document.create_time)" The exact variables and
  3382  // functions that may be referenced within an expression are determined by the
  3383  // service that evaluates it. See the service documentation for additional
  3384  // information.
  3385  type Expr struct {
  3386  	// Description: Optional. Description of the expression. This is a longer text
  3387  	// which describes the expression, e.g. when hovered over it in a UI.
  3388  	Description string `json:"description,omitempty"`
  3389  	// Expression: Textual representation of an expression in Common Expression
  3390  	// Language syntax.
  3391  	Expression string `json:"expression,omitempty"`
  3392  	// Location: Optional. String indicating the location of the expression for
  3393  	// error reporting, e.g. a file name and a position in the file.
  3394  	Location string `json:"location,omitempty"`
  3395  	// Title: Optional. Title for the expression, i.e. a short string describing
  3396  	// its purpose. This can be used e.g. in UIs which allow to enter the
  3397  	// expression.
  3398  	Title string `json:"title,omitempty"`
  3399  	// ForceSendFields is a list of field names (e.g. "Description") to
  3400  	// unconditionally include in API requests. By default, fields with empty or
  3401  	// default values are omitted from API requests. See
  3402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3403  	// details.
  3404  	ForceSendFields []string `json:"-"`
  3405  	// NullFields is a list of field names (e.g. "Description") to include in API
  3406  	// requests with the JSON null value. By default, fields with empty values are
  3407  	// omitted from API requests. See
  3408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3409  	NullFields []string `json:"-"`
  3410  }
  3411  
  3412  func (s *Expr) MarshalJSON() ([]byte, error) {
  3413  	type NoMethod Expr
  3414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3415  }
  3416  
  3417  // ExternalRef: An External Reference allows a Package to reference an external
  3418  // source of additional information, metadata, enumerations, asset identifiers,
  3419  // or downloadable content believed to be relevant to the Package
  3420  type ExternalRef struct {
  3421  	// Category: An External Reference allows a Package to reference an external
  3422  	// source of additional information, metadata, enumerations, asset identifiers,
  3423  	// or downloadable content believed to be relevant to the Package
  3424  	//
  3425  	// Possible values:
  3426  	//   "CATEGORY_UNSPECIFIED" - Unspecified
  3427  	//   "SECURITY" - Security (e.g. cpe22Type, cpe23Type)
  3428  	//   "PACKAGE_MANAGER" - Package Manager (e.g. maven-central, npm, nuget,
  3429  	// bower, purl)
  3430  	//   "PERSISTENT_ID" - Persistent-Id (e.g. swh)
  3431  	//   "OTHER" - Other
  3432  	Category string `json:"category,omitempty"`
  3433  	// Comment: Human-readable information about the purpose and target of the
  3434  	// reference
  3435  	Comment string `json:"comment,omitempty"`
  3436  	// Locator: The unique string with no spaces necessary to access the
  3437  	// package-specific information, metadata, or content within the target
  3438  	// location
  3439  	Locator string `json:"locator,omitempty"`
  3440  	// Type: Type of category (e.g. 'npm' for the PACKAGE_MANAGER category)
  3441  	Type string `json:"type,omitempty"`
  3442  	// ForceSendFields is a list of field names (e.g. "Category") to
  3443  	// unconditionally include in API requests. By default, fields with empty or
  3444  	// default values are omitted from API requests. See
  3445  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3446  	// details.
  3447  	ForceSendFields []string `json:"-"`
  3448  	// NullFields is a list of field names (e.g. "Category") to include in API
  3449  	// requests with the JSON null value. By default, fields with empty values are
  3450  	// omitted from API requests. See
  3451  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3452  	NullFields []string `json:"-"`
  3453  }
  3454  
  3455  func (s *ExternalRef) MarshalJSON() ([]byte, error) {
  3456  	type NoMethod ExternalRef
  3457  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3458  }
  3459  
  3460  // FileHashes: Container message for hashes of byte content of files, used in
  3461  // source messages to verify integrity of source input to the build.
  3462  type FileHashes struct {
  3463  	// FileHash: Required. Collection of file hashes.
  3464  	FileHash []*Hash `json:"fileHash,omitempty"`
  3465  	// ForceSendFields is a list of field names (e.g. "FileHash") to
  3466  	// unconditionally include in API requests. By default, fields with empty or
  3467  	// default values are omitted from API requests. See
  3468  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3469  	// details.
  3470  	ForceSendFields []string `json:"-"`
  3471  	// NullFields is a list of field names (e.g. "FileHash") to include in API
  3472  	// requests with the JSON null value. By default, fields with empty values are
  3473  	// omitted from API requests. See
  3474  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3475  	NullFields []string `json:"-"`
  3476  }
  3477  
  3478  func (s *FileHashes) MarshalJSON() ([]byte, error) {
  3479  	type NoMethod FileHashes
  3480  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3481  }
  3482  
  3483  // FileNote: FileNote represents an SPDX File Information section:
  3484  // https://spdx.github.io/spdx-spec/4-file-information/
  3485  type FileNote struct {
  3486  	// Checksum: Provide a unique identifier to match analysis information on each
  3487  	// specific file in a package
  3488  	Checksum []string `json:"checksum,omitempty"`
  3489  	// FileType: This field provides information about the type of file identified
  3490  	//
  3491  	// Possible values:
  3492  	//   "FILE_TYPE_UNSPECIFIED" - Unspecified
  3493  	//   "SOURCE" - The file is human readable source code (.c, .html, etc.)
  3494  	//   "BINARY" - The file is a compiled object, target image or binary
  3495  	// executable (.o, .a, etc.)
  3496  	//   "ARCHIVE" - The file represents an archive (.tar, .jar, etc.)
  3497  	//   "APPLICATION" - The file is associated with a specific application type
  3498  	// (MIME type of application/*)
  3499  	//   "AUDIO" - The file is associated with an audio file (MIME type of audio/*
  3500  	// , e.g. .mp3)
  3501  	//   "IMAGE" - The file is associated with an picture image file (MIME type of
  3502  	// image/*, e.g., .jpg, .gif)
  3503  	//   "TEXT" - The file is human readable text file (MIME type of text/*)
  3504  	//   "VIDEO" - The file is associated with a video file type (MIME type of
  3505  	// video/*)
  3506  	//   "DOCUMENTATION" - The file serves as documentation
  3507  	//   "SPDX" - The file is an SPDX document
  3508  	//   "OTHER" - The file doesn't fit into the above categories (generated
  3509  	// artifacts, data files, etc.)
  3510  	FileType string `json:"fileType,omitempty"`
  3511  	// Title: Identify the full path and filename that corresponds to the file
  3512  	// information in this section
  3513  	Title string `json:"title,omitempty"`
  3514  	// ForceSendFields is a list of field names (e.g. "Checksum") to
  3515  	// unconditionally include in API requests. By default, fields with empty or
  3516  	// default values are omitted from API requests. See
  3517  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3518  	// details.
  3519  	ForceSendFields []string `json:"-"`
  3520  	// NullFields is a list of field names (e.g. "Checksum") to include in API
  3521  	// requests with the JSON null value. By default, fields with empty values are
  3522  	// omitted from API requests. See
  3523  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3524  	NullFields []string `json:"-"`
  3525  }
  3526  
  3527  func (s *FileNote) MarshalJSON() ([]byte, error) {
  3528  	type NoMethod FileNote
  3529  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3530  }
  3531  
  3532  // FileOccurrence: FileOccurrence represents an SPDX File Information section:
  3533  // https://spdx.github.io/spdx-spec/4-file-information/
  3534  type FileOccurrence struct {
  3535  	// Attributions: This field provides a place for the SPDX data creator to
  3536  	// record, at the file level, acknowledgements that may be needed to be
  3537  	// communicated in some contexts
  3538  	Attributions []string `json:"attributions,omitempty"`
  3539  	// Comment: This field provides a place for the SPDX file creator to record any
  3540  	// general comments about the file
  3541  	Comment string `json:"comment,omitempty"`
  3542  	// Contributors: This field provides a place for the SPDX file creator to
  3543  	// record file contributors
  3544  	Contributors []string `json:"contributors,omitempty"`
  3545  	// Copyright: Identify the copyright holder of the file, as well as any dates
  3546  	// present
  3547  	Copyright string `json:"copyright,omitempty"`
  3548  	// FilesLicenseInfo: This field contains the license information actually found
  3549  	// in the file, if any
  3550  	FilesLicenseInfo []string `json:"filesLicenseInfo,omitempty"`
  3551  	// Id: Uniquely identify any element in an SPDX document which may be
  3552  	// referenced by other elements
  3553  	Id string `json:"id,omitempty"`
  3554  	// LicenseConcluded: This field contains the license the SPDX file creator has
  3555  	// concluded as governing the file or alternative values if the governing
  3556  	// license cannot be determined
  3557  	LicenseConcluded *License `json:"licenseConcluded,omitempty"`
  3558  	// Notice: This field provides a place for the SPDX file creator to record
  3559  	// license notices or other such related notices found in the file
  3560  	Notice string `json:"notice,omitempty"`
  3561  	// ForceSendFields is a list of field names (e.g. "Attributions") to
  3562  	// unconditionally include in API requests. By default, fields with empty or
  3563  	// default values are omitted from API requests. See
  3564  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3565  	// details.
  3566  	ForceSendFields []string `json:"-"`
  3567  	// NullFields is a list of field names (e.g. "Attributions") to include in API
  3568  	// requests with the JSON null value. By default, fields with empty values are
  3569  	// omitted from API requests. See
  3570  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3571  	NullFields []string `json:"-"`
  3572  }
  3573  
  3574  func (s *FileOccurrence) MarshalJSON() ([]byte, error) {
  3575  	type NoMethod FileOccurrence
  3576  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3577  }
  3578  
  3579  // Fingerprint: A set of properties that uniquely identify a given Docker
  3580  // image.
  3581  type Fingerprint struct {
  3582  	// V1Name: Required. The layer ID of the final layer in the Docker image's v1
  3583  	// representation.
  3584  	V1Name string `json:"v1Name,omitempty"`
  3585  	// V2Blob: Required. The ordered list of v2 blobs that represent a given image.
  3586  	V2Blob []string `json:"v2Blob,omitempty"`
  3587  	// V2Name: Output only. The name of the image's v2 blobs computed via: [bottom]
  3588  	// := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) Only the name of
  3589  	// the final blob is kept.
  3590  	V2Name string `json:"v2Name,omitempty"`
  3591  	// ForceSendFields is a list of field names (e.g. "V1Name") to unconditionally
  3592  	// include in API requests. By default, fields with empty or default values are
  3593  	// omitted from API requests. See
  3594  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3595  	// details.
  3596  	ForceSendFields []string `json:"-"`
  3597  	// NullFields is a list of field names (e.g. "V1Name") to include in API
  3598  	// requests with the JSON null value. By default, fields with empty values are
  3599  	// omitted from API requests. See
  3600  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3601  	NullFields []string `json:"-"`
  3602  }
  3603  
  3604  func (s *Fingerprint) MarshalJSON() ([]byte, error) {
  3605  	type NoMethod Fingerprint
  3606  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3607  }
  3608  
  3609  // FixableTotalByDigest: Per resource and severity counts of fixable and total
  3610  // vulnerabilities.
  3611  type FixableTotalByDigest struct {
  3612  	// FixableCount: The number of fixable vulnerabilities associated with this
  3613  	// resource.
  3614  	FixableCount int64 `json:"fixableCount,omitempty,string"`
  3615  	// Resource: The affected resource.
  3616  	Resource *Resource `json:"resource,omitempty"`
  3617  	// Severity: The severity for this count. SEVERITY_UNSPECIFIED indicates total
  3618  	// across all severities.
  3619  	//
  3620  	// Possible values:
  3621  	//   "SEVERITY_UNSPECIFIED" - Unknown.
  3622  	//   "MINIMAL" - Minimal severity.
  3623  	//   "LOW" - Low severity.
  3624  	//   "MEDIUM" - Medium severity.
  3625  	//   "HIGH" - High severity.
  3626  	//   "CRITICAL" - Critical severity.
  3627  	Severity string `json:"severity,omitempty"`
  3628  	// TotalCount: The total number of vulnerabilities associated with this
  3629  	// resource.
  3630  	TotalCount int64 `json:"totalCount,omitempty,string"`
  3631  	// ForceSendFields is a list of field names (e.g. "FixableCount") to
  3632  	// unconditionally include in API requests. By default, fields with empty or
  3633  	// default values are omitted from API requests. See
  3634  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3635  	// details.
  3636  	ForceSendFields []string `json:"-"`
  3637  	// NullFields is a list of field names (e.g. "FixableCount") to include in API
  3638  	// requests with the JSON null value. By default, fields with empty values are
  3639  	// omitted from API requests. See
  3640  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3641  	NullFields []string `json:"-"`
  3642  }
  3643  
  3644  func (s *FixableTotalByDigest) MarshalJSON() ([]byte, error) {
  3645  	type NoMethod FixableTotalByDigest
  3646  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3647  }
  3648  
  3649  // GeneratePackagesSummaryRequest: GeneratePackagesSummaryRequest is the
  3650  // request body for the GeneratePackagesSummary API method. It just takes a
  3651  // single name argument, referring to the resource.
  3652  type GeneratePackagesSummaryRequest struct {
  3653  }
  3654  
  3655  // GenericSignedAttestation: An attestation wrapper that uses the Grafeas
  3656  // `Signature` message. This attestation must define the `serialized_payload`
  3657  // that the `signatures` verify and any metadata necessary to interpret that
  3658  // plaintext. The signatures should always be over the `serialized_payload`
  3659  // bytestring.
  3660  type GenericSignedAttestation struct {
  3661  	// ContentType: Type (for example schema) of the attestation payload that was
  3662  	// signed. The verifier must ensure that the provided type is one that the
  3663  	// verifier supports, and that the attestation payload is a valid instantiation
  3664  	// of that type (for example by validating a JSON schema).
  3665  	//
  3666  	// Possible values:
  3667  	//   "CONTENT_TYPE_UNSPECIFIED" - `ContentType` is not set.
  3668  	//   "SIMPLE_SIGNING_JSON" - Atomic format attestation signature. See
  3669  	// https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/docs/atomic-signature.md
  3670  	// The payload extracted in `plaintext` is a JSON blob conforming to the linked
  3671  	// schema.
  3672  	ContentType string `json:"contentType,omitempty"`
  3673  	// SerializedPayload: The serialized payload that is verified by one or more
  3674  	// `signatures`. The encoding and semantic meaning of this payload must match
  3675  	// what is set in `content_type`.
  3676  	SerializedPayload string `json:"serializedPayload,omitempty"`
  3677  	// Signatures: One or more signatures over `serialized_payload`. Verifier
  3678  	// implementations should consider this attestation message verified if at
  3679  	// least one `signature` verifies `serialized_payload`. See `Signature` in
  3680  	// common.proto for more details on signature structure and verification.
  3681  	Signatures []*Signature `json:"signatures,omitempty"`
  3682  	// ForceSendFields is a list of field names (e.g. "ContentType") to
  3683  	// unconditionally include in API requests. By default, fields with empty or
  3684  	// default values are omitted from API requests. See
  3685  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3686  	// details.
  3687  	ForceSendFields []string `json:"-"`
  3688  	// NullFields is a list of field names (e.g. "ContentType") to include in API
  3689  	// requests with the JSON null value. By default, fields with empty values are
  3690  	// omitted from API requests. See
  3691  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3692  	NullFields []string `json:"-"`
  3693  }
  3694  
  3695  func (s *GenericSignedAttestation) MarshalJSON() ([]byte, error) {
  3696  	type NoMethod GenericSignedAttestation
  3697  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3698  }
  3699  
  3700  // GerritSourceContext: A SourceContext referring to a Gerrit project.
  3701  type GerritSourceContext struct {
  3702  	// AliasContext: An alias, which may be a branch or tag.
  3703  	AliasContext *AliasContext `json:"aliasContext,omitempty"`
  3704  	// GerritProject: The full project name within the host. Projects may be
  3705  	// nested, so "project/subproject" is a valid project name. The "repo name" is
  3706  	// the hostURI/project.
  3707  	GerritProject string `json:"gerritProject,omitempty"`
  3708  	// HostUri: The URI of a running Gerrit instance.
  3709  	HostUri string `json:"hostUri,omitempty"`
  3710  	// RevisionId: A revision (commit) ID.
  3711  	RevisionId string `json:"revisionId,omitempty"`
  3712  	// ForceSendFields is a list of field names (e.g. "AliasContext") to
  3713  	// unconditionally include in API requests. By default, fields with empty or
  3714  	// default values are omitted from API requests. See
  3715  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3716  	// details.
  3717  	ForceSendFields []string `json:"-"`
  3718  	// NullFields is a list of field names (e.g. "AliasContext") to include in API
  3719  	// requests with the JSON null value. By default, fields with empty values are
  3720  	// omitted from API requests. See
  3721  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3722  	NullFields []string `json:"-"`
  3723  }
  3724  
  3725  func (s *GerritSourceContext) MarshalJSON() ([]byte, error) {
  3726  	type NoMethod GerritSourceContext
  3727  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3728  }
  3729  
  3730  // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
  3731  type GetIamPolicyRequest struct {
  3732  	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options to
  3733  	// `GetIamPolicy`.
  3734  	Options *GetPolicyOptions `json:"options,omitempty"`
  3735  	// ForceSendFields is a list of field names (e.g. "Options") to unconditionally
  3736  	// include in API requests. By default, fields with empty or default values are
  3737  	// omitted from API requests. See
  3738  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3739  	// details.
  3740  	ForceSendFields []string `json:"-"`
  3741  	// NullFields is a list of field names (e.g. "Options") to include in API
  3742  	// requests with the JSON null value. By default, fields with empty values are
  3743  	// omitted from API requests. See
  3744  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3745  	NullFields []string `json:"-"`
  3746  }
  3747  
  3748  func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  3749  	type NoMethod GetIamPolicyRequest
  3750  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3751  }
  3752  
  3753  // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
  3754  type GetPolicyOptions struct {
  3755  	// RequestedPolicyVersion: Optional. The maximum policy version that will be
  3756  	// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  3757  	// an invalid value will be rejected. Requests for policies with any
  3758  	// conditional role bindings must specify version 3. Policies with no
  3759  	// conditional role bindings may specify any valid value or leave the field
  3760  	// unset. The policy in the response might use the policy version that you
  3761  	// specified, or it might use a lower policy version. For example, if you
  3762  	// specify version 3, but the policy has no conditional role bindings, the
  3763  	// response uses version 1. To learn which resources support conditions in
  3764  	// their IAM policies, see the IAM documentation
  3765  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  3766  	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
  3767  	// ForceSendFields is a list of field names (e.g. "RequestedPolicyVersion") to
  3768  	// unconditionally include in API requests. By default, fields with empty or
  3769  	// default values are omitted from API requests. See
  3770  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3771  	// details.
  3772  	ForceSendFields []string `json:"-"`
  3773  	// NullFields is a list of field names (e.g. "RequestedPolicyVersion") to
  3774  	// include in API requests with the JSON null value. By default, fields with
  3775  	// empty values are omitted from API requests. See
  3776  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3777  	NullFields []string `json:"-"`
  3778  }
  3779  
  3780  func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
  3781  	type NoMethod GetPolicyOptions
  3782  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3783  }
  3784  
  3785  // GitSourceContext: A GitSourceContext denotes a particular revision in a
  3786  // third party Git repository (e.g., GitHub).
  3787  type GitSourceContext struct {
  3788  	// RevisionId: Git commit hash.
  3789  	RevisionId string `json:"revisionId,omitempty"`
  3790  	// Url: Git repository URL.
  3791  	Url string `json:"url,omitempty"`
  3792  	// ForceSendFields is a list of field names (e.g. "RevisionId") to
  3793  	// unconditionally include in API requests. By default, fields with empty or
  3794  	// default values are omitted from API requests. See
  3795  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3796  	// details.
  3797  	ForceSendFields []string `json:"-"`
  3798  	// NullFields is a list of field names (e.g. "RevisionId") to include in API
  3799  	// requests with the JSON null value. By default, fields with empty values are
  3800  	// omitted from API requests. See
  3801  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3802  	NullFields []string `json:"-"`
  3803  }
  3804  
  3805  func (s *GitSourceContext) MarshalJSON() ([]byte, error) {
  3806  	type NoMethod GitSourceContext
  3807  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3808  }
  3809  
  3810  // GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata: Metadata for all
  3811  // operations used and required for all operations that created by Container
  3812  // Analysis Providers
  3813  type GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata struct {
  3814  	// CreateTime: Output only. The time this operation was created.
  3815  	CreateTime string `json:"createTime,omitempty"`
  3816  	// EndTime: Output only. The time that this operation was marked completed or
  3817  	// failed.
  3818  	EndTime string `json:"endTime,omitempty"`
  3819  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  3820  	// unconditionally include in API requests. By default, fields with empty or
  3821  	// default values are omitted from API requests. See
  3822  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3823  	// details.
  3824  	ForceSendFields []string `json:"-"`
  3825  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  3826  	// requests with the JSON null value. By default, fields with empty values are
  3827  	// omitted from API requests. See
  3828  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3829  	NullFields []string `json:"-"`
  3830  }
  3831  
  3832  func (s *GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata) MarshalJSON() ([]byte, error) {
  3833  	type NoMethod GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata
  3834  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3835  }
  3836  
  3837  // GrafeasV1beta1BuildDetails: Details of a build occurrence.
  3838  type GrafeasV1beta1BuildDetails struct {
  3839  	InTotoSlsaProvenanceV1 *InTotoSlsaProvenanceV1 `json:"inTotoSlsaProvenanceV1,omitempty"`
  3840  	// Provenance: Required. The actual provenance for the build.
  3841  	Provenance *BuildProvenance `json:"provenance,omitempty"`
  3842  	// ProvenanceBytes: Serialized JSON representation of the provenance, used in
  3843  	// generating the build signature in the corresponding build note. After
  3844  	// verifying the signature, `provenance_bytes` can be unmarshalled and compared
  3845  	// to the provenance to confirm that it is unchanged. A base64-encoded string
  3846  	// representation of the provenance bytes is used for the signature in order to
  3847  	// interoperate with openssl which expects this format for signature
  3848  	// verification. The serialized form is captured both to avoid ambiguity in how
  3849  	// the provenance is marshalled to json as well to prevent incompatibilities
  3850  	// with future changes.
  3851  	ProvenanceBytes string `json:"provenanceBytes,omitempty"`
  3852  	// ForceSendFields is a list of field names (e.g. "InTotoSlsaProvenanceV1") to
  3853  	// unconditionally include in API requests. By default, fields with empty or
  3854  	// default values are omitted from API requests. See
  3855  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3856  	// details.
  3857  	ForceSendFields []string `json:"-"`
  3858  	// NullFields is a list of field names (e.g. "InTotoSlsaProvenanceV1") to
  3859  	// include in API requests with the JSON null value. By default, fields with
  3860  	// empty values are omitted from API requests. See
  3861  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3862  	NullFields []string `json:"-"`
  3863  }
  3864  
  3865  func (s *GrafeasV1beta1BuildDetails) MarshalJSON() ([]byte, error) {
  3866  	type NoMethod GrafeasV1beta1BuildDetails
  3867  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3868  }
  3869  
  3870  // GrafeasV1beta1DeploymentDetails: Details of a deployment occurrence.
  3871  type GrafeasV1beta1DeploymentDetails struct {
  3872  	// Deployment: Required. Deployment history for the resource.
  3873  	Deployment *Deployment `json:"deployment,omitempty"`
  3874  	// ForceSendFields is a list of field names (e.g. "Deployment") to
  3875  	// unconditionally include in API requests. By default, fields with empty or
  3876  	// default values are omitted from API requests. See
  3877  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3878  	// details.
  3879  	ForceSendFields []string `json:"-"`
  3880  	// NullFields is a list of field names (e.g. "Deployment") to include in API
  3881  	// requests with the JSON null value. By default, fields with empty values are
  3882  	// omitted from API requests. See
  3883  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3884  	NullFields []string `json:"-"`
  3885  }
  3886  
  3887  func (s *GrafeasV1beta1DeploymentDetails) MarshalJSON() ([]byte, error) {
  3888  	type NoMethod GrafeasV1beta1DeploymentDetails
  3889  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3890  }
  3891  
  3892  // GrafeasV1beta1DiscoveryDetails: Details of a discovery occurrence.
  3893  type GrafeasV1beta1DiscoveryDetails struct {
  3894  	// Discovered: Required. Analysis status for the discovered resource.
  3895  	Discovered *Discovered `json:"discovered,omitempty"`
  3896  	// ForceSendFields is a list of field names (e.g. "Discovered") to
  3897  	// unconditionally include in API requests. By default, fields with empty or
  3898  	// default values are omitted from API requests. See
  3899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3900  	// details.
  3901  	ForceSendFields []string `json:"-"`
  3902  	// NullFields is a list of field names (e.g. "Discovered") to include in API
  3903  	// requests with the JSON null value. By default, fields with empty values are
  3904  	// omitted from API requests. See
  3905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3906  	NullFields []string `json:"-"`
  3907  }
  3908  
  3909  func (s *GrafeasV1beta1DiscoveryDetails) MarshalJSON() ([]byte, error) {
  3910  	type NoMethod GrafeasV1beta1DiscoveryDetails
  3911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3912  }
  3913  
  3914  // GrafeasV1beta1ImageDetails: Details of an image occurrence.
  3915  type GrafeasV1beta1ImageDetails struct {
  3916  	// DerivedImage: Required. Immutable. The child image derived from the base
  3917  	// image.
  3918  	DerivedImage *Derived `json:"derivedImage,omitempty"`
  3919  	// ForceSendFields is a list of field names (e.g. "DerivedImage") to
  3920  	// unconditionally include in API requests. By default, fields with empty or
  3921  	// default values are omitted from API requests. See
  3922  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3923  	// details.
  3924  	ForceSendFields []string `json:"-"`
  3925  	// NullFields is a list of field names (e.g. "DerivedImage") to include in API
  3926  	// requests with the JSON null value. By default, fields with empty values are
  3927  	// omitted from API requests. See
  3928  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3929  	NullFields []string `json:"-"`
  3930  }
  3931  
  3932  func (s *GrafeasV1beta1ImageDetails) MarshalJSON() ([]byte, error) {
  3933  	type NoMethod GrafeasV1beta1ImageDetails
  3934  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3935  }
  3936  
  3937  type GrafeasV1beta1IntotoArtifact struct {
  3938  	Hashes      *ArtifactHashes `json:"hashes,omitempty"`
  3939  	ResourceUri string          `json:"resourceUri,omitempty"`
  3940  	// ForceSendFields is a list of field names (e.g. "Hashes") to unconditionally
  3941  	// include in API requests. By default, fields with empty or default values are
  3942  	// omitted from API requests. See
  3943  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3944  	// details.
  3945  	ForceSendFields []string `json:"-"`
  3946  	// NullFields is a list of field names (e.g. "Hashes") to include in API
  3947  	// requests with the JSON null value. By default, fields with empty values are
  3948  	// omitted from API requests. See
  3949  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3950  	NullFields []string `json:"-"`
  3951  }
  3952  
  3953  func (s *GrafeasV1beta1IntotoArtifact) MarshalJSON() ([]byte, error) {
  3954  	type NoMethod GrafeasV1beta1IntotoArtifact
  3955  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3956  }
  3957  
  3958  // GrafeasV1beta1IntotoDetails: This corresponds to a signed in-toto link - it
  3959  // is made up of one or more signatures and the in-toto link itself. This is
  3960  // used for occurrences of a Grafeas in-toto note.
  3961  type GrafeasV1beta1IntotoDetails struct {
  3962  	Signatures []*GrafeasV1beta1IntotoSignature `json:"signatures,omitempty"`
  3963  	Signed     *Link                            `json:"signed,omitempty"`
  3964  	// ForceSendFields is a list of field names (e.g. "Signatures") to
  3965  	// unconditionally include in API requests. By default, fields with empty or
  3966  	// default values are omitted from API requests. See
  3967  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3968  	// details.
  3969  	ForceSendFields []string `json:"-"`
  3970  	// NullFields is a list of field names (e.g. "Signatures") to include in API
  3971  	// requests with the JSON null value. By default, fields with empty values are
  3972  	// omitted from API requests. See
  3973  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3974  	NullFields []string `json:"-"`
  3975  }
  3976  
  3977  func (s *GrafeasV1beta1IntotoDetails) MarshalJSON() ([]byte, error) {
  3978  	type NoMethod GrafeasV1beta1IntotoDetails
  3979  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3980  }
  3981  
  3982  // GrafeasV1beta1IntotoSignature: A signature object consists of the KeyID used
  3983  // and the signature itself.
  3984  type GrafeasV1beta1IntotoSignature struct {
  3985  	Keyid string `json:"keyid,omitempty"`
  3986  	Sig   string `json:"sig,omitempty"`
  3987  	// ForceSendFields is a list of field names (e.g. "Keyid") to unconditionally
  3988  	// include in API requests. By default, fields with empty or default values are
  3989  	// omitted from API requests. See
  3990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3991  	// details.
  3992  	ForceSendFields []string `json:"-"`
  3993  	// NullFields is a list of field names (e.g. "Keyid") to include in API
  3994  	// requests with the JSON null value. By default, fields with empty values are
  3995  	// omitted from API requests. See
  3996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3997  	NullFields []string `json:"-"`
  3998  }
  3999  
  4000  func (s *GrafeasV1beta1IntotoSignature) MarshalJSON() ([]byte, error) {
  4001  	type NoMethod GrafeasV1beta1IntotoSignature
  4002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4003  }
  4004  
  4005  // GrafeasV1beta1PackageDetails: Details of a package occurrence.
  4006  type GrafeasV1beta1PackageDetails struct {
  4007  	// Installation: Required. Where the package was installed.
  4008  	Installation *Installation `json:"installation,omitempty"`
  4009  	// ForceSendFields is a list of field names (e.g. "Installation") to
  4010  	// unconditionally include in API requests. By default, fields with empty or
  4011  	// default values are omitted from API requests. See
  4012  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4013  	// details.
  4014  	ForceSendFields []string `json:"-"`
  4015  	// NullFields is a list of field names (e.g. "Installation") to include in API
  4016  	// requests with the JSON null value. By default, fields with empty values are
  4017  	// omitted from API requests. See
  4018  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4019  	NullFields []string `json:"-"`
  4020  }
  4021  
  4022  func (s *GrafeasV1beta1PackageDetails) MarshalJSON() ([]byte, error) {
  4023  	type NoMethod GrafeasV1beta1PackageDetails
  4024  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4025  }
  4026  
  4027  // GrafeasV1beta1VulnerabilityDetails: Details of a vulnerability Occurrence.
  4028  type GrafeasV1beta1VulnerabilityDetails struct {
  4029  	// CvssScore: Output only. The CVSS score of this vulnerability. CVSS score is
  4030  	// on a scale of 0-10 where 0 indicates low severity and 10 indicates high
  4031  	// severity.
  4032  	CvssScore float64 `json:"cvssScore,omitempty"`
  4033  	// CvssV2: The cvss v2 score for the vulnerability.
  4034  	CvssV2 *CVSS `json:"cvssV2,omitempty"`
  4035  	// CvssV3: The cvss v3 score for the vulnerability.
  4036  	CvssV3 *CVSS `json:"cvssV3,omitempty"`
  4037  	// CvssVersion: Output only. CVSS version used to populate cvss_score and
  4038  	// severity.
  4039  	//
  4040  	// Possible values:
  4041  	//   "CVSS_VERSION_UNSPECIFIED"
  4042  	//   "CVSS_VERSION_2"
  4043  	//   "CVSS_VERSION_3"
  4044  	CvssVersion string `json:"cvssVersion,omitempty"`
  4045  	// EffectiveSeverity: The distro assigned severity for this vulnerability when
  4046  	// it is available, and note provider assigned severity when distro has not yet
  4047  	// assigned a severity for this vulnerability. When there are multiple
  4048  	// PackageIssues for this vulnerability, they can have different effective
  4049  	// severities because some might be provided by the distro while others are
  4050  	// provided by the language ecosystem for a language pack. For this reason, it
  4051  	// is advised to use the effective severity on the PackageIssue level. In the
  4052  	// case where multiple PackageIssues have differing effective severities, this
  4053  	// field should be the highest severity for any of the PackageIssues.
  4054  	//
  4055  	// Possible values:
  4056  	//   "SEVERITY_UNSPECIFIED" - Unknown.
  4057  	//   "MINIMAL" - Minimal severity.
  4058  	//   "LOW" - Low severity.
  4059  	//   "MEDIUM" - Medium severity.
  4060  	//   "HIGH" - High severity.
  4061  	//   "CRITICAL" - Critical severity.
  4062  	EffectiveSeverity string `json:"effectiveSeverity,omitempty"`
  4063  	// ExtraDetails: Occurrence-specific extra details about the vulnerability.
  4064  	ExtraDetails string `json:"extraDetails,omitempty"`
  4065  	// LongDescription: Output only. A detailed description of this vulnerability.
  4066  	LongDescription string `json:"longDescription,omitempty"`
  4067  	// PackageIssue: Required. The set of affected locations and their fixes (if
  4068  	// available) within the associated resource.
  4069  	PackageIssue []*PackageIssue `json:"packageIssue,omitempty"`
  4070  	// RelatedUrls: Output only. URLs related to this vulnerability.
  4071  	RelatedUrls []*RelatedUrl `json:"relatedUrls,omitempty"`
  4072  	// Severity: Output only. The note provider assigned Severity of the
  4073  	// vulnerability.
  4074  	//
  4075  	// Possible values:
  4076  	//   "SEVERITY_UNSPECIFIED" - Unknown.
  4077  	//   "MINIMAL" - Minimal severity.
  4078  	//   "LOW" - Low severity.
  4079  	//   "MEDIUM" - Medium severity.
  4080  	//   "HIGH" - High severity.
  4081  	//   "CRITICAL" - Critical severity.
  4082  	Severity string `json:"severity,omitempty"`
  4083  	// ShortDescription: Output only. A one sentence description of this
  4084  	// vulnerability.
  4085  	ShortDescription string `json:"shortDescription,omitempty"`
  4086  	// Type: The type of package; whether native or non native(ruby gems, node.js
  4087  	// packages etc)
  4088  	Type          string         `json:"type,omitempty"`
  4089  	VexAssessment *VexAssessment `json:"vexAssessment,omitempty"`
  4090  	// ForceSendFields is a list of field names (e.g. "CvssScore") to
  4091  	// unconditionally include in API requests. By default, fields with empty or
  4092  	// default values are omitted from API requests. See
  4093  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4094  	// details.
  4095  	ForceSendFields []string `json:"-"`
  4096  	// NullFields is a list of field names (e.g. "CvssScore") to include in API
  4097  	// requests with the JSON null value. By default, fields with empty values are
  4098  	// omitted from API requests. See
  4099  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4100  	NullFields []string `json:"-"`
  4101  }
  4102  
  4103  func (s *GrafeasV1beta1VulnerabilityDetails) MarshalJSON() ([]byte, error) {
  4104  	type NoMethod GrafeasV1beta1VulnerabilityDetails
  4105  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4106  }
  4107  
  4108  func (s *GrafeasV1beta1VulnerabilityDetails) UnmarshalJSON(data []byte) error {
  4109  	type NoMethod GrafeasV1beta1VulnerabilityDetails
  4110  	var s1 struct {
  4111  		CvssScore gensupport.JSONFloat64 `json:"cvssScore"`
  4112  		*NoMethod
  4113  	}
  4114  	s1.NoMethod = (*NoMethod)(s)
  4115  	if err := json.Unmarshal(data, &s1); err != nil {
  4116  		return err
  4117  	}
  4118  	s.CvssScore = float64(s1.CvssScore)
  4119  	return nil
  4120  }
  4121  
  4122  // Hash: Container message for hash values.
  4123  type Hash struct {
  4124  	// Type: Required. The type of hash that was performed.
  4125  	//
  4126  	// Possible values:
  4127  	//   "HASH_TYPE_UNSPECIFIED" - Unknown.
  4128  	//   "SHA256" - A SHA-256 hash.
  4129  	//   "GO_MODULE_H1" - Dirhash of a Go module's source code which is then
  4130  	// hex-encoded. See b/244466565 and
  4131  	// https://github.com/in-toto/attestation/pull/108.
  4132  	//   "SHA512" - A SHA-512 hash.
  4133  	Type string `json:"type,omitempty"`
  4134  	// Value: Required. The hash value.
  4135  	Value string `json:"value,omitempty"`
  4136  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  4137  	// include in API requests. By default, fields with empty or default values are
  4138  	// omitted from API requests. See
  4139  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4140  	// details.
  4141  	ForceSendFields []string `json:"-"`
  4142  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  4143  	// with the JSON null value. By default, fields with empty values are omitted
  4144  	// from API requests. See
  4145  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4146  	NullFields []string `json:"-"`
  4147  }
  4148  
  4149  func (s *Hash) MarshalJSON() ([]byte, error) {
  4150  	type NoMethod Hash
  4151  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4152  }
  4153  
  4154  // Hint: This submessage provides human-readable hints about the purpose of the
  4155  // authority. Because the name of a note acts as its resource reference, it is
  4156  // important to disambiguate the canonical name of the Note (which might be a
  4157  // UUID for security purposes) from "readable" names more suitable for debug
  4158  // output. Note that these hints should not be used to look up authorities in
  4159  // security sensitive contexts, such as when looking up attestations to verify.
  4160  type Hint struct {
  4161  	// HumanReadableName: Required. The human readable name of this attestation
  4162  	// authority, for example "qa".
  4163  	HumanReadableName string `json:"humanReadableName,omitempty"`
  4164  	// ForceSendFields is a list of field names (e.g. "HumanReadableName") to
  4165  	// unconditionally include in API requests. By default, fields with empty or
  4166  	// default values are omitted from API requests. See
  4167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4168  	// details.
  4169  	ForceSendFields []string `json:"-"`
  4170  	// NullFields is a list of field names (e.g. "HumanReadableName") to include in
  4171  	// API requests with the JSON null value. By default, fields with empty values
  4172  	// are omitted from API requests. See
  4173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4174  	NullFields []string `json:"-"`
  4175  }
  4176  
  4177  func (s *Hint) MarshalJSON() ([]byte, error) {
  4178  	type NoMethod Hint
  4179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4180  }
  4181  
  4182  // InToto: This contains the fields corresponding to the definition of a
  4183  // software supply chain step in an in-toto layout. This information goes into
  4184  // a Grafeas note.
  4185  type InToto struct {
  4186  	// ExpectedCommand: This field contains the expected command used to perform
  4187  	// the step.
  4188  	ExpectedCommand []string `json:"expectedCommand,omitempty"`
  4189  	// ExpectedMaterials: The following fields contain in-toto artifact rules
  4190  	// identifying the artifacts that enter this supply chain step, and exit the
  4191  	// supply chain step, i.e. materials and products of the step.
  4192  	ExpectedMaterials []*ArtifactRule `json:"expectedMaterials,omitempty"`
  4193  	ExpectedProducts  []*ArtifactRule `json:"expectedProducts,omitempty"`
  4194  	// SigningKeys: This field contains the public keys that can be used to verify
  4195  	// the signatures on the step metadata.
  4196  	SigningKeys []*SigningKey `json:"signingKeys,omitempty"`
  4197  	// StepName: This field identifies the name of the step in the supply chain.
  4198  	StepName string `json:"stepName,omitempty"`
  4199  	// Threshold: This field contains a value that indicates the minimum number of
  4200  	// keys that need to be used to sign the step's in-toto link.
  4201  	Threshold int64 `json:"threshold,omitempty,string"`
  4202  	// ForceSendFields is a list of field names (e.g. "ExpectedCommand") to
  4203  	// unconditionally include in API requests. By default, fields with empty or
  4204  	// default values are omitted from API requests. See
  4205  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4206  	// details.
  4207  	ForceSendFields []string `json:"-"`
  4208  	// NullFields is a list of field names (e.g. "ExpectedCommand") to include in
  4209  	// API requests with the JSON null value. By default, fields with empty values
  4210  	// are omitted from API requests. See
  4211  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4212  	NullFields []string `json:"-"`
  4213  }
  4214  
  4215  func (s *InToto) MarshalJSON() ([]byte, error) {
  4216  	type NoMethod InToto
  4217  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4218  }
  4219  
  4220  type InTotoSlsaProvenanceV1 struct {
  4221  	// Type: InToto spec defined at
  4222  	// https://github.com/in-toto/attestation/tree/main/spec#statement
  4223  	Type          string            `json:"_type,omitempty"`
  4224  	Predicate     *SlsaProvenanceV1 `json:"predicate,omitempty"`
  4225  	PredicateType string            `json:"predicateType,omitempty"`
  4226  	Subject       []*Subject        `json:"subject,omitempty"`
  4227  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  4228  	// include in API requests. By default, fields with empty or default values are
  4229  	// omitted from API requests. See
  4230  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4231  	// details.
  4232  	ForceSendFields []string `json:"-"`
  4233  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  4234  	// with the JSON null value. By default, fields with empty values are omitted
  4235  	// from API requests. See
  4236  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4237  	NullFields []string `json:"-"`
  4238  }
  4239  
  4240  func (s *InTotoSlsaProvenanceV1) MarshalJSON() ([]byte, error) {
  4241  	type NoMethod InTotoSlsaProvenanceV1
  4242  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4243  }
  4244  
  4245  // Installation: This represents how a particular software package may be
  4246  // installed on a system.
  4247  type Installation struct {
  4248  	// Architecture: Output only. The CPU architecture for which packages in this
  4249  	// distribution channel were built. Architecture will be blank for language
  4250  	// packages.
  4251  	//
  4252  	// Possible values:
  4253  	//   "ARCHITECTURE_UNSPECIFIED" - Unknown architecture.
  4254  	//   "X86" - X86 architecture.
  4255  	//   "X64" - X64 architecture.
  4256  	Architecture string `json:"architecture,omitempty"`
  4257  	// CpeUri: Output only. The cpe_uri in CPE format
  4258  	// (https://cpe.mitre.org/specification/) denoting the package manager version
  4259  	// distributing a package. The cpe_uri will be blank for language packages.
  4260  	CpeUri string `json:"cpeUri,omitempty"`
  4261  	// License: Licenses that have been declared by the authors of the package.
  4262  	License *License `json:"license,omitempty"`
  4263  	// Location: All of the places within the filesystem versions of this package
  4264  	// have been found.
  4265  	Location []*Location `json:"location,omitempty"`
  4266  	// Name: Required. Output only. The name of the installed package.
  4267  	Name string `json:"name,omitempty"`
  4268  	// PackageType: Output only. The type of package; whether native or non native
  4269  	// (e.g., ruby gems, node.js packages, etc.).
  4270  	PackageType string `json:"packageType,omitempty"`
  4271  	// Version: Output only. The version of the package.
  4272  	Version *Version `json:"version,omitempty"`
  4273  	// ForceSendFields is a list of field names (e.g. "Architecture") to
  4274  	// unconditionally include in API requests. By default, fields with empty or
  4275  	// default values are omitted from API requests. See
  4276  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4277  	// details.
  4278  	ForceSendFields []string `json:"-"`
  4279  	// NullFields is a list of field names (e.g. "Architecture") to include in API
  4280  	// requests with the JSON null value. By default, fields with empty values are
  4281  	// omitted from API requests. See
  4282  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4283  	NullFields []string `json:"-"`
  4284  }
  4285  
  4286  func (s *Installation) MarshalJSON() ([]byte, error) {
  4287  	type NoMethod Installation
  4288  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4289  }
  4290  
  4291  // Justification: Justification provides the justification when the state of
  4292  // the assessment if NOT_AFFECTED.
  4293  type Justification struct {
  4294  	// Details: Additional details on why this justification was chosen.
  4295  	Details string `json:"details,omitempty"`
  4296  	// JustificationType: The justification type for this vulnerability.
  4297  	//
  4298  	// Possible values:
  4299  	//   "JUSTIFICATION_TYPE_UNSPECIFIED" - JUSTIFICATION_TYPE_UNSPECIFIED.
  4300  	//   "COMPONENT_NOT_PRESENT" - The vulnerable component is not present in the
  4301  	// product.
  4302  	//   "VULNERABLE_CODE_NOT_PRESENT" - The vulnerable code is not present.
  4303  	// Typically this case occurs when source code is configured or built in a way
  4304  	// that excludes the vulnerable code.
  4305  	//   "VULNERABLE_CODE_NOT_IN_EXECUTE_PATH" - The vulnerable code can not be
  4306  	// executed. Typically this case occurs when the product includes the
  4307  	// vulnerable code but does not call or use the vulnerable code.
  4308  	//   "VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY" - The vulnerable code
  4309  	// cannot be controlled by an attacker to exploit the vulnerability.
  4310  	//   "INLINE_MITIGATIONS_ALREADY_EXIST" - The product includes built-in
  4311  	// protections or features that prevent exploitation of the vulnerability.
  4312  	// These built-in protections cannot be subverted by the attacker and cannot be
  4313  	// configured or disabled by the user. These mitigations completely prevent
  4314  	// exploitation based on known attack vectors.
  4315  	JustificationType string `json:"justificationType,omitempty"`
  4316  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  4317  	// include in API requests. By default, fields with empty or default values are
  4318  	// omitted from API requests. See
  4319  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4320  	// details.
  4321  	ForceSendFields []string `json:"-"`
  4322  	// NullFields is a list of field names (e.g. "Details") to include in API
  4323  	// requests with the JSON null value. By default, fields with empty values are
  4324  	// omitted from API requests. See
  4325  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4326  	NullFields []string `json:"-"`
  4327  }
  4328  
  4329  func (s *Justification) MarshalJSON() ([]byte, error) {
  4330  	type NoMethod Justification
  4331  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4332  }
  4333  
  4334  type KnowledgeBase struct {
  4335  	// Name: The KB name (generally of the form KB[0-9]+ i.e. KB123456).
  4336  	Name string `json:"name,omitempty"`
  4337  	// Url: A link to the KB in the Windows update catalog -
  4338  	// https://www.catalog.update.microsoft.com/
  4339  	Url string `json:"url,omitempty"`
  4340  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4341  	// include in API requests. By default, fields with empty or default values are
  4342  	// omitted from API requests. See
  4343  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4344  	// details.
  4345  	ForceSendFields []string `json:"-"`
  4346  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  4347  	// with the JSON null value. By default, fields with empty values are omitted
  4348  	// from API requests. See
  4349  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4350  	NullFields []string `json:"-"`
  4351  }
  4352  
  4353  func (s *KnowledgeBase) MarshalJSON() ([]byte, error) {
  4354  	type NoMethod KnowledgeBase
  4355  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4356  }
  4357  
  4358  // Layer: Layer holds metadata specific to a layer of a Docker image.
  4359  type Layer struct {
  4360  	// Arguments: The recovered arguments to the Dockerfile directive.
  4361  	Arguments string `json:"arguments,omitempty"`
  4362  	// Directive: Required. The recovered Dockerfile directive used to construct
  4363  	// this layer.
  4364  	//
  4365  	// Possible values:
  4366  	//   "DIRECTIVE_UNSPECIFIED" - Default value for unsupported/missing directive.
  4367  	//   "MAINTAINER" - https://docs.docker.com/engine/reference/builder/
  4368  	//   "RUN" - https://docs.docker.com/engine/reference/builder/
  4369  	//   "CMD" - https://docs.docker.com/engine/reference/builder/
  4370  	//   "LABEL" - https://docs.docker.com/engine/reference/builder/
  4371  	//   "EXPOSE" - https://docs.docker.com/engine/reference/builder/
  4372  	//   "ENV" - https://docs.docker.com/engine/reference/builder/
  4373  	//   "ADD" - https://docs.docker.com/engine/reference/builder/
  4374  	//   "COPY" - https://docs.docker.com/engine/reference/builder/
  4375  	//   "ENTRYPOINT" - https://docs.docker.com/engine/reference/builder/
  4376  	//   "VOLUME" - https://docs.docker.com/engine/reference/builder/
  4377  	//   "USER" - https://docs.docker.com/engine/reference/builder/
  4378  	//   "WORKDIR" - https://docs.docker.com/engine/reference/builder/
  4379  	//   "ARG" - https://docs.docker.com/engine/reference/builder/
  4380  	//   "ONBUILD" - https://docs.docker.com/engine/reference/builder/
  4381  	//   "STOPSIGNAL" - https://docs.docker.com/engine/reference/builder/
  4382  	//   "HEALTHCHECK" - https://docs.docker.com/engine/reference/builder/
  4383  	//   "SHELL" - https://docs.docker.com/engine/reference/builder/
  4384  	Directive string `json:"directive,omitempty"`
  4385  	// ForceSendFields is a list of field names (e.g. "Arguments") to
  4386  	// unconditionally include in API requests. By default, fields with empty or
  4387  	// default values are omitted from API requests. See
  4388  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4389  	// details.
  4390  	ForceSendFields []string `json:"-"`
  4391  	// NullFields is a list of field names (e.g. "Arguments") to include in API
  4392  	// requests with the JSON null value. By default, fields with empty values are
  4393  	// omitted from API requests. See
  4394  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4395  	NullFields []string `json:"-"`
  4396  }
  4397  
  4398  func (s *Layer) MarshalJSON() ([]byte, error) {
  4399  	type NoMethod Layer
  4400  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4401  }
  4402  
  4403  // License: License information.
  4404  type License struct {
  4405  	// Comments: Comments
  4406  	Comments string `json:"comments,omitempty"`
  4407  	// Expression: Often a single license can be used to represent the licensing
  4408  	// terms. Sometimes it is necessary to include a choice of one or more licenses
  4409  	// or some combination of license identifiers. Examples: "LGPL-2.1-only OR
  4410  	// MIT", "LGPL-2.1-only AND MIT", "GPL-2.0-or-later WITH Bison-exception-2.2".
  4411  	Expression string `json:"expression,omitempty"`
  4412  	// ForceSendFields is a list of field names (e.g. "Comments") to
  4413  	// unconditionally include in API requests. By default, fields with empty or
  4414  	// default values are omitted from API requests. See
  4415  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4416  	// details.
  4417  	ForceSendFields []string `json:"-"`
  4418  	// NullFields is a list of field names (e.g. "Comments") to include in API
  4419  	// requests with the JSON null value. By default, fields with empty values are
  4420  	// omitted from API requests. See
  4421  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4422  	NullFields []string `json:"-"`
  4423  }
  4424  
  4425  func (s *License) MarshalJSON() ([]byte, error) {
  4426  	type NoMethod License
  4427  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4428  }
  4429  
  4430  // LicensesSummary: Per license count
  4431  type LicensesSummary struct {
  4432  	// Count: The number of fixable vulnerabilities associated with this resource.
  4433  	Count int64 `json:"count,omitempty,string"`
  4434  	// License: The license of the package. Note that the format of this value is
  4435  	// not guaranteed. It may be nil, an empty string, a boolean value (A | B), a
  4436  	// differently formed boolean value (A OR B), etc...
  4437  	License string `json:"license,omitempty"`
  4438  	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
  4439  	// include in API requests. By default, fields with empty or default values are
  4440  	// omitted from API requests. See
  4441  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4442  	// details.
  4443  	ForceSendFields []string `json:"-"`
  4444  	// NullFields is a list of field names (e.g. "Count") to include in API
  4445  	// requests with the JSON null value. By default, fields with empty values are
  4446  	// omitted from API requests. See
  4447  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4448  	NullFields []string `json:"-"`
  4449  }
  4450  
  4451  func (s *LicensesSummary) MarshalJSON() ([]byte, error) {
  4452  	type NoMethod LicensesSummary
  4453  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4454  }
  4455  
  4456  // Link: This corresponds to an in-toto link.
  4457  type Link struct {
  4458  	// Byproducts: ByProducts are data generated as part of a software supply chain
  4459  	// step, but are not the actual result of the step.
  4460  	Byproducts *ByProducts `json:"byproducts,omitempty"`
  4461  	// Command: This field contains the full command executed for the step. This
  4462  	// can also be empty if links are generated for operations that aren't directly
  4463  	// mapped to a specific command. Each term in the command is an independent
  4464  	// string in the list. An example of a command in the in-toto metadata field
  4465  	// is: "command": ["git", "clone",
  4466  	// "https://github.com/in-toto/demo-project.git"]
  4467  	Command []string `json:"command,omitempty"`
  4468  	// Environment: This is a field that can be used to capture information about
  4469  	// the environment. It is suggested for this field to contain information that
  4470  	// details environment variables, filesystem information, and the present
  4471  	// working directory. The recommended structure of this field is:
  4472  	// "environment": { "custom_values": { "variables": "", "filesystem": "",
  4473  	// "workdir": "", "": "..." } }
  4474  	Environment *Environment `json:"environment,omitempty"`
  4475  	// Materials: Materials are the supply chain artifacts that go into the step
  4476  	// and are used for the operation performed. The key of the map is the path of
  4477  	// the artifact and the structure contains the recorded hash information. An
  4478  	// example is: "materials": [ { "resource_uri": "foo/bar", "hashes": {
  4479  	// "sha256": "ebebf...", : } } ]
  4480  	Materials []*GrafeasV1beta1IntotoArtifact `json:"materials,omitempty"`
  4481  	// Products: Products are the supply chain artifacts generated as a result of
  4482  	// the step. The structure is identical to that of materials.
  4483  	Products []*GrafeasV1beta1IntotoArtifact `json:"products,omitempty"`
  4484  	// ForceSendFields is a list of field names (e.g. "Byproducts") to
  4485  	// unconditionally include in API requests. By default, fields with empty or
  4486  	// default values are omitted from API requests. See
  4487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4488  	// details.
  4489  	ForceSendFields []string `json:"-"`
  4490  	// NullFields is a list of field names (e.g. "Byproducts") to include in API
  4491  	// requests with the JSON null value. By default, fields with empty values are
  4492  	// omitted from API requests. See
  4493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4494  	NullFields []string `json:"-"`
  4495  }
  4496  
  4497  func (s *Link) MarshalJSON() ([]byte, error) {
  4498  	type NoMethod Link
  4499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4500  }
  4501  
  4502  // ListNoteOccurrencesResponse: Response for listing occurrences for a note.
  4503  type ListNoteOccurrencesResponse struct {
  4504  	// NextPageToken: Token to provide to skip to a particular spot in the list.
  4505  	NextPageToken string `json:"nextPageToken,omitempty"`
  4506  	// Occurrences: The occurrences attached to the specified note.
  4507  	Occurrences []*Occurrence `json:"occurrences,omitempty"`
  4508  
  4509  	// ServerResponse contains the HTTP response code and headers from the server.
  4510  	googleapi.ServerResponse `json:"-"`
  4511  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  4512  	// unconditionally include in API requests. By default, fields with empty or
  4513  	// default values are omitted from API requests. See
  4514  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4515  	// details.
  4516  	ForceSendFields []string `json:"-"`
  4517  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  4518  	// requests with the JSON null value. By default, fields with empty values are
  4519  	// omitted from API requests. See
  4520  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4521  	NullFields []string `json:"-"`
  4522  }
  4523  
  4524  func (s *ListNoteOccurrencesResponse) MarshalJSON() ([]byte, error) {
  4525  	type NoMethod ListNoteOccurrencesResponse
  4526  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4527  }
  4528  
  4529  // ListNotesResponse: Response for listing notes.
  4530  type ListNotesResponse struct {
  4531  	// NextPageToken: The next pagination token in the list response. It should be
  4532  	// used as `page_token` for the following request. An empty value means no more
  4533  	// results.
  4534  	NextPageToken string `json:"nextPageToken,omitempty"`
  4535  	// Notes: The notes requested.
  4536  	Notes []*Note `json:"notes,omitempty"`
  4537  
  4538  	// ServerResponse contains the HTTP response code and headers from the server.
  4539  	googleapi.ServerResponse `json:"-"`
  4540  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  4541  	// unconditionally include in API requests. By default, fields with empty or
  4542  	// default values are omitted from API requests. See
  4543  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4544  	// details.
  4545  	ForceSendFields []string `json:"-"`
  4546  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  4547  	// requests with the JSON null value. By default, fields with empty values are
  4548  	// omitted from API requests. See
  4549  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4550  	NullFields []string `json:"-"`
  4551  }
  4552  
  4553  func (s *ListNotesResponse) MarshalJSON() ([]byte, error) {
  4554  	type NoMethod ListNotesResponse
  4555  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4556  }
  4557  
  4558  // ListOccurrencesResponse: Response for listing occurrences.
  4559  type ListOccurrencesResponse struct {
  4560  	// NextPageToken: The next pagination token in the list response. It should be
  4561  	// used as `page_token` for the following request. An empty value means no more
  4562  	// results.
  4563  	NextPageToken string `json:"nextPageToken,omitempty"`
  4564  	// Occurrences: The occurrences requested.
  4565  	Occurrences []*Occurrence `json:"occurrences,omitempty"`
  4566  
  4567  	// ServerResponse contains the HTTP response code and headers from the server.
  4568  	googleapi.ServerResponse `json:"-"`
  4569  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  4570  	// unconditionally include in API requests. By default, fields with empty or
  4571  	// default values are omitted from API requests. See
  4572  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4573  	// details.
  4574  	ForceSendFields []string `json:"-"`
  4575  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  4576  	// requests with the JSON null value. By default, fields with empty values are
  4577  	// omitted from API requests. See
  4578  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4579  	NullFields []string `json:"-"`
  4580  }
  4581  
  4582  func (s *ListOccurrencesResponse) MarshalJSON() ([]byte, error) {
  4583  	type NoMethod ListOccurrencesResponse
  4584  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4585  }
  4586  
  4587  // Location: An occurrence of a particular package installation found within a
  4588  // system's filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
  4589  type Location struct {
  4590  	// CpeUri: Deprecated. The CPE URI in CPE format
  4591  	// (https://cpe.mitre.org/specification/) denoting the package manager version
  4592  	// distributing a package.
  4593  	CpeUri string `json:"cpeUri,omitempty"`
  4594  	// Path: The path from which we gathered that this package/version is
  4595  	// installed.
  4596  	Path string `json:"path,omitempty"`
  4597  	// Version: Deprecated. The version installed at this location.
  4598  	Version *Version `json:"version,omitempty"`
  4599  	// ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally
  4600  	// include in API requests. By default, fields with empty or default values are
  4601  	// omitted from API requests. See
  4602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4603  	// details.
  4604  	ForceSendFields []string `json:"-"`
  4605  	// NullFields is a list of field names (e.g. "CpeUri") to include in API
  4606  	// requests with the JSON null value. By default, fields with empty values are
  4607  	// omitted from API requests. See
  4608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4609  	NullFields []string `json:"-"`
  4610  }
  4611  
  4612  func (s *Location) MarshalJSON() ([]byte, error) {
  4613  	type NoMethod Location
  4614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4615  }
  4616  
  4617  // Note: A type of analysis that can be done for a resource.
  4618  type Note struct {
  4619  	// AttestationAuthority: A note describing an attestation role.
  4620  	AttestationAuthority *Authority `json:"attestationAuthority,omitempty"`
  4621  	// BaseImage: A note describing a base image.
  4622  	BaseImage *Basis `json:"baseImage,omitempty"`
  4623  	// Build: A note describing build provenance for a verifiable build.
  4624  	Build *Build `json:"build,omitempty"`
  4625  	// CreateTime: Output only. The time this note was created. This field can be
  4626  	// used as a filter in list requests.
  4627  	CreateTime string `json:"createTime,omitempty"`
  4628  	// Deployable: A note describing something that can be deployed.
  4629  	Deployable *Deployable `json:"deployable,omitempty"`
  4630  	// Discovery: A note describing the initial analysis of a resource.
  4631  	Discovery *Discovery `json:"discovery,omitempty"`
  4632  	// ExpirationTime: Time of expiration for this note. Empty if note does not
  4633  	// expire.
  4634  	ExpirationTime string `json:"expirationTime,omitempty"`
  4635  	// Intoto: A note describing an in-toto link.
  4636  	Intoto *InToto `json:"intoto,omitempty"`
  4637  	// Kind: Output only. The type of analysis. This field can be used as a filter
  4638  	// in list requests.
  4639  	//
  4640  	// Possible values:
  4641  	//   "NOTE_KIND_UNSPECIFIED" - Default value. This value is unused.
  4642  	//   "VULNERABILITY" - The note and occurrence represent a package
  4643  	// vulnerability.
  4644  	//   "BUILD" - The note and occurrence assert build provenance.
  4645  	//   "IMAGE" - This represents an image basis relationship.
  4646  	//   "PACKAGE" - This represents a package installed via a package manager.
  4647  	//   "DEPLOYMENT" - The note and occurrence track deployment events.
  4648  	//   "DISCOVERY" - The note and occurrence track the initial discovery status
  4649  	// of a resource.
  4650  	//   "ATTESTATION" - This represents a logical "role" that can attest to
  4651  	// artifacts.
  4652  	//   "INTOTO" - This represents an in-toto link.
  4653  	//   "SBOM" - This represents a software bill of materials.
  4654  	//   "SPDX_PACKAGE" - This represents an SPDX Package.
  4655  	//   "SPDX_FILE" - This represents an SPDX File.
  4656  	//   "SPDX_RELATIONSHIP" - This represents an SPDX Relationship.
  4657  	//   "VULNERABILITY_ASSESSMENT" - This represents a Vulnerability Assessment.
  4658  	//   "SBOM_REFERENCE" - This represents an SBOM Reference.
  4659  	Kind string `json:"kind,omitempty"`
  4660  	// LongDescription: A detailed description of this note.
  4661  	LongDescription string `json:"longDescription,omitempty"`
  4662  	// Name: Output only. The name of the note in the form of
  4663  	// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  4664  	Name string `json:"name,omitempty"`
  4665  	// Package: A note describing a package hosted by various package managers.
  4666  	Package *Package `json:"package,omitempty"`
  4667  	// RelatedNoteNames: Other notes related to this note.
  4668  	RelatedNoteNames []string `json:"relatedNoteNames,omitempty"`
  4669  	// RelatedUrl: URLs associated with this note.
  4670  	RelatedUrl []*RelatedUrl `json:"relatedUrl,omitempty"`
  4671  	// Sbom: A note describing a software bill of materials.
  4672  	Sbom *DocumentNote `json:"sbom,omitempty"`
  4673  	// SbomReference: A note describing an SBOM reference.
  4674  	SbomReference *SBOMReferenceNote `json:"sbomReference,omitempty"`
  4675  	// ShortDescription: A one sentence description of this note.
  4676  	ShortDescription string `json:"shortDescription,omitempty"`
  4677  	// SpdxFile: A note describing an SPDX File.
  4678  	SpdxFile *FileNote `json:"spdxFile,omitempty"`
  4679  	// SpdxPackage: A note describing an SPDX Package.
  4680  	SpdxPackage *PackageInfoNote `json:"spdxPackage,omitempty"`
  4681  	// SpdxRelationship: A note describing an SPDX File.
  4682  	SpdxRelationship *RelationshipNote `json:"spdxRelationship,omitempty"`
  4683  	// UpdateTime: Output only. The time this note was last updated. This field can
  4684  	// be used as a filter in list requests.
  4685  	UpdateTime string `json:"updateTime,omitempty"`
  4686  	// Vulnerability: A note describing a package vulnerability.
  4687  	Vulnerability *Vulnerability `json:"vulnerability,omitempty"`
  4688  	// VulnerabilityAssessment: A note describing a vulnerability assessment.
  4689  	VulnerabilityAssessment *VulnerabilityAssessmentNote `json:"vulnerabilityAssessment,omitempty"`
  4690  
  4691  	// ServerResponse contains the HTTP response code and headers from the server.
  4692  	googleapi.ServerResponse `json:"-"`
  4693  	// ForceSendFields is a list of field names (e.g. "AttestationAuthority") to
  4694  	// unconditionally include in API requests. By default, fields with empty or
  4695  	// default values are omitted from API requests. See
  4696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4697  	// details.
  4698  	ForceSendFields []string `json:"-"`
  4699  	// NullFields is a list of field names (e.g. "AttestationAuthority") to include
  4700  	// in API requests with the JSON null value. By default, fields with empty
  4701  	// values are omitted from API requests. See
  4702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4703  	NullFields []string `json:"-"`
  4704  }
  4705  
  4706  func (s *Note) MarshalJSON() ([]byte, error) {
  4707  	type NoMethod Note
  4708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4709  }
  4710  
  4711  // Occurrence: An instance of an analysis type that has been found on a
  4712  // resource.
  4713  type Occurrence struct {
  4714  	// Attestation: Describes an attestation of an artifact.
  4715  	Attestation *Details `json:"attestation,omitempty"`
  4716  	// Build: Describes a verifiable build.
  4717  	Build *GrafeasV1beta1BuildDetails `json:"build,omitempty"`
  4718  	// CreateTime: Output only. The time this occurrence was created.
  4719  	CreateTime string `json:"createTime,omitempty"`
  4720  	// Deployment: Describes the deployment of an artifact on a runtime.
  4721  	Deployment *GrafeasV1beta1DeploymentDetails `json:"deployment,omitempty"`
  4722  	// DerivedImage: Describes how this resource derives from the basis in the
  4723  	// associated note.
  4724  	DerivedImage *GrafeasV1beta1ImageDetails `json:"derivedImage,omitempty"`
  4725  	// Discovered: Describes when a resource was discovered.
  4726  	Discovered *GrafeasV1beta1DiscoveryDetails `json:"discovered,omitempty"`
  4727  	// Envelope: https://github.com/secure-systems-lab/dsse
  4728  	Envelope *Envelope `json:"envelope,omitempty"`
  4729  	// Installation: Describes the installation of a package on the linked
  4730  	// resource.
  4731  	Installation *GrafeasV1beta1PackageDetails `json:"installation,omitempty"`
  4732  	// Intoto: Describes a specific in-toto link.
  4733  	Intoto *GrafeasV1beta1IntotoDetails `json:"intoto,omitempty"`
  4734  	// Kind: Output only. This explicitly denotes which of the occurrence details
  4735  	// are specified. This field can be used as a filter in list requests.
  4736  	//
  4737  	// Possible values:
  4738  	//   "NOTE_KIND_UNSPECIFIED" - Default value. This value is unused.
  4739  	//   "VULNERABILITY" - The note and occurrence represent a package
  4740  	// vulnerability.
  4741  	//   "BUILD" - The note and occurrence assert build provenance.
  4742  	//   "IMAGE" - This represents an image basis relationship.
  4743  	//   "PACKAGE" - This represents a package installed via a package manager.
  4744  	//   "DEPLOYMENT" - The note and occurrence track deployment events.
  4745  	//   "DISCOVERY" - The note and occurrence track the initial discovery status
  4746  	// of a resource.
  4747  	//   "ATTESTATION" - This represents a logical "role" that can attest to
  4748  	// artifacts.
  4749  	//   "INTOTO" - This represents an in-toto link.
  4750  	//   "SBOM" - This represents a software bill of materials.
  4751  	//   "SPDX_PACKAGE" - This represents an SPDX Package.
  4752  	//   "SPDX_FILE" - This represents an SPDX File.
  4753  	//   "SPDX_RELATIONSHIP" - This represents an SPDX Relationship.
  4754  	//   "VULNERABILITY_ASSESSMENT" - This represents a Vulnerability Assessment.
  4755  	//   "SBOM_REFERENCE" - This represents an SBOM Reference.
  4756  	Kind string `json:"kind,omitempty"`
  4757  	// Name: Output only. The name of the occurrence in the form of
  4758  	// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  4759  	Name string `json:"name,omitempty"`
  4760  	// NoteName: Required. Immutable. The analysis note associated with this
  4761  	// occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This
  4762  	// field can be used as a filter in list requests.
  4763  	NoteName string `json:"noteName,omitempty"`
  4764  	// Remediation: A description of actions that can be taken to remedy the note.
  4765  	Remediation string `json:"remediation,omitempty"`
  4766  	// Resource: Required. Immutable. The resource for which the occurrence
  4767  	// applies.
  4768  	Resource *Resource `json:"resource,omitempty"`
  4769  	// Sbom: Describes a specific software bill of materials document.
  4770  	Sbom *DocumentOccurrence `json:"sbom,omitempty"`
  4771  	// SbomReference: Describes a specific SBOM reference occurrences.
  4772  	SbomReference *SBOMReferenceOccurrence `json:"sbomReference,omitempty"`
  4773  	// SpdxFile: Describes a specific SPDX File.
  4774  	SpdxFile *FileOccurrence `json:"spdxFile,omitempty"`
  4775  	// SpdxPackage: Describes a specific SPDX Package.
  4776  	SpdxPackage *PackageInfoOccurrence `json:"spdxPackage,omitempty"`
  4777  	// SpdxRelationship: Describes a specific SPDX Relationship.
  4778  	SpdxRelationship *RelationshipOccurrence `json:"spdxRelationship,omitempty"`
  4779  	// UpdateTime: Output only. The time this occurrence was last updated.
  4780  	UpdateTime string `json:"updateTime,omitempty"`
  4781  	// Vulnerability: Describes a security vulnerability.
  4782  	Vulnerability *GrafeasV1beta1VulnerabilityDetails `json:"vulnerability,omitempty"`
  4783  
  4784  	// ServerResponse contains the HTTP response code and headers from the server.
  4785  	googleapi.ServerResponse `json:"-"`
  4786  	// ForceSendFields is a list of field names (e.g. "Attestation") to
  4787  	// unconditionally include in API requests. By default, fields with empty or
  4788  	// default values are omitted from API requests. See
  4789  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4790  	// details.
  4791  	ForceSendFields []string `json:"-"`
  4792  	// NullFields is a list of field names (e.g. "Attestation") to include in API
  4793  	// requests with the JSON null value. By default, fields with empty values are
  4794  	// omitted from API requests. See
  4795  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4796  	NullFields []string `json:"-"`
  4797  }
  4798  
  4799  func (s *Occurrence) MarshalJSON() ([]byte, error) {
  4800  	type NoMethod Occurrence
  4801  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4802  }
  4803  
  4804  // Package: Package represents a particular package version.
  4805  type Package struct {
  4806  	// Architecture: The CPU architecture for which packages in this distribution
  4807  	// channel were built. Architecture will be blank for language packages.
  4808  	//
  4809  	// Possible values:
  4810  	//   "ARCHITECTURE_UNSPECIFIED" - Unknown architecture.
  4811  	//   "X86" - X86 architecture.
  4812  	//   "X64" - X64 architecture.
  4813  	Architecture string `json:"architecture,omitempty"`
  4814  	// CpeUri: The cpe_uri in CPE format (https://cpe.mitre.org/specification/)
  4815  	// denoting the package manager version distributing a package. The cpe_uri
  4816  	// will be blank for language packages.
  4817  	CpeUri string `json:"cpeUri,omitempty"`
  4818  	// Description: The description of this package.
  4819  	Description string `json:"description,omitempty"`
  4820  	// Digest: Hash value, typically a file digest, that allows unique
  4821  	// identification a specific package.
  4822  	Digest []*Digest `json:"digest,omitempty"`
  4823  	// Distribution: The various channels by which a package is distributed.
  4824  	Distribution []*Distribution `json:"distribution,omitempty"`
  4825  	// License: Licenses that have been declared by the authors of the package.
  4826  	License *License `json:"license,omitempty"`
  4827  	// Maintainer: A freeform text denoting the maintainer of this package.
  4828  	Maintainer string `json:"maintainer,omitempty"`
  4829  	// Name: Required. Immutable. The name of the package.
  4830  	Name string `json:"name,omitempty"`
  4831  	// PackageType: The type of package; whether native or non native (e.g., ruby
  4832  	// gems, node.js packages, etc.).
  4833  	PackageType string `json:"packageType,omitempty"`
  4834  	// Url: The homepage for this package.
  4835  	Url string `json:"url,omitempty"`
  4836  	// Version: The version of the package.
  4837  	Version *Version `json:"version,omitempty"`
  4838  	// ForceSendFields is a list of field names (e.g. "Architecture") to
  4839  	// unconditionally include in API requests. By default, fields with empty or
  4840  	// default values are omitted from API requests. See
  4841  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4842  	// details.
  4843  	ForceSendFields []string `json:"-"`
  4844  	// NullFields is a list of field names (e.g. "Architecture") to include in API
  4845  	// requests with the JSON null value. By default, fields with empty values are
  4846  	// omitted from API requests. See
  4847  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4848  	NullFields []string `json:"-"`
  4849  }
  4850  
  4851  func (s *Package) MarshalJSON() ([]byte, error) {
  4852  	type NoMethod Package
  4853  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4854  }
  4855  
  4856  // PackageInfoNote: PackageInfoNote represents an SPDX Package Information
  4857  // section: https://spdx.github.io/spdx-spec/3-package-information/
  4858  type PackageInfoNote struct {
  4859  	// Analyzed: Indicates whether the file content of this package has been
  4860  	// available for or subjected to analysis when creating the SPDX document
  4861  	Analyzed bool `json:"analyzed,omitempty"`
  4862  	// Attribution: A place for the SPDX data creator to record, at the package
  4863  	// level, acknowledgements that may be needed to be communicated in some
  4864  	// contexts
  4865  	Attribution string `json:"attribution,omitempty"`
  4866  	// Checksum: Provide an independently reproducible mechanism that permits
  4867  	// unique identification of a specific package that correlates to the data in
  4868  	// this SPDX file
  4869  	Checksum string `json:"checksum,omitempty"`
  4870  	// Copyright: Identify the copyright holders of the package, as well as any
  4871  	// dates present
  4872  	Copyright string `json:"copyright,omitempty"`
  4873  	// DetailedDescription: A more detailed description of the package
  4874  	DetailedDescription string `json:"detailedDescription,omitempty"`
  4875  	// DownloadLocation: This section identifies the download Universal Resource
  4876  	// Locator (URL), or a specific location within a version control system (VCS)
  4877  	// for the package at the time that the SPDX file was created
  4878  	DownloadLocation string `json:"downloadLocation,omitempty"`
  4879  	// ExternalRefs: ExternalRef
  4880  	ExternalRefs []*ExternalRef `json:"externalRefs,omitempty"`
  4881  	// FilesLicenseInfo: Contain the license the SPDX file creator has concluded as
  4882  	// governing the This field is to contain a list of all licenses found in the
  4883  	// package. The relationship between licenses (i.e., conjunctive, disjunctive)
  4884  	// is not specified in this field – it is simply a listing of all licenses
  4885  	// found
  4886  	FilesLicenseInfo []string `json:"filesLicenseInfo,omitempty"`
  4887  	// HomePage: Provide a place for the SPDX file creator to record a web site
  4888  	// that serves as the package's home page
  4889  	HomePage string `json:"homePage,omitempty"`
  4890  	// LicenseDeclared: List the licenses that have been declared by the authors of
  4891  	// the package
  4892  	LicenseDeclared *License `json:"licenseDeclared,omitempty"`
  4893  	// Originator: If the package identified in the SPDX file originated from a
  4894  	// different person or organization than identified as Package Supplier, this
  4895  	// field identifies from where or whom the package originally came
  4896  	Originator string `json:"originator,omitempty"`
  4897  	// PackageType: The type of package: OS, MAVEN, GO, GO_STDLIB, etc.
  4898  	PackageType string `json:"packageType,omitempty"`
  4899  	// SummaryDescription: A short description of the package
  4900  	SummaryDescription string `json:"summaryDescription,omitempty"`
  4901  	// Supplier: Identify the actual distribution source for the package/directory
  4902  	// identified in the SPDX file
  4903  	Supplier string `json:"supplier,omitempty"`
  4904  	// Title: Identify the full name of the package as given by the Package
  4905  	// Originator
  4906  	Title string `json:"title,omitempty"`
  4907  	// VerificationCode: This field provides an independently reproducible
  4908  	// mechanism identifying specific contents of a package based on the actual
  4909  	// files (except the SPDX file itself, if it is included in the package) that
  4910  	// make up each package and that correlates to the data in this SPDX file
  4911  	VerificationCode string `json:"verificationCode,omitempty"`
  4912  	// Version: Identify the version of the package
  4913  	Version string `json:"version,omitempty"`
  4914  	// ForceSendFields is a list of field names (e.g. "Analyzed") to
  4915  	// unconditionally include in API requests. By default, fields with empty or
  4916  	// default values are omitted from API requests. See
  4917  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4918  	// details.
  4919  	ForceSendFields []string `json:"-"`
  4920  	// NullFields is a list of field names (e.g. "Analyzed") to include in API
  4921  	// requests with the JSON null value. By default, fields with empty values are
  4922  	// omitted from API requests. See
  4923  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4924  	NullFields []string `json:"-"`
  4925  }
  4926  
  4927  func (s *PackageInfoNote) MarshalJSON() ([]byte, error) {
  4928  	type NoMethod PackageInfoNote
  4929  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4930  }
  4931  
  4932  // PackageInfoOccurrence: PackageInfoOccurrence represents an SPDX Package
  4933  // Information section: https://spdx.github.io/spdx-spec/3-package-information/
  4934  type PackageInfoOccurrence struct {
  4935  	// Comment: A place for the SPDX file creator to record any general comments
  4936  	// about the package being described
  4937  	Comment string `json:"comment,omitempty"`
  4938  	// Filename: Provide the actual file name of the package, or path of the
  4939  	// directory being treated as a package
  4940  	Filename string `json:"filename,omitempty"`
  4941  	// HomePage: Output only. Provide a place for the SPDX file creator to record a
  4942  	// web site that serves as the package's home page
  4943  	HomePage string `json:"homePage,omitempty"`
  4944  	// Id: Uniquely identify any element in an SPDX document which may be
  4945  	// referenced by other elements
  4946  	Id string `json:"id,omitempty"`
  4947  	// LicenseConcluded: package or alternative values, if the governing license
  4948  	// cannot be determined
  4949  	LicenseConcluded *License `json:"licenseConcluded,omitempty"`
  4950  	// PackageType: Output only. The type of package: OS, MAVEN, GO, GO_STDLIB,
  4951  	// etc.
  4952  	PackageType string `json:"packageType,omitempty"`
  4953  	// SourceInfo: Provide a place for the SPDX file creator to record any relevant
  4954  	// background information or additional comments about the origin of the
  4955  	// package
  4956  	SourceInfo string `json:"sourceInfo,omitempty"`
  4957  	// SummaryDescription: Output only. A short description of the package
  4958  	SummaryDescription string `json:"summaryDescription,omitempty"`
  4959  	// Title: Output only. Identify the full name of the package as given by the
  4960  	// Package Originator
  4961  	Title string `json:"title,omitempty"`
  4962  	// Version: Output only. Identify the version of the package
  4963  	Version string `json:"version,omitempty"`
  4964  	// ForceSendFields is a list of field names (e.g. "Comment") to unconditionally
  4965  	// include in API requests. By default, fields with empty or default values are
  4966  	// omitted from API requests. See
  4967  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4968  	// details.
  4969  	ForceSendFields []string `json:"-"`
  4970  	// NullFields is a list of field names (e.g. "Comment") to include in API
  4971  	// requests with the JSON null value. By default, fields with empty values are
  4972  	// omitted from API requests. See
  4973  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4974  	NullFields []string `json:"-"`
  4975  }
  4976  
  4977  func (s *PackageInfoOccurrence) MarshalJSON() ([]byte, error) {
  4978  	type NoMethod PackageInfoOccurrence
  4979  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4980  }
  4981  
  4982  // PackageIssue: This message wraps a location affected by a vulnerability and
  4983  // its associated fix (if one is available).
  4984  type PackageIssue struct {
  4985  	// AffectedLocation: Required. The location of the vulnerability.
  4986  	AffectedLocation *VulnerabilityLocation `json:"affectedLocation,omitempty"`
  4987  	// EffectiveSeverity: Output only. The distro or language system assigned
  4988  	// severity for this vulnerability when that is available and note provider
  4989  	// assigned severity when it is not available.
  4990  	//
  4991  	// Possible values:
  4992  	//   "SEVERITY_UNSPECIFIED" - Unknown.
  4993  	//   "MINIMAL" - Minimal severity.
  4994  	//   "LOW" - Low severity.
  4995  	//   "MEDIUM" - Medium severity.
  4996  	//   "HIGH" - High severity.
  4997  	//   "CRITICAL" - Critical severity.
  4998  	EffectiveSeverity string `json:"effectiveSeverity,omitempty"`
  4999  	// FixedLocation: The location of the available fix for vulnerability.
  5000  	FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"`
  5001  	// PackageType: The type of package (e.g. OS, MAVEN, GO).
  5002  	PackageType string `json:"packageType,omitempty"`
  5003  	// SeverityName: Deprecated, use Details.effective_severity instead The
  5004  	// severity (e.g., distro assigned severity) for this vulnerability.
  5005  	SeverityName string `json:"severityName,omitempty"`
  5006  	// ForceSendFields is a list of field names (e.g. "AffectedLocation") to
  5007  	// unconditionally include in API requests. By default, fields with empty or
  5008  	// default values are omitted from API requests. See
  5009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5010  	// details.
  5011  	ForceSendFields []string `json:"-"`
  5012  	// NullFields is a list of field names (e.g. "AffectedLocation") to include in
  5013  	// API requests with the JSON null value. By default, fields with empty values
  5014  	// are omitted from API requests. See
  5015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5016  	NullFields []string `json:"-"`
  5017  }
  5018  
  5019  func (s *PackageIssue) MarshalJSON() ([]byte, error) {
  5020  	type NoMethod PackageIssue
  5021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5022  }
  5023  
  5024  // PackagesSummaryResponse: A summary of the packages found within the given
  5025  // resource.
  5026  type PackagesSummaryResponse struct {
  5027  	// LicensesSummary: A listing by license name of each of the licenses and their
  5028  	// counts.
  5029  	LicensesSummary []*LicensesSummary `json:"licensesSummary,omitempty"`
  5030  	// ResourceUrl: The unique URL of the image or the container for which this
  5031  	// summary applies.
  5032  	ResourceUrl string `json:"resourceUrl,omitempty"`
  5033  
  5034  	// ServerResponse contains the HTTP response code and headers from the server.
  5035  	googleapi.ServerResponse `json:"-"`
  5036  	// ForceSendFields is a list of field names (e.g. "LicensesSummary") to
  5037  	// unconditionally include in API requests. By default, fields with empty or
  5038  	// default values are omitted from API requests. See
  5039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5040  	// details.
  5041  	ForceSendFields []string `json:"-"`
  5042  	// NullFields is a list of field names (e.g. "LicensesSummary") to include in
  5043  	// API requests with the JSON null value. By default, fields with empty values
  5044  	// are omitted from API requests. See
  5045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5046  	NullFields []string `json:"-"`
  5047  }
  5048  
  5049  func (s *PackagesSummaryResponse) MarshalJSON() ([]byte, error) {
  5050  	type NoMethod PackagesSummaryResponse
  5051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5052  }
  5053  
  5054  // PgpSignedAttestation: An attestation wrapper with a PGP-compatible
  5055  // signature. This message only supports `ATTACHED` signatures, where the
  5056  // payload that is signed is included alongside the signature itself in the
  5057  // same file.
  5058  type PgpSignedAttestation struct {
  5059  	// ContentType: Type (for example schema) of the attestation payload that was
  5060  	// signed. The verifier must ensure that the provided type is one that the
  5061  	// verifier supports, and that the attestation payload is a valid instantiation
  5062  	// of that type (for example by validating a JSON schema).
  5063  	//
  5064  	// Possible values:
  5065  	//   "CONTENT_TYPE_UNSPECIFIED" - `ContentType` is not set.
  5066  	//   "SIMPLE_SIGNING_JSON" - Atomic format attestation signature. See
  5067  	// https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/docs/atomic-signature.md
  5068  	// The payload extracted from `signature` is a JSON blob conforming to the
  5069  	// linked schema.
  5070  	ContentType string `json:"contentType,omitempty"`
  5071  	// PgpKeyId: The cryptographic fingerprint of the key used to generate the
  5072  	// signature, as output by, e.g. `gpg --list-keys`. This should be the version
  5073  	// 4, full 160-bit fingerprint, expressed as a 40 character hexadecimal string.
  5074  	// See https://tools.ietf.org/html/rfc4880#section-12.2 for details.
  5075  	// Implementations may choose to acknowledge "LONG", "SHORT", or other
  5076  	// abbreviated key IDs, but only the full fingerprint is guaranteed to work. In
  5077  	// gpg, the full fingerprint can be retrieved from the `fpr` field returned
  5078  	// when calling --list-keys with --with-colons. For example: ``` gpg
  5079  	// --with-colons --with-fingerprint --force-v4-certs \ --list-keys
  5080  	// attester@example.com tru::1:1513631572:0:3:1:5 pub:......
  5081  	// fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB: ``` Above, the
  5082  	// fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
  5083  	PgpKeyId string `json:"pgpKeyId,omitempty"`
  5084  	// Signature: Required. The raw content of the signature, as output by GNU
  5085  	// Privacy Guard (GPG) or equivalent. Since this message only supports attached
  5086  	// signatures, the payload that was signed must be attached. While the
  5087  	// signature format supported is dependent on the verification implementation,
  5088  	// currently only ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign`
  5089  	// rather than `--clearsign` to gpg) are supported. Concretely, `gpg --sign
  5090  	// --armor --output=signature.gpg payload.json` will create the signature
  5091  	// content expected in this field in `signature.gpg` for the `payload.json`
  5092  	// attestation payload.
  5093  	Signature string `json:"signature,omitempty"`
  5094  	// ForceSendFields is a list of field names (e.g. "ContentType") to
  5095  	// unconditionally include in API requests. By default, fields with empty or
  5096  	// default values are omitted from API requests. See
  5097  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5098  	// details.
  5099  	ForceSendFields []string `json:"-"`
  5100  	// NullFields is a list of field names (e.g. "ContentType") to include in API
  5101  	// requests with the JSON null value. By default, fields with empty values are
  5102  	// omitted from API requests. See
  5103  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5104  	NullFields []string `json:"-"`
  5105  }
  5106  
  5107  func (s *PgpSignedAttestation) MarshalJSON() ([]byte, error) {
  5108  	type NoMethod PgpSignedAttestation
  5109  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5110  }
  5111  
  5112  // Policy: An Identity and Access Management (IAM) policy, which specifies
  5113  // access controls for Google Cloud resources. A `Policy` is a collection of
  5114  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  5115  // single `role`. Principals can be user accounts, service accounts, Google
  5116  // groups, and domains (such as G Suite). A `role` is a named list of
  5117  // permissions; each `role` can be an IAM predefined role or a user-created
  5118  // custom role. For some types of Google Cloud resources, a `binding` can also
  5119  // specify a `condition`, which is a logical expression that allows access to a
  5120  // resource only if the expression evaluates to `true`. A condition can add
  5121  // constraints based on attributes of the request, the resource, or both. To
  5122  // learn which resources support conditions in their IAM policies, see the IAM
  5123  // documentation
  5124  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  5125  // example:** ``` { "bindings": [ { "role":
  5126  // "roles/resourcemanager.organizationAdmin", "members": [
  5127  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  5128  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  5129  // "roles/resourcemanager.organizationViewer", "members": [
  5130  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  5131  // "description": "Does not grant access after Sep 2020", "expression":
  5132  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  5133  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  5134  // members: - user:mike@example.com - group:admins@example.com -
  5135  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  5136  // role: roles/resourcemanager.organizationAdmin - members: -
  5137  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  5138  // condition: title: expirable access description: Does not grant access after
  5139  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  5140  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  5141  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  5142  type Policy struct {
  5143  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  5144  	// Optionally, may specify a `condition` that determines how and when the
  5145  	// `bindings` are applied. Each of the `bindings` must contain at least one
  5146  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  5147  	// up to 250 of these principals can be Google groups. Each occurrence of a
  5148  	// principal counts towards these limits. For example, if the `bindings` grant
  5149  	// 50 different roles to `user:alice@example.com`, and not to any other
  5150  	// principal, then you can add another 1,450 principals to the `bindings` in
  5151  	// the `Policy`.
  5152  	Bindings []*Binding `json:"bindings,omitempty"`
  5153  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  5154  	// prevent simultaneous updates of a policy from overwriting each other. It is
  5155  	// strongly suggested that systems make use of the `etag` in the
  5156  	// read-modify-write cycle to perform policy updates in order to avoid race
  5157  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  5158  	// systems are expected to put that etag in the request to `setIamPolicy` to
  5159  	// ensure that their change will be applied to the same version of the policy.
  5160  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  5161  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  5162  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  5163  	// the conditions in the version `3` policy are lost.
  5164  	Etag string `json:"etag,omitempty"`
  5165  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  5166  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  5167  	// affects conditional role bindings must specify version `3`. This requirement
  5168  	// applies to the following operations: * Getting a policy that includes a
  5169  	// conditional role binding * Adding a conditional role binding to a policy *
  5170  	// Changing a conditional role binding in a policy * Removing any role binding,
  5171  	// with or without a condition, from a policy that includes conditions
  5172  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  5173  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  5174  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  5175  	// the conditions in the version `3` policy are lost. If a policy does not
  5176  	// include any conditions, operations on that policy may specify any valid
  5177  	// version or leave the field unset. To learn which resources support
  5178  	// conditions in their IAM policies, see the IAM documentation
  5179  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  5180  	Version int64 `json:"version,omitempty"`
  5181  
  5182  	// ServerResponse contains the HTTP response code and headers from the server.
  5183  	googleapi.ServerResponse `json:"-"`
  5184  	// ForceSendFields is a list of field names (e.g. "Bindings") to
  5185  	// unconditionally include in API requests. By default, fields with empty or
  5186  	// default values are omitted from API requests. See
  5187  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5188  	// details.
  5189  	ForceSendFields []string `json:"-"`
  5190  	// NullFields is a list of field names (e.g. "Bindings") to include in API
  5191  	// requests with the JSON null value. By default, fields with empty values are
  5192  	// omitted from API requests. See
  5193  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5194  	NullFields []string `json:"-"`
  5195  }
  5196  
  5197  func (s *Policy) MarshalJSON() ([]byte, error) {
  5198  	type NoMethod Policy
  5199  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5200  }
  5201  
  5202  // Product: Product contains information about a product and how to uniquely
  5203  // identify it.
  5204  type Product struct {
  5205  	// GenericUri: Contains a URI which is vendor-specific. Example: The artifact
  5206  	// repository URL of an image.
  5207  	GenericUri string `json:"genericUri,omitempty"`
  5208  	// Id: Token that identifies a product so that it can be referred to from other
  5209  	// parts in the document. There is no predefined format as long as it uniquely
  5210  	// identifies a group in the context of the current document.
  5211  	Id string `json:"id,omitempty"`
  5212  	// Name: Name of the product.
  5213  	Name string `json:"name,omitempty"`
  5214  	// ForceSendFields is a list of field names (e.g. "GenericUri") to
  5215  	// unconditionally include in API requests. By default, fields with empty or
  5216  	// default values are omitted from API requests. See
  5217  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5218  	// details.
  5219  	ForceSendFields []string `json:"-"`
  5220  	// NullFields is a list of field names (e.g. "GenericUri") to include in API
  5221  	// requests with the JSON null value. By default, fields with empty values are
  5222  	// omitted from API requests. See
  5223  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5224  	NullFields []string `json:"-"`
  5225  }
  5226  
  5227  func (s *Product) MarshalJSON() ([]byte, error) {
  5228  	type NoMethod Product
  5229  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5230  }
  5231  
  5232  // ProjectRepoId: Selects a repo using a Google Cloud Platform project ID
  5233  // (e.g., winged-cargo-31) and a repo name within that project.
  5234  type ProjectRepoId struct {
  5235  	// ProjectId: The ID of the project.
  5236  	ProjectId string `json:"projectId,omitempty"`
  5237  	// RepoName: The name of the repo. Leave empty for the default repo.
  5238  	RepoName string `json:"repoName,omitempty"`
  5239  	// ForceSendFields is a list of field names (e.g. "ProjectId") to
  5240  	// unconditionally include in API requests. By default, fields with empty or
  5241  	// default values are omitted from API requests. See
  5242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5243  	// details.
  5244  	ForceSendFields []string `json:"-"`
  5245  	// NullFields is a list of field names (e.g. "ProjectId") to include in API
  5246  	// requests with the JSON null value. By default, fields with empty values are
  5247  	// omitted from API requests. See
  5248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5249  	NullFields []string `json:"-"`
  5250  }
  5251  
  5252  func (s *ProjectRepoId) MarshalJSON() ([]byte, error) {
  5253  	type NoMethod ProjectRepoId
  5254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5255  }
  5256  
  5257  type ProvenanceBuilder struct {
  5258  	BuilderDependencies []*ResourceDescriptor `json:"builderDependencies,omitempty"`
  5259  	Id                  string                `json:"id,omitempty"`
  5260  	Version             map[string]string     `json:"version,omitempty"`
  5261  	// ForceSendFields is a list of field names (e.g. "BuilderDependencies") to
  5262  	// unconditionally include in API requests. By default, fields with empty or
  5263  	// default values are omitted from API requests. See
  5264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5265  	// details.
  5266  	ForceSendFields []string `json:"-"`
  5267  	// NullFields is a list of field names (e.g. "BuilderDependencies") to include
  5268  	// in API requests with the JSON null value. By default, fields with empty
  5269  	// values are omitted from API requests. See
  5270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5271  	NullFields []string `json:"-"`
  5272  }
  5273  
  5274  func (s *ProvenanceBuilder) MarshalJSON() ([]byte, error) {
  5275  	type NoMethod ProvenanceBuilder
  5276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5277  }
  5278  
  5279  // Publisher: Publisher contains information about the publisher of this Note.
  5280  type Publisher struct {
  5281  	// IssuingAuthority: Provides information about the authority of the issuing
  5282  	// party to release the document, in particular, the party's constituency and
  5283  	// responsibilities or other obligations.
  5284  	IssuingAuthority string `json:"issuingAuthority,omitempty"`
  5285  	// Name: Name of the publisher. Examples: 'Google', 'Google Cloud Platform'.
  5286  	Name string `json:"name,omitempty"`
  5287  	// PublisherNamespace: The context or namespace. Contains a URL which is under
  5288  	// control of the issuing party and can be used as a globally unique identifier
  5289  	// for that issuing party. Example: https://csaf.io
  5290  	PublisherNamespace string `json:"publisherNamespace,omitempty"`
  5291  	// ForceSendFields is a list of field names (e.g. "IssuingAuthority") to
  5292  	// unconditionally include in API requests. By default, fields with empty or
  5293  	// default values are omitted from API requests. See
  5294  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5295  	// details.
  5296  	ForceSendFields []string `json:"-"`
  5297  	// NullFields is a list of field names (e.g. "IssuingAuthority") to include in
  5298  	// API requests with the JSON null value. By default, fields with empty values
  5299  	// are omitted from API requests. See
  5300  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5301  	NullFields []string `json:"-"`
  5302  }
  5303  
  5304  func (s *Publisher) MarshalJSON() ([]byte, error) {
  5305  	type NoMethod Publisher
  5306  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5307  }
  5308  
  5309  // RelatedUrl: Metadata for any related URL information.
  5310  type RelatedUrl struct {
  5311  	// Label: Label to describe usage of the URL.
  5312  	Label string `json:"label,omitempty"`
  5313  	// Url: Specific URL associated with the resource.
  5314  	Url string `json:"url,omitempty"`
  5315  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
  5316  	// include in API requests. By default, fields with empty or default values are
  5317  	// omitted from API requests. See
  5318  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5319  	// details.
  5320  	ForceSendFields []string `json:"-"`
  5321  	// NullFields is a list of field names (e.g. "Label") to include in API
  5322  	// requests with the JSON null value. By default, fields with empty values are
  5323  	// omitted from API requests. See
  5324  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5325  	NullFields []string `json:"-"`
  5326  }
  5327  
  5328  func (s *RelatedUrl) MarshalJSON() ([]byte, error) {
  5329  	type NoMethod RelatedUrl
  5330  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5331  }
  5332  
  5333  // RelationshipNote: RelationshipNote represents an SPDX Relationship section:
  5334  // https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/
  5335  type RelationshipNote struct {
  5336  	// Type: The type of relationship between the source and target SPDX elements
  5337  	//
  5338  	// Possible values:
  5339  	//   "RELATIONSHIP_TYPE_UNSPECIFIED" - Unspecified
  5340  	//   "DESCRIBES" - Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A
  5341  	//   "DESCRIBED_BY" - Is to be used when SPDXRef-A is described by
  5342  	// SPDXREF-Document
  5343  	//   "CONTAINS" - Is to be used when SPDXRef-A contains SPDXRef-B
  5344  	//   "CONTAINED_BY" - Is to be used when SPDXRef-A is contained by SPDXRef-B
  5345  	//   "DEPENDS_ON" - Is to be used when SPDXRef-A depends on SPDXRef-B
  5346  	//   "DEPENDENCY_OF" - Is to be used when SPDXRef-A is dependency of SPDXRef-B
  5347  	//   "DEPENDENCY_MANIFEST_OF" - Is to be used when SPDXRef-A is a manifest file
  5348  	// that lists a set of dependencies for SPDXRef-B
  5349  	//   "BUILD_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a build dependency
  5350  	// of SPDXRef-B
  5351  	//   "DEV_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a development
  5352  	// dependency of SPDXRef-B
  5353  	//   "OPTIONAL_DEPENDENCY_OF" - Is to be used when SPDXRef-A is an optional
  5354  	// dependency of SPDXRef-B
  5355  	//   "PROVIDED_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a to be
  5356  	// provided dependency of SPDXRef-B
  5357  	//   "TEST_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a test dependency
  5358  	// of SPDXRef-B
  5359  	//   "RUNTIME_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a dependency
  5360  	// required for the execution of SPDXRef-B
  5361  	//   "EXAMPLE_OF" - Is to be used when SPDXRef-A is an example of SPDXRef-B
  5362  	//   "GENERATES" - Is to be used when SPDXRef-A generates SPDXRef-B
  5363  	//   "GENERATED_FROM" - Is to be used when SPDXRef-A was generated from
  5364  	// SPDXRef-B
  5365  	//   "ANCESTOR_OF" - Is to be used when SPDXRef-A is an ancestor (same lineage
  5366  	// but pre-dates) SPDXRef-B
  5367  	//   "DESCENDANT_OF" - Is to be used when SPDXRef-A is a descendant of (same
  5368  	// lineage but postdates) SPDXRef-B
  5369  	//   "VARIANT_OF" - Is to be used when SPDXRef-A is a variant of (same lineage
  5370  	// but not clear which came first) SPDXRef-B
  5371  	//   "DISTRIBUTION_ARTIFACT" - Is to be used when distributing SPDXRef-A
  5372  	// requires that SPDXRef-B also be distributed
  5373  	//   "PATCH_FOR" - Is to be used when SPDXRef-A is a patch file for (to be
  5374  	// applied to) SPDXRef-B
  5375  	//   "PATCH_APPLIED" - Is to be used when SPDXRef-A is a patch file that has
  5376  	// been applied to SPDXRef-B
  5377  	//   "COPY_OF" - Is to be used when SPDXRef-A is an exact copy of SPDXRef-B
  5378  	//   "FILE_ADDED" - Is to be used when SPDXRef-A is a file that was added to
  5379  	// SPDXRef-B
  5380  	//   "FILE_DELETED" - Is to be used when SPDXRef-A is a file that was deleted
  5381  	// from SPDXRef-B
  5382  	//   "FILE_MODIFIED" - Is to be used when SPDXRef-A is a file that was modified
  5383  	// from SPDXRef-B
  5384  	//   "EXPANDED_FROM_ARCHIVE" - Is to be used when SPDXRef-A is expanded from
  5385  	// the archive SPDXRef-B
  5386  	//   "DYNAMIC_LINK" - Is to be used when SPDXRef-A dynamically links to
  5387  	// SPDXRef-B
  5388  	//   "STATIC_LINK" - Is to be used when SPDXRef-A statically links to SPDXRef-B
  5389  	//   "DATA_FILE_OF" - Is to be used when SPDXRef-A is a data file used in
  5390  	// SPDXRef-B
  5391  	//   "TEST_CASE_OF" - Is to be used when SPDXRef-A is a test case used in
  5392  	// testing SPDXRef-B
  5393  	//   "BUILD_TOOL_OF" - Is to be used when SPDXRef-A is used to build SPDXRef-B
  5394  	//   "DEV_TOOL_OF" - Is to be used when SPDXRef-A is used as a development tool
  5395  	// for SPDXRef-B
  5396  	//   "TEST_OF" - Is to be used when SPDXRef-A is used for testing SPDXRef-B
  5397  	//   "TEST_TOOL_OF" - Is to be used when SPDXRef-A is used as a test tool for
  5398  	// SPDXRef-B
  5399  	//   "DOCUMENTATION_OF" - Is to be used when SPDXRef-A provides documentation
  5400  	// of SPDXRef-B
  5401  	//   "OPTIONAL_COMPONENT_OF" - Is to be used when SPDXRef-A is an optional
  5402  	// component of SPDXRef-B
  5403  	//   "METAFILE_OF" - Is to be used when SPDXRef-A is a metafile of SPDXRef-B
  5404  	//   "PACKAGE_OF" - Is to be used when SPDXRef-A is used as a package as part
  5405  	// of SPDXRef-B
  5406  	//   "AMENDS" - Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX
  5407  	// information in SPDXRef-B
  5408  	//   "PREREQUISITE_FOR" - Is to be used when SPDXRef-A is a prerequisite for
  5409  	// SPDXRef-B
  5410  	//   "HAS_PREREQUISITE" - Is to be used when SPDXRef-A has as a prerequisite
  5411  	// SPDXRef-B
  5412  	//   "OTHER" - Is to be used for a relationship which has not been defined in
  5413  	// the formal SPDX specification. A description of the relationship should be
  5414  	// included in the Relationship comments field
  5415  	Type string `json:"type,omitempty"`
  5416  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  5417  	// include in API requests. By default, fields with empty or default values are
  5418  	// omitted from API requests. See
  5419  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5420  	// details.
  5421  	ForceSendFields []string `json:"-"`
  5422  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  5423  	// with the JSON null value. By default, fields with empty values are omitted
  5424  	// from API requests. See
  5425  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5426  	NullFields []string `json:"-"`
  5427  }
  5428  
  5429  func (s *RelationshipNote) MarshalJSON() ([]byte, error) {
  5430  	type NoMethod RelationshipNote
  5431  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5432  }
  5433  
  5434  // RelationshipOccurrence: RelationshipOccurrence represents an SPDX
  5435  // Relationship section:
  5436  // https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/
  5437  type RelationshipOccurrence struct {
  5438  	// Comment: A place for the SPDX file creator to record any general comments
  5439  	// about the relationship
  5440  	Comment string `json:"comment,omitempty"`
  5441  	// Source: Also referred to as SPDXRef-A The source SPDX element (file,
  5442  	// package, etc)
  5443  	Source string `json:"source,omitempty"`
  5444  	// Target: Also referred to as SPDXRef-B The target SPDC element (file,
  5445  	// package, etc) In cases where there are "known unknowns", the use of the
  5446  	// keyword NOASSERTION can be used The keywords NONE can be used to indicate
  5447  	// that an SPDX element (package/file/snippet) has no other elements connected
  5448  	// by some relationship to it
  5449  	Target string `json:"target,omitempty"`
  5450  	// Type: Output only. The type of relationship between the source and target
  5451  	// SPDX elements
  5452  	//
  5453  	// Possible values:
  5454  	//   "RELATIONSHIP_TYPE_UNSPECIFIED" - Unspecified
  5455  	//   "DESCRIBES" - Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A
  5456  	//   "DESCRIBED_BY" - Is to be used when SPDXRef-A is described by
  5457  	// SPDXREF-Document
  5458  	//   "CONTAINS" - Is to be used when SPDXRef-A contains SPDXRef-B
  5459  	//   "CONTAINED_BY" - Is to be used when SPDXRef-A is contained by SPDXRef-B
  5460  	//   "DEPENDS_ON" - Is to be used when SPDXRef-A depends on SPDXRef-B
  5461  	//   "DEPENDENCY_OF" - Is to be used when SPDXRef-A is dependency of SPDXRef-B
  5462  	//   "DEPENDENCY_MANIFEST_OF" - Is to be used when SPDXRef-A is a manifest file
  5463  	// that lists a set of dependencies for SPDXRef-B
  5464  	//   "BUILD_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a build dependency
  5465  	// of SPDXRef-B
  5466  	//   "DEV_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a development
  5467  	// dependency of SPDXRef-B
  5468  	//   "OPTIONAL_DEPENDENCY_OF" - Is to be used when SPDXRef-A is an optional
  5469  	// dependency of SPDXRef-B
  5470  	//   "PROVIDED_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a to be
  5471  	// provided dependency of SPDXRef-B
  5472  	//   "TEST_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a test dependency
  5473  	// of SPDXRef-B
  5474  	//   "RUNTIME_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a dependency
  5475  	// required for the execution of SPDXRef-B
  5476  	//   "EXAMPLE_OF" - Is to be used when SPDXRef-A is an example of SPDXRef-B
  5477  	//   "GENERATES" - Is to be used when SPDXRef-A generates SPDXRef-B
  5478  	//   "GENERATED_FROM" - Is to be used when SPDXRef-A was generated from
  5479  	// SPDXRef-B
  5480  	//   "ANCESTOR_OF" - Is to be used when SPDXRef-A is an ancestor (same lineage
  5481  	// but pre-dates) SPDXRef-B
  5482  	//   "DESCENDANT_OF" - Is to be used when SPDXRef-A is a descendant of (same
  5483  	// lineage but postdates) SPDXRef-B
  5484  	//   "VARIANT_OF" - Is to be used when SPDXRef-A is a variant of (same lineage
  5485  	// but not clear which came first) SPDXRef-B
  5486  	//   "DISTRIBUTION_ARTIFACT" - Is to be used when distributing SPDXRef-A
  5487  	// requires that SPDXRef-B also be distributed
  5488  	//   "PATCH_FOR" - Is to be used when SPDXRef-A is a patch file for (to be
  5489  	// applied to) SPDXRef-B
  5490  	//   "PATCH_APPLIED" - Is to be used when SPDXRef-A is a patch file that has
  5491  	// been applied to SPDXRef-B
  5492  	//   "COPY_OF" - Is to be used when SPDXRef-A is an exact copy of SPDXRef-B
  5493  	//   "FILE_ADDED" - Is to be used when SPDXRef-A is a file that was added to
  5494  	// SPDXRef-B
  5495  	//   "FILE_DELETED" - Is to be used when SPDXRef-A is a file that was deleted
  5496  	// from SPDXRef-B
  5497  	//   "FILE_MODIFIED" - Is to be used when SPDXRef-A is a file that was modified
  5498  	// from SPDXRef-B
  5499  	//   "EXPANDED_FROM_ARCHIVE" - Is to be used when SPDXRef-A is expanded from
  5500  	// the archive SPDXRef-B
  5501  	//   "DYNAMIC_LINK" - Is to be used when SPDXRef-A dynamically links to
  5502  	// SPDXRef-B
  5503  	//   "STATIC_LINK" - Is to be used when SPDXRef-A statically links to SPDXRef-B
  5504  	//   "DATA_FILE_OF" - Is to be used when SPDXRef-A is a data file used in
  5505  	// SPDXRef-B
  5506  	//   "TEST_CASE_OF" - Is to be used when SPDXRef-A is a test case used in
  5507  	// testing SPDXRef-B
  5508  	//   "BUILD_TOOL_OF" - Is to be used when SPDXRef-A is used to build SPDXRef-B
  5509  	//   "DEV_TOOL_OF" - Is to be used when SPDXRef-A is used as a development tool
  5510  	// for SPDXRef-B
  5511  	//   "TEST_OF" - Is to be used when SPDXRef-A is used for testing SPDXRef-B
  5512  	//   "TEST_TOOL_OF" - Is to be used when SPDXRef-A is used as a test tool for
  5513  	// SPDXRef-B
  5514  	//   "DOCUMENTATION_OF" - Is to be used when SPDXRef-A provides documentation
  5515  	// of SPDXRef-B
  5516  	//   "OPTIONAL_COMPONENT_OF" - Is to be used when SPDXRef-A is an optional
  5517  	// component of SPDXRef-B
  5518  	//   "METAFILE_OF" - Is to be used when SPDXRef-A is a metafile of SPDXRef-B
  5519  	//   "PACKAGE_OF" - Is to be used when SPDXRef-A is used as a package as part
  5520  	// of SPDXRef-B
  5521  	//   "AMENDS" - Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX
  5522  	// information in SPDXRef-B
  5523  	//   "PREREQUISITE_FOR" - Is to be used when SPDXRef-A is a prerequisite for
  5524  	// SPDXRef-B
  5525  	//   "HAS_PREREQUISITE" - Is to be used when SPDXRef-A has as a prerequisite
  5526  	// SPDXRef-B
  5527  	//   "OTHER" - Is to be used for a relationship which has not been defined in
  5528  	// the formal SPDX specification. A description of the relationship should be
  5529  	// included in the Relationship comments field
  5530  	Type string `json:"type,omitempty"`
  5531  	// ForceSendFields is a list of field names (e.g. "Comment") to unconditionally
  5532  	// include in API requests. By default, fields with empty or default values are
  5533  	// omitted from API requests. See
  5534  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5535  	// details.
  5536  	ForceSendFields []string `json:"-"`
  5537  	// NullFields is a list of field names (e.g. "Comment") to include in API
  5538  	// requests with the JSON null value. By default, fields with empty values are
  5539  	// omitted from API requests. See
  5540  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5541  	NullFields []string `json:"-"`
  5542  }
  5543  
  5544  func (s *RelationshipOccurrence) MarshalJSON() ([]byte, error) {
  5545  	type NoMethod RelationshipOccurrence
  5546  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5547  }
  5548  
  5549  // Remediation: Specifies details on how to handle (and presumably, fix) a
  5550  // vulnerability.
  5551  type Remediation struct {
  5552  	// Details: Contains a comprehensive human-readable discussion of the
  5553  	// remediation.
  5554  	Details string `json:"details,omitempty"`
  5555  	// RemediationType: The type of remediation that can be applied.
  5556  	//
  5557  	// Possible values:
  5558  	//   "REMEDIATION_TYPE_UNSPECIFIED" - No remediation type specified.
  5559  	//   "MITIGATION" - A MITIGATION is available.
  5560  	//   "NO_FIX_PLANNED" - No fix is planned.
  5561  	//   "NONE_AVAILABLE" - Not available.
  5562  	//   "VENDOR_FIX" - A vendor fix is available.
  5563  	//   "WORKAROUND" - A workaround is available.
  5564  	RemediationType string `json:"remediationType,omitempty"`
  5565  	// RemediationUri: Contains the URL where to obtain the remediation.
  5566  	RemediationUri *RelatedUrl `json:"remediationUri,omitempty"`
  5567  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5568  	// include in API requests. By default, fields with empty or default values are
  5569  	// omitted from API requests. See
  5570  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5571  	// details.
  5572  	ForceSendFields []string `json:"-"`
  5573  	// NullFields is a list of field names (e.g. "Details") to include in API
  5574  	// requests with the JSON null value. By default, fields with empty values are
  5575  	// omitted from API requests. See
  5576  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5577  	NullFields []string `json:"-"`
  5578  }
  5579  
  5580  func (s *Remediation) MarshalJSON() ([]byte, error) {
  5581  	type NoMethod Remediation
  5582  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5583  }
  5584  
  5585  // RepoId: A unique identifier for a Cloud Repo.
  5586  type RepoId struct {
  5587  	// ProjectRepoId: A combination of a project ID and a repo name.
  5588  	ProjectRepoId *ProjectRepoId `json:"projectRepoId,omitempty"`
  5589  	// Uid: A server-assigned, globally unique identifier.
  5590  	Uid string `json:"uid,omitempty"`
  5591  	// ForceSendFields is a list of field names (e.g. "ProjectRepoId") to
  5592  	// unconditionally include in API requests. By default, fields with empty or
  5593  	// default values are omitted from API requests. See
  5594  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5595  	// details.
  5596  	ForceSendFields []string `json:"-"`
  5597  	// NullFields is a list of field names (e.g. "ProjectRepoId") to include in API
  5598  	// requests with the JSON null value. By default, fields with empty values are
  5599  	// omitted from API requests. See
  5600  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5601  	NullFields []string `json:"-"`
  5602  }
  5603  
  5604  func (s *RepoId) MarshalJSON() ([]byte, error) {
  5605  	type NoMethod RepoId
  5606  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5607  }
  5608  
  5609  // Resource: An entity that can have metadata. For example, a Docker image.
  5610  type Resource struct {
  5611  	// ContentHash: Deprecated, do not use. Use uri instead. The hash of the
  5612  	// resource content. For example, the Docker digest.
  5613  	ContentHash *Hash `json:"contentHash,omitempty"`
  5614  	// Name: Deprecated, do not use. Use uri instead. The name of the resource. For
  5615  	// example, the name of a Docker image - "Debian".
  5616  	Name string `json:"name,omitempty"`
  5617  	// Uri: Required. The unique URI of the resource. For example,
  5618  	// `https://gcr.io/project/image@sha256:foo` for a Docker image.
  5619  	Uri string `json:"uri,omitempty"`
  5620  	// ForceSendFields is a list of field names (e.g. "ContentHash") to
  5621  	// unconditionally include in API requests. By default, fields with empty or
  5622  	// default values are omitted from API requests. See
  5623  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5624  	// details.
  5625  	ForceSendFields []string `json:"-"`
  5626  	// NullFields is a list of field names (e.g. "ContentHash") to include in API
  5627  	// requests with the JSON null value. By default, fields with empty values are
  5628  	// omitted from API requests. See
  5629  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5630  	NullFields []string `json:"-"`
  5631  }
  5632  
  5633  func (s *Resource) MarshalJSON() ([]byte, error) {
  5634  	type NoMethod Resource
  5635  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5636  }
  5637  
  5638  type ResourceDescriptor struct {
  5639  	Annotations      googleapi.RawMessage `json:"annotations,omitempty"`
  5640  	Content          string               `json:"content,omitempty"`
  5641  	Digest           map[string]string    `json:"digest,omitempty"`
  5642  	DownloadLocation string               `json:"downloadLocation,omitempty"`
  5643  	MediaType        string               `json:"mediaType,omitempty"`
  5644  	Name             string               `json:"name,omitempty"`
  5645  	Uri              string               `json:"uri,omitempty"`
  5646  	// ForceSendFields is a list of field names (e.g. "Annotations") to
  5647  	// unconditionally include in API requests. By default, fields with empty or
  5648  	// default values are omitted from API requests. See
  5649  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5650  	// details.
  5651  	ForceSendFields []string `json:"-"`
  5652  	// NullFields is a list of field names (e.g. "Annotations") to include in API
  5653  	// requests with the JSON null value. By default, fields with empty values are
  5654  	// omitted from API requests. See
  5655  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5656  	NullFields []string `json:"-"`
  5657  }
  5658  
  5659  func (s *ResourceDescriptor) MarshalJSON() ([]byte, error) {
  5660  	type NoMethod ResourceDescriptor
  5661  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5662  }
  5663  
  5664  type RunDetails struct {
  5665  	Builder    *ProvenanceBuilder    `json:"builder,omitempty"`
  5666  	Byproducts []*ResourceDescriptor `json:"byproducts,omitempty"`
  5667  	Metadata   *BuildMetadata        `json:"metadata,omitempty"`
  5668  	// ForceSendFields is a list of field names (e.g. "Builder") to unconditionally
  5669  	// include in API requests. By default, fields with empty or default values are
  5670  	// omitted from API requests. See
  5671  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5672  	// details.
  5673  	ForceSendFields []string `json:"-"`
  5674  	// NullFields is a list of field names (e.g. "Builder") to include in API
  5675  	// requests with the JSON null value. By default, fields with empty values are
  5676  	// omitted from API requests. See
  5677  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5678  	NullFields []string `json:"-"`
  5679  }
  5680  
  5681  func (s *RunDetails) MarshalJSON() ([]byte, error) {
  5682  	type NoMethod RunDetails
  5683  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5684  }
  5685  
  5686  // SBOMReferenceNote: The note representing an SBOM reference.
  5687  type SBOMReferenceNote struct {
  5688  	// Format: The format that SBOM takes. E.g. may be spdx, cyclonedx, etc...
  5689  	Format string `json:"format,omitempty"`
  5690  	// Version: The version of the format that the SBOM takes. E.g. if the format
  5691  	// is spdx, the version may be 2.3.
  5692  	Version string `json:"version,omitempty"`
  5693  	// ForceSendFields is a list of field names (e.g. "Format") to unconditionally
  5694  	// include in API requests. By default, fields with empty or default values are
  5695  	// omitted from API requests. See
  5696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5697  	// details.
  5698  	ForceSendFields []string `json:"-"`
  5699  	// NullFields is a list of field names (e.g. "Format") to include in API
  5700  	// requests with the JSON null value. By default, fields with empty values are
  5701  	// omitted from API requests. See
  5702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5703  	NullFields []string `json:"-"`
  5704  }
  5705  
  5706  func (s *SBOMReferenceNote) MarshalJSON() ([]byte, error) {
  5707  	type NoMethod SBOMReferenceNote
  5708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5709  }
  5710  
  5711  // SBOMReferenceOccurrence: The occurrence representing an SBOM reference as
  5712  // applied to a specific resource. The occurrence follows the DSSE
  5713  // specification. See
  5714  // https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more
  5715  // details.
  5716  type SBOMReferenceOccurrence struct {
  5717  	// Payload: The actual payload that contains the SBOM reference data.
  5718  	Payload *SbomReferenceIntotoPayload `json:"payload,omitempty"`
  5719  	// PayloadType: The kind of payload that SbomReferenceIntotoPayload takes.
  5720  	// Since it's in the intoto format, this value is expected to be
  5721  	// 'application/vnd.in-toto+json'.
  5722  	PayloadType string `json:"payloadType,omitempty"`
  5723  	// Signatures: The signatures over the payload.
  5724  	Signatures []*EnvelopeSignature `json:"signatures,omitempty"`
  5725  	// ForceSendFields is a list of field names (e.g. "Payload") to unconditionally
  5726  	// include in API requests. By default, fields with empty or default values are
  5727  	// omitted from API requests. See
  5728  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5729  	// details.
  5730  	ForceSendFields []string `json:"-"`
  5731  	// NullFields is a list of field names (e.g. "Payload") to include in API
  5732  	// requests with the JSON null value. By default, fields with empty values are
  5733  	// omitted from API requests. See
  5734  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5735  	NullFields []string `json:"-"`
  5736  }
  5737  
  5738  func (s *SBOMReferenceOccurrence) MarshalJSON() ([]byte, error) {
  5739  	type NoMethod SBOMReferenceOccurrence
  5740  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5741  }
  5742  
  5743  // SBOMStatus: The status of an SBOM generation.
  5744  type SBOMStatus struct {
  5745  	// Error: If there was an error generating an SBOM, this will indicate what
  5746  	// that error was.
  5747  	Error string `json:"error,omitempty"`
  5748  	// SbomState: The progress of the SBOM generation.
  5749  	//
  5750  	// Possible values:
  5751  	//   "SBOM_STATE_UNSPECIFIED" - Default unknown state.
  5752  	//   "PENDING" - SBOM scanning is pending.
  5753  	//   "COMPLETE" - SBOM scanning has completed.
  5754  	SbomState string `json:"sbomState,omitempty"`
  5755  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  5756  	// include in API requests. By default, fields with empty or default values are
  5757  	// omitted from API requests. See
  5758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5759  	// details.
  5760  	ForceSendFields []string `json:"-"`
  5761  	// NullFields is a list of field names (e.g. "Error") to include in API
  5762  	// requests with the JSON null value. By default, fields with empty values are
  5763  	// omitted from API requests. See
  5764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5765  	NullFields []string `json:"-"`
  5766  }
  5767  
  5768  func (s *SBOMStatus) MarshalJSON() ([]byte, error) {
  5769  	type NoMethod SBOMStatus
  5770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5771  }
  5772  
  5773  // SbomReferenceIntotoPayload: The actual payload that contains the SBOM
  5774  // Reference data. The payload follows the intoto statement specification. See
  5775  // https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for
  5776  // more details.
  5777  type SbomReferenceIntotoPayload struct {
  5778  	// Type: Identifier for the schema of the Statement.
  5779  	Type string `json:"_type,omitempty"`
  5780  	// Predicate: Additional parameters of the Predicate. Includes the actual data
  5781  	// about the SBOM.
  5782  	Predicate *SbomReferenceIntotoPredicate `json:"predicate,omitempty"`
  5783  	// PredicateType: URI identifying the type of the Predicate.
  5784  	PredicateType string `json:"predicateType,omitempty"`
  5785  	// Subject: Set of software artifacts that the attestation applies to. Each
  5786  	// element represents a single software artifact.
  5787  	Subject []*Subject `json:"subject,omitempty"`
  5788  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  5789  	// include in API requests. By default, fields with empty or default values are
  5790  	// omitted from API requests. See
  5791  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5792  	// details.
  5793  	ForceSendFields []string `json:"-"`
  5794  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  5795  	// with the JSON null value. By default, fields with empty values are omitted
  5796  	// from API requests. See
  5797  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5798  	NullFields []string `json:"-"`
  5799  }
  5800  
  5801  func (s *SbomReferenceIntotoPayload) MarshalJSON() ([]byte, error) {
  5802  	type NoMethod SbomReferenceIntotoPayload
  5803  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5804  }
  5805  
  5806  // SbomReferenceIntotoPredicate: A predicate which describes the SBOM being
  5807  // referenced.
  5808  type SbomReferenceIntotoPredicate struct {
  5809  	// Digest: A map of algorithm to digest of the contents of the SBOM.
  5810  	Digest map[string]string `json:"digest,omitempty"`
  5811  	// Location: The location of the SBOM.
  5812  	Location string `json:"location,omitempty"`
  5813  	// MimeType: The mime type of the SBOM.
  5814  	MimeType string `json:"mimeType,omitempty"`
  5815  	// ReferrerId: The person or system referring this predicate to the consumer.
  5816  	ReferrerId string `json:"referrerId,omitempty"`
  5817  	// ForceSendFields is a list of field names (e.g. "Digest") to unconditionally
  5818  	// include in API requests. By default, fields with empty or default values are
  5819  	// omitted from API requests. See
  5820  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5821  	// details.
  5822  	ForceSendFields []string `json:"-"`
  5823  	// NullFields is a list of field names (e.g. "Digest") to include in API
  5824  	// requests with the JSON null value. By default, fields with empty values are
  5825  	// omitted from API requests. See
  5826  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5827  	NullFields []string `json:"-"`
  5828  }
  5829  
  5830  func (s *SbomReferenceIntotoPredicate) MarshalJSON() ([]byte, error) {
  5831  	type NoMethod SbomReferenceIntotoPredicate
  5832  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5833  }
  5834  
  5835  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  5836  type SetIamPolicyRequest struct {
  5837  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  5838  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  5839  	// policy but certain Google Cloud services (such as Projects) might reject
  5840  	// them.
  5841  	Policy *Policy `json:"policy,omitempty"`
  5842  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  5843  	// include in API requests. By default, fields with empty or default values are
  5844  	// omitted from API requests. See
  5845  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5846  	// details.
  5847  	ForceSendFields []string `json:"-"`
  5848  	// NullFields is a list of field names (e.g. "Policy") to include in API
  5849  	// requests with the JSON null value. By default, fields with empty values are
  5850  	// omitted from API requests. See
  5851  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5852  	NullFields []string `json:"-"`
  5853  }
  5854  
  5855  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  5856  	type NoMethod SetIamPolicyRequest
  5857  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5858  }
  5859  
  5860  // Signature: Verifiers (e.g. Kritis implementations) MUST verify signatures
  5861  // with respect to the trust anchors defined in policy (e.g. a Kritis policy).
  5862  // Typically this means that the verifier has been configured with a map from
  5863  // `public_key_id` to public key material (and any required parameters, e.g.
  5864  // signing algorithm). In particular, verification implementations MUST NOT
  5865  // treat the signature `public_key_id` as anything more than a key lookup hint.
  5866  // The `public_key_id` DOES NOT validate or authenticate a public key; it only
  5867  // provides a mechanism for quickly selecting a public key ALREADY CONFIGURED
  5868  // on the verifier through a trusted channel. Verification implementations MUST
  5869  // reject signatures in any of the following circumstances: * The
  5870  // `public_key_id` is not recognized by the verifier. * The public key that
  5871  // `public_key_id` refers to does not verify the signature with respect to the
  5872  // payload. The `signature` contents SHOULD NOT be "attached" (where the
  5873  // payload is included with the serialized `signature` bytes). Verifiers MUST
  5874  // ignore any "attached" payload and only verify signatures with respect to
  5875  // explicitly provided payload (e.g. a `payload` field on the proto message
  5876  // that holds this Signature, or the canonical serialization of the proto
  5877  // message that holds this signature).
  5878  type Signature struct {
  5879  	// PublicKeyId: The identifier for the public key that verifies this signature.
  5880  	// * The `public_key_id` is required. * The `public_key_id` SHOULD be an
  5881  	// RFC3986 conformant URI. * When possible, the `public_key_id` SHOULD be an
  5882  	// immutable reference, such as a cryptographic digest. Examples of valid
  5883  	// `public_key_id`s: OpenPGP V4 public key fingerprint: *
  5884  	// "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" See
  5885  	// https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
  5886  	// details on this scheme. RFC6920 digest-named SubjectPublicKeyInfo (digest of
  5887  	// the DER serialization): *
  5888  	// "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" *
  5889  	// "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a127158
  5890  	// 9a5"
  5891  	PublicKeyId string `json:"publicKeyId,omitempty"`
  5892  	// Signature: The content of the signature, an opaque bytestring. The payload
  5893  	// that this signature verifies MUST be unambiguously provided with the
  5894  	// Signature during verification. A wrapper message might provide the payload
  5895  	// explicitly. Alternatively, a message might have a canonical serialization
  5896  	// that can always be unambiguously computed to derive the payload.
  5897  	Signature string `json:"signature,omitempty"`
  5898  	// ForceSendFields is a list of field names (e.g. "PublicKeyId") to
  5899  	// unconditionally include in API requests. By default, fields with empty or
  5900  	// default values are omitted from API requests. See
  5901  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5902  	// details.
  5903  	ForceSendFields []string `json:"-"`
  5904  	// NullFields is a list of field names (e.g. "PublicKeyId") to include in API
  5905  	// requests with the JSON null value. By default, fields with empty values are
  5906  	// omitted from API requests. See
  5907  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5908  	NullFields []string `json:"-"`
  5909  }
  5910  
  5911  func (s *Signature) MarshalJSON() ([]byte, error) {
  5912  	type NoMethod Signature
  5913  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5914  }
  5915  
  5916  // SigningKey: This defines the format used to record keys used in the software
  5917  // supply chain. An in-toto link is attested using one or more keys defined in
  5918  // the in-toto layout. An example of this is: { "key_id":
  5919  // "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", "key_type":
  5920  // "rsa", "public_key_value": "-----BEGIN PUBLIC
  5921  // KEY-----\nMIIBojANBgkqhkiG9w0B...", "key_scheme": "rsassa-pss-sha256" } The
  5922  // format for in-toto's key definition can be found in section 4.2 of the
  5923  // in-toto specification.
  5924  type SigningKey struct {
  5925  	// KeyId: key_id is an identifier for the signing key.
  5926  	KeyId string `json:"keyId,omitempty"`
  5927  	// KeyScheme: This field contains the corresponding signature scheme. Eg:
  5928  	// "rsassa-pss-sha256".
  5929  	KeyScheme string `json:"keyScheme,omitempty"`
  5930  	// KeyType: This field identifies the specific signing method. Eg: "rsa",
  5931  	// "ed25519", and "ecdsa".
  5932  	KeyType string `json:"keyType,omitempty"`
  5933  	// PublicKeyValue: This field contains the actual public key.
  5934  	PublicKeyValue string `json:"publicKeyValue,omitempty"`
  5935  	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
  5936  	// include in API requests. By default, fields with empty or default values are
  5937  	// omitted from API requests. See
  5938  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5939  	// details.
  5940  	ForceSendFields []string `json:"-"`
  5941  	// NullFields is a list of field names (e.g. "KeyId") to include in API
  5942  	// requests with the JSON null value. By default, fields with empty values are
  5943  	// omitted from API requests. See
  5944  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5945  	NullFields []string `json:"-"`
  5946  }
  5947  
  5948  func (s *SigningKey) MarshalJSON() ([]byte, error) {
  5949  	type NoMethod SigningKey
  5950  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5951  }
  5952  
  5953  // SlsaProvenanceV1: Keep in sync with schema at
  5954  // https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto
  5955  // Builder renamed to ProvenanceBuilder because of Java conflicts.
  5956  type SlsaProvenanceV1 struct {
  5957  	BuildDefinition *BuildDefinition `json:"buildDefinition,omitempty"`
  5958  	RunDetails      *RunDetails      `json:"runDetails,omitempty"`
  5959  	// ForceSendFields is a list of field names (e.g. "BuildDefinition") to
  5960  	// unconditionally include in API requests. By default, fields with empty or
  5961  	// default values are omitted from API requests. See
  5962  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5963  	// details.
  5964  	ForceSendFields []string `json:"-"`
  5965  	// NullFields is a list of field names (e.g. "BuildDefinition") to include in
  5966  	// API requests with the JSON null value. By default, fields with empty values
  5967  	// are omitted from API requests. See
  5968  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5969  	NullFields []string `json:"-"`
  5970  }
  5971  
  5972  func (s *SlsaProvenanceV1) MarshalJSON() ([]byte, error) {
  5973  	type NoMethod SlsaProvenanceV1
  5974  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5975  }
  5976  
  5977  // Source: Source describes the location of the source used for the build.
  5978  type Source struct {
  5979  	// AdditionalContexts: If provided, some of the source code used for the build
  5980  	// may be found in these locations, in the case where the source repository had
  5981  	// multiple remotes or submodules. This list will not include the context
  5982  	// specified in the context field.
  5983  	AdditionalContexts []*SourceContext `json:"additionalContexts,omitempty"`
  5984  	// ArtifactStorageSourceUri: If provided, the input binary artifacts for the
  5985  	// build came from this location.
  5986  	ArtifactStorageSourceUri string `json:"artifactStorageSourceUri,omitempty"`
  5987  	// Context: If provided, the source code used for the build came from this
  5988  	// location.
  5989  	Context *SourceContext `json:"context,omitempty"`
  5990  	// FileHashes: Hash(es) of the build source, which can be used to verify that
  5991  	// the original source integrity was maintained in the build. The keys to this
  5992  	// map are file paths used as build source and the values contain the hash
  5993  	// values for those files. If the build source came in a single package such as
  5994  	// a gzipped tarfile (.tar.gz), the FileHash will be for the single path to
  5995  	// that file.
  5996  	FileHashes map[string]FileHashes `json:"fileHashes,omitempty"`
  5997  	// ForceSendFields is a list of field names (e.g. "AdditionalContexts") to
  5998  	// unconditionally include in API requests. By default, fields with empty or
  5999  	// default values are omitted from API requests. See
  6000  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6001  	// details.
  6002  	ForceSendFields []string `json:"-"`
  6003  	// NullFields is a list of field names (e.g. "AdditionalContexts") to include
  6004  	// in API requests with the JSON null value. By default, fields with empty
  6005  	// values are omitted from API requests. See
  6006  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6007  	NullFields []string `json:"-"`
  6008  }
  6009  
  6010  func (s *Source) MarshalJSON() ([]byte, error) {
  6011  	type NoMethod Source
  6012  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6013  }
  6014  
  6015  // SourceContext: A SourceContext is a reference to a tree of files. A
  6016  // SourceContext together with a path point to a unique revision of a single
  6017  // file or directory.
  6018  type SourceContext struct {
  6019  	// CloudRepo: A SourceContext referring to a revision in a Google Cloud Source
  6020  	// Repo.
  6021  	CloudRepo *CloudRepoSourceContext `json:"cloudRepo,omitempty"`
  6022  	// Gerrit: A SourceContext referring to a Gerrit project.
  6023  	Gerrit *GerritSourceContext `json:"gerrit,omitempty"`
  6024  	// Git: A SourceContext referring to any third party Git repo (e.g., GitHub).
  6025  	Git *GitSourceContext `json:"git,omitempty"`
  6026  	// Labels: Labels with user defined metadata.
  6027  	Labels map[string]string `json:"labels,omitempty"`
  6028  	// ForceSendFields is a list of field names (e.g. "CloudRepo") to
  6029  	// unconditionally include in API requests. By default, fields with empty or
  6030  	// default values are omitted from API requests. See
  6031  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6032  	// details.
  6033  	ForceSendFields []string `json:"-"`
  6034  	// NullFields is a list of field names (e.g. "CloudRepo") to include in API
  6035  	// requests with the JSON null value. By default, fields with empty values are
  6036  	// omitted from API requests. See
  6037  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6038  	NullFields []string `json:"-"`
  6039  }
  6040  
  6041  func (s *SourceContext) MarshalJSON() ([]byte, error) {
  6042  	type NoMethod SourceContext
  6043  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6044  }
  6045  
  6046  // Status: The `Status` type defines a logical error model that is suitable for
  6047  // different programming environments, including REST APIs and RPC APIs. It is
  6048  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  6049  // pieces of data: error code, error message, and error details. You can find
  6050  // out more about this error model and how to work with it in the API Design
  6051  // Guide (https://cloud.google.com/apis/design/errors).
  6052  type Status struct {
  6053  	// Code: The status code, which should be an enum value of google.rpc.Code.
  6054  	Code int64 `json:"code,omitempty"`
  6055  	// Details: A list of messages that carry the error details. There is a common
  6056  	// set of message types for APIs to use.
  6057  	Details []googleapi.RawMessage `json:"details,omitempty"`
  6058  	// Message: A developer-facing error message, which should be in English. Any
  6059  	// user-facing error message should be localized and sent in the
  6060  	// google.rpc.Status.details field, or localized by the client.
  6061  	Message string `json:"message,omitempty"`
  6062  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  6063  	// include in API requests. By default, fields with empty or default values are
  6064  	// omitted from API requests. See
  6065  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6066  	// details.
  6067  	ForceSendFields []string `json:"-"`
  6068  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  6069  	// with the JSON null value. By default, fields with empty values are omitted
  6070  	// from API requests. See
  6071  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6072  	NullFields []string `json:"-"`
  6073  }
  6074  
  6075  func (s *Status) MarshalJSON() ([]byte, error) {
  6076  	type NoMethod Status
  6077  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6078  }
  6079  
  6080  // Subject: Set of software artifacts that the attestation applies to. Each
  6081  // element represents a single software artifact.
  6082  type Subject struct {
  6083  	// Digest: "": "" Algorithms can be e.g. sha256, sha512 See
  6084  	// https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet
  6085  	Digest map[string]string `json:"digest,omitempty"`
  6086  	// Name: Identifier to distinguish this artifact from others within the
  6087  	// subject.
  6088  	Name string `json:"name,omitempty"`
  6089  	// ForceSendFields is a list of field names (e.g. "Digest") to unconditionally
  6090  	// include in API requests. By default, fields with empty or default values are
  6091  	// omitted from API requests. See
  6092  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6093  	// details.
  6094  	ForceSendFields []string `json:"-"`
  6095  	// NullFields is a list of field names (e.g. "Digest") to include in API
  6096  	// requests with the JSON null value. By default, fields with empty values are
  6097  	// omitted from API requests. See
  6098  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6099  	NullFields []string `json:"-"`
  6100  }
  6101  
  6102  func (s *Subject) MarshalJSON() ([]byte, error) {
  6103  	type NoMethod Subject
  6104  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6105  }
  6106  
  6107  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  6108  type TestIamPermissionsRequest struct {
  6109  	// Permissions: The set of permissions to check for the `resource`. Permissions
  6110  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  6111  	// information see IAM Overview
  6112  	// (https://cloud.google.com/iam/docs/overview#permissions).
  6113  	Permissions []string `json:"permissions,omitempty"`
  6114  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  6115  	// unconditionally include in API requests. By default, fields with empty or
  6116  	// default values are omitted from API requests. See
  6117  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6118  	// details.
  6119  	ForceSendFields []string `json:"-"`
  6120  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  6121  	// requests with the JSON null value. By default, fields with empty values are
  6122  	// omitted from API requests. See
  6123  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6124  	NullFields []string `json:"-"`
  6125  }
  6126  
  6127  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  6128  	type NoMethod TestIamPermissionsRequest
  6129  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6130  }
  6131  
  6132  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  6133  // method.
  6134  type TestIamPermissionsResponse struct {
  6135  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  6136  	// caller is allowed.
  6137  	Permissions []string `json:"permissions,omitempty"`
  6138  
  6139  	// ServerResponse contains the HTTP response code and headers from the server.
  6140  	googleapi.ServerResponse `json:"-"`
  6141  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  6142  	// unconditionally include in API requests. By default, fields with empty or
  6143  	// default values are omitted from API requests. See
  6144  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6145  	// details.
  6146  	ForceSendFields []string `json:"-"`
  6147  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  6148  	// requests with the JSON null value. By default, fields with empty values are
  6149  	// omitted from API requests. See
  6150  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6151  	NullFields []string `json:"-"`
  6152  }
  6153  
  6154  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  6155  	type NoMethod TestIamPermissionsResponse
  6156  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6157  }
  6158  
  6159  // TimeSpan: Start and end times for a build execution phase. Next ID: 3
  6160  type TimeSpan struct {
  6161  	// EndTime: End of time span.
  6162  	EndTime string `json:"endTime,omitempty"`
  6163  	// StartTime: Start of time span.
  6164  	StartTime string `json:"startTime,omitempty"`
  6165  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  6166  	// include in API requests. By default, fields with empty or default values are
  6167  	// omitted from API requests. See
  6168  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6169  	// details.
  6170  	ForceSendFields []string `json:"-"`
  6171  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  6172  	// requests with the JSON null value. By default, fields with empty values are
  6173  	// omitted from API requests. See
  6174  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6175  	NullFields []string `json:"-"`
  6176  }
  6177  
  6178  func (s *TimeSpan) MarshalJSON() ([]byte, error) {
  6179  	type NoMethod TimeSpan
  6180  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6181  }
  6182  
  6183  // Version: Version contains structured information about the version of a
  6184  // package.
  6185  type Version struct {
  6186  	// Epoch: Used to correct mistakes in the version numbering scheme.
  6187  	Epoch int64 `json:"epoch,omitempty"`
  6188  	// Inclusive: Whether this version is specifying part of an inclusive range.
  6189  	// Grafeas does not have the capability to specify version ranges; instead we
  6190  	// have fields that specify start version and end versions. At times this is
  6191  	// insufficient - we also need to specify whether the version is included in
  6192  	// the range or is excluded from the range. This boolean is expected to be set
  6193  	// to true when the version is included in a range.
  6194  	Inclusive bool `json:"inclusive,omitempty"`
  6195  	// Kind: Required. Distinguishes between sentinel MIN/MAX versions and normal
  6196  	// versions.
  6197  	//
  6198  	// Possible values:
  6199  	//   "VERSION_KIND_UNSPECIFIED" - Unknown.
  6200  	//   "NORMAL" - A standard package version.
  6201  	//   "MINIMUM" - A special version representing negative infinity.
  6202  	//   "MAXIMUM" - A special version representing positive infinity.
  6203  	Kind string `json:"kind,omitempty"`
  6204  	// Name: Required only when version kind is NORMAL. The main part of the
  6205  	// version name.
  6206  	Name string `json:"name,omitempty"`
  6207  	// Revision: The iteration of the package build from the above version.
  6208  	Revision string `json:"revision,omitempty"`
  6209  	// ForceSendFields is a list of field names (e.g. "Epoch") to unconditionally
  6210  	// include in API requests. By default, fields with empty or default values are
  6211  	// omitted from API requests. See
  6212  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6213  	// details.
  6214  	ForceSendFields []string `json:"-"`
  6215  	// NullFields is a list of field names (e.g. "Epoch") to include in API
  6216  	// requests with the JSON null value. By default, fields with empty values are
  6217  	// omitted from API requests. See
  6218  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6219  	NullFields []string `json:"-"`
  6220  }
  6221  
  6222  func (s *Version) MarshalJSON() ([]byte, error) {
  6223  	type NoMethod Version
  6224  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6225  }
  6226  
  6227  // VexAssessment: VexAssessment provides all publisher provided Vex information
  6228  // that is related to this vulnerability.
  6229  type VexAssessment struct {
  6230  	// Cve: Holds the MITRE standard Common Vulnerabilities and Exposures (CVE)
  6231  	// tracking number for the vulnerability. Deprecated: Use vulnerability_id
  6232  	// instead to denote CVEs.
  6233  	Cve string `json:"cve,omitempty"`
  6234  	// Impacts: Contains information about the impact of this vulnerability, this
  6235  	// will change with time.
  6236  	Impacts []string `json:"impacts,omitempty"`
  6237  	// Justification: Justification provides the justification when the state of
  6238  	// the assessment if NOT_AFFECTED.
  6239  	Justification *Justification `json:"justification,omitempty"`
  6240  	// NoteName: The VulnerabilityAssessment note from which this VexAssessment was
  6241  	// generated. This will be of the form:
  6242  	// `projects/[PROJECT_ID]/notes/[NOTE_ID]`.
  6243  	NoteName string `json:"noteName,omitempty"`
  6244  	// RelatedUris: Holds a list of references associated with this vulnerability
  6245  	// item and assessment.
  6246  	RelatedUris []*RelatedUrl `json:"relatedUris,omitempty"`
  6247  	// Remediations: Specifies details on how to handle (and presumably, fix) a
  6248  	// vulnerability.
  6249  	Remediations []*Remediation `json:"remediations,omitempty"`
  6250  	// State: Provides the state of this Vulnerability assessment.
  6251  	//
  6252  	// Possible values:
  6253  	//   "STATE_UNSPECIFIED" - No state is specified.
  6254  	//   "AFFECTED" - This product is known to be affected by this vulnerability.
  6255  	//   "NOT_AFFECTED" - This product is known to be not affected by this
  6256  	// vulnerability.
  6257  	//   "FIXED" - This product contains a fix for this vulnerability.
  6258  	//   "UNDER_INVESTIGATION" - It is not known yet whether these versions are or
  6259  	// are not affected by the vulnerability. However, it is still under
  6260  	// investigation.
  6261  	State string `json:"state,omitempty"`
  6262  	// VulnerabilityId: The vulnerability identifier for this Assessment. Will hold
  6263  	// one of common identifiers e.g. CVE, GHSA etc.
  6264  	VulnerabilityId string `json:"vulnerabilityId,omitempty"`
  6265  	// ForceSendFields is a list of field names (e.g. "Cve") to unconditionally
  6266  	// include in API requests. By default, fields with empty or default values are
  6267  	// omitted from API requests. See
  6268  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6269  	// details.
  6270  	ForceSendFields []string `json:"-"`
  6271  	// NullFields is a list of field names (e.g. "Cve") to include in API requests
  6272  	// with the JSON null value. By default, fields with empty values are omitted
  6273  	// from API requests. See
  6274  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6275  	NullFields []string `json:"-"`
  6276  }
  6277  
  6278  func (s *VexAssessment) MarshalJSON() ([]byte, error) {
  6279  	type NoMethod VexAssessment
  6280  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6281  }
  6282  
  6283  // Volume: Volume describes a Docker container volume which is mounted into
  6284  // build steps in order to persist files across build step execution. Next ID:
  6285  // 3
  6286  type Volume struct {
  6287  	// Name: Name of the volume to mount. Volume names must be unique per build
  6288  	// step and must be valid names for Docker volumes. Each named volume must be
  6289  	// used by at least two build steps.
  6290  	Name string `json:"name,omitempty"`
  6291  	// Path: Path at which to mount the volume. Paths must be absolute and cannot
  6292  	// conflict with other volume paths on the same build step or with certain
  6293  	// reserved volume paths.
  6294  	Path string `json:"path,omitempty"`
  6295  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  6296  	// include in API requests. By default, fields with empty or default values are
  6297  	// omitted from API requests. See
  6298  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6299  	// details.
  6300  	ForceSendFields []string `json:"-"`
  6301  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  6302  	// with the JSON null value. By default, fields with empty values are omitted
  6303  	// from API requests. See
  6304  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6305  	NullFields []string `json:"-"`
  6306  }
  6307  
  6308  func (s *Volume) MarshalJSON() ([]byte, error) {
  6309  	type NoMethod Volume
  6310  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6311  }
  6312  
  6313  // Vulnerability: Vulnerability provides metadata about a security
  6314  // vulnerability in a Note.
  6315  type Vulnerability struct {
  6316  	// CvssScore: The CVSS score for this vulnerability.
  6317  	CvssScore float64 `json:"cvssScore,omitempty"`
  6318  	// CvssV2: The full description of the CVSS for version 2.
  6319  	CvssV2 *CVSS `json:"cvssV2,omitempty"`
  6320  	// CvssV3: The full description of the CVSS for version 3.
  6321  	CvssV3 *CVSSv3 `json:"cvssV3,omitempty"`
  6322  	// CvssVersion: CVSS version used to populate cvss_score and severity.
  6323  	//
  6324  	// Possible values:
  6325  	//   "CVSS_VERSION_UNSPECIFIED"
  6326  	//   "CVSS_VERSION_2"
  6327  	//   "CVSS_VERSION_3"
  6328  	CvssVersion string `json:"cvssVersion,omitempty"`
  6329  	// Cwe: A list of CWE for this vulnerability. For details, see:
  6330  	// https://cwe.mitre.org/index.html
  6331  	Cwe []string `json:"cwe,omitempty"`
  6332  	// Details: All information about the package to specifically identify this
  6333  	// vulnerability. One entry per (version range and cpe_uri) the package
  6334  	// vulnerability has manifested in.
  6335  	Details []*Detail `json:"details,omitempty"`
  6336  	// Severity: Note provider assigned impact of the vulnerability.
  6337  	//
  6338  	// Possible values:
  6339  	//   "SEVERITY_UNSPECIFIED" - Unknown.
  6340  	//   "MINIMAL" - Minimal severity.
  6341  	//   "LOW" - Low severity.
  6342  	//   "MEDIUM" - Medium severity.
  6343  	//   "HIGH" - High severity.
  6344  	//   "CRITICAL" - Critical severity.
  6345  	Severity string `json:"severity,omitempty"`
  6346  	// SourceUpdateTime: The time this information was last changed at the source.
  6347  	// This is an upstream timestamp from the underlying information source - e.g.
  6348  	// Ubuntu security tracker.
  6349  	SourceUpdateTime string `json:"sourceUpdateTime,omitempty"`
  6350  	// WindowsDetails: Windows details get their own format because the information
  6351  	// format and model don't match a normal detail. Specifically Windows updates
  6352  	// are done as patches, thus Windows vulnerabilities really are a missing
  6353  	// package, rather than a package being at an incorrect version.
  6354  	WindowsDetails []*WindowsDetail `json:"windowsDetails,omitempty"`
  6355  	// ForceSendFields is a list of field names (e.g. "CvssScore") to
  6356  	// unconditionally include in API requests. By default, fields with empty or
  6357  	// default values are omitted from API requests. See
  6358  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6359  	// details.
  6360  	ForceSendFields []string `json:"-"`
  6361  	// NullFields is a list of field names (e.g. "CvssScore") to include in API
  6362  	// requests with the JSON null value. By default, fields with empty values are
  6363  	// omitted from API requests. See
  6364  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6365  	NullFields []string `json:"-"`
  6366  }
  6367  
  6368  func (s *Vulnerability) MarshalJSON() ([]byte, error) {
  6369  	type NoMethod Vulnerability
  6370  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6371  }
  6372  
  6373  func (s *Vulnerability) UnmarshalJSON(data []byte) error {
  6374  	type NoMethod Vulnerability
  6375  	var s1 struct {
  6376  		CvssScore gensupport.JSONFloat64 `json:"cvssScore"`
  6377  		*NoMethod
  6378  	}
  6379  	s1.NoMethod = (*NoMethod)(s)
  6380  	if err := json.Unmarshal(data, &s1); err != nil {
  6381  		return err
  6382  	}
  6383  	s.CvssScore = float64(s1.CvssScore)
  6384  	return nil
  6385  }
  6386  
  6387  // VulnerabilityAssessmentNote: A single VulnerabilityAssessmentNote represents
  6388  // one particular product's vulnerability assessment for one CVE.
  6389  type VulnerabilityAssessmentNote struct {
  6390  	// Assessment: Represents a vulnerability assessment for the product.
  6391  	Assessment *Assessment `json:"assessment,omitempty"`
  6392  	// LanguageCode: Identifies the language used by this document, corresponding
  6393  	// to IETF BCP 47 / RFC 5646.
  6394  	LanguageCode string `json:"languageCode,omitempty"`
  6395  	// LongDescription: A detailed description of this Vex.
  6396  	LongDescription string `json:"longDescription,omitempty"`
  6397  	// Product: The product affected by this vex.
  6398  	Product *Product `json:"product,omitempty"`
  6399  	// Publisher: Publisher details of this Note.
  6400  	Publisher *Publisher `json:"publisher,omitempty"`
  6401  	// ShortDescription: A one sentence description of this Vex.
  6402  	ShortDescription string `json:"shortDescription,omitempty"`
  6403  	// Title: The title of the note. E.g. `Vex-Debian-11.4`
  6404  	Title string `json:"title,omitempty"`
  6405  	// ForceSendFields is a list of field names (e.g. "Assessment") to
  6406  	// unconditionally include in API requests. By default, fields with empty or
  6407  	// default values are omitted from API requests. See
  6408  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6409  	// details.
  6410  	ForceSendFields []string `json:"-"`
  6411  	// NullFields is a list of field names (e.g. "Assessment") to include in API
  6412  	// requests with the JSON null value. By default, fields with empty values are
  6413  	// omitted from API requests. See
  6414  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6415  	NullFields []string `json:"-"`
  6416  }
  6417  
  6418  func (s *VulnerabilityAssessmentNote) MarshalJSON() ([]byte, error) {
  6419  	type NoMethod VulnerabilityAssessmentNote
  6420  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6421  }
  6422  
  6423  // VulnerabilityLocation: The location of the vulnerability.
  6424  type VulnerabilityLocation struct {
  6425  	// CpeUri: Required. The CPE URI in cpe format
  6426  	// (https://cpe.mitre.org/specification/) format. Examples include distro or
  6427  	// storage location for vulnerable jar.
  6428  	CpeUri string `json:"cpeUri,omitempty"`
  6429  	// Package: Required. The package being described.
  6430  	Package string `json:"package,omitempty"`
  6431  	// Version: Required. The version of the package being described.
  6432  	Version *Version `json:"version,omitempty"`
  6433  	// ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally
  6434  	// include in API requests. By default, fields with empty or default values are
  6435  	// omitted from API requests. See
  6436  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6437  	// details.
  6438  	ForceSendFields []string `json:"-"`
  6439  	// NullFields is a list of field names (e.g. "CpeUri") to include in API
  6440  	// requests with the JSON null value. By default, fields with empty values are
  6441  	// omitted from API requests. See
  6442  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6443  	NullFields []string `json:"-"`
  6444  }
  6445  
  6446  func (s *VulnerabilityLocation) MarshalJSON() ([]byte, error) {
  6447  	type NoMethod VulnerabilityLocation
  6448  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6449  }
  6450  
  6451  // VulnerabilityOccurrencesSummary: A summary of how many vulnerability
  6452  // occurrences there are per resource and severity type.
  6453  type VulnerabilityOccurrencesSummary struct {
  6454  	// Counts: A listing by resource of the number of fixable and total
  6455  	// vulnerabilities.
  6456  	Counts []*FixableTotalByDigest `json:"counts,omitempty"`
  6457  
  6458  	// ServerResponse contains the HTTP response code and headers from the server.
  6459  	googleapi.ServerResponse `json:"-"`
  6460  	// ForceSendFields is a list of field names (e.g. "Counts") to unconditionally
  6461  	// include in API requests. By default, fields with empty or default values are
  6462  	// omitted from API requests. See
  6463  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6464  	// details.
  6465  	ForceSendFields []string `json:"-"`
  6466  	// NullFields is a list of field names (e.g. "Counts") to include in API
  6467  	// requests with the JSON null value. By default, fields with empty values are
  6468  	// omitted from API requests. See
  6469  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6470  	NullFields []string `json:"-"`
  6471  }
  6472  
  6473  func (s *VulnerabilityOccurrencesSummary) MarshalJSON() ([]byte, error) {
  6474  	type NoMethod VulnerabilityOccurrencesSummary
  6475  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6476  }
  6477  
  6478  type WindowsDetail struct {
  6479  	// CpeUri: Required. The CPE URI in cpe format
  6480  	// (https://cpe.mitre.org/specification/) in which the vulnerability manifests.
  6481  	// Examples include distro or storage location for vulnerable jar.
  6482  	CpeUri string `json:"cpeUri,omitempty"`
  6483  	// Description: The description of the vulnerability.
  6484  	Description string `json:"description,omitempty"`
  6485  	// FixingKbs: Required. The names of the KBs which have hotfixes to mitigate
  6486  	// this vulnerability. Note that there may be multiple hotfixes (and thus
  6487  	// multiple KBs) that mitigate a given vulnerability. Currently any listed kb's
  6488  	// presence is considered a fix.
  6489  	FixingKbs []*KnowledgeBase `json:"fixingKbs,omitempty"`
  6490  	// Name: Required. The name of the vulnerability.
  6491  	Name string `json:"name,omitempty"`
  6492  	// ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally
  6493  	// include in API requests. By default, fields with empty or default values are
  6494  	// omitted from API requests. See
  6495  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6496  	// details.
  6497  	ForceSendFields []string `json:"-"`
  6498  	// NullFields is a list of field names (e.g. "CpeUri") to include in API
  6499  	// requests with the JSON null value. By default, fields with empty values are
  6500  	// omitted from API requests. See
  6501  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6502  	NullFields []string `json:"-"`
  6503  }
  6504  
  6505  func (s *WindowsDetail) MarshalJSON() ([]byte, error) {
  6506  	type NoMethod WindowsDetail
  6507  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6508  }
  6509  
  6510  type ProjectsLocationsNotesGetCall struct {
  6511  	s            *Service
  6512  	name         string
  6513  	urlParams_   gensupport.URLParams
  6514  	ifNoneMatch_ string
  6515  	ctx_         context.Context
  6516  	header_      http.Header
  6517  }
  6518  
  6519  // Get: Gets the specified note.
  6520  //
  6521  //   - name: The name of the note in the form of
  6522  //     `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  6523  func (r *ProjectsLocationsNotesService) Get(name string) *ProjectsLocationsNotesGetCall {
  6524  	c := &ProjectsLocationsNotesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6525  	c.name = name
  6526  	return c
  6527  }
  6528  
  6529  // Fields allows partial responses to be retrieved. See
  6530  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6531  // details.
  6532  func (c *ProjectsLocationsNotesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesGetCall {
  6533  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6534  	return c
  6535  }
  6536  
  6537  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6538  // object's ETag matches the given value. This is useful for getting updates
  6539  // only after the object has changed since the last request.
  6540  func (c *ProjectsLocationsNotesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotesGetCall {
  6541  	c.ifNoneMatch_ = entityTag
  6542  	return c
  6543  }
  6544  
  6545  // Context sets the context to be used in this call's Do method.
  6546  func (c *ProjectsLocationsNotesGetCall) Context(ctx context.Context) *ProjectsLocationsNotesGetCall {
  6547  	c.ctx_ = ctx
  6548  	return c
  6549  }
  6550  
  6551  // Header returns a http.Header that can be modified by the caller to add
  6552  // headers to the request.
  6553  func (c *ProjectsLocationsNotesGetCall) Header() http.Header {
  6554  	if c.header_ == nil {
  6555  		c.header_ = make(http.Header)
  6556  	}
  6557  	return c.header_
  6558  }
  6559  
  6560  func (c *ProjectsLocationsNotesGetCall) doRequest(alt string) (*http.Response, error) {
  6561  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6562  	if c.ifNoneMatch_ != "" {
  6563  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6564  	}
  6565  	var body io.Reader = nil
  6566  	c.urlParams_.Set("alt", alt)
  6567  	c.urlParams_.Set("prettyPrint", "false")
  6568  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  6569  	urls += "?" + c.urlParams_.Encode()
  6570  	req, err := http.NewRequest("GET", urls, body)
  6571  	if err != nil {
  6572  		return nil, err
  6573  	}
  6574  	req.Header = reqHeaders
  6575  	googleapi.Expand(req.URL, map[string]string{
  6576  		"name": c.name,
  6577  	})
  6578  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6579  }
  6580  
  6581  // Do executes the "containeranalysis.projects.locations.notes.get" call.
  6582  // Any non-2xx status code is an error. Response headers are in either
  6583  // *Note.ServerResponse.Header or (if a response was returned at all) in
  6584  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6585  // whether the returned error was because http.StatusNotModified was returned.
  6586  func (c *ProjectsLocationsNotesGetCall) Do(opts ...googleapi.CallOption) (*Note, error) {
  6587  	gensupport.SetOptions(c.urlParams_, opts...)
  6588  	res, err := c.doRequest("json")
  6589  	if res != nil && res.StatusCode == http.StatusNotModified {
  6590  		if res.Body != nil {
  6591  			res.Body.Close()
  6592  		}
  6593  		return nil, gensupport.WrapError(&googleapi.Error{
  6594  			Code:   res.StatusCode,
  6595  			Header: res.Header,
  6596  		})
  6597  	}
  6598  	if err != nil {
  6599  		return nil, err
  6600  	}
  6601  	defer googleapi.CloseBody(res)
  6602  	if err := googleapi.CheckResponse(res); err != nil {
  6603  		return nil, gensupport.WrapError(err)
  6604  	}
  6605  	ret := &Note{
  6606  		ServerResponse: googleapi.ServerResponse{
  6607  			Header:         res.Header,
  6608  			HTTPStatusCode: res.StatusCode,
  6609  		},
  6610  	}
  6611  	target := &ret
  6612  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6613  		return nil, err
  6614  	}
  6615  	return ret, nil
  6616  }
  6617  
  6618  type ProjectsLocationsNotesListCall struct {
  6619  	s            *Service
  6620  	parent       string
  6621  	urlParams_   gensupport.URLParams
  6622  	ifNoneMatch_ string
  6623  	ctx_         context.Context
  6624  	header_      http.Header
  6625  }
  6626  
  6627  // List: Lists notes for the specified project.
  6628  //
  6629  //   - parent: The name of the project to list notes for in the form of
  6630  //     `projects/[PROJECT_ID]`.
  6631  func (r *ProjectsLocationsNotesService) List(parent string) *ProjectsLocationsNotesListCall {
  6632  	c := &ProjectsLocationsNotesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6633  	c.parent = parent
  6634  	return c
  6635  }
  6636  
  6637  // Filter sets the optional parameter "filter": The filter expression.
  6638  func (c *ProjectsLocationsNotesListCall) Filter(filter string) *ProjectsLocationsNotesListCall {
  6639  	c.urlParams_.Set("filter", filter)
  6640  	return c
  6641  }
  6642  
  6643  // PageSize sets the optional parameter "pageSize": Number of notes to return
  6644  // in the list. Must be positive. Max allowed page size is 1000. If not
  6645  // specified, page size defaults to 20.
  6646  func (c *ProjectsLocationsNotesListCall) PageSize(pageSize int64) *ProjectsLocationsNotesListCall {
  6647  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6648  	return c
  6649  }
  6650  
  6651  // PageToken sets the optional parameter "pageToken": Token to provide to skip
  6652  // to a particular spot in the list.
  6653  func (c *ProjectsLocationsNotesListCall) PageToken(pageToken string) *ProjectsLocationsNotesListCall {
  6654  	c.urlParams_.Set("pageToken", pageToken)
  6655  	return c
  6656  }
  6657  
  6658  // Fields allows partial responses to be retrieved. See
  6659  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6660  // details.
  6661  func (c *ProjectsLocationsNotesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesListCall {
  6662  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6663  	return c
  6664  }
  6665  
  6666  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6667  // object's ETag matches the given value. This is useful for getting updates
  6668  // only after the object has changed since the last request.
  6669  func (c *ProjectsLocationsNotesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotesListCall {
  6670  	c.ifNoneMatch_ = entityTag
  6671  	return c
  6672  }
  6673  
  6674  // Context sets the context to be used in this call's Do method.
  6675  func (c *ProjectsLocationsNotesListCall) Context(ctx context.Context) *ProjectsLocationsNotesListCall {
  6676  	c.ctx_ = ctx
  6677  	return c
  6678  }
  6679  
  6680  // Header returns a http.Header that can be modified by the caller to add
  6681  // headers to the request.
  6682  func (c *ProjectsLocationsNotesListCall) Header() http.Header {
  6683  	if c.header_ == nil {
  6684  		c.header_ = make(http.Header)
  6685  	}
  6686  	return c.header_
  6687  }
  6688  
  6689  func (c *ProjectsLocationsNotesListCall) doRequest(alt string) (*http.Response, error) {
  6690  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6691  	if c.ifNoneMatch_ != "" {
  6692  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6693  	}
  6694  	var body io.Reader = nil
  6695  	c.urlParams_.Set("alt", alt)
  6696  	c.urlParams_.Set("prettyPrint", "false")
  6697  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes")
  6698  	urls += "?" + c.urlParams_.Encode()
  6699  	req, err := http.NewRequest("GET", urls, body)
  6700  	if err != nil {
  6701  		return nil, err
  6702  	}
  6703  	req.Header = reqHeaders
  6704  	googleapi.Expand(req.URL, map[string]string{
  6705  		"parent": c.parent,
  6706  	})
  6707  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6708  }
  6709  
  6710  // Do executes the "containeranalysis.projects.locations.notes.list" call.
  6711  // Any non-2xx status code is an error. Response headers are in either
  6712  // *ListNotesResponse.ServerResponse.Header or (if a response was returned at
  6713  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6714  // check whether the returned error was because http.StatusNotModified was
  6715  // returned.
  6716  func (c *ProjectsLocationsNotesListCall) Do(opts ...googleapi.CallOption) (*ListNotesResponse, error) {
  6717  	gensupport.SetOptions(c.urlParams_, opts...)
  6718  	res, err := c.doRequest("json")
  6719  	if res != nil && res.StatusCode == http.StatusNotModified {
  6720  		if res.Body != nil {
  6721  			res.Body.Close()
  6722  		}
  6723  		return nil, gensupport.WrapError(&googleapi.Error{
  6724  			Code:   res.StatusCode,
  6725  			Header: res.Header,
  6726  		})
  6727  	}
  6728  	if err != nil {
  6729  		return nil, err
  6730  	}
  6731  	defer googleapi.CloseBody(res)
  6732  	if err := googleapi.CheckResponse(res); err != nil {
  6733  		return nil, gensupport.WrapError(err)
  6734  	}
  6735  	ret := &ListNotesResponse{
  6736  		ServerResponse: googleapi.ServerResponse{
  6737  			Header:         res.Header,
  6738  			HTTPStatusCode: res.StatusCode,
  6739  		},
  6740  	}
  6741  	target := &ret
  6742  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6743  		return nil, err
  6744  	}
  6745  	return ret, nil
  6746  }
  6747  
  6748  // Pages invokes f for each page of results.
  6749  // A non-nil error returned from f will halt the iteration.
  6750  // The provided context supersedes any context provided to the Context method.
  6751  func (c *ProjectsLocationsNotesListCall) Pages(ctx context.Context, f func(*ListNotesResponse) error) error {
  6752  	c.ctx_ = ctx
  6753  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6754  	for {
  6755  		x, err := c.Do()
  6756  		if err != nil {
  6757  			return err
  6758  		}
  6759  		if err := f(x); err != nil {
  6760  			return err
  6761  		}
  6762  		if x.NextPageToken == "" {
  6763  			return nil
  6764  		}
  6765  		c.PageToken(x.NextPageToken)
  6766  	}
  6767  }
  6768  
  6769  type ProjectsLocationsNotesOccurrencesListCall struct {
  6770  	s            *Service
  6771  	name         string
  6772  	urlParams_   gensupport.URLParams
  6773  	ifNoneMatch_ string
  6774  	ctx_         context.Context
  6775  	header_      http.Header
  6776  }
  6777  
  6778  // List: Lists occurrences referencing the specified note. Provider projects
  6779  // can use this method to get all occurrences across consumer projects
  6780  // referencing the specified note.
  6781  //
  6782  //   - name: The name of the note to list occurrences for in the form of
  6783  //     `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  6784  func (r *ProjectsLocationsNotesOccurrencesService) List(name string) *ProjectsLocationsNotesOccurrencesListCall {
  6785  	c := &ProjectsLocationsNotesOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6786  	c.name = name
  6787  	return c
  6788  }
  6789  
  6790  // Filter sets the optional parameter "filter": The filter expression.
  6791  func (c *ProjectsLocationsNotesOccurrencesListCall) Filter(filter string) *ProjectsLocationsNotesOccurrencesListCall {
  6792  	c.urlParams_.Set("filter", filter)
  6793  	return c
  6794  }
  6795  
  6796  // PageSize sets the optional parameter "pageSize": Number of occurrences to
  6797  // return in the list.
  6798  func (c *ProjectsLocationsNotesOccurrencesListCall) PageSize(pageSize int64) *ProjectsLocationsNotesOccurrencesListCall {
  6799  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6800  	return c
  6801  }
  6802  
  6803  // PageToken sets the optional parameter "pageToken": Token to provide to skip
  6804  // to a particular spot in the list.
  6805  func (c *ProjectsLocationsNotesOccurrencesListCall) PageToken(pageToken string) *ProjectsLocationsNotesOccurrencesListCall {
  6806  	c.urlParams_.Set("pageToken", pageToken)
  6807  	return c
  6808  }
  6809  
  6810  // Fields allows partial responses to be retrieved. See
  6811  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6812  // details.
  6813  func (c *ProjectsLocationsNotesOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesOccurrencesListCall {
  6814  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6815  	return c
  6816  }
  6817  
  6818  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6819  // object's ETag matches the given value. This is useful for getting updates
  6820  // only after the object has changed since the last request.
  6821  func (c *ProjectsLocationsNotesOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotesOccurrencesListCall {
  6822  	c.ifNoneMatch_ = entityTag
  6823  	return c
  6824  }
  6825  
  6826  // Context sets the context to be used in this call's Do method.
  6827  func (c *ProjectsLocationsNotesOccurrencesListCall) Context(ctx context.Context) *ProjectsLocationsNotesOccurrencesListCall {
  6828  	c.ctx_ = ctx
  6829  	return c
  6830  }
  6831  
  6832  // Header returns a http.Header that can be modified by the caller to add
  6833  // headers to the request.
  6834  func (c *ProjectsLocationsNotesOccurrencesListCall) Header() http.Header {
  6835  	if c.header_ == nil {
  6836  		c.header_ = make(http.Header)
  6837  	}
  6838  	return c.header_
  6839  }
  6840  
  6841  func (c *ProjectsLocationsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
  6842  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6843  	if c.ifNoneMatch_ != "" {
  6844  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6845  	}
  6846  	var body io.Reader = nil
  6847  	c.urlParams_.Set("alt", alt)
  6848  	c.urlParams_.Set("prettyPrint", "false")
  6849  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/occurrences")
  6850  	urls += "?" + c.urlParams_.Encode()
  6851  	req, err := http.NewRequest("GET", urls, body)
  6852  	if err != nil {
  6853  		return nil, err
  6854  	}
  6855  	req.Header = reqHeaders
  6856  	googleapi.Expand(req.URL, map[string]string{
  6857  		"name": c.name,
  6858  	})
  6859  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6860  }
  6861  
  6862  // Do executes the "containeranalysis.projects.locations.notes.occurrences.list" call.
  6863  // Any non-2xx status code is an error. Response headers are in either
  6864  // *ListNoteOccurrencesResponse.ServerResponse.Header or (if a response was
  6865  // returned at all) in error.(*googleapi.Error).Header. Use
  6866  // googleapi.IsNotModified to check whether the returned error was because
  6867  // http.StatusNotModified was returned.
  6868  func (c *ProjectsLocationsNotesOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListNoteOccurrencesResponse, error) {
  6869  	gensupport.SetOptions(c.urlParams_, opts...)
  6870  	res, err := c.doRequest("json")
  6871  	if res != nil && res.StatusCode == http.StatusNotModified {
  6872  		if res.Body != nil {
  6873  			res.Body.Close()
  6874  		}
  6875  		return nil, gensupport.WrapError(&googleapi.Error{
  6876  			Code:   res.StatusCode,
  6877  			Header: res.Header,
  6878  		})
  6879  	}
  6880  	if err != nil {
  6881  		return nil, err
  6882  	}
  6883  	defer googleapi.CloseBody(res)
  6884  	if err := googleapi.CheckResponse(res); err != nil {
  6885  		return nil, gensupport.WrapError(err)
  6886  	}
  6887  	ret := &ListNoteOccurrencesResponse{
  6888  		ServerResponse: googleapi.ServerResponse{
  6889  			Header:         res.Header,
  6890  			HTTPStatusCode: res.StatusCode,
  6891  		},
  6892  	}
  6893  	target := &ret
  6894  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6895  		return nil, err
  6896  	}
  6897  	return ret, nil
  6898  }
  6899  
  6900  // Pages invokes f for each page of results.
  6901  // A non-nil error returned from f will halt the iteration.
  6902  // The provided context supersedes any context provided to the Context method.
  6903  func (c *ProjectsLocationsNotesOccurrencesListCall) Pages(ctx context.Context, f func(*ListNoteOccurrencesResponse) error) error {
  6904  	c.ctx_ = ctx
  6905  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6906  	for {
  6907  		x, err := c.Do()
  6908  		if err != nil {
  6909  			return err
  6910  		}
  6911  		if err := f(x); err != nil {
  6912  			return err
  6913  		}
  6914  		if x.NextPageToken == "" {
  6915  			return nil
  6916  		}
  6917  		c.PageToken(x.NextPageToken)
  6918  	}
  6919  }
  6920  
  6921  type ProjectsLocationsOccurrencesGetCall struct {
  6922  	s            *Service
  6923  	name         string
  6924  	urlParams_   gensupport.URLParams
  6925  	ifNoneMatch_ string
  6926  	ctx_         context.Context
  6927  	header_      http.Header
  6928  }
  6929  
  6930  // Get: Gets the specified occurrence.
  6931  //
  6932  //   - name: The name of the occurrence in the form of
  6933  //     `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  6934  func (r *ProjectsLocationsOccurrencesService) Get(name string) *ProjectsLocationsOccurrencesGetCall {
  6935  	c := &ProjectsLocationsOccurrencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6936  	c.name = name
  6937  	return c
  6938  }
  6939  
  6940  // Fields allows partial responses to be retrieved. See
  6941  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6942  // details.
  6943  func (c *ProjectsLocationsOccurrencesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetCall {
  6944  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6945  	return c
  6946  }
  6947  
  6948  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6949  // object's ETag matches the given value. This is useful for getting updates
  6950  // only after the object has changed since the last request.
  6951  func (c *ProjectsLocationsOccurrencesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesGetCall {
  6952  	c.ifNoneMatch_ = entityTag
  6953  	return c
  6954  }
  6955  
  6956  // Context sets the context to be used in this call's Do method.
  6957  func (c *ProjectsLocationsOccurrencesGetCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetCall {
  6958  	c.ctx_ = ctx
  6959  	return c
  6960  }
  6961  
  6962  // Header returns a http.Header that can be modified by the caller to add
  6963  // headers to the request.
  6964  func (c *ProjectsLocationsOccurrencesGetCall) Header() http.Header {
  6965  	if c.header_ == nil {
  6966  		c.header_ = make(http.Header)
  6967  	}
  6968  	return c.header_
  6969  }
  6970  
  6971  func (c *ProjectsLocationsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) {
  6972  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6973  	if c.ifNoneMatch_ != "" {
  6974  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6975  	}
  6976  	var body io.Reader = nil
  6977  	c.urlParams_.Set("alt", alt)
  6978  	c.urlParams_.Set("prettyPrint", "false")
  6979  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  6980  	urls += "?" + c.urlParams_.Encode()
  6981  	req, err := http.NewRequest("GET", urls, body)
  6982  	if err != nil {
  6983  		return nil, err
  6984  	}
  6985  	req.Header = reqHeaders
  6986  	googleapi.Expand(req.URL, map[string]string{
  6987  		"name": c.name,
  6988  	})
  6989  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6990  }
  6991  
  6992  // Do executes the "containeranalysis.projects.locations.occurrences.get" call.
  6993  // Any non-2xx status code is an error. Response headers are in either
  6994  // *Occurrence.ServerResponse.Header or (if a response was returned at all) in
  6995  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6996  // whether the returned error was because http.StatusNotModified was returned.
  6997  func (c *ProjectsLocationsOccurrencesGetCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
  6998  	gensupport.SetOptions(c.urlParams_, opts...)
  6999  	res, err := c.doRequest("json")
  7000  	if res != nil && res.StatusCode == http.StatusNotModified {
  7001  		if res.Body != nil {
  7002  			res.Body.Close()
  7003  		}
  7004  		return nil, gensupport.WrapError(&googleapi.Error{
  7005  			Code:   res.StatusCode,
  7006  			Header: res.Header,
  7007  		})
  7008  	}
  7009  	if err != nil {
  7010  		return nil, err
  7011  	}
  7012  	defer googleapi.CloseBody(res)
  7013  	if err := googleapi.CheckResponse(res); err != nil {
  7014  		return nil, gensupport.WrapError(err)
  7015  	}
  7016  	ret := &Occurrence{
  7017  		ServerResponse: googleapi.ServerResponse{
  7018  			Header:         res.Header,
  7019  			HTTPStatusCode: res.StatusCode,
  7020  		},
  7021  	}
  7022  	target := &ret
  7023  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7024  		return nil, err
  7025  	}
  7026  	return ret, nil
  7027  }
  7028  
  7029  type ProjectsLocationsOccurrencesGetNotesCall struct {
  7030  	s            *Service
  7031  	name         string
  7032  	urlParams_   gensupport.URLParams
  7033  	ifNoneMatch_ string
  7034  	ctx_         context.Context
  7035  	header_      http.Header
  7036  }
  7037  
  7038  // GetNotes: Gets the note attached to the specified occurrence. Consumer
  7039  // projects can use this method to get a note that belongs to a provider
  7040  // project.
  7041  //
  7042  //   - name: The name of the occurrence in the form of
  7043  //     `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  7044  func (r *ProjectsLocationsOccurrencesService) GetNotes(name string) *ProjectsLocationsOccurrencesGetNotesCall {
  7045  	c := &ProjectsLocationsOccurrencesGetNotesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7046  	c.name = name
  7047  	return c
  7048  }
  7049  
  7050  // Fields allows partial responses to be retrieved. See
  7051  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7052  // details.
  7053  func (c *ProjectsLocationsOccurrencesGetNotesCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetNotesCall {
  7054  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7055  	return c
  7056  }
  7057  
  7058  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7059  // object's ETag matches the given value. This is useful for getting updates
  7060  // only after the object has changed since the last request.
  7061  func (c *ProjectsLocationsOccurrencesGetNotesCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesGetNotesCall {
  7062  	c.ifNoneMatch_ = entityTag
  7063  	return c
  7064  }
  7065  
  7066  // Context sets the context to be used in this call's Do method.
  7067  func (c *ProjectsLocationsOccurrencesGetNotesCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetNotesCall {
  7068  	c.ctx_ = ctx
  7069  	return c
  7070  }
  7071  
  7072  // Header returns a http.Header that can be modified by the caller to add
  7073  // headers to the request.
  7074  func (c *ProjectsLocationsOccurrencesGetNotesCall) Header() http.Header {
  7075  	if c.header_ == nil {
  7076  		c.header_ = make(http.Header)
  7077  	}
  7078  	return c.header_
  7079  }
  7080  
  7081  func (c *ProjectsLocationsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) {
  7082  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7083  	if c.ifNoneMatch_ != "" {
  7084  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7085  	}
  7086  	var body io.Reader = nil
  7087  	c.urlParams_.Set("alt", alt)
  7088  	c.urlParams_.Set("prettyPrint", "false")
  7089  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/notes")
  7090  	urls += "?" + c.urlParams_.Encode()
  7091  	req, err := http.NewRequest("GET", urls, body)
  7092  	if err != nil {
  7093  		return nil, err
  7094  	}
  7095  	req.Header = reqHeaders
  7096  	googleapi.Expand(req.URL, map[string]string{
  7097  		"name": c.name,
  7098  	})
  7099  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7100  }
  7101  
  7102  // Do executes the "containeranalysis.projects.locations.occurrences.getNotes" call.
  7103  // Any non-2xx status code is an error. Response headers are in either
  7104  // *Note.ServerResponse.Header or (if a response was returned at all) in
  7105  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7106  // whether the returned error was because http.StatusNotModified was returned.
  7107  func (c *ProjectsLocationsOccurrencesGetNotesCall) Do(opts ...googleapi.CallOption) (*Note, error) {
  7108  	gensupport.SetOptions(c.urlParams_, opts...)
  7109  	res, err := c.doRequest("json")
  7110  	if res != nil && res.StatusCode == http.StatusNotModified {
  7111  		if res.Body != nil {
  7112  			res.Body.Close()
  7113  		}
  7114  		return nil, gensupport.WrapError(&googleapi.Error{
  7115  			Code:   res.StatusCode,
  7116  			Header: res.Header,
  7117  		})
  7118  	}
  7119  	if err != nil {
  7120  		return nil, err
  7121  	}
  7122  	defer googleapi.CloseBody(res)
  7123  	if err := googleapi.CheckResponse(res); err != nil {
  7124  		return nil, gensupport.WrapError(err)
  7125  	}
  7126  	ret := &Note{
  7127  		ServerResponse: googleapi.ServerResponse{
  7128  			Header:         res.Header,
  7129  			HTTPStatusCode: res.StatusCode,
  7130  		},
  7131  	}
  7132  	target := &ret
  7133  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7134  		return nil, err
  7135  	}
  7136  	return ret, nil
  7137  }
  7138  
  7139  type ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall struct {
  7140  	s            *Service
  7141  	parent       string
  7142  	urlParams_   gensupport.URLParams
  7143  	ifNoneMatch_ string
  7144  	ctx_         context.Context
  7145  	header_      http.Header
  7146  }
  7147  
  7148  // GetVulnerabilitySummary: Gets a summary of the number and severity of
  7149  // occurrences.
  7150  //
  7151  //   - parent: The name of the project to get a vulnerability summary for in the
  7152  //     form of `projects/[PROJECT_ID]`.
  7153  func (r *ProjectsLocationsOccurrencesService) GetVulnerabilitySummary(parent string) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
  7154  	c := &ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7155  	c.parent = parent
  7156  	return c
  7157  }
  7158  
  7159  // Filter sets the optional parameter "filter": The filter expression.
  7160  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Filter(filter string) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
  7161  	c.urlParams_.Set("filter", filter)
  7162  	return c
  7163  }
  7164  
  7165  // Fields allows partial responses to be retrieved. See
  7166  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7167  // details.
  7168  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
  7169  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7170  	return c
  7171  }
  7172  
  7173  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7174  // object's ETag matches the given value. This is useful for getting updates
  7175  // only after the object has changed since the last request.
  7176  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
  7177  	c.ifNoneMatch_ = entityTag
  7178  	return c
  7179  }
  7180  
  7181  // Context sets the context to be used in this call's Do method.
  7182  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
  7183  	c.ctx_ = ctx
  7184  	return c
  7185  }
  7186  
  7187  // Header returns a http.Header that can be modified by the caller to add
  7188  // headers to the request.
  7189  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Header() http.Header {
  7190  	if c.header_ == nil {
  7191  		c.header_ = make(http.Header)
  7192  	}
  7193  	return c.header_
  7194  }
  7195  
  7196  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) {
  7197  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7198  	if c.ifNoneMatch_ != "" {
  7199  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7200  	}
  7201  	var body io.Reader = nil
  7202  	c.urlParams_.Set("alt", alt)
  7203  	c.urlParams_.Set("prettyPrint", "false")
  7204  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:vulnerabilitySummary")
  7205  	urls += "?" + c.urlParams_.Encode()
  7206  	req, err := http.NewRequest("GET", urls, body)
  7207  	if err != nil {
  7208  		return nil, err
  7209  	}
  7210  	req.Header = reqHeaders
  7211  	googleapi.Expand(req.URL, map[string]string{
  7212  		"parent": c.parent,
  7213  	})
  7214  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7215  }
  7216  
  7217  // Do executes the "containeranalysis.projects.locations.occurrences.getVulnerabilitySummary" call.
  7218  // Any non-2xx status code is an error. Response headers are in either
  7219  // *VulnerabilityOccurrencesSummary.ServerResponse.Header or (if a response was
  7220  // returned at all) in error.(*googleapi.Error).Header. Use
  7221  // googleapi.IsNotModified to check whether the returned error was because
  7222  // http.StatusNotModified was returned.
  7223  func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Do(opts ...googleapi.CallOption) (*VulnerabilityOccurrencesSummary, error) {
  7224  	gensupport.SetOptions(c.urlParams_, opts...)
  7225  	res, err := c.doRequest("json")
  7226  	if res != nil && res.StatusCode == http.StatusNotModified {
  7227  		if res.Body != nil {
  7228  			res.Body.Close()
  7229  		}
  7230  		return nil, gensupport.WrapError(&googleapi.Error{
  7231  			Code:   res.StatusCode,
  7232  			Header: res.Header,
  7233  		})
  7234  	}
  7235  	if err != nil {
  7236  		return nil, err
  7237  	}
  7238  	defer googleapi.CloseBody(res)
  7239  	if err := googleapi.CheckResponse(res); err != nil {
  7240  		return nil, gensupport.WrapError(err)
  7241  	}
  7242  	ret := &VulnerabilityOccurrencesSummary{
  7243  		ServerResponse: googleapi.ServerResponse{
  7244  			Header:         res.Header,
  7245  			HTTPStatusCode: res.StatusCode,
  7246  		},
  7247  	}
  7248  	target := &ret
  7249  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7250  		return nil, err
  7251  	}
  7252  	return ret, nil
  7253  }
  7254  
  7255  type ProjectsLocationsOccurrencesListCall struct {
  7256  	s            *Service
  7257  	parent       string
  7258  	urlParams_   gensupport.URLParams
  7259  	ifNoneMatch_ string
  7260  	ctx_         context.Context
  7261  	header_      http.Header
  7262  }
  7263  
  7264  // List: Lists occurrences for the specified project.
  7265  //
  7266  //   - parent: The name of the project to list occurrences for in the form of
  7267  //     `projects/[PROJECT_ID]`.
  7268  func (r *ProjectsLocationsOccurrencesService) List(parent string) *ProjectsLocationsOccurrencesListCall {
  7269  	c := &ProjectsLocationsOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7270  	c.parent = parent
  7271  	return c
  7272  }
  7273  
  7274  // Filter sets the optional parameter "filter": The filter expression.
  7275  func (c *ProjectsLocationsOccurrencesListCall) Filter(filter string) *ProjectsLocationsOccurrencesListCall {
  7276  	c.urlParams_.Set("filter", filter)
  7277  	return c
  7278  }
  7279  
  7280  // PageSize sets the optional parameter "pageSize": Number of occurrences to
  7281  // return in the list. Must be positive. Max allowed page size is 1000. If not
  7282  // specified, page size defaults to 20.
  7283  func (c *ProjectsLocationsOccurrencesListCall) PageSize(pageSize int64) *ProjectsLocationsOccurrencesListCall {
  7284  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7285  	return c
  7286  }
  7287  
  7288  // PageToken sets the optional parameter "pageToken": Token to provide to skip
  7289  // to a particular spot in the list.
  7290  func (c *ProjectsLocationsOccurrencesListCall) PageToken(pageToken string) *ProjectsLocationsOccurrencesListCall {
  7291  	c.urlParams_.Set("pageToken", pageToken)
  7292  	return c
  7293  }
  7294  
  7295  // Fields allows partial responses to be retrieved. See
  7296  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7297  // details.
  7298  func (c *ProjectsLocationsOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesListCall {
  7299  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7300  	return c
  7301  }
  7302  
  7303  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7304  // object's ETag matches the given value. This is useful for getting updates
  7305  // only after the object has changed since the last request.
  7306  func (c *ProjectsLocationsOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesListCall {
  7307  	c.ifNoneMatch_ = entityTag
  7308  	return c
  7309  }
  7310  
  7311  // Context sets the context to be used in this call's Do method.
  7312  func (c *ProjectsLocationsOccurrencesListCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesListCall {
  7313  	c.ctx_ = ctx
  7314  	return c
  7315  }
  7316  
  7317  // Header returns a http.Header that can be modified by the caller to add
  7318  // headers to the request.
  7319  func (c *ProjectsLocationsOccurrencesListCall) Header() http.Header {
  7320  	if c.header_ == nil {
  7321  		c.header_ = make(http.Header)
  7322  	}
  7323  	return c.header_
  7324  }
  7325  
  7326  func (c *ProjectsLocationsOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
  7327  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7328  	if c.ifNoneMatch_ != "" {
  7329  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7330  	}
  7331  	var body io.Reader = nil
  7332  	c.urlParams_.Set("alt", alt)
  7333  	c.urlParams_.Set("prettyPrint", "false")
  7334  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences")
  7335  	urls += "?" + c.urlParams_.Encode()
  7336  	req, err := http.NewRequest("GET", urls, body)
  7337  	if err != nil {
  7338  		return nil, err
  7339  	}
  7340  	req.Header = reqHeaders
  7341  	googleapi.Expand(req.URL, map[string]string{
  7342  		"parent": c.parent,
  7343  	})
  7344  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7345  }
  7346  
  7347  // Do executes the "containeranalysis.projects.locations.occurrences.list" call.
  7348  // Any non-2xx status code is an error. Response headers are in either
  7349  // *ListOccurrencesResponse.ServerResponse.Header or (if a response was
  7350  // returned at all) in error.(*googleapi.Error).Header. Use
  7351  // googleapi.IsNotModified to check whether the returned error was because
  7352  // http.StatusNotModified was returned.
  7353  func (c *ProjectsLocationsOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListOccurrencesResponse, error) {
  7354  	gensupport.SetOptions(c.urlParams_, opts...)
  7355  	res, err := c.doRequest("json")
  7356  	if res != nil && res.StatusCode == http.StatusNotModified {
  7357  		if res.Body != nil {
  7358  			res.Body.Close()
  7359  		}
  7360  		return nil, gensupport.WrapError(&googleapi.Error{
  7361  			Code:   res.StatusCode,
  7362  			Header: res.Header,
  7363  		})
  7364  	}
  7365  	if err != nil {
  7366  		return nil, err
  7367  	}
  7368  	defer googleapi.CloseBody(res)
  7369  	if err := googleapi.CheckResponse(res); err != nil {
  7370  		return nil, gensupport.WrapError(err)
  7371  	}
  7372  	ret := &ListOccurrencesResponse{
  7373  		ServerResponse: googleapi.ServerResponse{
  7374  			Header:         res.Header,
  7375  			HTTPStatusCode: res.StatusCode,
  7376  		},
  7377  	}
  7378  	target := &ret
  7379  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7380  		return nil, err
  7381  	}
  7382  	return ret, nil
  7383  }
  7384  
  7385  // Pages invokes f for each page of results.
  7386  // A non-nil error returned from f will halt the iteration.
  7387  // The provided context supersedes any context provided to the Context method.
  7388  func (c *ProjectsLocationsOccurrencesListCall) Pages(ctx context.Context, f func(*ListOccurrencesResponse) error) error {
  7389  	c.ctx_ = ctx
  7390  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7391  	for {
  7392  		x, err := c.Do()
  7393  		if err != nil {
  7394  			return err
  7395  		}
  7396  		if err := f(x); err != nil {
  7397  			return err
  7398  		}
  7399  		if x.NextPageToken == "" {
  7400  			return nil
  7401  		}
  7402  		c.PageToken(x.NextPageToken)
  7403  	}
  7404  }
  7405  
  7406  type ProjectsLocationsResourcesExportSBOMCall struct {
  7407  	s                 *Service
  7408  	name              string
  7409  	exportsbomrequest *ExportSBOMRequest
  7410  	urlParams_        gensupport.URLParams
  7411  	ctx_              context.Context
  7412  	header_           http.Header
  7413  }
  7414  
  7415  // ExportSBOM: Generates an SBOM and other dependency information for the given
  7416  // resource.
  7417  //
  7418  //   - name: The name of the resource in the form of
  7419  //     `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
  7420  func (r *ProjectsLocationsResourcesService) ExportSBOM(name string, exportsbomrequest *ExportSBOMRequest) *ProjectsLocationsResourcesExportSBOMCall {
  7421  	c := &ProjectsLocationsResourcesExportSBOMCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7422  	c.name = name
  7423  	c.exportsbomrequest = exportsbomrequest
  7424  	return c
  7425  }
  7426  
  7427  // Fields allows partial responses to be retrieved. See
  7428  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7429  // details.
  7430  func (c *ProjectsLocationsResourcesExportSBOMCall) Fields(s ...googleapi.Field) *ProjectsLocationsResourcesExportSBOMCall {
  7431  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7432  	return c
  7433  }
  7434  
  7435  // Context sets the context to be used in this call's Do method.
  7436  func (c *ProjectsLocationsResourcesExportSBOMCall) Context(ctx context.Context) *ProjectsLocationsResourcesExportSBOMCall {
  7437  	c.ctx_ = ctx
  7438  	return c
  7439  }
  7440  
  7441  // Header returns a http.Header that can be modified by the caller to add
  7442  // headers to the request.
  7443  func (c *ProjectsLocationsResourcesExportSBOMCall) Header() http.Header {
  7444  	if c.header_ == nil {
  7445  		c.header_ = make(http.Header)
  7446  	}
  7447  	return c.header_
  7448  }
  7449  
  7450  func (c *ProjectsLocationsResourcesExportSBOMCall) doRequest(alt string) (*http.Response, error) {
  7451  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7452  	var body io.Reader = nil
  7453  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportsbomrequest)
  7454  	if err != nil {
  7455  		return nil, err
  7456  	}
  7457  	c.urlParams_.Set("alt", alt)
  7458  	c.urlParams_.Set("prettyPrint", "false")
  7459  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:exportSBOM")
  7460  	urls += "?" + c.urlParams_.Encode()
  7461  	req, err := http.NewRequest("POST", urls, body)
  7462  	if err != nil {
  7463  		return nil, err
  7464  	}
  7465  	req.Header = reqHeaders
  7466  	googleapi.Expand(req.URL, map[string]string{
  7467  		"name": c.name,
  7468  	})
  7469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7470  }
  7471  
  7472  // Do executes the "containeranalysis.projects.locations.resources.exportSBOM" call.
  7473  // Any non-2xx status code is an error. Response headers are in either
  7474  // *ExportSBOMResponse.ServerResponse.Header or (if a response was returned at
  7475  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7476  // check whether the returned error was because http.StatusNotModified was
  7477  // returned.
  7478  func (c *ProjectsLocationsResourcesExportSBOMCall) Do(opts ...googleapi.CallOption) (*ExportSBOMResponse, error) {
  7479  	gensupport.SetOptions(c.urlParams_, opts...)
  7480  	res, err := c.doRequest("json")
  7481  	if res != nil && res.StatusCode == http.StatusNotModified {
  7482  		if res.Body != nil {
  7483  			res.Body.Close()
  7484  		}
  7485  		return nil, gensupport.WrapError(&googleapi.Error{
  7486  			Code:   res.StatusCode,
  7487  			Header: res.Header,
  7488  		})
  7489  	}
  7490  	if err != nil {
  7491  		return nil, err
  7492  	}
  7493  	defer googleapi.CloseBody(res)
  7494  	if err := googleapi.CheckResponse(res); err != nil {
  7495  		return nil, gensupport.WrapError(err)
  7496  	}
  7497  	ret := &ExportSBOMResponse{
  7498  		ServerResponse: googleapi.ServerResponse{
  7499  			Header:         res.Header,
  7500  			HTTPStatusCode: res.StatusCode,
  7501  		},
  7502  	}
  7503  	target := &ret
  7504  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7505  		return nil, err
  7506  	}
  7507  	return ret, nil
  7508  }
  7509  
  7510  type ProjectsLocationsResourcesGeneratePackagesSummaryCall struct {
  7511  	s                              *Service
  7512  	name                           string
  7513  	generatepackagessummaryrequest *GeneratePackagesSummaryRequest
  7514  	urlParams_                     gensupport.URLParams
  7515  	ctx_                           context.Context
  7516  	header_                        http.Header
  7517  }
  7518  
  7519  // GeneratePackagesSummary: Gets a summary of the packages within a given
  7520  // resource.
  7521  //
  7522  //   - name: The name of the resource to get a packages summary for in the form
  7523  //     of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
  7524  func (r *ProjectsLocationsResourcesService) GeneratePackagesSummary(name string, generatepackagessummaryrequest *GeneratePackagesSummaryRequest) *ProjectsLocationsResourcesGeneratePackagesSummaryCall {
  7525  	c := &ProjectsLocationsResourcesGeneratePackagesSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7526  	c.name = name
  7527  	c.generatepackagessummaryrequest = generatepackagessummaryrequest
  7528  	return c
  7529  }
  7530  
  7531  // Fields allows partial responses to be retrieved. See
  7532  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7533  // details.
  7534  func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Fields(s ...googleapi.Field) *ProjectsLocationsResourcesGeneratePackagesSummaryCall {
  7535  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7536  	return c
  7537  }
  7538  
  7539  // Context sets the context to be used in this call's Do method.
  7540  func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Context(ctx context.Context) *ProjectsLocationsResourcesGeneratePackagesSummaryCall {
  7541  	c.ctx_ = ctx
  7542  	return c
  7543  }
  7544  
  7545  // Header returns a http.Header that can be modified by the caller to add
  7546  // headers to the request.
  7547  func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Header() http.Header {
  7548  	if c.header_ == nil {
  7549  		c.header_ = make(http.Header)
  7550  	}
  7551  	return c.header_
  7552  }
  7553  
  7554  func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) doRequest(alt string) (*http.Response, error) {
  7555  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7556  	var body io.Reader = nil
  7557  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatepackagessummaryrequest)
  7558  	if err != nil {
  7559  		return nil, err
  7560  	}
  7561  	c.urlParams_.Set("alt", alt)
  7562  	c.urlParams_.Set("prettyPrint", "false")
  7563  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:generatePackagesSummary")
  7564  	urls += "?" + c.urlParams_.Encode()
  7565  	req, err := http.NewRequest("POST", urls, body)
  7566  	if err != nil {
  7567  		return nil, err
  7568  	}
  7569  	req.Header = reqHeaders
  7570  	googleapi.Expand(req.URL, map[string]string{
  7571  		"name": c.name,
  7572  	})
  7573  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7574  }
  7575  
  7576  // Do executes the "containeranalysis.projects.locations.resources.generatePackagesSummary" call.
  7577  // Any non-2xx status code is an error. Response headers are in either
  7578  // *PackagesSummaryResponse.ServerResponse.Header or (if a response was
  7579  // returned at all) in error.(*googleapi.Error).Header. Use
  7580  // googleapi.IsNotModified to check whether the returned error was because
  7581  // http.StatusNotModified was returned.
  7582  func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Do(opts ...googleapi.CallOption) (*PackagesSummaryResponse, error) {
  7583  	gensupport.SetOptions(c.urlParams_, opts...)
  7584  	res, err := c.doRequest("json")
  7585  	if res != nil && res.StatusCode == http.StatusNotModified {
  7586  		if res.Body != nil {
  7587  			res.Body.Close()
  7588  		}
  7589  		return nil, gensupport.WrapError(&googleapi.Error{
  7590  			Code:   res.StatusCode,
  7591  			Header: res.Header,
  7592  		})
  7593  	}
  7594  	if err != nil {
  7595  		return nil, err
  7596  	}
  7597  	defer googleapi.CloseBody(res)
  7598  	if err := googleapi.CheckResponse(res); err != nil {
  7599  		return nil, gensupport.WrapError(err)
  7600  	}
  7601  	ret := &PackagesSummaryResponse{
  7602  		ServerResponse: googleapi.ServerResponse{
  7603  			Header:         res.Header,
  7604  			HTTPStatusCode: res.StatusCode,
  7605  		},
  7606  	}
  7607  	target := &ret
  7608  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7609  		return nil, err
  7610  	}
  7611  	return ret, nil
  7612  }
  7613  
  7614  type ProjectsNotesBatchCreateCall struct {
  7615  	s                       *Service
  7616  	parent                  string
  7617  	batchcreatenotesrequest *BatchCreateNotesRequest
  7618  	urlParams_              gensupport.URLParams
  7619  	ctx_                    context.Context
  7620  	header_                 http.Header
  7621  }
  7622  
  7623  // BatchCreate: Creates new notes in batch.
  7624  //
  7625  //   - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
  7626  //     under which the notes are to be created.
  7627  func (r *ProjectsNotesService) BatchCreate(parent string, batchcreatenotesrequest *BatchCreateNotesRequest) *ProjectsNotesBatchCreateCall {
  7628  	c := &ProjectsNotesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7629  	c.parent = parent
  7630  	c.batchcreatenotesrequest = batchcreatenotesrequest
  7631  	return c
  7632  }
  7633  
  7634  // Fields allows partial responses to be retrieved. See
  7635  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7636  // details.
  7637  func (c *ProjectsNotesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsNotesBatchCreateCall {
  7638  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7639  	return c
  7640  }
  7641  
  7642  // Context sets the context to be used in this call's Do method.
  7643  func (c *ProjectsNotesBatchCreateCall) Context(ctx context.Context) *ProjectsNotesBatchCreateCall {
  7644  	c.ctx_ = ctx
  7645  	return c
  7646  }
  7647  
  7648  // Header returns a http.Header that can be modified by the caller to add
  7649  // headers to the request.
  7650  func (c *ProjectsNotesBatchCreateCall) Header() http.Header {
  7651  	if c.header_ == nil {
  7652  		c.header_ = make(http.Header)
  7653  	}
  7654  	return c.header_
  7655  }
  7656  
  7657  func (c *ProjectsNotesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
  7658  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7659  	var body io.Reader = nil
  7660  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreatenotesrequest)
  7661  	if err != nil {
  7662  		return nil, err
  7663  	}
  7664  	c.urlParams_.Set("alt", alt)
  7665  	c.urlParams_.Set("prettyPrint", "false")
  7666  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes:batchCreate")
  7667  	urls += "?" + c.urlParams_.Encode()
  7668  	req, err := http.NewRequest("POST", urls, body)
  7669  	if err != nil {
  7670  		return nil, err
  7671  	}
  7672  	req.Header = reqHeaders
  7673  	googleapi.Expand(req.URL, map[string]string{
  7674  		"parent": c.parent,
  7675  	})
  7676  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7677  }
  7678  
  7679  // Do executes the "containeranalysis.projects.notes.batchCreate" call.
  7680  // Any non-2xx status code is an error. Response headers are in either
  7681  // *BatchCreateNotesResponse.ServerResponse.Header or (if a response was
  7682  // returned at all) in error.(*googleapi.Error).Header. Use
  7683  // googleapi.IsNotModified to check whether the returned error was because
  7684  // http.StatusNotModified was returned.
  7685  func (c *ProjectsNotesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreateNotesResponse, error) {
  7686  	gensupport.SetOptions(c.urlParams_, opts...)
  7687  	res, err := c.doRequest("json")
  7688  	if res != nil && res.StatusCode == http.StatusNotModified {
  7689  		if res.Body != nil {
  7690  			res.Body.Close()
  7691  		}
  7692  		return nil, gensupport.WrapError(&googleapi.Error{
  7693  			Code:   res.StatusCode,
  7694  			Header: res.Header,
  7695  		})
  7696  	}
  7697  	if err != nil {
  7698  		return nil, err
  7699  	}
  7700  	defer googleapi.CloseBody(res)
  7701  	if err := googleapi.CheckResponse(res); err != nil {
  7702  		return nil, gensupport.WrapError(err)
  7703  	}
  7704  	ret := &BatchCreateNotesResponse{
  7705  		ServerResponse: googleapi.ServerResponse{
  7706  			Header:         res.Header,
  7707  			HTTPStatusCode: res.StatusCode,
  7708  		},
  7709  	}
  7710  	target := &ret
  7711  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7712  		return nil, err
  7713  	}
  7714  	return ret, nil
  7715  }
  7716  
  7717  type ProjectsNotesCreateCall struct {
  7718  	s          *Service
  7719  	parent     string
  7720  	note       *Note
  7721  	urlParams_ gensupport.URLParams
  7722  	ctx_       context.Context
  7723  	header_    http.Header
  7724  }
  7725  
  7726  // Create: Creates a new note.
  7727  //
  7728  //   - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
  7729  //     under which the note is to be created.
  7730  func (r *ProjectsNotesService) Create(parent string, note *Note) *ProjectsNotesCreateCall {
  7731  	c := &ProjectsNotesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7732  	c.parent = parent
  7733  	c.note = note
  7734  	return c
  7735  }
  7736  
  7737  // NoteId sets the optional parameter "noteId": Required. The ID to use for
  7738  // this note.
  7739  func (c *ProjectsNotesCreateCall) NoteId(noteId string) *ProjectsNotesCreateCall {
  7740  	c.urlParams_.Set("noteId", noteId)
  7741  	return c
  7742  }
  7743  
  7744  // Fields allows partial responses to be retrieved. See
  7745  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7746  // details.
  7747  func (c *ProjectsNotesCreateCall) Fields(s ...googleapi.Field) *ProjectsNotesCreateCall {
  7748  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7749  	return c
  7750  }
  7751  
  7752  // Context sets the context to be used in this call's Do method.
  7753  func (c *ProjectsNotesCreateCall) Context(ctx context.Context) *ProjectsNotesCreateCall {
  7754  	c.ctx_ = ctx
  7755  	return c
  7756  }
  7757  
  7758  // Header returns a http.Header that can be modified by the caller to add
  7759  // headers to the request.
  7760  func (c *ProjectsNotesCreateCall) Header() http.Header {
  7761  	if c.header_ == nil {
  7762  		c.header_ = make(http.Header)
  7763  	}
  7764  	return c.header_
  7765  }
  7766  
  7767  func (c *ProjectsNotesCreateCall) doRequest(alt string) (*http.Response, error) {
  7768  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7769  	var body io.Reader = nil
  7770  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.note)
  7771  	if err != nil {
  7772  		return nil, err
  7773  	}
  7774  	c.urlParams_.Set("alt", alt)
  7775  	c.urlParams_.Set("prettyPrint", "false")
  7776  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes")
  7777  	urls += "?" + c.urlParams_.Encode()
  7778  	req, err := http.NewRequest("POST", urls, body)
  7779  	if err != nil {
  7780  		return nil, err
  7781  	}
  7782  	req.Header = reqHeaders
  7783  	googleapi.Expand(req.URL, map[string]string{
  7784  		"parent": c.parent,
  7785  	})
  7786  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7787  }
  7788  
  7789  // Do executes the "containeranalysis.projects.notes.create" call.
  7790  // Any non-2xx status code is an error. Response headers are in either
  7791  // *Note.ServerResponse.Header or (if a response was returned at all) in
  7792  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7793  // whether the returned error was because http.StatusNotModified was returned.
  7794  func (c *ProjectsNotesCreateCall) Do(opts ...googleapi.CallOption) (*Note, error) {
  7795  	gensupport.SetOptions(c.urlParams_, opts...)
  7796  	res, err := c.doRequest("json")
  7797  	if res != nil && res.StatusCode == http.StatusNotModified {
  7798  		if res.Body != nil {
  7799  			res.Body.Close()
  7800  		}
  7801  		return nil, gensupport.WrapError(&googleapi.Error{
  7802  			Code:   res.StatusCode,
  7803  			Header: res.Header,
  7804  		})
  7805  	}
  7806  	if err != nil {
  7807  		return nil, err
  7808  	}
  7809  	defer googleapi.CloseBody(res)
  7810  	if err := googleapi.CheckResponse(res); err != nil {
  7811  		return nil, gensupport.WrapError(err)
  7812  	}
  7813  	ret := &Note{
  7814  		ServerResponse: googleapi.ServerResponse{
  7815  			Header:         res.Header,
  7816  			HTTPStatusCode: res.StatusCode,
  7817  		},
  7818  	}
  7819  	target := &ret
  7820  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7821  		return nil, err
  7822  	}
  7823  	return ret, nil
  7824  }
  7825  
  7826  type ProjectsNotesDeleteCall struct {
  7827  	s          *Service
  7828  	name       string
  7829  	urlParams_ gensupport.URLParams
  7830  	ctx_       context.Context
  7831  	header_    http.Header
  7832  }
  7833  
  7834  // Delete: Deletes the specified note.
  7835  //
  7836  //   - name: The name of the note in the form of
  7837  //     `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  7838  func (r *ProjectsNotesService) Delete(name string) *ProjectsNotesDeleteCall {
  7839  	c := &ProjectsNotesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7840  	c.name = name
  7841  	return c
  7842  }
  7843  
  7844  // Fields allows partial responses to be retrieved. See
  7845  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7846  // details.
  7847  func (c *ProjectsNotesDeleteCall) Fields(s ...googleapi.Field) *ProjectsNotesDeleteCall {
  7848  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7849  	return c
  7850  }
  7851  
  7852  // Context sets the context to be used in this call's Do method.
  7853  func (c *ProjectsNotesDeleteCall) Context(ctx context.Context) *ProjectsNotesDeleteCall {
  7854  	c.ctx_ = ctx
  7855  	return c
  7856  }
  7857  
  7858  // Header returns a http.Header that can be modified by the caller to add
  7859  // headers to the request.
  7860  func (c *ProjectsNotesDeleteCall) Header() http.Header {
  7861  	if c.header_ == nil {
  7862  		c.header_ = make(http.Header)
  7863  	}
  7864  	return c.header_
  7865  }
  7866  
  7867  func (c *ProjectsNotesDeleteCall) doRequest(alt string) (*http.Response, error) {
  7868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7869  	var body io.Reader = nil
  7870  	c.urlParams_.Set("alt", alt)
  7871  	c.urlParams_.Set("prettyPrint", "false")
  7872  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  7873  	urls += "?" + c.urlParams_.Encode()
  7874  	req, err := http.NewRequest("DELETE", urls, body)
  7875  	if err != nil {
  7876  		return nil, err
  7877  	}
  7878  	req.Header = reqHeaders
  7879  	googleapi.Expand(req.URL, map[string]string{
  7880  		"name": c.name,
  7881  	})
  7882  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7883  }
  7884  
  7885  // Do executes the "containeranalysis.projects.notes.delete" call.
  7886  // Any non-2xx status code is an error. Response headers are in either
  7887  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7888  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7889  // whether the returned error was because http.StatusNotModified was returned.
  7890  func (c *ProjectsNotesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7891  	gensupport.SetOptions(c.urlParams_, opts...)
  7892  	res, err := c.doRequest("json")
  7893  	if res != nil && res.StatusCode == http.StatusNotModified {
  7894  		if res.Body != nil {
  7895  			res.Body.Close()
  7896  		}
  7897  		return nil, gensupport.WrapError(&googleapi.Error{
  7898  			Code:   res.StatusCode,
  7899  			Header: res.Header,
  7900  		})
  7901  	}
  7902  	if err != nil {
  7903  		return nil, err
  7904  	}
  7905  	defer googleapi.CloseBody(res)
  7906  	if err := googleapi.CheckResponse(res); err != nil {
  7907  		return nil, gensupport.WrapError(err)
  7908  	}
  7909  	ret := &Empty{
  7910  		ServerResponse: googleapi.ServerResponse{
  7911  			Header:         res.Header,
  7912  			HTTPStatusCode: res.StatusCode,
  7913  		},
  7914  	}
  7915  	target := &ret
  7916  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7917  		return nil, err
  7918  	}
  7919  	return ret, nil
  7920  }
  7921  
  7922  type ProjectsNotesGetCall struct {
  7923  	s            *Service
  7924  	name         string
  7925  	urlParams_   gensupport.URLParams
  7926  	ifNoneMatch_ string
  7927  	ctx_         context.Context
  7928  	header_      http.Header
  7929  }
  7930  
  7931  // Get: Gets the specified note.
  7932  //
  7933  //   - name: The name of the note in the form of
  7934  //     `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  7935  func (r *ProjectsNotesService) Get(name string) *ProjectsNotesGetCall {
  7936  	c := &ProjectsNotesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7937  	c.name = name
  7938  	return c
  7939  }
  7940  
  7941  // Fields allows partial responses to be retrieved. See
  7942  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7943  // details.
  7944  func (c *ProjectsNotesGetCall) Fields(s ...googleapi.Field) *ProjectsNotesGetCall {
  7945  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7946  	return c
  7947  }
  7948  
  7949  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7950  // object's ETag matches the given value. This is useful for getting updates
  7951  // only after the object has changed since the last request.
  7952  func (c *ProjectsNotesGetCall) IfNoneMatch(entityTag string) *ProjectsNotesGetCall {
  7953  	c.ifNoneMatch_ = entityTag
  7954  	return c
  7955  }
  7956  
  7957  // Context sets the context to be used in this call's Do method.
  7958  func (c *ProjectsNotesGetCall) Context(ctx context.Context) *ProjectsNotesGetCall {
  7959  	c.ctx_ = ctx
  7960  	return c
  7961  }
  7962  
  7963  // Header returns a http.Header that can be modified by the caller to add
  7964  // headers to the request.
  7965  func (c *ProjectsNotesGetCall) Header() http.Header {
  7966  	if c.header_ == nil {
  7967  		c.header_ = make(http.Header)
  7968  	}
  7969  	return c.header_
  7970  }
  7971  
  7972  func (c *ProjectsNotesGetCall) doRequest(alt string) (*http.Response, error) {
  7973  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7974  	if c.ifNoneMatch_ != "" {
  7975  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7976  	}
  7977  	var body io.Reader = nil
  7978  	c.urlParams_.Set("alt", alt)
  7979  	c.urlParams_.Set("prettyPrint", "false")
  7980  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  7981  	urls += "?" + c.urlParams_.Encode()
  7982  	req, err := http.NewRequest("GET", urls, body)
  7983  	if err != nil {
  7984  		return nil, err
  7985  	}
  7986  	req.Header = reqHeaders
  7987  	googleapi.Expand(req.URL, map[string]string{
  7988  		"name": c.name,
  7989  	})
  7990  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7991  }
  7992  
  7993  // Do executes the "containeranalysis.projects.notes.get" call.
  7994  // Any non-2xx status code is an error. Response headers are in either
  7995  // *Note.ServerResponse.Header or (if a response was returned at all) in
  7996  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7997  // whether the returned error was because http.StatusNotModified was returned.
  7998  func (c *ProjectsNotesGetCall) Do(opts ...googleapi.CallOption) (*Note, error) {
  7999  	gensupport.SetOptions(c.urlParams_, opts...)
  8000  	res, err := c.doRequest("json")
  8001  	if res != nil && res.StatusCode == http.StatusNotModified {
  8002  		if res.Body != nil {
  8003  			res.Body.Close()
  8004  		}
  8005  		return nil, gensupport.WrapError(&googleapi.Error{
  8006  			Code:   res.StatusCode,
  8007  			Header: res.Header,
  8008  		})
  8009  	}
  8010  	if err != nil {
  8011  		return nil, err
  8012  	}
  8013  	defer googleapi.CloseBody(res)
  8014  	if err := googleapi.CheckResponse(res); err != nil {
  8015  		return nil, gensupport.WrapError(err)
  8016  	}
  8017  	ret := &Note{
  8018  		ServerResponse: googleapi.ServerResponse{
  8019  			Header:         res.Header,
  8020  			HTTPStatusCode: res.StatusCode,
  8021  		},
  8022  	}
  8023  	target := &ret
  8024  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8025  		return nil, err
  8026  	}
  8027  	return ret, nil
  8028  }
  8029  
  8030  type ProjectsNotesGetIamPolicyCall struct {
  8031  	s                   *Service
  8032  	resource            string
  8033  	getiampolicyrequest *GetIamPolicyRequest
  8034  	urlParams_          gensupport.URLParams
  8035  	ctx_                context.Context
  8036  	header_             http.Header
  8037  }
  8038  
  8039  // GetIamPolicy: Gets the access control policy for a note or an occurrence
  8040  // resource. Requires `containeranalysis.notes.setIamPolicy` or
  8041  // `containeranalysis.occurrences.setIamPolicy` permission if the resource is a
  8042  // note or occurrence, respectively. The resource takes the format
  8043  // `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and
  8044  // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
  8045  //
  8046  //   - resource: REQUIRED: The resource for which the policy is being requested.
  8047  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8048  //     for the appropriate value for this field.
  8049  func (r *ProjectsNotesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsNotesGetIamPolicyCall {
  8050  	c := &ProjectsNotesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8051  	c.resource = resource
  8052  	c.getiampolicyrequest = getiampolicyrequest
  8053  	return c
  8054  }
  8055  
  8056  // Fields allows partial responses to be retrieved. See
  8057  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8058  // details.
  8059  func (c *ProjectsNotesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsNotesGetIamPolicyCall {
  8060  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8061  	return c
  8062  }
  8063  
  8064  // Context sets the context to be used in this call's Do method.
  8065  func (c *ProjectsNotesGetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesGetIamPolicyCall {
  8066  	c.ctx_ = ctx
  8067  	return c
  8068  }
  8069  
  8070  // Header returns a http.Header that can be modified by the caller to add
  8071  // headers to the request.
  8072  func (c *ProjectsNotesGetIamPolicyCall) Header() http.Header {
  8073  	if c.header_ == nil {
  8074  		c.header_ = make(http.Header)
  8075  	}
  8076  	return c.header_
  8077  }
  8078  
  8079  func (c *ProjectsNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8080  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8081  	var body io.Reader = nil
  8082  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  8083  	if err != nil {
  8084  		return nil, err
  8085  	}
  8086  	c.urlParams_.Set("alt", alt)
  8087  	c.urlParams_.Set("prettyPrint", "false")
  8088  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
  8089  	urls += "?" + c.urlParams_.Encode()
  8090  	req, err := http.NewRequest("POST", urls, body)
  8091  	if err != nil {
  8092  		return nil, err
  8093  	}
  8094  	req.Header = reqHeaders
  8095  	googleapi.Expand(req.URL, map[string]string{
  8096  		"resource": c.resource,
  8097  	})
  8098  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8099  }
  8100  
  8101  // Do executes the "containeranalysis.projects.notes.getIamPolicy" call.
  8102  // Any non-2xx status code is an error. Response headers are in either
  8103  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8104  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8105  // whether the returned error was because http.StatusNotModified was returned.
  8106  func (c *ProjectsNotesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8107  	gensupport.SetOptions(c.urlParams_, opts...)
  8108  	res, err := c.doRequest("json")
  8109  	if res != nil && res.StatusCode == http.StatusNotModified {
  8110  		if res.Body != nil {
  8111  			res.Body.Close()
  8112  		}
  8113  		return nil, gensupport.WrapError(&googleapi.Error{
  8114  			Code:   res.StatusCode,
  8115  			Header: res.Header,
  8116  		})
  8117  	}
  8118  	if err != nil {
  8119  		return nil, err
  8120  	}
  8121  	defer googleapi.CloseBody(res)
  8122  	if err := googleapi.CheckResponse(res); err != nil {
  8123  		return nil, gensupport.WrapError(err)
  8124  	}
  8125  	ret := &Policy{
  8126  		ServerResponse: googleapi.ServerResponse{
  8127  			Header:         res.Header,
  8128  			HTTPStatusCode: res.StatusCode,
  8129  		},
  8130  	}
  8131  	target := &ret
  8132  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8133  		return nil, err
  8134  	}
  8135  	return ret, nil
  8136  }
  8137  
  8138  type ProjectsNotesListCall struct {
  8139  	s            *Service
  8140  	parent       string
  8141  	urlParams_   gensupport.URLParams
  8142  	ifNoneMatch_ string
  8143  	ctx_         context.Context
  8144  	header_      http.Header
  8145  }
  8146  
  8147  // List: Lists notes for the specified project.
  8148  //
  8149  //   - parent: The name of the project to list notes for in the form of
  8150  //     `projects/[PROJECT_ID]`.
  8151  func (r *ProjectsNotesService) List(parent string) *ProjectsNotesListCall {
  8152  	c := &ProjectsNotesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8153  	c.parent = parent
  8154  	return c
  8155  }
  8156  
  8157  // Filter sets the optional parameter "filter": The filter expression.
  8158  func (c *ProjectsNotesListCall) Filter(filter string) *ProjectsNotesListCall {
  8159  	c.urlParams_.Set("filter", filter)
  8160  	return c
  8161  }
  8162  
  8163  // PageSize sets the optional parameter "pageSize": Number of notes to return
  8164  // in the list. Must be positive. Max allowed page size is 1000. If not
  8165  // specified, page size defaults to 20.
  8166  func (c *ProjectsNotesListCall) PageSize(pageSize int64) *ProjectsNotesListCall {
  8167  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8168  	return c
  8169  }
  8170  
  8171  // PageToken sets the optional parameter "pageToken": Token to provide to skip
  8172  // to a particular spot in the list.
  8173  func (c *ProjectsNotesListCall) PageToken(pageToken string) *ProjectsNotesListCall {
  8174  	c.urlParams_.Set("pageToken", pageToken)
  8175  	return c
  8176  }
  8177  
  8178  // Fields allows partial responses to be retrieved. See
  8179  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8180  // details.
  8181  func (c *ProjectsNotesListCall) Fields(s ...googleapi.Field) *ProjectsNotesListCall {
  8182  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8183  	return c
  8184  }
  8185  
  8186  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8187  // object's ETag matches the given value. This is useful for getting updates
  8188  // only after the object has changed since the last request.
  8189  func (c *ProjectsNotesListCall) IfNoneMatch(entityTag string) *ProjectsNotesListCall {
  8190  	c.ifNoneMatch_ = entityTag
  8191  	return c
  8192  }
  8193  
  8194  // Context sets the context to be used in this call's Do method.
  8195  func (c *ProjectsNotesListCall) Context(ctx context.Context) *ProjectsNotesListCall {
  8196  	c.ctx_ = ctx
  8197  	return c
  8198  }
  8199  
  8200  // Header returns a http.Header that can be modified by the caller to add
  8201  // headers to the request.
  8202  func (c *ProjectsNotesListCall) Header() http.Header {
  8203  	if c.header_ == nil {
  8204  		c.header_ = make(http.Header)
  8205  	}
  8206  	return c.header_
  8207  }
  8208  
  8209  func (c *ProjectsNotesListCall) doRequest(alt string) (*http.Response, error) {
  8210  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8211  	if c.ifNoneMatch_ != "" {
  8212  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8213  	}
  8214  	var body io.Reader = nil
  8215  	c.urlParams_.Set("alt", alt)
  8216  	c.urlParams_.Set("prettyPrint", "false")
  8217  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes")
  8218  	urls += "?" + c.urlParams_.Encode()
  8219  	req, err := http.NewRequest("GET", urls, body)
  8220  	if err != nil {
  8221  		return nil, err
  8222  	}
  8223  	req.Header = reqHeaders
  8224  	googleapi.Expand(req.URL, map[string]string{
  8225  		"parent": c.parent,
  8226  	})
  8227  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8228  }
  8229  
  8230  // Do executes the "containeranalysis.projects.notes.list" call.
  8231  // Any non-2xx status code is an error. Response headers are in either
  8232  // *ListNotesResponse.ServerResponse.Header or (if a response was returned at
  8233  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8234  // check whether the returned error was because http.StatusNotModified was
  8235  // returned.
  8236  func (c *ProjectsNotesListCall) Do(opts ...googleapi.CallOption) (*ListNotesResponse, error) {
  8237  	gensupport.SetOptions(c.urlParams_, opts...)
  8238  	res, err := c.doRequest("json")
  8239  	if res != nil && res.StatusCode == http.StatusNotModified {
  8240  		if res.Body != nil {
  8241  			res.Body.Close()
  8242  		}
  8243  		return nil, gensupport.WrapError(&googleapi.Error{
  8244  			Code:   res.StatusCode,
  8245  			Header: res.Header,
  8246  		})
  8247  	}
  8248  	if err != nil {
  8249  		return nil, err
  8250  	}
  8251  	defer googleapi.CloseBody(res)
  8252  	if err := googleapi.CheckResponse(res); err != nil {
  8253  		return nil, gensupport.WrapError(err)
  8254  	}
  8255  	ret := &ListNotesResponse{
  8256  		ServerResponse: googleapi.ServerResponse{
  8257  			Header:         res.Header,
  8258  			HTTPStatusCode: res.StatusCode,
  8259  		},
  8260  	}
  8261  	target := &ret
  8262  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8263  		return nil, err
  8264  	}
  8265  	return ret, nil
  8266  }
  8267  
  8268  // Pages invokes f for each page of results.
  8269  // A non-nil error returned from f will halt the iteration.
  8270  // The provided context supersedes any context provided to the Context method.
  8271  func (c *ProjectsNotesListCall) Pages(ctx context.Context, f func(*ListNotesResponse) error) error {
  8272  	c.ctx_ = ctx
  8273  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8274  	for {
  8275  		x, err := c.Do()
  8276  		if err != nil {
  8277  			return err
  8278  		}
  8279  		if err := f(x); err != nil {
  8280  			return err
  8281  		}
  8282  		if x.NextPageToken == "" {
  8283  			return nil
  8284  		}
  8285  		c.PageToken(x.NextPageToken)
  8286  	}
  8287  }
  8288  
  8289  type ProjectsNotesPatchCall struct {
  8290  	s          *Service
  8291  	name       string
  8292  	note       *Note
  8293  	urlParams_ gensupport.URLParams
  8294  	ctx_       context.Context
  8295  	header_    http.Header
  8296  }
  8297  
  8298  // Patch: Updates the specified note.
  8299  //
  8300  //   - name: The name of the note in the form of
  8301  //     `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  8302  func (r *ProjectsNotesService) Patch(name string, note *Note) *ProjectsNotesPatchCall {
  8303  	c := &ProjectsNotesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8304  	c.name = name
  8305  	c.note = note
  8306  	return c
  8307  }
  8308  
  8309  // UpdateMask sets the optional parameter "updateMask": The fields to update.
  8310  func (c *ProjectsNotesPatchCall) UpdateMask(updateMask string) *ProjectsNotesPatchCall {
  8311  	c.urlParams_.Set("updateMask", updateMask)
  8312  	return c
  8313  }
  8314  
  8315  // Fields allows partial responses to be retrieved. See
  8316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8317  // details.
  8318  func (c *ProjectsNotesPatchCall) Fields(s ...googleapi.Field) *ProjectsNotesPatchCall {
  8319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8320  	return c
  8321  }
  8322  
  8323  // Context sets the context to be used in this call's Do method.
  8324  func (c *ProjectsNotesPatchCall) Context(ctx context.Context) *ProjectsNotesPatchCall {
  8325  	c.ctx_ = ctx
  8326  	return c
  8327  }
  8328  
  8329  // Header returns a http.Header that can be modified by the caller to add
  8330  // headers to the request.
  8331  func (c *ProjectsNotesPatchCall) Header() http.Header {
  8332  	if c.header_ == nil {
  8333  		c.header_ = make(http.Header)
  8334  	}
  8335  	return c.header_
  8336  }
  8337  
  8338  func (c *ProjectsNotesPatchCall) doRequest(alt string) (*http.Response, error) {
  8339  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8340  	var body io.Reader = nil
  8341  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.note)
  8342  	if err != nil {
  8343  		return nil, err
  8344  	}
  8345  	c.urlParams_.Set("alt", alt)
  8346  	c.urlParams_.Set("prettyPrint", "false")
  8347  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  8348  	urls += "?" + c.urlParams_.Encode()
  8349  	req, err := http.NewRequest("PATCH", urls, body)
  8350  	if err != nil {
  8351  		return nil, err
  8352  	}
  8353  	req.Header = reqHeaders
  8354  	googleapi.Expand(req.URL, map[string]string{
  8355  		"name": c.name,
  8356  	})
  8357  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8358  }
  8359  
  8360  // Do executes the "containeranalysis.projects.notes.patch" call.
  8361  // Any non-2xx status code is an error. Response headers are in either
  8362  // *Note.ServerResponse.Header or (if a response was returned at all) in
  8363  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8364  // whether the returned error was because http.StatusNotModified was returned.
  8365  func (c *ProjectsNotesPatchCall) Do(opts ...googleapi.CallOption) (*Note, error) {
  8366  	gensupport.SetOptions(c.urlParams_, opts...)
  8367  	res, err := c.doRequest("json")
  8368  	if res != nil && res.StatusCode == http.StatusNotModified {
  8369  		if res.Body != nil {
  8370  			res.Body.Close()
  8371  		}
  8372  		return nil, gensupport.WrapError(&googleapi.Error{
  8373  			Code:   res.StatusCode,
  8374  			Header: res.Header,
  8375  		})
  8376  	}
  8377  	if err != nil {
  8378  		return nil, err
  8379  	}
  8380  	defer googleapi.CloseBody(res)
  8381  	if err := googleapi.CheckResponse(res); err != nil {
  8382  		return nil, gensupport.WrapError(err)
  8383  	}
  8384  	ret := &Note{
  8385  		ServerResponse: googleapi.ServerResponse{
  8386  			Header:         res.Header,
  8387  			HTTPStatusCode: res.StatusCode,
  8388  		},
  8389  	}
  8390  	target := &ret
  8391  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8392  		return nil, err
  8393  	}
  8394  	return ret, nil
  8395  }
  8396  
  8397  type ProjectsNotesSetIamPolicyCall struct {
  8398  	s                   *Service
  8399  	resource            string
  8400  	setiampolicyrequest *SetIamPolicyRequest
  8401  	urlParams_          gensupport.URLParams
  8402  	ctx_                context.Context
  8403  	header_             http.Header
  8404  }
  8405  
  8406  // SetIamPolicy: Sets the access control policy on the specified note or
  8407  // occurrence. Requires `containeranalysis.notes.setIamPolicy` or
  8408  // `containeranalysis.occurrences.setIamPolicy` permission if the resource is a
  8409  // note or an occurrence, respectively. The resource takes the format
  8410  // `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and
  8411  // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
  8412  //
  8413  //   - resource: REQUIRED: The resource for which the policy is being specified.
  8414  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8415  //     for the appropriate value for this field.
  8416  func (r *ProjectsNotesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsNotesSetIamPolicyCall {
  8417  	c := &ProjectsNotesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8418  	c.resource = resource
  8419  	c.setiampolicyrequest = setiampolicyrequest
  8420  	return c
  8421  }
  8422  
  8423  // Fields allows partial responses to be retrieved. See
  8424  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8425  // details.
  8426  func (c *ProjectsNotesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsNotesSetIamPolicyCall {
  8427  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8428  	return c
  8429  }
  8430  
  8431  // Context sets the context to be used in this call's Do method.
  8432  func (c *ProjectsNotesSetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesSetIamPolicyCall {
  8433  	c.ctx_ = ctx
  8434  	return c
  8435  }
  8436  
  8437  // Header returns a http.Header that can be modified by the caller to add
  8438  // headers to the request.
  8439  func (c *ProjectsNotesSetIamPolicyCall) Header() http.Header {
  8440  	if c.header_ == nil {
  8441  		c.header_ = make(http.Header)
  8442  	}
  8443  	return c.header_
  8444  }
  8445  
  8446  func (c *ProjectsNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8447  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8448  	var body io.Reader = nil
  8449  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  8450  	if err != nil {
  8451  		return nil, err
  8452  	}
  8453  	c.urlParams_.Set("alt", alt)
  8454  	c.urlParams_.Set("prettyPrint", "false")
  8455  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
  8456  	urls += "?" + c.urlParams_.Encode()
  8457  	req, err := http.NewRequest("POST", urls, body)
  8458  	if err != nil {
  8459  		return nil, err
  8460  	}
  8461  	req.Header = reqHeaders
  8462  	googleapi.Expand(req.URL, map[string]string{
  8463  		"resource": c.resource,
  8464  	})
  8465  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8466  }
  8467  
  8468  // Do executes the "containeranalysis.projects.notes.setIamPolicy" call.
  8469  // Any non-2xx status code is an error. Response headers are in either
  8470  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8471  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8472  // whether the returned error was because http.StatusNotModified was returned.
  8473  func (c *ProjectsNotesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8474  	gensupport.SetOptions(c.urlParams_, opts...)
  8475  	res, err := c.doRequest("json")
  8476  	if res != nil && res.StatusCode == http.StatusNotModified {
  8477  		if res.Body != nil {
  8478  			res.Body.Close()
  8479  		}
  8480  		return nil, gensupport.WrapError(&googleapi.Error{
  8481  			Code:   res.StatusCode,
  8482  			Header: res.Header,
  8483  		})
  8484  	}
  8485  	if err != nil {
  8486  		return nil, err
  8487  	}
  8488  	defer googleapi.CloseBody(res)
  8489  	if err := googleapi.CheckResponse(res); err != nil {
  8490  		return nil, gensupport.WrapError(err)
  8491  	}
  8492  	ret := &Policy{
  8493  		ServerResponse: googleapi.ServerResponse{
  8494  			Header:         res.Header,
  8495  			HTTPStatusCode: res.StatusCode,
  8496  		},
  8497  	}
  8498  	target := &ret
  8499  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8500  		return nil, err
  8501  	}
  8502  	return ret, nil
  8503  }
  8504  
  8505  type ProjectsNotesTestIamPermissionsCall struct {
  8506  	s                         *Service
  8507  	resource                  string
  8508  	testiampermissionsrequest *TestIamPermissionsRequest
  8509  	urlParams_                gensupport.URLParams
  8510  	ctx_                      context.Context
  8511  	header_                   http.Header
  8512  }
  8513  
  8514  // TestIamPermissions: Returns the permissions that a caller has on the
  8515  // specified note or occurrence. Requires list permission on the project (for
  8516  // example, `containeranalysis.notes.list`). The resource takes the format
  8517  // `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and
  8518  // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
  8519  //
  8520  //   - resource: REQUIRED: The resource for which the policy detail is being
  8521  //     requested. See Resource names
  8522  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  8523  //     value for this field.
  8524  func (r *ProjectsNotesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsNotesTestIamPermissionsCall {
  8525  	c := &ProjectsNotesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8526  	c.resource = resource
  8527  	c.testiampermissionsrequest = testiampermissionsrequest
  8528  	return c
  8529  }
  8530  
  8531  // Fields allows partial responses to be retrieved. See
  8532  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8533  // details.
  8534  func (c *ProjectsNotesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsNotesTestIamPermissionsCall {
  8535  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8536  	return c
  8537  }
  8538  
  8539  // Context sets the context to be used in this call's Do method.
  8540  func (c *ProjectsNotesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsNotesTestIamPermissionsCall {
  8541  	c.ctx_ = ctx
  8542  	return c
  8543  }
  8544  
  8545  // Header returns a http.Header that can be modified by the caller to add
  8546  // headers to the request.
  8547  func (c *ProjectsNotesTestIamPermissionsCall) Header() http.Header {
  8548  	if c.header_ == nil {
  8549  		c.header_ = make(http.Header)
  8550  	}
  8551  	return c.header_
  8552  }
  8553  
  8554  func (c *ProjectsNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  8555  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8556  	var body io.Reader = nil
  8557  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  8558  	if err != nil {
  8559  		return nil, err
  8560  	}
  8561  	c.urlParams_.Set("alt", alt)
  8562  	c.urlParams_.Set("prettyPrint", "false")
  8563  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
  8564  	urls += "?" + c.urlParams_.Encode()
  8565  	req, err := http.NewRequest("POST", urls, body)
  8566  	if err != nil {
  8567  		return nil, err
  8568  	}
  8569  	req.Header = reqHeaders
  8570  	googleapi.Expand(req.URL, map[string]string{
  8571  		"resource": c.resource,
  8572  	})
  8573  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8574  }
  8575  
  8576  // Do executes the "containeranalysis.projects.notes.testIamPermissions" call.
  8577  // Any non-2xx status code is an error. Response headers are in either
  8578  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  8579  // returned at all) in error.(*googleapi.Error).Header. Use
  8580  // googleapi.IsNotModified to check whether the returned error was because
  8581  // http.StatusNotModified was returned.
  8582  func (c *ProjectsNotesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  8583  	gensupport.SetOptions(c.urlParams_, opts...)
  8584  	res, err := c.doRequest("json")
  8585  	if res != nil && res.StatusCode == http.StatusNotModified {
  8586  		if res.Body != nil {
  8587  			res.Body.Close()
  8588  		}
  8589  		return nil, gensupport.WrapError(&googleapi.Error{
  8590  			Code:   res.StatusCode,
  8591  			Header: res.Header,
  8592  		})
  8593  	}
  8594  	if err != nil {
  8595  		return nil, err
  8596  	}
  8597  	defer googleapi.CloseBody(res)
  8598  	if err := googleapi.CheckResponse(res); err != nil {
  8599  		return nil, gensupport.WrapError(err)
  8600  	}
  8601  	ret := &TestIamPermissionsResponse{
  8602  		ServerResponse: googleapi.ServerResponse{
  8603  			Header:         res.Header,
  8604  			HTTPStatusCode: res.StatusCode,
  8605  		},
  8606  	}
  8607  	target := &ret
  8608  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8609  		return nil, err
  8610  	}
  8611  	return ret, nil
  8612  }
  8613  
  8614  type ProjectsNotesOccurrencesListCall struct {
  8615  	s            *Service
  8616  	name         string
  8617  	urlParams_   gensupport.URLParams
  8618  	ifNoneMatch_ string
  8619  	ctx_         context.Context
  8620  	header_      http.Header
  8621  }
  8622  
  8623  // List: Lists occurrences referencing the specified note. Provider projects
  8624  // can use this method to get all occurrences across consumer projects
  8625  // referencing the specified note.
  8626  //
  8627  //   - name: The name of the note to list occurrences for in the form of
  8628  //     `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  8629  func (r *ProjectsNotesOccurrencesService) List(name string) *ProjectsNotesOccurrencesListCall {
  8630  	c := &ProjectsNotesOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8631  	c.name = name
  8632  	return c
  8633  }
  8634  
  8635  // Filter sets the optional parameter "filter": The filter expression.
  8636  func (c *ProjectsNotesOccurrencesListCall) Filter(filter string) *ProjectsNotesOccurrencesListCall {
  8637  	c.urlParams_.Set("filter", filter)
  8638  	return c
  8639  }
  8640  
  8641  // PageSize sets the optional parameter "pageSize": Number of occurrences to
  8642  // return in the list.
  8643  func (c *ProjectsNotesOccurrencesListCall) PageSize(pageSize int64) *ProjectsNotesOccurrencesListCall {
  8644  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8645  	return c
  8646  }
  8647  
  8648  // PageToken sets the optional parameter "pageToken": Token to provide to skip
  8649  // to a particular spot in the list.
  8650  func (c *ProjectsNotesOccurrencesListCall) PageToken(pageToken string) *ProjectsNotesOccurrencesListCall {
  8651  	c.urlParams_.Set("pageToken", pageToken)
  8652  	return c
  8653  }
  8654  
  8655  // Fields allows partial responses to be retrieved. See
  8656  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8657  // details.
  8658  func (c *ProjectsNotesOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsNotesOccurrencesListCall {
  8659  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8660  	return c
  8661  }
  8662  
  8663  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8664  // object's ETag matches the given value. This is useful for getting updates
  8665  // only after the object has changed since the last request.
  8666  func (c *ProjectsNotesOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsNotesOccurrencesListCall {
  8667  	c.ifNoneMatch_ = entityTag
  8668  	return c
  8669  }
  8670  
  8671  // Context sets the context to be used in this call's Do method.
  8672  func (c *ProjectsNotesOccurrencesListCall) Context(ctx context.Context) *ProjectsNotesOccurrencesListCall {
  8673  	c.ctx_ = ctx
  8674  	return c
  8675  }
  8676  
  8677  // Header returns a http.Header that can be modified by the caller to add
  8678  // headers to the request.
  8679  func (c *ProjectsNotesOccurrencesListCall) Header() http.Header {
  8680  	if c.header_ == nil {
  8681  		c.header_ = make(http.Header)
  8682  	}
  8683  	return c.header_
  8684  }
  8685  
  8686  func (c *ProjectsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
  8687  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8688  	if c.ifNoneMatch_ != "" {
  8689  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8690  	}
  8691  	var body io.Reader = nil
  8692  	c.urlParams_.Set("alt", alt)
  8693  	c.urlParams_.Set("prettyPrint", "false")
  8694  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/occurrences")
  8695  	urls += "?" + c.urlParams_.Encode()
  8696  	req, err := http.NewRequest("GET", urls, body)
  8697  	if err != nil {
  8698  		return nil, err
  8699  	}
  8700  	req.Header = reqHeaders
  8701  	googleapi.Expand(req.URL, map[string]string{
  8702  		"name": c.name,
  8703  	})
  8704  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8705  }
  8706  
  8707  // Do executes the "containeranalysis.projects.notes.occurrences.list" call.
  8708  // Any non-2xx status code is an error. Response headers are in either
  8709  // *ListNoteOccurrencesResponse.ServerResponse.Header or (if a response was
  8710  // returned at all) in error.(*googleapi.Error).Header. Use
  8711  // googleapi.IsNotModified to check whether the returned error was because
  8712  // http.StatusNotModified was returned.
  8713  func (c *ProjectsNotesOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListNoteOccurrencesResponse, error) {
  8714  	gensupport.SetOptions(c.urlParams_, opts...)
  8715  	res, err := c.doRequest("json")
  8716  	if res != nil && res.StatusCode == http.StatusNotModified {
  8717  		if res.Body != nil {
  8718  			res.Body.Close()
  8719  		}
  8720  		return nil, gensupport.WrapError(&googleapi.Error{
  8721  			Code:   res.StatusCode,
  8722  			Header: res.Header,
  8723  		})
  8724  	}
  8725  	if err != nil {
  8726  		return nil, err
  8727  	}
  8728  	defer googleapi.CloseBody(res)
  8729  	if err := googleapi.CheckResponse(res); err != nil {
  8730  		return nil, gensupport.WrapError(err)
  8731  	}
  8732  	ret := &ListNoteOccurrencesResponse{
  8733  		ServerResponse: googleapi.ServerResponse{
  8734  			Header:         res.Header,
  8735  			HTTPStatusCode: res.StatusCode,
  8736  		},
  8737  	}
  8738  	target := &ret
  8739  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8740  		return nil, err
  8741  	}
  8742  	return ret, nil
  8743  }
  8744  
  8745  // Pages invokes f for each page of results.
  8746  // A non-nil error returned from f will halt the iteration.
  8747  // The provided context supersedes any context provided to the Context method.
  8748  func (c *ProjectsNotesOccurrencesListCall) Pages(ctx context.Context, f func(*ListNoteOccurrencesResponse) error) error {
  8749  	c.ctx_ = ctx
  8750  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8751  	for {
  8752  		x, err := c.Do()
  8753  		if err != nil {
  8754  			return err
  8755  		}
  8756  		if err := f(x); err != nil {
  8757  			return err
  8758  		}
  8759  		if x.NextPageToken == "" {
  8760  			return nil
  8761  		}
  8762  		c.PageToken(x.NextPageToken)
  8763  	}
  8764  }
  8765  
  8766  type ProjectsOccurrencesBatchCreateCall struct {
  8767  	s                             *Service
  8768  	parent                        string
  8769  	batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest
  8770  	urlParams_                    gensupport.URLParams
  8771  	ctx_                          context.Context
  8772  	header_                       http.Header
  8773  }
  8774  
  8775  // BatchCreate: Creates new occurrences in batch.
  8776  //
  8777  //   - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
  8778  //     under which the occurrences are to be created.
  8779  func (r *ProjectsOccurrencesService) BatchCreate(parent string, batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest) *ProjectsOccurrencesBatchCreateCall {
  8780  	c := &ProjectsOccurrencesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8781  	c.parent = parent
  8782  	c.batchcreateoccurrencesrequest = batchcreateoccurrencesrequest
  8783  	return c
  8784  }
  8785  
  8786  // Fields allows partial responses to be retrieved. See
  8787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8788  // details.
  8789  func (c *ProjectsOccurrencesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesBatchCreateCall {
  8790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8791  	return c
  8792  }
  8793  
  8794  // Context sets the context to be used in this call's Do method.
  8795  func (c *ProjectsOccurrencesBatchCreateCall) Context(ctx context.Context) *ProjectsOccurrencesBatchCreateCall {
  8796  	c.ctx_ = ctx
  8797  	return c
  8798  }
  8799  
  8800  // Header returns a http.Header that can be modified by the caller to add
  8801  // headers to the request.
  8802  func (c *ProjectsOccurrencesBatchCreateCall) Header() http.Header {
  8803  	if c.header_ == nil {
  8804  		c.header_ = make(http.Header)
  8805  	}
  8806  	return c.header_
  8807  }
  8808  
  8809  func (c *ProjectsOccurrencesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
  8810  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8811  	var body io.Reader = nil
  8812  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreateoccurrencesrequest)
  8813  	if err != nil {
  8814  		return nil, err
  8815  	}
  8816  	c.urlParams_.Set("alt", alt)
  8817  	c.urlParams_.Set("prettyPrint", "false")
  8818  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:batchCreate")
  8819  	urls += "?" + c.urlParams_.Encode()
  8820  	req, err := http.NewRequest("POST", urls, body)
  8821  	if err != nil {
  8822  		return nil, err
  8823  	}
  8824  	req.Header = reqHeaders
  8825  	googleapi.Expand(req.URL, map[string]string{
  8826  		"parent": c.parent,
  8827  	})
  8828  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8829  }
  8830  
  8831  // Do executes the "containeranalysis.projects.occurrences.batchCreate" call.
  8832  // Any non-2xx status code is an error. Response headers are in either
  8833  // *BatchCreateOccurrencesResponse.ServerResponse.Header or (if a response was
  8834  // returned at all) in error.(*googleapi.Error).Header. Use
  8835  // googleapi.IsNotModified to check whether the returned error was because
  8836  // http.StatusNotModified was returned.
  8837  func (c *ProjectsOccurrencesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreateOccurrencesResponse, error) {
  8838  	gensupport.SetOptions(c.urlParams_, opts...)
  8839  	res, err := c.doRequest("json")
  8840  	if res != nil && res.StatusCode == http.StatusNotModified {
  8841  		if res.Body != nil {
  8842  			res.Body.Close()
  8843  		}
  8844  		return nil, gensupport.WrapError(&googleapi.Error{
  8845  			Code:   res.StatusCode,
  8846  			Header: res.Header,
  8847  		})
  8848  	}
  8849  	if err != nil {
  8850  		return nil, err
  8851  	}
  8852  	defer googleapi.CloseBody(res)
  8853  	if err := googleapi.CheckResponse(res); err != nil {
  8854  		return nil, gensupport.WrapError(err)
  8855  	}
  8856  	ret := &BatchCreateOccurrencesResponse{
  8857  		ServerResponse: googleapi.ServerResponse{
  8858  			Header:         res.Header,
  8859  			HTTPStatusCode: res.StatusCode,
  8860  		},
  8861  	}
  8862  	target := &ret
  8863  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8864  		return nil, err
  8865  	}
  8866  	return ret, nil
  8867  }
  8868  
  8869  type ProjectsOccurrencesCreateCall struct {
  8870  	s          *Service
  8871  	parent     string
  8872  	occurrence *Occurrence
  8873  	urlParams_ gensupport.URLParams
  8874  	ctx_       context.Context
  8875  	header_    http.Header
  8876  }
  8877  
  8878  // Create: Creates a new occurrence.
  8879  //
  8880  //   - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
  8881  //     under which the occurrence is to be created.
  8882  func (r *ProjectsOccurrencesService) Create(parent string, occurrence *Occurrence) *ProjectsOccurrencesCreateCall {
  8883  	c := &ProjectsOccurrencesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8884  	c.parent = parent
  8885  	c.occurrence = occurrence
  8886  	return c
  8887  }
  8888  
  8889  // Fields allows partial responses to be retrieved. See
  8890  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8891  // details.
  8892  func (c *ProjectsOccurrencesCreateCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesCreateCall {
  8893  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8894  	return c
  8895  }
  8896  
  8897  // Context sets the context to be used in this call's Do method.
  8898  func (c *ProjectsOccurrencesCreateCall) Context(ctx context.Context) *ProjectsOccurrencesCreateCall {
  8899  	c.ctx_ = ctx
  8900  	return c
  8901  }
  8902  
  8903  // Header returns a http.Header that can be modified by the caller to add
  8904  // headers to the request.
  8905  func (c *ProjectsOccurrencesCreateCall) Header() http.Header {
  8906  	if c.header_ == nil {
  8907  		c.header_ = make(http.Header)
  8908  	}
  8909  	return c.header_
  8910  }
  8911  
  8912  func (c *ProjectsOccurrencesCreateCall) doRequest(alt string) (*http.Response, error) {
  8913  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8914  	var body io.Reader = nil
  8915  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.occurrence)
  8916  	if err != nil {
  8917  		return nil, err
  8918  	}
  8919  	c.urlParams_.Set("alt", alt)
  8920  	c.urlParams_.Set("prettyPrint", "false")
  8921  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences")
  8922  	urls += "?" + c.urlParams_.Encode()
  8923  	req, err := http.NewRequest("POST", urls, body)
  8924  	if err != nil {
  8925  		return nil, err
  8926  	}
  8927  	req.Header = reqHeaders
  8928  	googleapi.Expand(req.URL, map[string]string{
  8929  		"parent": c.parent,
  8930  	})
  8931  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8932  }
  8933  
  8934  // Do executes the "containeranalysis.projects.occurrences.create" call.
  8935  // Any non-2xx status code is an error. Response headers are in either
  8936  // *Occurrence.ServerResponse.Header or (if a response was returned at all) in
  8937  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8938  // whether the returned error was because http.StatusNotModified was returned.
  8939  func (c *ProjectsOccurrencesCreateCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
  8940  	gensupport.SetOptions(c.urlParams_, opts...)
  8941  	res, err := c.doRequest("json")
  8942  	if res != nil && res.StatusCode == http.StatusNotModified {
  8943  		if res.Body != nil {
  8944  			res.Body.Close()
  8945  		}
  8946  		return nil, gensupport.WrapError(&googleapi.Error{
  8947  			Code:   res.StatusCode,
  8948  			Header: res.Header,
  8949  		})
  8950  	}
  8951  	if err != nil {
  8952  		return nil, err
  8953  	}
  8954  	defer googleapi.CloseBody(res)
  8955  	if err := googleapi.CheckResponse(res); err != nil {
  8956  		return nil, gensupport.WrapError(err)
  8957  	}
  8958  	ret := &Occurrence{
  8959  		ServerResponse: googleapi.ServerResponse{
  8960  			Header:         res.Header,
  8961  			HTTPStatusCode: res.StatusCode,
  8962  		},
  8963  	}
  8964  	target := &ret
  8965  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8966  		return nil, err
  8967  	}
  8968  	return ret, nil
  8969  }
  8970  
  8971  type ProjectsOccurrencesDeleteCall struct {
  8972  	s          *Service
  8973  	name       string
  8974  	urlParams_ gensupport.URLParams
  8975  	ctx_       context.Context
  8976  	header_    http.Header
  8977  }
  8978  
  8979  // Delete: Deletes the specified occurrence. For example, use this method to
  8980  // delete an occurrence when the occurrence is no longer applicable for the
  8981  // given resource.
  8982  //
  8983  //   - name: The name of the occurrence in the form of
  8984  //     `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  8985  func (r *ProjectsOccurrencesService) Delete(name string) *ProjectsOccurrencesDeleteCall {
  8986  	c := &ProjectsOccurrencesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8987  	c.name = name
  8988  	return c
  8989  }
  8990  
  8991  // Fields allows partial responses to be retrieved. See
  8992  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8993  // details.
  8994  func (c *ProjectsOccurrencesDeleteCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesDeleteCall {
  8995  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8996  	return c
  8997  }
  8998  
  8999  // Context sets the context to be used in this call's Do method.
  9000  func (c *ProjectsOccurrencesDeleteCall) Context(ctx context.Context) *ProjectsOccurrencesDeleteCall {
  9001  	c.ctx_ = ctx
  9002  	return c
  9003  }
  9004  
  9005  // Header returns a http.Header that can be modified by the caller to add
  9006  // headers to the request.
  9007  func (c *ProjectsOccurrencesDeleteCall) Header() http.Header {
  9008  	if c.header_ == nil {
  9009  		c.header_ = make(http.Header)
  9010  	}
  9011  	return c.header_
  9012  }
  9013  
  9014  func (c *ProjectsOccurrencesDeleteCall) doRequest(alt string) (*http.Response, error) {
  9015  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9016  	var body io.Reader = nil
  9017  	c.urlParams_.Set("alt", alt)
  9018  	c.urlParams_.Set("prettyPrint", "false")
  9019  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  9020  	urls += "?" + c.urlParams_.Encode()
  9021  	req, err := http.NewRequest("DELETE", urls, body)
  9022  	if err != nil {
  9023  		return nil, err
  9024  	}
  9025  	req.Header = reqHeaders
  9026  	googleapi.Expand(req.URL, map[string]string{
  9027  		"name": c.name,
  9028  	})
  9029  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9030  }
  9031  
  9032  // Do executes the "containeranalysis.projects.occurrences.delete" call.
  9033  // Any non-2xx status code is an error. Response headers are in either
  9034  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  9035  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9036  // whether the returned error was because http.StatusNotModified was returned.
  9037  func (c *ProjectsOccurrencesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  9038  	gensupport.SetOptions(c.urlParams_, opts...)
  9039  	res, err := c.doRequest("json")
  9040  	if res != nil && res.StatusCode == http.StatusNotModified {
  9041  		if res.Body != nil {
  9042  			res.Body.Close()
  9043  		}
  9044  		return nil, gensupport.WrapError(&googleapi.Error{
  9045  			Code:   res.StatusCode,
  9046  			Header: res.Header,
  9047  		})
  9048  	}
  9049  	if err != nil {
  9050  		return nil, err
  9051  	}
  9052  	defer googleapi.CloseBody(res)
  9053  	if err := googleapi.CheckResponse(res); err != nil {
  9054  		return nil, gensupport.WrapError(err)
  9055  	}
  9056  	ret := &Empty{
  9057  		ServerResponse: googleapi.ServerResponse{
  9058  			Header:         res.Header,
  9059  			HTTPStatusCode: res.StatusCode,
  9060  		},
  9061  	}
  9062  	target := &ret
  9063  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9064  		return nil, err
  9065  	}
  9066  	return ret, nil
  9067  }
  9068  
  9069  type ProjectsOccurrencesGetCall struct {
  9070  	s            *Service
  9071  	name         string
  9072  	urlParams_   gensupport.URLParams
  9073  	ifNoneMatch_ string
  9074  	ctx_         context.Context
  9075  	header_      http.Header
  9076  }
  9077  
  9078  // Get: Gets the specified occurrence.
  9079  //
  9080  //   - name: The name of the occurrence in the form of
  9081  //     `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  9082  func (r *ProjectsOccurrencesService) Get(name string) *ProjectsOccurrencesGetCall {
  9083  	c := &ProjectsOccurrencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9084  	c.name = name
  9085  	return c
  9086  }
  9087  
  9088  // Fields allows partial responses to be retrieved. See
  9089  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9090  // details.
  9091  func (c *ProjectsOccurrencesGetCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetCall {
  9092  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9093  	return c
  9094  }
  9095  
  9096  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9097  // object's ETag matches the given value. This is useful for getting updates
  9098  // only after the object has changed since the last request.
  9099  func (c *ProjectsOccurrencesGetCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetCall {
  9100  	c.ifNoneMatch_ = entityTag
  9101  	return c
  9102  }
  9103  
  9104  // Context sets the context to be used in this call's Do method.
  9105  func (c *ProjectsOccurrencesGetCall) Context(ctx context.Context) *ProjectsOccurrencesGetCall {
  9106  	c.ctx_ = ctx
  9107  	return c
  9108  }
  9109  
  9110  // Header returns a http.Header that can be modified by the caller to add
  9111  // headers to the request.
  9112  func (c *ProjectsOccurrencesGetCall) Header() http.Header {
  9113  	if c.header_ == nil {
  9114  		c.header_ = make(http.Header)
  9115  	}
  9116  	return c.header_
  9117  }
  9118  
  9119  func (c *ProjectsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) {
  9120  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9121  	if c.ifNoneMatch_ != "" {
  9122  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9123  	}
  9124  	var body io.Reader = nil
  9125  	c.urlParams_.Set("alt", alt)
  9126  	c.urlParams_.Set("prettyPrint", "false")
  9127  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  9128  	urls += "?" + c.urlParams_.Encode()
  9129  	req, err := http.NewRequest("GET", urls, body)
  9130  	if err != nil {
  9131  		return nil, err
  9132  	}
  9133  	req.Header = reqHeaders
  9134  	googleapi.Expand(req.URL, map[string]string{
  9135  		"name": c.name,
  9136  	})
  9137  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9138  }
  9139  
  9140  // Do executes the "containeranalysis.projects.occurrences.get" call.
  9141  // Any non-2xx status code is an error. Response headers are in either
  9142  // *Occurrence.ServerResponse.Header or (if a response was returned at all) in
  9143  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9144  // whether the returned error was because http.StatusNotModified was returned.
  9145  func (c *ProjectsOccurrencesGetCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
  9146  	gensupport.SetOptions(c.urlParams_, opts...)
  9147  	res, err := c.doRequest("json")
  9148  	if res != nil && res.StatusCode == http.StatusNotModified {
  9149  		if res.Body != nil {
  9150  			res.Body.Close()
  9151  		}
  9152  		return nil, gensupport.WrapError(&googleapi.Error{
  9153  			Code:   res.StatusCode,
  9154  			Header: res.Header,
  9155  		})
  9156  	}
  9157  	if err != nil {
  9158  		return nil, err
  9159  	}
  9160  	defer googleapi.CloseBody(res)
  9161  	if err := googleapi.CheckResponse(res); err != nil {
  9162  		return nil, gensupport.WrapError(err)
  9163  	}
  9164  	ret := &Occurrence{
  9165  		ServerResponse: googleapi.ServerResponse{
  9166  			Header:         res.Header,
  9167  			HTTPStatusCode: res.StatusCode,
  9168  		},
  9169  	}
  9170  	target := &ret
  9171  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9172  		return nil, err
  9173  	}
  9174  	return ret, nil
  9175  }
  9176  
  9177  type ProjectsOccurrencesGetIamPolicyCall struct {
  9178  	s                   *Service
  9179  	resource            string
  9180  	getiampolicyrequest *GetIamPolicyRequest
  9181  	urlParams_          gensupport.URLParams
  9182  	ctx_                context.Context
  9183  	header_             http.Header
  9184  }
  9185  
  9186  // GetIamPolicy: Gets the access control policy for a note or an occurrence
  9187  // resource. Requires `containeranalysis.notes.setIamPolicy` or
  9188  // `containeranalysis.occurrences.setIamPolicy` permission if the resource is a
  9189  // note or occurrence, respectively. The resource takes the format
  9190  // `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and
  9191  // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
  9192  //
  9193  //   - resource: REQUIRED: The resource for which the policy is being requested.
  9194  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9195  //     for the appropriate value for this field.
  9196  func (r *ProjectsOccurrencesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsOccurrencesGetIamPolicyCall {
  9197  	c := &ProjectsOccurrencesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9198  	c.resource = resource
  9199  	c.getiampolicyrequest = getiampolicyrequest
  9200  	return c
  9201  }
  9202  
  9203  // Fields allows partial responses to be retrieved. See
  9204  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9205  // details.
  9206  func (c *ProjectsOccurrencesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetIamPolicyCall {
  9207  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9208  	return c
  9209  }
  9210  
  9211  // Context sets the context to be used in this call's Do method.
  9212  func (c *ProjectsOccurrencesGetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesGetIamPolicyCall {
  9213  	c.ctx_ = ctx
  9214  	return c
  9215  }
  9216  
  9217  // Header returns a http.Header that can be modified by the caller to add
  9218  // headers to the request.
  9219  func (c *ProjectsOccurrencesGetIamPolicyCall) Header() http.Header {
  9220  	if c.header_ == nil {
  9221  		c.header_ = make(http.Header)
  9222  	}
  9223  	return c.header_
  9224  }
  9225  
  9226  func (c *ProjectsOccurrencesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9227  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9228  	var body io.Reader = nil
  9229  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  9230  	if err != nil {
  9231  		return nil, err
  9232  	}
  9233  	c.urlParams_.Set("alt", alt)
  9234  	c.urlParams_.Set("prettyPrint", "false")
  9235  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
  9236  	urls += "?" + c.urlParams_.Encode()
  9237  	req, err := http.NewRequest("POST", urls, body)
  9238  	if err != nil {
  9239  		return nil, err
  9240  	}
  9241  	req.Header = reqHeaders
  9242  	googleapi.Expand(req.URL, map[string]string{
  9243  		"resource": c.resource,
  9244  	})
  9245  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9246  }
  9247  
  9248  // Do executes the "containeranalysis.projects.occurrences.getIamPolicy" call.
  9249  // Any non-2xx status code is an error. Response headers are in either
  9250  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9251  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9252  // whether the returned error was because http.StatusNotModified was returned.
  9253  func (c *ProjectsOccurrencesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9254  	gensupport.SetOptions(c.urlParams_, opts...)
  9255  	res, err := c.doRequest("json")
  9256  	if res != nil && res.StatusCode == http.StatusNotModified {
  9257  		if res.Body != nil {
  9258  			res.Body.Close()
  9259  		}
  9260  		return nil, gensupport.WrapError(&googleapi.Error{
  9261  			Code:   res.StatusCode,
  9262  			Header: res.Header,
  9263  		})
  9264  	}
  9265  	if err != nil {
  9266  		return nil, err
  9267  	}
  9268  	defer googleapi.CloseBody(res)
  9269  	if err := googleapi.CheckResponse(res); err != nil {
  9270  		return nil, gensupport.WrapError(err)
  9271  	}
  9272  	ret := &Policy{
  9273  		ServerResponse: googleapi.ServerResponse{
  9274  			Header:         res.Header,
  9275  			HTTPStatusCode: res.StatusCode,
  9276  		},
  9277  	}
  9278  	target := &ret
  9279  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9280  		return nil, err
  9281  	}
  9282  	return ret, nil
  9283  }
  9284  
  9285  type ProjectsOccurrencesGetNotesCall struct {
  9286  	s            *Service
  9287  	name         string
  9288  	urlParams_   gensupport.URLParams
  9289  	ifNoneMatch_ string
  9290  	ctx_         context.Context
  9291  	header_      http.Header
  9292  }
  9293  
  9294  // GetNotes: Gets the note attached to the specified occurrence. Consumer
  9295  // projects can use this method to get a note that belongs to a provider
  9296  // project.
  9297  //
  9298  //   - name: The name of the occurrence in the form of
  9299  //     `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  9300  func (r *ProjectsOccurrencesService) GetNotes(name string) *ProjectsOccurrencesGetNotesCall {
  9301  	c := &ProjectsOccurrencesGetNotesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9302  	c.name = name
  9303  	return c
  9304  }
  9305  
  9306  // Fields allows partial responses to be retrieved. See
  9307  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9308  // details.
  9309  func (c *ProjectsOccurrencesGetNotesCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetNotesCall {
  9310  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9311  	return c
  9312  }
  9313  
  9314  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9315  // object's ETag matches the given value. This is useful for getting updates
  9316  // only after the object has changed since the last request.
  9317  func (c *ProjectsOccurrencesGetNotesCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetNotesCall {
  9318  	c.ifNoneMatch_ = entityTag
  9319  	return c
  9320  }
  9321  
  9322  // Context sets the context to be used in this call's Do method.
  9323  func (c *ProjectsOccurrencesGetNotesCall) Context(ctx context.Context) *ProjectsOccurrencesGetNotesCall {
  9324  	c.ctx_ = ctx
  9325  	return c
  9326  }
  9327  
  9328  // Header returns a http.Header that can be modified by the caller to add
  9329  // headers to the request.
  9330  func (c *ProjectsOccurrencesGetNotesCall) Header() http.Header {
  9331  	if c.header_ == nil {
  9332  		c.header_ = make(http.Header)
  9333  	}
  9334  	return c.header_
  9335  }
  9336  
  9337  func (c *ProjectsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) {
  9338  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9339  	if c.ifNoneMatch_ != "" {
  9340  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9341  	}
  9342  	var body io.Reader = nil
  9343  	c.urlParams_.Set("alt", alt)
  9344  	c.urlParams_.Set("prettyPrint", "false")
  9345  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/notes")
  9346  	urls += "?" + c.urlParams_.Encode()
  9347  	req, err := http.NewRequest("GET", urls, body)
  9348  	if err != nil {
  9349  		return nil, err
  9350  	}
  9351  	req.Header = reqHeaders
  9352  	googleapi.Expand(req.URL, map[string]string{
  9353  		"name": c.name,
  9354  	})
  9355  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9356  }
  9357  
  9358  // Do executes the "containeranalysis.projects.occurrences.getNotes" call.
  9359  // Any non-2xx status code is an error. Response headers are in either
  9360  // *Note.ServerResponse.Header or (if a response was returned at all) in
  9361  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9362  // whether the returned error was because http.StatusNotModified was returned.
  9363  func (c *ProjectsOccurrencesGetNotesCall) Do(opts ...googleapi.CallOption) (*Note, error) {
  9364  	gensupport.SetOptions(c.urlParams_, opts...)
  9365  	res, err := c.doRequest("json")
  9366  	if res != nil && res.StatusCode == http.StatusNotModified {
  9367  		if res.Body != nil {
  9368  			res.Body.Close()
  9369  		}
  9370  		return nil, gensupport.WrapError(&googleapi.Error{
  9371  			Code:   res.StatusCode,
  9372  			Header: res.Header,
  9373  		})
  9374  	}
  9375  	if err != nil {
  9376  		return nil, err
  9377  	}
  9378  	defer googleapi.CloseBody(res)
  9379  	if err := googleapi.CheckResponse(res); err != nil {
  9380  		return nil, gensupport.WrapError(err)
  9381  	}
  9382  	ret := &Note{
  9383  		ServerResponse: googleapi.ServerResponse{
  9384  			Header:         res.Header,
  9385  			HTTPStatusCode: res.StatusCode,
  9386  		},
  9387  	}
  9388  	target := &ret
  9389  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9390  		return nil, err
  9391  	}
  9392  	return ret, nil
  9393  }
  9394  
  9395  type ProjectsOccurrencesGetVulnerabilitySummaryCall struct {
  9396  	s            *Service
  9397  	parent       string
  9398  	urlParams_   gensupport.URLParams
  9399  	ifNoneMatch_ string
  9400  	ctx_         context.Context
  9401  	header_      http.Header
  9402  }
  9403  
  9404  // GetVulnerabilitySummary: Gets a summary of the number and severity of
  9405  // occurrences.
  9406  //
  9407  //   - parent: The name of the project to get a vulnerability summary for in the
  9408  //     form of `projects/[PROJECT_ID]`.
  9409  func (r *ProjectsOccurrencesService) GetVulnerabilitySummary(parent string) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
  9410  	c := &ProjectsOccurrencesGetVulnerabilitySummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9411  	c.parent = parent
  9412  	return c
  9413  }
  9414  
  9415  // Filter sets the optional parameter "filter": The filter expression.
  9416  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Filter(filter string) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
  9417  	c.urlParams_.Set("filter", filter)
  9418  	return c
  9419  }
  9420  
  9421  // Fields allows partial responses to be retrieved. See
  9422  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9423  // details.
  9424  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
  9425  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9426  	return c
  9427  }
  9428  
  9429  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9430  // object's ETag matches the given value. This is useful for getting updates
  9431  // only after the object has changed since the last request.
  9432  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
  9433  	c.ifNoneMatch_ = entityTag
  9434  	return c
  9435  }
  9436  
  9437  // Context sets the context to be used in this call's Do method.
  9438  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Context(ctx context.Context) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
  9439  	c.ctx_ = ctx
  9440  	return c
  9441  }
  9442  
  9443  // Header returns a http.Header that can be modified by the caller to add
  9444  // headers to the request.
  9445  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Header() http.Header {
  9446  	if c.header_ == nil {
  9447  		c.header_ = make(http.Header)
  9448  	}
  9449  	return c.header_
  9450  }
  9451  
  9452  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) {
  9453  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9454  	if c.ifNoneMatch_ != "" {
  9455  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9456  	}
  9457  	var body io.Reader = nil
  9458  	c.urlParams_.Set("alt", alt)
  9459  	c.urlParams_.Set("prettyPrint", "false")
  9460  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:vulnerabilitySummary")
  9461  	urls += "?" + c.urlParams_.Encode()
  9462  	req, err := http.NewRequest("GET", urls, body)
  9463  	if err != nil {
  9464  		return nil, err
  9465  	}
  9466  	req.Header = reqHeaders
  9467  	googleapi.Expand(req.URL, map[string]string{
  9468  		"parent": c.parent,
  9469  	})
  9470  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9471  }
  9472  
  9473  // Do executes the "containeranalysis.projects.occurrences.getVulnerabilitySummary" call.
  9474  // Any non-2xx status code is an error. Response headers are in either
  9475  // *VulnerabilityOccurrencesSummary.ServerResponse.Header or (if a response was
  9476  // returned at all) in error.(*googleapi.Error).Header. Use
  9477  // googleapi.IsNotModified to check whether the returned error was because
  9478  // http.StatusNotModified was returned.
  9479  func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Do(opts ...googleapi.CallOption) (*VulnerabilityOccurrencesSummary, error) {
  9480  	gensupport.SetOptions(c.urlParams_, opts...)
  9481  	res, err := c.doRequest("json")
  9482  	if res != nil && res.StatusCode == http.StatusNotModified {
  9483  		if res.Body != nil {
  9484  			res.Body.Close()
  9485  		}
  9486  		return nil, gensupport.WrapError(&googleapi.Error{
  9487  			Code:   res.StatusCode,
  9488  			Header: res.Header,
  9489  		})
  9490  	}
  9491  	if err != nil {
  9492  		return nil, err
  9493  	}
  9494  	defer googleapi.CloseBody(res)
  9495  	if err := googleapi.CheckResponse(res); err != nil {
  9496  		return nil, gensupport.WrapError(err)
  9497  	}
  9498  	ret := &VulnerabilityOccurrencesSummary{
  9499  		ServerResponse: googleapi.ServerResponse{
  9500  			Header:         res.Header,
  9501  			HTTPStatusCode: res.StatusCode,
  9502  		},
  9503  	}
  9504  	target := &ret
  9505  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9506  		return nil, err
  9507  	}
  9508  	return ret, nil
  9509  }
  9510  
  9511  type ProjectsOccurrencesListCall struct {
  9512  	s            *Service
  9513  	parent       string
  9514  	urlParams_   gensupport.URLParams
  9515  	ifNoneMatch_ string
  9516  	ctx_         context.Context
  9517  	header_      http.Header
  9518  }
  9519  
  9520  // List: Lists occurrences for the specified project.
  9521  //
  9522  //   - parent: The name of the project to list occurrences for in the form of
  9523  //     `projects/[PROJECT_ID]`.
  9524  func (r *ProjectsOccurrencesService) List(parent string) *ProjectsOccurrencesListCall {
  9525  	c := &ProjectsOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9526  	c.parent = parent
  9527  	return c
  9528  }
  9529  
  9530  // Filter sets the optional parameter "filter": The filter expression.
  9531  func (c *ProjectsOccurrencesListCall) Filter(filter string) *ProjectsOccurrencesListCall {
  9532  	c.urlParams_.Set("filter", filter)
  9533  	return c
  9534  }
  9535  
  9536  // PageSize sets the optional parameter "pageSize": Number of occurrences to
  9537  // return in the list. Must be positive. Max allowed page size is 1000. If not
  9538  // specified, page size defaults to 20.
  9539  func (c *ProjectsOccurrencesListCall) PageSize(pageSize int64) *ProjectsOccurrencesListCall {
  9540  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9541  	return c
  9542  }
  9543  
  9544  // PageToken sets the optional parameter "pageToken": Token to provide to skip
  9545  // to a particular spot in the list.
  9546  func (c *ProjectsOccurrencesListCall) PageToken(pageToken string) *ProjectsOccurrencesListCall {
  9547  	c.urlParams_.Set("pageToken", pageToken)
  9548  	return c
  9549  }
  9550  
  9551  // Fields allows partial responses to be retrieved. See
  9552  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9553  // details.
  9554  func (c *ProjectsOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesListCall {
  9555  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9556  	return c
  9557  }
  9558  
  9559  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9560  // object's ETag matches the given value. This is useful for getting updates
  9561  // only after the object has changed since the last request.
  9562  func (c *ProjectsOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesListCall {
  9563  	c.ifNoneMatch_ = entityTag
  9564  	return c
  9565  }
  9566  
  9567  // Context sets the context to be used in this call's Do method.
  9568  func (c *ProjectsOccurrencesListCall) Context(ctx context.Context) *ProjectsOccurrencesListCall {
  9569  	c.ctx_ = ctx
  9570  	return c
  9571  }
  9572  
  9573  // Header returns a http.Header that can be modified by the caller to add
  9574  // headers to the request.
  9575  func (c *ProjectsOccurrencesListCall) Header() http.Header {
  9576  	if c.header_ == nil {
  9577  		c.header_ = make(http.Header)
  9578  	}
  9579  	return c.header_
  9580  }
  9581  
  9582  func (c *ProjectsOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
  9583  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9584  	if c.ifNoneMatch_ != "" {
  9585  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9586  	}
  9587  	var body io.Reader = nil
  9588  	c.urlParams_.Set("alt", alt)
  9589  	c.urlParams_.Set("prettyPrint", "false")
  9590  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences")
  9591  	urls += "?" + c.urlParams_.Encode()
  9592  	req, err := http.NewRequest("GET", urls, body)
  9593  	if err != nil {
  9594  		return nil, err
  9595  	}
  9596  	req.Header = reqHeaders
  9597  	googleapi.Expand(req.URL, map[string]string{
  9598  		"parent": c.parent,
  9599  	})
  9600  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9601  }
  9602  
  9603  // Do executes the "containeranalysis.projects.occurrences.list" call.
  9604  // Any non-2xx status code is an error. Response headers are in either
  9605  // *ListOccurrencesResponse.ServerResponse.Header or (if a response was
  9606  // returned at all) in error.(*googleapi.Error).Header. Use
  9607  // googleapi.IsNotModified to check whether the returned error was because
  9608  // http.StatusNotModified was returned.
  9609  func (c *ProjectsOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListOccurrencesResponse, error) {
  9610  	gensupport.SetOptions(c.urlParams_, opts...)
  9611  	res, err := c.doRequest("json")
  9612  	if res != nil && res.StatusCode == http.StatusNotModified {
  9613  		if res.Body != nil {
  9614  			res.Body.Close()
  9615  		}
  9616  		return nil, gensupport.WrapError(&googleapi.Error{
  9617  			Code:   res.StatusCode,
  9618  			Header: res.Header,
  9619  		})
  9620  	}
  9621  	if err != nil {
  9622  		return nil, err
  9623  	}
  9624  	defer googleapi.CloseBody(res)
  9625  	if err := googleapi.CheckResponse(res); err != nil {
  9626  		return nil, gensupport.WrapError(err)
  9627  	}
  9628  	ret := &ListOccurrencesResponse{
  9629  		ServerResponse: googleapi.ServerResponse{
  9630  			Header:         res.Header,
  9631  			HTTPStatusCode: res.StatusCode,
  9632  		},
  9633  	}
  9634  	target := &ret
  9635  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9636  		return nil, err
  9637  	}
  9638  	return ret, nil
  9639  }
  9640  
  9641  // Pages invokes f for each page of results.
  9642  // A non-nil error returned from f will halt the iteration.
  9643  // The provided context supersedes any context provided to the Context method.
  9644  func (c *ProjectsOccurrencesListCall) Pages(ctx context.Context, f func(*ListOccurrencesResponse) error) error {
  9645  	c.ctx_ = ctx
  9646  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9647  	for {
  9648  		x, err := c.Do()
  9649  		if err != nil {
  9650  			return err
  9651  		}
  9652  		if err := f(x); err != nil {
  9653  			return err
  9654  		}
  9655  		if x.NextPageToken == "" {
  9656  			return nil
  9657  		}
  9658  		c.PageToken(x.NextPageToken)
  9659  	}
  9660  }
  9661  
  9662  type ProjectsOccurrencesPatchCall struct {
  9663  	s          *Service
  9664  	name       string
  9665  	occurrence *Occurrence
  9666  	urlParams_ gensupport.URLParams
  9667  	ctx_       context.Context
  9668  	header_    http.Header
  9669  }
  9670  
  9671  // Patch: Updates the specified occurrence.
  9672  //
  9673  //   - name: The name of the occurrence in the form of
  9674  //     `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
  9675  func (r *ProjectsOccurrencesService) Patch(name string, occurrence *Occurrence) *ProjectsOccurrencesPatchCall {
  9676  	c := &ProjectsOccurrencesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9677  	c.name = name
  9678  	c.occurrence = occurrence
  9679  	return c
  9680  }
  9681  
  9682  // UpdateMask sets the optional parameter "updateMask": The fields to update.
  9683  func (c *ProjectsOccurrencesPatchCall) UpdateMask(updateMask string) *ProjectsOccurrencesPatchCall {
  9684  	c.urlParams_.Set("updateMask", updateMask)
  9685  	return c
  9686  }
  9687  
  9688  // Fields allows partial responses to be retrieved. See
  9689  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9690  // details.
  9691  func (c *ProjectsOccurrencesPatchCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesPatchCall {
  9692  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9693  	return c
  9694  }
  9695  
  9696  // Context sets the context to be used in this call's Do method.
  9697  func (c *ProjectsOccurrencesPatchCall) Context(ctx context.Context) *ProjectsOccurrencesPatchCall {
  9698  	c.ctx_ = ctx
  9699  	return c
  9700  }
  9701  
  9702  // Header returns a http.Header that can be modified by the caller to add
  9703  // headers to the request.
  9704  func (c *ProjectsOccurrencesPatchCall) Header() http.Header {
  9705  	if c.header_ == nil {
  9706  		c.header_ = make(http.Header)
  9707  	}
  9708  	return c.header_
  9709  }
  9710  
  9711  func (c *ProjectsOccurrencesPatchCall) doRequest(alt string) (*http.Response, error) {
  9712  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9713  	var body io.Reader = nil
  9714  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.occurrence)
  9715  	if err != nil {
  9716  		return nil, err
  9717  	}
  9718  	c.urlParams_.Set("alt", alt)
  9719  	c.urlParams_.Set("prettyPrint", "false")
  9720  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
  9721  	urls += "?" + c.urlParams_.Encode()
  9722  	req, err := http.NewRequest("PATCH", urls, body)
  9723  	if err != nil {
  9724  		return nil, err
  9725  	}
  9726  	req.Header = reqHeaders
  9727  	googleapi.Expand(req.URL, map[string]string{
  9728  		"name": c.name,
  9729  	})
  9730  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9731  }
  9732  
  9733  // Do executes the "containeranalysis.projects.occurrences.patch" call.
  9734  // Any non-2xx status code is an error. Response headers are in either
  9735  // *Occurrence.ServerResponse.Header or (if a response was returned at all) in
  9736  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9737  // whether the returned error was because http.StatusNotModified was returned.
  9738  func (c *ProjectsOccurrencesPatchCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
  9739  	gensupport.SetOptions(c.urlParams_, opts...)
  9740  	res, err := c.doRequest("json")
  9741  	if res != nil && res.StatusCode == http.StatusNotModified {
  9742  		if res.Body != nil {
  9743  			res.Body.Close()
  9744  		}
  9745  		return nil, gensupport.WrapError(&googleapi.Error{
  9746  			Code:   res.StatusCode,
  9747  			Header: res.Header,
  9748  		})
  9749  	}
  9750  	if err != nil {
  9751  		return nil, err
  9752  	}
  9753  	defer googleapi.CloseBody(res)
  9754  	if err := googleapi.CheckResponse(res); err != nil {
  9755  		return nil, gensupport.WrapError(err)
  9756  	}
  9757  	ret := &Occurrence{
  9758  		ServerResponse: googleapi.ServerResponse{
  9759  			Header:         res.Header,
  9760  			HTTPStatusCode: res.StatusCode,
  9761  		},
  9762  	}
  9763  	target := &ret
  9764  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9765  		return nil, err
  9766  	}
  9767  	return ret, nil
  9768  }
  9769  
  9770  type ProjectsOccurrencesSetIamPolicyCall struct {
  9771  	s                   *Service
  9772  	resource            string
  9773  	setiampolicyrequest *SetIamPolicyRequest
  9774  	urlParams_          gensupport.URLParams
  9775  	ctx_                context.Context
  9776  	header_             http.Header
  9777  }
  9778  
  9779  // SetIamPolicy: Sets the access control policy on the specified note or
  9780  // occurrence. Requires `containeranalysis.notes.setIamPolicy` or
  9781  // `containeranalysis.occurrences.setIamPolicy` permission if the resource is a
  9782  // note or an occurrence, respectively. The resource takes the format
  9783  // `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and
  9784  // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
  9785  //
  9786  //   - resource: REQUIRED: The resource for which the policy is being specified.
  9787  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9788  //     for the appropriate value for this field.
  9789  func (r *ProjectsOccurrencesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsOccurrencesSetIamPolicyCall {
  9790  	c := &ProjectsOccurrencesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9791  	c.resource = resource
  9792  	c.setiampolicyrequest = setiampolicyrequest
  9793  	return c
  9794  }
  9795  
  9796  // Fields allows partial responses to be retrieved. See
  9797  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9798  // details.
  9799  func (c *ProjectsOccurrencesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesSetIamPolicyCall {
  9800  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9801  	return c
  9802  }
  9803  
  9804  // Context sets the context to be used in this call's Do method.
  9805  func (c *ProjectsOccurrencesSetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesSetIamPolicyCall {
  9806  	c.ctx_ = ctx
  9807  	return c
  9808  }
  9809  
  9810  // Header returns a http.Header that can be modified by the caller to add
  9811  // headers to the request.
  9812  func (c *ProjectsOccurrencesSetIamPolicyCall) Header() http.Header {
  9813  	if c.header_ == nil {
  9814  		c.header_ = make(http.Header)
  9815  	}
  9816  	return c.header_
  9817  }
  9818  
  9819  func (c *ProjectsOccurrencesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9820  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9821  	var body io.Reader = nil
  9822  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  9823  	if err != nil {
  9824  		return nil, err
  9825  	}
  9826  	c.urlParams_.Set("alt", alt)
  9827  	c.urlParams_.Set("prettyPrint", "false")
  9828  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
  9829  	urls += "?" + c.urlParams_.Encode()
  9830  	req, err := http.NewRequest("POST", urls, body)
  9831  	if err != nil {
  9832  		return nil, err
  9833  	}
  9834  	req.Header = reqHeaders
  9835  	googleapi.Expand(req.URL, map[string]string{
  9836  		"resource": c.resource,
  9837  	})
  9838  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9839  }
  9840  
  9841  // Do executes the "containeranalysis.projects.occurrences.setIamPolicy" call.
  9842  // Any non-2xx status code is an error. Response headers are in either
  9843  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9844  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9845  // whether the returned error was because http.StatusNotModified was returned.
  9846  func (c *ProjectsOccurrencesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9847  	gensupport.SetOptions(c.urlParams_, opts...)
  9848  	res, err := c.doRequest("json")
  9849  	if res != nil && res.StatusCode == http.StatusNotModified {
  9850  		if res.Body != nil {
  9851  			res.Body.Close()
  9852  		}
  9853  		return nil, gensupport.WrapError(&googleapi.Error{
  9854  			Code:   res.StatusCode,
  9855  			Header: res.Header,
  9856  		})
  9857  	}
  9858  	if err != nil {
  9859  		return nil, err
  9860  	}
  9861  	defer googleapi.CloseBody(res)
  9862  	if err := googleapi.CheckResponse(res); err != nil {
  9863  		return nil, gensupport.WrapError(err)
  9864  	}
  9865  	ret := &Policy{
  9866  		ServerResponse: googleapi.ServerResponse{
  9867  			Header:         res.Header,
  9868  			HTTPStatusCode: res.StatusCode,
  9869  		},
  9870  	}
  9871  	target := &ret
  9872  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9873  		return nil, err
  9874  	}
  9875  	return ret, nil
  9876  }
  9877  
  9878  type ProjectsOccurrencesTestIamPermissionsCall struct {
  9879  	s                         *Service
  9880  	resource                  string
  9881  	testiampermissionsrequest *TestIamPermissionsRequest
  9882  	urlParams_                gensupport.URLParams
  9883  	ctx_                      context.Context
  9884  	header_                   http.Header
  9885  }
  9886  
  9887  // TestIamPermissions: Returns the permissions that a caller has on the
  9888  // specified note or occurrence. Requires list permission on the project (for
  9889  // example, `containeranalysis.notes.list`). The resource takes the format
  9890  // `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and
  9891  // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
  9892  //
  9893  //   - resource: REQUIRED: The resource for which the policy detail is being
  9894  //     requested. See Resource names
  9895  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  9896  //     value for this field.
  9897  func (r *ProjectsOccurrencesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsOccurrencesTestIamPermissionsCall {
  9898  	c := &ProjectsOccurrencesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9899  	c.resource = resource
  9900  	c.testiampermissionsrequest = testiampermissionsrequest
  9901  	return c
  9902  }
  9903  
  9904  // Fields allows partial responses to be retrieved. See
  9905  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9906  // details.
  9907  func (c *ProjectsOccurrencesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesTestIamPermissionsCall {
  9908  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9909  	return c
  9910  }
  9911  
  9912  // Context sets the context to be used in this call's Do method.
  9913  func (c *ProjectsOccurrencesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsOccurrencesTestIamPermissionsCall {
  9914  	c.ctx_ = ctx
  9915  	return c
  9916  }
  9917  
  9918  // Header returns a http.Header that can be modified by the caller to add
  9919  // headers to the request.
  9920  func (c *ProjectsOccurrencesTestIamPermissionsCall) Header() http.Header {
  9921  	if c.header_ == nil {
  9922  		c.header_ = make(http.Header)
  9923  	}
  9924  	return c.header_
  9925  }
  9926  
  9927  func (c *ProjectsOccurrencesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  9928  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9929  	var body io.Reader = nil
  9930  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  9931  	if err != nil {
  9932  		return nil, err
  9933  	}
  9934  	c.urlParams_.Set("alt", alt)
  9935  	c.urlParams_.Set("prettyPrint", "false")
  9936  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
  9937  	urls += "?" + c.urlParams_.Encode()
  9938  	req, err := http.NewRequest("POST", urls, body)
  9939  	if err != nil {
  9940  		return nil, err
  9941  	}
  9942  	req.Header = reqHeaders
  9943  	googleapi.Expand(req.URL, map[string]string{
  9944  		"resource": c.resource,
  9945  	})
  9946  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9947  }
  9948  
  9949  // Do executes the "containeranalysis.projects.occurrences.testIamPermissions" call.
  9950  // Any non-2xx status code is an error. Response headers are in either
  9951  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  9952  // returned at all) in error.(*googleapi.Error).Header. Use
  9953  // googleapi.IsNotModified to check whether the returned error was because
  9954  // http.StatusNotModified was returned.
  9955  func (c *ProjectsOccurrencesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  9956  	gensupport.SetOptions(c.urlParams_, opts...)
  9957  	res, err := c.doRequest("json")
  9958  	if res != nil && res.StatusCode == http.StatusNotModified {
  9959  		if res.Body != nil {
  9960  			res.Body.Close()
  9961  		}
  9962  		return nil, gensupport.WrapError(&googleapi.Error{
  9963  			Code:   res.StatusCode,
  9964  			Header: res.Header,
  9965  		})
  9966  	}
  9967  	if err != nil {
  9968  		return nil, err
  9969  	}
  9970  	defer googleapi.CloseBody(res)
  9971  	if err := googleapi.CheckResponse(res); err != nil {
  9972  		return nil, gensupport.WrapError(err)
  9973  	}
  9974  	ret := &TestIamPermissionsResponse{
  9975  		ServerResponse: googleapi.ServerResponse{
  9976  			Header:         res.Header,
  9977  			HTTPStatusCode: res.StatusCode,
  9978  		},
  9979  	}
  9980  	target := &ret
  9981  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9982  		return nil, err
  9983  	}
  9984  	return ret, nil
  9985  }
  9986  
  9987  type ProjectsResourcesExportSBOMCall struct {
  9988  	s                 *Service
  9989  	name              string
  9990  	exportsbomrequest *ExportSBOMRequest
  9991  	urlParams_        gensupport.URLParams
  9992  	ctx_              context.Context
  9993  	header_           http.Header
  9994  }
  9995  
  9996  // ExportSBOM: Generates an SBOM and other dependency information for the given
  9997  // resource.
  9998  //
  9999  //   - name: The name of the resource in the form of
 10000  //     `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
 10001  func (r *ProjectsResourcesService) ExportSBOM(name string, exportsbomrequest *ExportSBOMRequest) *ProjectsResourcesExportSBOMCall {
 10002  	c := &ProjectsResourcesExportSBOMCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10003  	c.name = name
 10004  	c.exportsbomrequest = exportsbomrequest
 10005  	return c
 10006  }
 10007  
 10008  // Fields allows partial responses to be retrieved. See
 10009  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10010  // details.
 10011  func (c *ProjectsResourcesExportSBOMCall) Fields(s ...googleapi.Field) *ProjectsResourcesExportSBOMCall {
 10012  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10013  	return c
 10014  }
 10015  
 10016  // Context sets the context to be used in this call's Do method.
 10017  func (c *ProjectsResourcesExportSBOMCall) Context(ctx context.Context) *ProjectsResourcesExportSBOMCall {
 10018  	c.ctx_ = ctx
 10019  	return c
 10020  }
 10021  
 10022  // Header returns a http.Header that can be modified by the caller to add
 10023  // headers to the request.
 10024  func (c *ProjectsResourcesExportSBOMCall) Header() http.Header {
 10025  	if c.header_ == nil {
 10026  		c.header_ = make(http.Header)
 10027  	}
 10028  	return c.header_
 10029  }
 10030  
 10031  func (c *ProjectsResourcesExportSBOMCall) doRequest(alt string) (*http.Response, error) {
 10032  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10033  	var body io.Reader = nil
 10034  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportsbomrequest)
 10035  	if err != nil {
 10036  		return nil, err
 10037  	}
 10038  	c.urlParams_.Set("alt", alt)
 10039  	c.urlParams_.Set("prettyPrint", "false")
 10040  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:exportSBOM")
 10041  	urls += "?" + c.urlParams_.Encode()
 10042  	req, err := http.NewRequest("POST", urls, body)
 10043  	if err != nil {
 10044  		return nil, err
 10045  	}
 10046  	req.Header = reqHeaders
 10047  	googleapi.Expand(req.URL, map[string]string{
 10048  		"name": c.name,
 10049  	})
 10050  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10051  }
 10052  
 10053  // Do executes the "containeranalysis.projects.resources.exportSBOM" call.
 10054  // Any non-2xx status code is an error. Response headers are in either
 10055  // *ExportSBOMResponse.ServerResponse.Header or (if a response was returned at
 10056  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10057  // check whether the returned error was because http.StatusNotModified was
 10058  // returned.
 10059  func (c *ProjectsResourcesExportSBOMCall) Do(opts ...googleapi.CallOption) (*ExportSBOMResponse, error) {
 10060  	gensupport.SetOptions(c.urlParams_, opts...)
 10061  	res, err := c.doRequest("json")
 10062  	if res != nil && res.StatusCode == http.StatusNotModified {
 10063  		if res.Body != nil {
 10064  			res.Body.Close()
 10065  		}
 10066  		return nil, gensupport.WrapError(&googleapi.Error{
 10067  			Code:   res.StatusCode,
 10068  			Header: res.Header,
 10069  		})
 10070  	}
 10071  	if err != nil {
 10072  		return nil, err
 10073  	}
 10074  	defer googleapi.CloseBody(res)
 10075  	if err := googleapi.CheckResponse(res); err != nil {
 10076  		return nil, gensupport.WrapError(err)
 10077  	}
 10078  	ret := &ExportSBOMResponse{
 10079  		ServerResponse: googleapi.ServerResponse{
 10080  			Header:         res.Header,
 10081  			HTTPStatusCode: res.StatusCode,
 10082  		},
 10083  	}
 10084  	target := &ret
 10085  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10086  		return nil, err
 10087  	}
 10088  	return ret, nil
 10089  }
 10090  
 10091  type ProjectsResourcesGeneratePackagesSummaryCall struct {
 10092  	s                              *Service
 10093  	name                           string
 10094  	generatepackagessummaryrequest *GeneratePackagesSummaryRequest
 10095  	urlParams_                     gensupport.URLParams
 10096  	ctx_                           context.Context
 10097  	header_                        http.Header
 10098  }
 10099  
 10100  // GeneratePackagesSummary: Gets a summary of the packages within a given
 10101  // resource.
 10102  //
 10103  //   - name: The name of the resource to get a packages summary for in the form
 10104  //     of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
 10105  func (r *ProjectsResourcesService) GeneratePackagesSummary(name string, generatepackagessummaryrequest *GeneratePackagesSummaryRequest) *ProjectsResourcesGeneratePackagesSummaryCall {
 10106  	c := &ProjectsResourcesGeneratePackagesSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10107  	c.name = name
 10108  	c.generatepackagessummaryrequest = generatepackagessummaryrequest
 10109  	return c
 10110  }
 10111  
 10112  // Fields allows partial responses to be retrieved. See
 10113  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10114  // details.
 10115  func (c *ProjectsResourcesGeneratePackagesSummaryCall) Fields(s ...googleapi.Field) *ProjectsResourcesGeneratePackagesSummaryCall {
 10116  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10117  	return c
 10118  }
 10119  
 10120  // Context sets the context to be used in this call's Do method.
 10121  func (c *ProjectsResourcesGeneratePackagesSummaryCall) Context(ctx context.Context) *ProjectsResourcesGeneratePackagesSummaryCall {
 10122  	c.ctx_ = ctx
 10123  	return c
 10124  }
 10125  
 10126  // Header returns a http.Header that can be modified by the caller to add
 10127  // headers to the request.
 10128  func (c *ProjectsResourcesGeneratePackagesSummaryCall) Header() http.Header {
 10129  	if c.header_ == nil {
 10130  		c.header_ = make(http.Header)
 10131  	}
 10132  	return c.header_
 10133  }
 10134  
 10135  func (c *ProjectsResourcesGeneratePackagesSummaryCall) doRequest(alt string) (*http.Response, error) {
 10136  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10137  	var body io.Reader = nil
 10138  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatepackagessummaryrequest)
 10139  	if err != nil {
 10140  		return nil, err
 10141  	}
 10142  	c.urlParams_.Set("alt", alt)
 10143  	c.urlParams_.Set("prettyPrint", "false")
 10144  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:generatePackagesSummary")
 10145  	urls += "?" + c.urlParams_.Encode()
 10146  	req, err := http.NewRequest("POST", urls, body)
 10147  	if err != nil {
 10148  		return nil, err
 10149  	}
 10150  	req.Header = reqHeaders
 10151  	googleapi.Expand(req.URL, map[string]string{
 10152  		"name": c.name,
 10153  	})
 10154  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10155  }
 10156  
 10157  // Do executes the "containeranalysis.projects.resources.generatePackagesSummary" call.
 10158  // Any non-2xx status code is an error. Response headers are in either
 10159  // *PackagesSummaryResponse.ServerResponse.Header or (if a response was
 10160  // returned at all) in error.(*googleapi.Error).Header. Use
 10161  // googleapi.IsNotModified to check whether the returned error was because
 10162  // http.StatusNotModified was returned.
 10163  func (c *ProjectsResourcesGeneratePackagesSummaryCall) Do(opts ...googleapi.CallOption) (*PackagesSummaryResponse, error) {
 10164  	gensupport.SetOptions(c.urlParams_, opts...)
 10165  	res, err := c.doRequest("json")
 10166  	if res != nil && res.StatusCode == http.StatusNotModified {
 10167  		if res.Body != nil {
 10168  			res.Body.Close()
 10169  		}
 10170  		return nil, gensupport.WrapError(&googleapi.Error{
 10171  			Code:   res.StatusCode,
 10172  			Header: res.Header,
 10173  		})
 10174  	}
 10175  	if err != nil {
 10176  		return nil, err
 10177  	}
 10178  	defer googleapi.CloseBody(res)
 10179  	if err := googleapi.CheckResponse(res); err != nil {
 10180  		return nil, gensupport.WrapError(err)
 10181  	}
 10182  	ret := &PackagesSummaryResponse{
 10183  		ServerResponse: googleapi.ServerResponse{
 10184  			Header:         res.Header,
 10185  			HTTPStatusCode: res.StatusCode,
 10186  		},
 10187  	}
 10188  	target := &ret
 10189  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10190  		return nil, err
 10191  	}
 10192  	return ret, nil
 10193  }
 10194  

View as plain text